Various fixes and additions #30

Merged
BlakeRain merged 6 commits from BlakeRain/utamacraft:main into main 2023-12-04 17:51:53 +00:00
20 changed files with 276 additions and 0 deletions
Showing only changes of commit 6c4fa22448 - Show all commits

Binary file not shown.

View File

@ -11,6 +11,8 @@ import net.banutama.utamacraft.recipe.ModRecipes;
import net.banutama.utamacraft.screen.InsolatorScreen;
import net.banutama.utamacraft.screen.ModMenuTypes;
import net.banutama.utamacraft.sound.ModSounds;
import net.banutama.utamacraft.world.feature.ModConfiguredFeatures;
import net.banutama.utamacraft.world.feature.ModPlacedFeatures;
import net.minecraft.client.RecipeBookCategories;
import net.minecraft.client.gui.screens.MenuScreens;
import net.minecraftforge.api.distmarker.Dist;
@ -46,6 +48,8 @@ public class Utamacraft {
ModMenuTypes.register(bus);
ModSounds.register(bus);
ModRecipes.register(bus);
ModConfiguredFeatures.register(bus);
ModPlacedFeatures.register(bus);
bus.addListener(this::commonSetup);
MinecraftForge.EVENT_BUS.register(this);

View File

@ -8,9 +8,11 @@ import net.banutama.utamacraft.block.custom.TintedEtherealGlassBlock;
import net.banutama.utamacraft.block.custom.InsolatorBlock;
import net.banutama.utamacraft.item.ModCreativeModeTab;
import net.banutama.utamacraft.item.ModItems;
import net.minecraft.util.valueproviders.UniformInt;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.DropExperienceBlock;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.material.Material;
import net.minecraftforge.eventbus.api.IEventBus;
@ -27,6 +29,18 @@ public class ModBlocks {
registerBlock("ethereal_glass", EtherealGlassBlock::new);
public static final RegistryObject<Block> TINTED_ETHEREAL_GLASS =
registerBlock("tinted_ethereal_glass", TintedEtherealGlassBlock::new);
public static final RegistryObject<Block> TUNGSTEN_ORE =
registerBlock("tungsten_ore",
() -> new DropExperienceBlock(BlockBehaviour.Properties.of(Material.STONE)
.strength(6.0f)
.requiresCorrectToolForDrops(),
UniformInt.of(3, 7)));
public static final RegistryObject<Block> DEEPSLATE_TUNGSTEN_ORE =
registerBlock("deepslate_tungsten_ore",
() -> new DropExperienceBlock(BlockBehaviour.Properties.of(Material.STONE)
.strength(6.0f)
.requiresCorrectToolForDrops(),
UniformInt.of(3, 7)));
public static final RegistryObject<Block> TUNGSTEN_BLOCK =
registerBlock("tungsten_block",
() -> new Block(BlockBehaviour.Properties.of(Material.METAL)

View File

@ -0,0 +1,38 @@
package net.banutama.utamacraft.world.feature;
import com.google.common.base.Supplier;
import com.google.common.base.Suppliers;
import net.banutama.utamacraft.Utamacraft;
import net.banutama.utamacraft.block.custom.ModBlocks;
import net.minecraft.core.Registry;
import net.minecraft.data.worldgen.features.OreFeatures;
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
import net.minecraft.world.level.levelgen.feature.Feature;
import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.RegistryObject;
import java.util.List;
public class ModConfiguredFeatures {
public static final DeferredRegister<ConfiguredFeature<?, ?>> CONFIGURED_FEATURES =
DeferredRegister.create(Registry.CONFIGURED_FEATURE_REGISTRY, Utamacraft.MOD_ID);
public static final Supplier<List<OreConfiguration.TargetBlockState>> OVERWORLD_TUNGSTEN_ORES =
Suppliers.memoize(() -> {
return List.of(
OreConfiguration.target(OreFeatures.STONE_ORE_REPLACEABLES, ModBlocks.TUNGSTEN_ORE.get().defaultBlockState()),
OreConfiguration.target(OreFeatures.DEEPSLATE_ORE_REPLACEABLES, ModBlocks.DEEPSLATE_TUNGSTEN_ORE.get().defaultBlockState())
);
});
public static final RegistryObject<ConfiguredFeature<?, ?>> TUNGSTEN_ORE =
CONFIGURED_FEATURES.register("tungsten_ore", () -> {
return new ConfiguredFeature<>(Feature.ORE, new OreConfiguration(OVERWORLD_TUNGSTEN_ORES.get(), 7));
});
public static void register(IEventBus bus) {
CONFIGURED_FEATURES.register(bus);
}
}

View File

@ -0,0 +1,40 @@
package net.banutama.utamacraft.world.feature;
import net.banutama.utamacraft.Utamacraft;
import net.minecraft.core.Registry;
import net.minecraft.world.level.levelgen.VerticalAnchor;
import net.minecraft.world.level.levelgen.placement.*;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.RegistryObject;
import java.util.List;
public class ModPlacedFeatures {
public static final DeferredRegister<PlacedFeature> PLACED_FEATURES =
DeferredRegister.create(Registry.PLACED_FEATURE_REGISTRY, Utamacraft.MOD_ID);
public static final RegistryObject<PlacedFeature> TUNGSTEN_ORE_PLACED =
PLACED_FEATURES.register("tungsten_ore_placed", () -> new PlacedFeature(
ModConfiguredFeatures.TUNGSTEN_ORE.getHolder().get(),
commonOrePlacement(7,
HeightRangePlacement.triangle(
VerticalAnchor.aboveBottom(-80),
VerticalAnchor.aboveBottom(80)
)
)
));
public static void register(IEventBus bus) {
PLACED_FEATURES.register(bus);
}
private static List<PlacementModifier> commonOrePlacement(int veinsPerChunk, PlacementModifier modifier) {
return orePlacement(CountPlacement.of(veinsPerChunk), modifier);
}
private static List<PlacementModifier> orePlacement(PlacementModifier a, PlacementModifier b) {
return List.of(a, InSquarePlacement.spread(), b, BiomeFilter.biome());
}
}

View File

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "utamacraft:block/deepslate_tungsten_ore" }
}
}

View File

@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "utamacraft:block/tungsten_ore" }
}
}

