diff --git a/src/main/java/ru/betterend/BetterEnd.java b/src/main/java/ru/betterend/BetterEnd.java index 5d8d98ac..e3bdb02f 100644 --- a/src/main/java/ru/betterend/BetterEnd.java +++ b/src/main/java/ru/betterend/BetterEnd.java @@ -5,6 +5,7 @@ import net.minecraft.block.Blocks; import net.minecraft.item.Items; import net.minecraft.tag.ItemTags; import ru.betterend.config.MainConfig; +import ru.betterend.recipe.CraftingRecipes; import ru.betterend.recipe.RecipeBuilder; import ru.betterend.registry.BiomeRegistry; import ru.betterend.registry.BlockRegistry; @@ -25,6 +26,7 @@ public class BetterEnd implements ModInitializer { FeatureRegistry.register(); BiomeRegistry.register(); BetterEndBiomeSource.register(); + CraftingRecipes.register(); // TEST // new RecipeBuilder("test_block", Blocks.ANVIL) diff --git a/src/main/java/ru/betterend/blocks/AeterniumBlock.java b/src/main/java/ru/betterend/blocks/AeterniumBlock.java new file mode 100644 index 00000000..103421f3 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/AeterniumBlock.java @@ -0,0 +1,28 @@ +package ru.betterend.blocks; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +import net.minecraft.block.BlockState; +import net.minecraft.block.Material; +import net.minecraft.block.MaterialColor; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.BlockView; + +public class AeterniumBlock extends BlockBase { + + public AeterniumBlock() { + super(FabricBlockSettings.of(Material.METAL, MaterialColor.GRAY) + .hardness(65F) + .resistance(1200F) + .requiresTool() + .sounds(BlockSoundGroup.NETHERITE)); + } + + @Environment(EnvType.CLIENT) + public int getColor(BlockState state, BlockView world, BlockPos pos) { + return 0xFF657A7A; + } +} diff --git a/src/main/java/ru/betterend/blocks/EnderBlock.java b/src/main/java/ru/betterend/blocks/EnderBlock.java new file mode 100644 index 00000000..67714be0 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/EnderBlock.java @@ -0,0 +1,27 @@ +package ru.betterend.blocks; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.BlockState; +import net.minecraft.block.Material; +import net.minecraft.block.MaterialColor; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.BlockView; + +public class EnderBlock extends BlockBase { + + public EnderBlock() { + super(FabricBlockSettings.of(Material.STONE, MaterialColor.field_25708) + .hardness(5F) + .resistance(6F) + .requiresTool() + .sounds(BlockSoundGroup.STONE)); + } + + @Environment(EnvType.CLIENT) + public int getColor(BlockState state, BlockView world, BlockPos pos) { + return 0xFF005548; + } +} diff --git a/src/main/java/ru/betterend/blocks/TerminiteBlock.java b/src/main/java/ru/betterend/blocks/TerminiteBlock.java new file mode 100644 index 00000000..653e4923 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/TerminiteBlock.java @@ -0,0 +1,18 @@ +package ru.betterend.blocks; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +import net.minecraft.block.Material; +import net.minecraft.block.MaterialColor; +import net.minecraft.sound.BlockSoundGroup; + +public class TerminiteBlock extends BlockBase { + + public TerminiteBlock() { + super(FabricBlockSettings.of(Material.METAL, MaterialColor.field_25708) + .hardness(7F) + .resistance(9F) + .requiresTool() + .sounds(BlockSoundGroup.METAL)); + } +} diff --git a/src/main/java/ru/betterend/recipe/CraftingRecipes.java b/src/main/java/ru/betterend/recipe/CraftingRecipes.java new file mode 100644 index 00000000..dee45f41 --- /dev/null +++ b/src/main/java/ru/betterend/recipe/CraftingRecipes.java @@ -0,0 +1,34 @@ +package ru.betterend.recipe; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.Items; +import net.minecraft.util.registry.Registry; + +import ru.betterend.registry.BlockRegistry; + +public class CraftingRecipes { + public static void register() { + if (blockExists(BlockRegistry.ENDER_BLOCK)) { + new RecipeBuilder("be_ender_pearl_to_block", BlockRegistry.ENDER_BLOCK) + .setShape(new String[] { "OO", "OO" }) + .addMaterial('O', Items.ENDER_PEARL) + .build(); + new RecipeBuilder("be_ender_block_to_pearl", Items.ENDER_PEARL) + .addMaterial('#', BlockRegistry.ENDER_BLOCK) + .setOutputCount(4) + .setList("#") + .build(); + } + } + + private static boolean itemExists(Item item) + { + return Registry.ITEM.getId(item) != Registry.ITEM.getDefaultId(); + } + + private static boolean blockExists(Block block) + { + return Registry.BLOCK.getId(block) != Registry.BLOCK.getDefaultId(); + } +} diff --git a/src/main/java/ru/betterend/registry/BlockRegistry.java b/src/main/java/ru/betterend/registry/BlockRegistry.java index 6a55b844..297676aa 100644 --- a/src/main/java/ru/betterend/registry/BlockRegistry.java +++ b/src/main/java/ru/betterend/registry/BlockRegistry.java @@ -5,16 +5,23 @@ import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; + import ru.betterend.BetterEnd; +import ru.betterend.blocks.AeterniumBlock; import ru.betterend.blocks.BlockEndstoneDust; import ru.betterend.blocks.BlockOre; import ru.betterend.blocks.BlockWetMycelium; +import ru.betterend.blocks.EnderBlock; +import ru.betterend.blocks.TerminiteBlock; import ru.betterend.tab.CreativeTab; public class BlockRegistry { public static final Block ENDSTONE_DUST = registerBlock("endstone_dust", new BlockEndstoneDust()); public static final Block WET_MYCELIUM = registerBlock("wet_mycelium", new BlockWetMycelium()); public static final Block ENDER_ORE = registerBlock("ender_ore", new BlockOre(ItemRegistry.ENDER_DUST, 1, 3)); + public static final Block TERMINITE_BLOCK = registerBlock("terminite_block", new TerminiteBlock()); + public static final Block AETERNIUM_BLOCK = registerBlock("aeternium_block", new AeterniumBlock()); + public static final Block ENDER_BLOCK = registerBlock("ender_block", new EnderBlock()); public static void register() {} diff --git a/src/main/java/ru/betterend/registry/ItemRegistry.java b/src/main/java/ru/betterend/registry/ItemRegistry.java index cf871300..834e92e1 100644 --- a/src/main/java/ru/betterend/registry/ItemRegistry.java +++ b/src/main/java/ru/betterend/registry/ItemRegistry.java @@ -17,6 +17,8 @@ public class ItemRegistry { private static final List MOD_ITEMS = Lists.newArrayList(); public final static Item ENDER_DUST = registerItem("ender_dust", new Item((new Item.Settings()).group(ItemGroup.MATERIALS))); + public final static Item TERMINITE_INGOT = registerItem("terminite_ingot", new Item((new Item.Settings()).group(ItemGroup.MATERIALS))); + public final static Item AETERNIUM_INGOT = registerItem("aeternium_ingot", new Item((new Item.Settings()).group(ItemGroup.MATERIALS))); protected static Item registerItem(String name, Item item) { if (item != Items.AIR) { diff --git a/src/main/resources/assets/betterend/blockstates/aeternium_block.json b/src/main/resources/assets/betterend/blockstates/aeternium_block.json new file mode 100644 index 00000000..fa007a07 --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/aeternium_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "betterend:block/aeternium_block" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/blockstates/ender_block.json b/src/main/resources/assets/betterend/blockstates/ender_block.json new file mode 100644 index 00000000..b320c833 --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/ender_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "betterend:block/ender_block" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/blockstates/terminite_block.json b/src/main/resources/assets/betterend/blockstates/terminite_block.json new file mode 100644 index 00000000..ce53fcc7 --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/terminite_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "betterend:block/terminite_block" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index 596d9ee4..4af3a7f4 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -4,6 +4,11 @@ "block.betterend.wet_mycelium": "Wet Mycelium", "block.betterend.endstone_dust": "End Stone Dust", "block.betterend.ender_ore": "Ender Ore", + "block.betterend.terminite_block": "Terminite Block", + "block.betterend.aeternium_block": "Aeternium Block", + "block.betterend.ender_block": "Ender Block", - "item.betterend.ender_dust": "Ender Dust" + "item.betterend.ender_dust": "Ender Dust", + "item.betterend.terminite_ingot": "Terminite Ingot", + "item.betterend.aeternium_ingot": "Aeternium Ingot" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index 14b3e993..06e06ffd 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -3,7 +3,12 @@ "block.betterend.wet_mycelium": "Влажный мицелий", "block.betterend.endstone_dust": "Эндерняковая пыль", - "block.betterend.ender_ore": "Руда Эндера", + "block.betterend.ender_ore": "Руда Края", + "block.betterend.terminite_block": "Блок Терминита", + "block.betterend.aeternium_block": "Блок Этерия", + "block.betterend.ender_block": "Блок Края", - "item.betterend.ender_dust": "Пыль Эндера" + "item.betterend.ender_dust": "Пыль Края", + "item.betterend.terminite_ingot": "Терминитовый слиток", + "item.betterend.aeternium_ingot": "Этериевый слиток" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/aeternium_block.json b/src/main/resources/assets/betterend/models/block/aeternium_block.json new file mode 100644 index 00000000..601a957b --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/aeternium_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/aeternium_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/ender_block.json b/src/main/resources/assets/betterend/models/block/ender_block.json new file mode 100644 index 00000000..c355c463 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/ender_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/ender_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/terminite_block.json b/src/main/resources/assets/betterend/models/block/terminite_block.json new file mode 100644 index 00000000..c0a21a29 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/terminite_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/terminite_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/aeternium_block.json b/src/main/resources/assets/betterend/models/item/aeternium_block.json new file mode 100644 index 00000000..988fa9f3 --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/aeternium_block.json @@ -0,0 +1,3 @@ +{ + "parent": "betterend:block/aeternium_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/aeternium_ingot.json b/src/main/resources/assets/betterend/models/item/aeternium_ingot.json new file mode 100644 index 00000000..1de9ee97 --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/aeternium_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:item/aeternium_ingot" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/ender_block.json b/src/main/resources/assets/betterend/models/item/ender_block.json new file mode 100644 index 00000000..e26474e5 --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/ender_block.json @@ -0,0 +1,3 @@ +{ + "parent": "betterend:block/ender_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/terminite_block.json b/src/main/resources/assets/betterend/models/item/terminite_block.json new file mode 100644 index 00000000..a5aaddb7 --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/terminite_block.json @@ -0,0 +1,3 @@ +{ + "parent": "betterend:block/terminite_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/terminite_ingot.json b/src/main/resources/assets/betterend/models/item/terminite_ingot.json new file mode 100644 index 00000000..6a031e0d --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/terminite_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:item/terminite_ingot" + } +} \ No newline at end of file