diff --git a/src/main/java/com/thebrokenrail/energonrelics/EnergonRelics.java b/src/main/java/com/thebrokenrail/energonrelics/EnergonRelics.java index e9363f2..54f645e 100644 --- a/src/main/java/com/thebrokenrail/energonrelics/EnergonRelics.java +++ b/src/main/java/com/thebrokenrail/energonrelics/EnergonRelics.java @@ -23,7 +23,11 @@ import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.util.Identifier; +import net.minecraft.util.registry.BuiltinRegistries; import net.minecraft.util.registry.Registry; +import net.minecraft.world.gen.feature.ConfiguredFeature; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.OreFeatureConfig; public class EnergonRelics implements ModInitializer { public static final String NAMESPACE = "energonrelics"; @@ -47,9 +51,10 @@ public class EnergonRelics implements ModInitializer { public static final ReactorInputBlock REACTOR_INPUT_BLOCK = new ReactorInputBlock(); public static final ReactorControllerBlock REACTOR_CONTROLLER_BLOCK = new ReactorControllerBlock(); - public static final Item VERIDIUM_INGOT = new Item(new Item.Settings().group(ITEM_GROUP)); - public static final SimpleBlock VERIDIUM_ORE = new SimpleBlock(FabricBlockSettings.of(Material.STONE).requiresTool().strength(3.0F, 3.0F)); - public static final SimpleBlock VERIDIUM_BLOCK = new SimpleBlock(FabricBlockSettings.of(Material.METAL, MaterialColor.GOLD).requiresTool().strength(3.0F, 6.0F).sounds(BlockSoundGroup.METAL)); + public static final Item VERIDIUM_INGOT_ITEM = new Item(new Item.Settings().group(ITEM_GROUP)); + public static final SimpleBlock VERIDIUM_ORE_BLOCK = new SimpleBlock(FabricBlockSettings.of(Material.STONE).requiresTool().strength(3.0F, 3.0F)); + public static final SimpleBlock VERIDIUM_BLOCK_BLOCK = new SimpleBlock(FabricBlockSettings.of(Material.METAL, MaterialColor.GOLD).requiresTool().strength(3.0F, 6.0F).sounds(BlockSoundGroup.METAL)); + public static final ConfiguredFeature VERIDIUM_ORE_FEATURE = Feature.ORE.configure(new OreFeatureConfig(OreFeatureConfig.class_5436.field_25845, EnergonRelics.VERIDIUM_ORE_BLOCK.getDefaultState(), 9)).method_30377(32).method_30371().method_30375(2); public static final Item CIRCUIT_BOARD_ITEM = new Item(new Item.Settings().group(ITEM_GROUP)); @@ -73,8 +78,9 @@ public class EnergonRelics implements ModInitializer { REACTOR_INPUT_BLOCK.register("reactor_input"); REACTOR_CONTROLLER_BLOCK.register("reactor_controller"); - Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "veridium_ingot"), VERIDIUM_INGOT); - VERIDIUM_ORE.register("veridium_ore"); - VERIDIUM_BLOCK.register("veridium_block"); + Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "veridium_ingot"), VERIDIUM_INGOT_ITEM); + VERIDIUM_ORE_BLOCK.register("veridium_ore"); + VERIDIUM_BLOCK_BLOCK.register("veridium_block"); + Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new Identifier(NAMESPACE, "veridium_ore"), VERIDIUM_ORE_FEATURE); } } diff --git a/src/main/java/com/thebrokenrail/energonrelics/block/entity/reactor/ReactorControllerBlockEntity.java b/src/main/java/com/thebrokenrail/energonrelics/block/entity/reactor/ReactorControllerBlockEntity.java index 74f4d30..d7761e9 100644 --- a/src/main/java/com/thebrokenrail/energonrelics/block/entity/reactor/ReactorControllerBlockEntity.java +++ b/src/main/java/com/thebrokenrail/energonrelics/block/entity/reactor/ReactorControllerBlockEntity.java @@ -37,7 +37,7 @@ public class ReactorControllerBlockEntity extends EnergyGeneratorBlockEntity { boolean foundFuel = false; for (ReactorInputBlockEntity input : reactor.inputs) { for (int i = 0; i < input.size(); i++) { - if (input.getStack(i).getItem() == EnergonRelics.VERIDIUM_INGOT) { + if (input.getStack(i).getItem() == EnergonRelics.VERIDIUM_INGOT_ITEM) { foundFuel = true; input.removeStack(i, 1); } diff --git a/src/main/java/com/thebrokenrail/energonrelics/mixin/MixinDefaultBiomeFeatures.java b/src/main/java/com/thebrokenrail/energonrelics/mixin/MixinDefaultBiomeFeatures.java new file mode 100644 index 0000000..1b518d1 --- /dev/null +++ b/src/main/java/com/thebrokenrail/energonrelics/mixin/MixinDefaultBiomeFeatures.java @@ -0,0 +1,18 @@ +package com.thebrokenrail.energonrelics.mixin; + +import com.thebrokenrail.energonrelics.EnergonRelics; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.gen.GenerationStep; +import net.minecraft.world.gen.feature.DefaultBiomeFeatures; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(DefaultBiomeFeatures.class) +public class MixinDefaultBiomeFeatures { + @Inject(at = @At("RETURN"), method = "addDefaultOres") + private static void addDefaultOres(Biome biome, CallbackInfo info) { + biome.addFeature(GenerationStep.Feature.UNDERGROUND_ORES, EnergonRelics.VERIDIUM_ORE_FEATURE); + } +} diff --git a/src/main/resources/data/energonrelics/recipes/battery_core.json b/src/main/resources/data/energonrelics/recipes/battery_core.json new file mode 100644 index 0000000..d81be03 --- /dev/null +++ b/src/main/resources/data/energonrelics/recipes/battery_core.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "#E#", + "EWE", + "#E#" + ], + "key": { + "#": { + "item": "energonrelics:circuit_board" + }, + "E": { + "item": "energonrelics:thermal_casing" + }, + "W": { + "item": "minecraft:water_bucket" + } + }, + "result": { + "item": "energonrelics:battery_core", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/energonrelics/recipes/reactor_core.json b/src/main/resources/data/energonrelics/recipes/reactor_core.json new file mode 100644 index 0000000..8e05cea --- /dev/null +++ b/src/main/resources/data/energonrelics/recipes/reactor_core.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "#E#", + "ELE", + "#E#" + ], + "key": { + "#": { + "item": "energonrelics:circuit_board" + }, + "E": { + "item": "energonrelics:thermal_casing" + }, + "L": { + "item": "minecraft:lava_bucket" + } + }, + "result": { + "item": "energonrelics:reactor_core", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/energonrelics.mixins.json b/src/main/resources/energonrelics.mixins.json index aefee3c..adb49e7 100644 --- a/src/main/resources/energonrelics.mixins.json +++ b/src/main/resources/energonrelics.mixins.json @@ -5,6 +5,7 @@ "client": [ ], "mixins": [ + "MixinDefaultBiomeFeatures", "MixinWorld", "RenderPhaseAccessor" ],