View File

@ -1,8 +1,10 @@
{
"block.utamacraft.deepslate_tungsten_ore": "Deepslate Tungsten Ore",
"block.utamacraft.ethereal_glass": "Ethereal Glass",
"block.utamacraft.insolator": "Insolator",
"block.utamacraft.tinted_ethereal_glass": "Tinted Ethereal Glass",
"block.utamacraft.tungsten_block": "Tungsten Block",
"block.utamacraft.tungsten_ore": "Tungsten Ore",
"block_entity.utamacraft.insolator": "Insolator",
"item.utamacraft.bulb": "Bulb",
"item.utamacraft.fiber_glass": "Fiberglass",

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "utamacraft:block/deepslate_tungsten_ore"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "utamacraft:block/tungsten_ore"
}
}

View File

@ -0,0 +1,3 @@
{
"parent": "utamacraft:block/deepslate_tungsten_ore"
}

View File

@ -0,0 +1,3 @@
{
"parent": "utamacraft:block/tungsten_ore"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,8 @@
{
"replace": false,
"values": [
"utamacraft:tungsten_ore",
"utamacraft:deepslate_tungsten_ore",
"utamacraft:tungsten_block"
]
}

View File

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"utamacraft:deepslate_tungsten_ore"
]
}

View File

@ -0,0 +1,6 @@
{
"type": "forge:add_features",
"biomes": "#minecraft:is_overworld",
"features": "utamacraft:tungsten_ore_placed",
"step": "underground_ores"
}

View File

@ -0,0 +1,58 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
"children": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"name": "utamacraft:deepslate_tungsten_ore"
},
{
"type": "minecraft:item",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"type": "minecraft:uniform",
"min": 2.0,
"max": 5.0
},
"add": false
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
],
"name": "utamacraft:raw_tungsten"
}
]
}
]
}
]
}

View File

@ -0,0 +1,14 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "utamacraft:tungsten_block"
}
]
}
]
}

View File

@ -0,0 +1,58 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
"children": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"name": "utamacraft:tungsten_ore"
},
{
"type": "minecraft:item",
"functions": [
{
"function": "minecraft:set_count",
"count": {
"type": "minecraft:uniform",
"min": 2.0,
"max": 5.0
},
"add": false
},
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
],
"name": "utamacraft:raw_tungsten"
}
]
}
]
}
]
}