diff --git a/src/main/java/ru/betterend/blocks/basis/EndMetalPaneBlock.java b/src/main/java/ru/betterend/blocks/basis/EndMetalPaneBlock.java new file mode 100644 index 00000000..6ec846cd --- /dev/null +++ b/src/main/java/ru/betterend/blocks/basis/EndMetalPaneBlock.java @@ -0,0 +1,70 @@ +package ru.betterend.blocks.basis; + +import java.io.Reader; +import java.util.Collections; +import java.util.List; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.PaneBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContext; +import net.minecraft.util.Identifier; +import net.minecraft.util.math.Direction; +import net.minecraft.util.registry.Registry; +import ru.betterend.client.render.ERenderLayer; +import ru.betterend.interfaces.IRenderTypeable; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; + +public class EndMetalPaneBlock extends PaneBlock implements BlockPatterned, IRenderTypeable { + public EndMetalPaneBlock(Block source) { + super(FabricBlockSettings.copyOf(source).strength(5.0F, 6.0F).nonOpaque()); + } + + @Override + public List getDroppedStacks(BlockState state, LootContext.Builder builder) { + return Collections.singletonList(new ItemStack(this)); + } + + @Override + public String getStatesPattern(Reader data) { + Identifier blockId = Registry.BLOCK.getId(this); + return Patterns.createJson(data, blockId.getPath(), blockId.getPath()); + } + + @Override + public String getModelPattern(String block) { + Identifier blockId = Registry.BLOCK.getId(this); + if (block.contains("item")) { + return Patterns.createJson(Patterns.ITEM_BLOCK, blockId.getPath()); + } + if (block.contains("post")) { + return Patterns.createJson(Patterns.BLOCK_BARS_POST, blockId.getPath(), blockId.getPath()); + } + else { + return Patterns.createJson(Patterns.BLOCK_BARS_SIDE, blockId.getPath(), blockId.getPath()); + } + } + + @Environment(EnvType.CLIENT) + public boolean isSideInvisible(BlockState state, BlockState stateFrom, Direction direction) { + if (direction.getAxis().isVertical() && stateFrom.getBlock().is(this) && !stateFrom.equals(state)) { + return false; + } + return super.isSideInvisible(state, stateFrom, direction); + } + + @Override + public Identifier statePatternId() { + return Patterns.STATE_BARS; + } + + @Override + public ERenderLayer getRenderLayer() { + return ERenderLayer.CUTOUT; + } +} diff --git a/src/main/java/ru/betterend/blocks/basis/EndMetalPlateBlock.java b/src/main/java/ru/betterend/blocks/basis/EndMetalPlateBlock.java new file mode 100644 index 00000000..8b6808f2 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/basis/EndMetalPlateBlock.java @@ -0,0 +1,52 @@ +package ru.betterend.blocks.basis; + +import java.io.Reader; +import java.util.Collections; +import java.util.List; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.WeightedPressurePlateBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContext; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; + +public class EndMetalPlateBlock extends WeightedPressurePlateBlock implements BlockPatterned { + private final Block parent; + + public EndMetalPlateBlock(Block source) { + super(15, FabricBlockSettings.copyOf(source).noCollision().nonOpaque().requiresTool().strength(0.5F)); + this.parent = source; + } + + @Override + public List getDroppedStacks(BlockState state, LootContext.Builder builder) { + return Collections.singletonList(new ItemStack(this)); + } + + @Override + public String getStatesPattern(Reader data) { + Identifier blockId = Registry.BLOCK.getId(this); + Identifier parentId = Registry.BLOCK.getId(parent); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); + } + + @Override + public String getModelPattern(String block) { + Identifier blockId = Registry.BLOCK.getId(this); + Identifier parentId = Registry.BLOCK.getId(parent); + if (block.contains("down")) { + return Patterns.createJson(Patterns.BLOCK_PLATE_DOWN, parentId.getPath(), blockId.getPath()); + } + return Patterns.createJson(Patterns.BLOCK_PLATE_UP, parentId.getPath(), blockId.getPath()); + } + + @Override + public Identifier statePatternId() { + return Patterns.STATE_PLATE; + } +} diff --git a/src/main/java/ru/betterend/blocks/basis/EndPlateBlock.java b/src/main/java/ru/betterend/blocks/basis/EndWoodenPlateBlock.java similarity index 87% rename from src/main/java/ru/betterend/blocks/basis/EndPlateBlock.java rename to src/main/java/ru/betterend/blocks/basis/EndWoodenPlateBlock.java index 955024b5..a865159e 100644 --- a/src/main/java/ru/betterend/blocks/basis/EndPlateBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/EndWoodenPlateBlock.java @@ -15,11 +15,11 @@ import net.minecraft.util.registry.Registry; import ru.betterend.patterns.BlockPatterned; import ru.betterend.patterns.Patterns; -public class EndPlateBlock extends PressurePlateBlock implements BlockPatterned { +public class EndWoodenPlateBlock extends PressurePlateBlock implements BlockPatterned { private final Block parent; - public EndPlateBlock(Block source) { - super(ActivationRule.EVERYTHING, FabricBlockSettings.copyOf(source).nonOpaque()); + public EndWoodenPlateBlock(Block source) { + super(ActivationRule.EVERYTHING, FabricBlockSettings.copyOf(source).noCollision().nonOpaque().strength(0.5F)); this.parent = source; } diff --git a/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java new file mode 100644 index 00000000..f9224a50 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/complex/MetalMaterial.java @@ -0,0 +1,77 @@ +package ru.betterend.blocks.complex; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.Block; +import net.minecraft.block.Blocks; +import net.minecraft.block.MaterialColor; +import net.minecraft.item.Item; +import net.minecraft.item.Items; +import net.minecraft.item.ToolMaterial; +import ru.betterend.blocks.basis.BaseBlock; +import ru.betterend.blocks.basis.EndDoorBlock; +import ru.betterend.blocks.basis.EndMetalPaneBlock; +import ru.betterend.blocks.basis.EndTrapdoorBlock; +import ru.betterend.blocks.basis.EndWoodenPlateBlock; +import ru.betterend.item.EndAxeItem; +import ru.betterend.item.EndHoeItem; +import ru.betterend.item.EndPickaxeItem; +import ru.betterend.item.EndShovelItem; +import ru.betterend.item.EndSwordItem; +import ru.betterend.recipe.builders.AlloyingRecipe; +import ru.betterend.recipe.builders.FurnaceRecipe; +import ru.betterend.recipe.builders.GridRecipe; +import ru.betterend.registry.EndBlocks; +import ru.betterend.registry.EndItems; + +public class MetalMaterial { + public final Block ore; + public final Block block; + public final Block tile; + public final Block bars; + public final Block plate; + public final Block door; + public final Block trapdoor; + + public final Item ingot; + public final Item shovel; + public final Item sword; + public final Item pickaxe; + public final Item axe; + public final Item hoe; + + public MetalMaterial(String name, MaterialColor color, ToolMaterial material) { + FabricBlockSettings materialBlock = FabricBlockSettings.copyOf(Blocks.IRON_BLOCK).materialColor(color); + + ore = EndBlocks.registerBlock(name + "_ore", new BaseBlock(FabricBlockSettings.copyOf(Blocks.END_STONE))); + block = EndBlocks.registerBlock(name + "_block", new BaseBlock(materialBlock)); + tile = EndBlocks.registerBlock(name + "_tile", new BaseBlock(materialBlock)); + bars = EndBlocks.registerBlock(name + "_bars", new EndMetalPaneBlock(block)); + plate = EndBlocks.registerBlock(name + "_plate", new EndWoodenPlateBlock(block)); + door = EndBlocks.registerBlock(name + "_door", new EndDoorBlock(block)); + trapdoor = EndBlocks.registerBlock(name + "_trapdoor", new EndTrapdoorBlock(block)); + + ingot = EndItems.registerItem(name + "_ingot"); + shovel = EndItems.registerTool(name + "_shovel", new EndShovelItem(material, 1.0F, -3.0F, EndItems.makeItemSettings())); + sword = EndItems.registerTool(name + "_sword", new EndSwordItem(material, 2, -2.4F, EndItems.makeItemSettings())); + pickaxe = EndItems.registerTool(name + "_pickaxe", new EndPickaxeItem(material, 1, -2.8F, EndItems.makeItemSettings())); + axe = EndItems.registerTool(name + "_axe", new EndAxeItem(material, 5.0F, -3.0F, EndItems.makeItemSettings())); + hoe = EndItems.registerTool(name + "_hoe", new EndHoeItem(material, -3, 0.0F, EndItems.makeItemSettings())); + + FurnaceRecipe.make("thallasium_ingot_furnace", ore, ingot).build(); + AlloyingRecipe.Builder.create("thallasium_ingot").setInput(ore, ore).setOutput(ingot, 3).setExpiriense(2.1F).build(); + + GridRecipe.make(name + "_block", block).setShape("###", "###", "###").addMaterial('#', ingot).build(); + GridRecipe.make(name + "_ingot_from_block", ingot).setOutputCount(9).setList("#").addMaterial('#', block).build(); + + GridRecipe.make(name + "_tile", tile).setOutputCount(4).setShape("##", "##").addMaterial('#', block).build(); + GridRecipe.make(name + "_bars", bars).setOutputCount(16).setShape("###", "###").addMaterial('#', ingot).build(); + GridRecipe.make(name + "_plate", plate).setShape("##").addMaterial('#', ingot).build(); + GridRecipe.make(name + "_door", door).setOutputCount(3).setOutputCount(16).setShape("##", "##", "##").addMaterial('#', ingot).build(); + GridRecipe.make(name + "_trapdoor", trapdoor).setShape("##", "##").addMaterial('#', ingot).build(); + + GridRecipe.make(name + "_axe", axe).setShape("##", "#I", " I").addMaterial('#', ingot).addMaterial('I', Items.STICK).build(); + GridRecipe.make(name + "_hoe", hoe).setShape("##", " I", " I").addMaterial('#', ingot).addMaterial('I', Items.STICK).build(); + GridRecipe.make(name + "_pickaxe", pickaxe).setShape("###", " I ", " I ").addMaterial('#', ingot).addMaterial('I', Items.STICK).build(); + GridRecipe.make(name + "_sword", sword).setShape("#", "#", "I").addMaterial('#', ingot).addMaterial('I', Items.STICK).build(); + } +} \ No newline at end of file diff --git a/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java b/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java index 31fe3b18..a7533747 100644 --- a/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/WoodenMaterial.java @@ -23,7 +23,7 @@ import ru.betterend.blocks.basis.EndFenceBlock; import ru.betterend.blocks.basis.EndGateBlock; import ru.betterend.blocks.basis.EndLadderBlock; import ru.betterend.blocks.basis.EndPillarBlock; -import ru.betterend.blocks.basis.EndPlateBlock; +import ru.betterend.blocks.basis.EndWoodenPlateBlock; import ru.betterend.blocks.basis.EndSignBlock; import ru.betterend.blocks.basis.EndSlabBlock; import ru.betterend.blocks.basis.EndStairsBlock; @@ -80,7 +80,7 @@ public class WoodenMaterial { fence = EndBlocks.registerBlock(name + "_fence", new EndFenceBlock(planks)); gate = EndBlocks.registerBlock(name + "_gate", new EndGateBlock(planks)); button = EndBlocks.registerBlock(name + "_button", new EndWoodenButtonBlock(planks)); - pressurePlate = EndBlocks.registerBlock(name + "_plate", new EndPlateBlock(planks)); + pressurePlate = EndBlocks.registerBlock(name + "_plate", new EndWoodenPlateBlock(planks)); trapdoor = EndBlocks.registerBlock(name + "_trapdoor", new EndTrapdoorBlock(planks)); door = EndBlocks.registerBlock(name + "_door", new EndDoorBlock(planks)); diff --git a/src/main/java/ru/betterend/patterns/Patterns.java b/src/main/java/ru/betterend/patterns/Patterns.java index 4ac4ede2..8650353c 100644 --- a/src/main/java/ru/betterend/patterns/Patterns.java +++ b/src/main/java/ru/betterend/patterns/Patterns.java @@ -38,6 +38,7 @@ public class Patterns { public final static Identifier STATE_DIRECT = BetterEnd.makeID("patterns/blockstate/direct.json"); public final static Identifier STATE_BULB_LANTERN = BetterEnd.makeID("patterns/blockstate/bulb_lantern.json"); public final static Identifier STATE_COMPOSTER = BetterEnd.makeID("patterns/blockstate/composter.json"); + public final static Identifier STATE_BARS = BetterEnd.makeID("patterns/blockstate/bars.json"); //Models Block public final static Identifier BLOCK_EMPTY = BetterEnd.makeID("patterns/block/empty.json"); @@ -84,6 +85,8 @@ public class Patterns { public final static Identifier BLOCK_PETAL_COLORED = BetterEnd.makeID("models/block/block_petal_colored.json"); public final static Identifier BLOCK_COMPOSTER = BetterEnd.makeID("patterns/block/composter.json"); public final static Identifier BLOCK_COLORED = BetterEnd.makeID("patterns/block/block_colored.json"); + public final static Identifier BLOCK_BARS_POST = BetterEnd.makeID("patterns/block/bars_post.json"); + public final static Identifier BLOCK_BARS_SIDE = BetterEnd.makeID("patterns/block/bars_side.json"); //Models Item public final static Identifier ITEM_WALL = BetterEnd.makeID("patterns/item/pattern_wall.json"); diff --git a/src/main/java/ru/betterend/recipe/AlloyingRecipes.java b/src/main/java/ru/betterend/recipe/AlloyingRecipes.java index d8bacb80..61795576 100644 --- a/src/main/java/ru/betterend/recipe/AlloyingRecipes.java +++ b/src/main/java/ru/betterend/recipe/AlloyingRecipes.java @@ -37,16 +37,10 @@ public class AlloyingRecipes { .setSmeltTime(600) .build(); AlloyingRecipe.Builder.create("terminite_ingot_thallasium") - .setInput(EndItems.THALLASIUM_INGOT, EndItems.ENDER_DUST) + .setInput(EndBlocks.THALLASIUM.ingot, EndItems.ENDER_DUST) .setOutput(EndItems.TERMINITE_INGOT, 1) .setExpiriense(2.5F) .setSmeltTime(450) .build(); - AlloyingRecipe.Builder.create("thallasium_ingot") - .setInput(EndBlocks.THALLASIUM_ORE, EndBlocks.THALLASIUM_ORE) - .setOutput(EndItems.THALLASIUM_INGOT, 3) - .setExpiriense(2.1F) - .setSmeltTime(600) - .build(); } } diff --git a/src/main/java/ru/betterend/recipe/CraftingRecipes.java b/src/main/java/ru/betterend/recipe/CraftingRecipes.java index 9a73f132..d4c236fb 100644 --- a/src/main/java/ru/betterend/recipe/CraftingRecipes.java +++ b/src/main/java/ru/betterend/recipe/CraftingRecipes.java @@ -189,14 +189,6 @@ public class CraftingRecipes { .build(); GridRecipe.make("fiber_string", Items.STRING).setOutputCount(6).setShape("#", "#", "#").addMaterial('#', EndItems.SILK_FIBER).build(); - - GridRecipe.make("thallasium_block", EndBlocks.THALLASIUM_BLOCK).setShape("###", "###", "###").addMaterial('#', EndItems.THALLASIUM_INGOT).build(); - GridRecipe.make("thallasium_ingot_from_block", EndItems.THALLASIUM_INGOT).setOutputCount(9).setList("#").addMaterial('#', EndBlocks.THALLASIUM_BLOCK).build(); - - GridRecipe.make("thallasium_axe", EndItems.THALLASIUM_AXE).setShape("##", "#I", " I").addMaterial('#', EndItems.THALLASIUM_INGOT).addMaterial('I', Items.STICK).build(); - GridRecipe.make("thallasium_hoe", EndItems.THALLASIUM_HOE).setShape("##", " I", " I").addMaterial('#', EndItems.THALLASIUM_INGOT).addMaterial('I', Items.STICK).build(); - GridRecipe.make("thallasium_pickaxe", EndItems.THALLASIUM_PICKAXE).setShape("###", " I ", " I ").addMaterial('#', EndItems.THALLASIUM_INGOT).addMaterial('I', Items.STICK).build(); - GridRecipe.make("thallasium_sword", EndItems.THALLASIUM_SWORD).setShape("#", "#", "I").addMaterial('#', EndItems.THALLASIUM_INGOT).addMaterial('I', Items.STICK).build(); } private static void registerLantern(String name, Block lantern, Block slab) { diff --git a/src/main/java/ru/betterend/recipe/FurnaceRecipes.java b/src/main/java/ru/betterend/recipe/FurnaceRecipes.java index febed809..3c664ec5 100644 --- a/src/main/java/ru/betterend/recipe/FurnaceRecipes.java +++ b/src/main/java/ru/betterend/recipe/FurnaceRecipes.java @@ -13,6 +13,5 @@ public class FurnaceRecipes { FurnaceRecipe.make("end_berry", EndItems.SHADOW_BERRY_RAW, EndItems.SHADOW_BERRY_COOKED).build(); FurnaceRecipe.make("end_fish", EndItems.END_FISH_RAW, EndItems.END_FISH_COOKED).build(); FurnaceRecipe.make("slime_ball", EndBlocks.JELLYSHROOM_CAP_PURPLE, Items.SLIME_BALL).build(); - FurnaceRecipe.make("thallasium_ingot_furnace", EndBlocks.THALLASIUM_ORE, EndItems.THALLASIUM_INGOT).build(); } } diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index dfc04652..0560bb93 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -1,6 +1,5 @@ package ru.betterend.registry; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.block.MaterialColor; @@ -87,7 +86,6 @@ import ru.betterend.blocks.UmbrellaTreeClusterEmptyBlock; import ru.betterend.blocks.UmbrellaTreeMembraneBlock; import ru.betterend.blocks.UmbrellaTreeSaplingBlock; import ru.betterend.blocks.VentBubbleColumnBlock; -import ru.betterend.blocks.basis.BaseBlock; import ru.betterend.blocks.basis.EndCropBlock; import ru.betterend.blocks.basis.EndLeavesBlock; import ru.betterend.blocks.basis.EndOreBlock; @@ -99,9 +97,11 @@ import ru.betterend.blocks.basis.StoneLanternBlock; import ru.betterend.blocks.basis.VineBlock; import ru.betterend.blocks.basis.WallMushroomBlock; import ru.betterend.blocks.complex.ColoredMaterial; +import ru.betterend.blocks.complex.MetalMaterial; import ru.betterend.blocks.complex.StoneMaterial; import ru.betterend.blocks.complex.WoodenMaterial; import ru.betterend.config.Configs; +import ru.betterend.item.material.EndToolMaterial; public class EndBlocks { // Terrain // @@ -280,14 +280,13 @@ public class EndBlocks { public static final Block SILK_MOTH_NEST = registerBlock("silk_moth_nest", new SilkMothNestBlock()); // Ores // - public static final Block THALLASIUM_ORE = registerBlock("thallasium_ore", new BaseBlock(FabricBlockSettings.copyOf(Blocks.END_STONE))); public static final Block ENDER_ORE = registerBlock("ender_ore", new EndOreBlock(EndItems.ENDER_SHARD, 1, 3, 5)); public static final Block AMBER_ORE = registerBlock("amber_ore", new EndOreBlock(EndItems.RAW_AMBER, 1, 2, 4)); // Materials // 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 THALLASIUM_BLOCK = registerBlock("thallasium_block", new BaseBlock(FabricBlockSettings.copyOf(Blocks.IRON_BLOCK))); + public static final MetalMaterial THALLASIUM = new MetalMaterial("thallasium", MaterialColor.BLUE, EndToolMaterial.THALLASIUM); public static final Block ENDER_BLOCK = registerBlock("ender_block", new EnderBlock()); public static final Block AURORA_CRYSTAL = registerBlock("aurora_crystal", new AuroraCrystalBlock()); public static final Block AMBER_BLOCK = registerBlock("amber_block", new AmberBlock()); diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index d4a74f9e..c2386cde 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -157,7 +157,7 @@ public class EndFeatures { public static final EndFeature SULPHUR_HILL = EndFeature.makeChansedFeature("sulphur_hill", new SulphurHillFeature(), 8); // Ores // - public static final EndFeature THALLASIUM_ORE = EndFeature.makeOreFeature("thallasium_ore", EndBlocks.THALLASIUM_ORE, 12, 6, 0, 16, 128); + public static final EndFeature THALLASIUM_ORE = EndFeature.makeOreFeature("thallasium_ore", EndBlocks.THALLASIUM.ore, 12, 6, 0, 16, 128); public static final EndFeature ENDER_ORE = EndFeature.makeOreFeature("ender_ore", EndBlocks.ENDER_ORE, 8, 3, 0, 16, 128); public static final EndFeature AMBER_ORE = EndFeature.makeOreFeature("amber_ore", EndBlocks.AMBER_ORE, 12, 6, 0, 16, 128); public static final EndFeature VIOLECITE_LAYER = EndFeature.makeLayerFeature("violecite_layer", EndBlocks.VIOLECITE, 15, 16, 128, 8); diff --git a/src/main/java/ru/betterend/registry/EndItems.java b/src/main/java/ru/betterend/registry/EndItems.java index 3e1922e0..71c4230c 100644 --- a/src/main/java/ru/betterend/registry/EndItems.java +++ b/src/main/java/ru/betterend/registry/EndItems.java @@ -57,7 +57,6 @@ public class EndItems { // Materials // public final static Item ENDER_DUST = registerItem("ender_dust"); public final static Item ENDER_SHARD = registerItem("ender_shard"); - public final static Item THALLASIUM_INGOT = registerItem("thallasium_ingot"); public final static Item TERMINITE_INGOT = registerItem("terminite_ingot"); public final static Item AETERNIUM_INGOT = registerItem("aeternium_ingot"); public final static Item END_LILY_LEAF = registerItem("end_lily_leaf"); @@ -90,12 +89,6 @@ public class EndItems { public static final Item CRYSTALITE_BOOTS = registerItem("crystalite_boots", new ArmorItem(EndArmorMaterial.CRYSTALITE, EquipmentSlot.FEET, makeItemSettings().rarity(Rarity.UNCOMMON))); // Tools // - public static final ToolItem THALLASIUM_SHOVEL = registerTool("thallasium_shovel", new EndShovelItem(EndToolMaterial.THALLASIUM, 1.0F, -3.0F, makeItemSettings())); - public static final ToolItem THALLASIUM_SWORD = registerTool("thallasium_sword", new EndSwordItem(EndToolMaterial.THALLASIUM, 2, -2.4F, makeItemSettings())); - public static final ToolItem THALLASIUM_PICKAXE = registerTool("thallasium_pickaxe", new EndPickaxeItem(EndToolMaterial.THALLASIUM, 1, -2.8F, makeItemSettings())); - public static final ToolItem THALLASIUM_AXE = registerTool("thallasium_axe", new EndAxeItem(EndToolMaterial.THALLASIUM, 5.0F, -3.0F, makeItemSettings())); - public static final ToolItem THALLASIUM_HOE = registerTool("thallasium_hoe", new EndHoeItem(EndToolMaterial.THALLASIUM, -3, 0.0F, makeItemSettings())); - public static final ToolItem TERMINITE_SHOVEL = registerTool("terminite_shovel", new EndShovelItem(EndToolMaterial.TERMINITE, 1.5F, -3.0F, makeItemSettings())); public static final ToolItem TERMINITE_SWORD = registerTool("terminite_sword", new EndSwordItem(EndToolMaterial.TERMINITE, 3, -2.4F, makeItemSettings())); public static final ToolItem TERMINITE_PICKAXE = registerTool("terminite_pickaxe", new EndPickaxeItem(EndToolMaterial.TERMINITE, 1, -2.8F, makeItemSettings())); @@ -137,7 +130,7 @@ public class EndItems { public final static Item AETERNIUM_SWORD_BLADE = registerItem("aeternium_sword_blade"); public final static Item AETERNIUM_SWORD_HANDLE = registerItem("aeternium_sword_handle"); - protected static Item registerItem(String name) { + public static Item registerItem(String name) { return registerItem(BetterEnd.makeID(name), new PatternedItem(makeItemSettings())); } @@ -176,7 +169,7 @@ public class EndItems { return item; } - private static ToolItem registerTool(String name, ToolItem item) { + public static ToolItem registerTool(String name, ToolItem item) { Identifier id = BetterEnd.makeID(name); if (!Configs.ITEM_CONFIG.getBoolean("tools", id.getPath(), true)) { return item; diff --git a/src/main/java/ru/betterend/registry/EndTags.java b/src/main/java/ru/betterend/registry/EndTags.java index f89ba480..bb324daa 100644 --- a/src/main/java/ru/betterend/registry/EndTags.java +++ b/src/main/java/ru/betterend/registry/EndTags.java @@ -68,7 +68,7 @@ public class EndTags { public static void register() { addSurfaceBlock(Blocks.END_STONE); - addSurfaceBlock(EndBlocks.THALLASIUM_ORE); + addSurfaceBlock(EndBlocks.THALLASIUM.ore); addSurfaceBlock(EndBlocks.ENDSTONE_DUST); addSurfaceBlock(EndBlocks.AMBER_ORE); diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index 3b448522..d44bc57d 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -583,5 +583,11 @@ "item.betterend.thallasium_pickaxe": "Thallasium Pickaxe", "item.betterend.thallasium_shovel": "Thallasium Shovel", "item.betterend.thallasium_sword": "Thallasium Sword", - "block.betterend.thallasium_block": "Thallasium Block" + "block.betterend.thallasium_block": "Thallasium Block", + + "block.betterend.thallasium_bars": "Thallasium Bars", + "block.betterend.thallasium_door": "Thallasium Door", + "block.betterend.thallasium_plate": "Thallasium Pressure Plate", + "block.betterend.thallasium_tile": "Thallasium Tile", + "block.betterend.thallasium_trapdoor": "Thallasium Trapdoor" } diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index c9f090b5..ed391bab 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -585,5 +585,11 @@ "item.betterend.thallasium_pickaxe": "Талласиевая кирка", "item.betterend.thallasium_shovel": "Талласиевая лопата", "item.betterend.thallasium_sword": "Талласиевый меч", - "block.betterend.thallasium_block": "Талласиевый блок" + "block.betterend.thallasium_block": "Талласиевый блок", + + "block.betterend.thallasium_bars": "Талласиевые прутья", + "block.betterend.thallasium_door": "Талласиевая дверь", + "block.betterend.thallasium_plate": "Талласиевая нажимная плита", + "block.betterend.thallasium_tile": "Талласиевая плитка", + "block.betterend.thallasium_trapdoor": "Талласиевый люк" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/patterns/block/bars_post.json b/src/main/resources/assets/betterend/patterns/block/bars_post.json new file mode 100644 index 00000000..eb195425 --- /dev/null +++ b/src/main/resources/assets/betterend/patterns/block/bars_post.json @@ -0,0 +1,22 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "top": "betterend:block/%block%_top", + "particle": "#top" + }, + "elements": [ + { + "__comment": "Box1", + "from": [ 7, 0, 7 ], + "to": [ 9, 16, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 9, 9 ], "texture": "#top", "cullface": "down" }, + "up": { "uv": [ 7, 7, 9, 9 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#top" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#top" }, + "west": { "uv": [ 7, 0, 9, 16 ], "texture": "#top" }, + "east": { "uv": [ 7, 0, 9, 16 ], "texture": "#top" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/patterns/block/bars_side.json b/src/main/resources/assets/betterend/patterns/block/bars_side.json new file mode 100644 index 00000000..5d1f5198 --- /dev/null +++ b/src/main/resources/assets/betterend/patterns/block/bars_side.json @@ -0,0 +1,23 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "side": "betterend:block/%block%", + "top": "betterend:block/%block%_top", + "particle": "#side" + }, + "elements": [ + { + "__comment": "Box1", + "from": [ 7, 0, 0 ], + "to": [ 9, 16, 9 ], + "faces": { + "down": { "uv": [ 7, 7, 9, 16 ], "texture": "#top", "cullface": "down" }, + "up": { "uv": [ 7, 0, 9, 9 ], "texture": "#top", "cullface": "up" }, + "north": { "uv": [ 7, 0, 9, 16 ], "texture": "#side", "cullface": "north" }, + "south": { "uv": [ 7, 0, 9, 16 ], "texture": "#side" }, + "west": { "uv": [ 0, 0, 9, 16 ], "texture": "#side" }, + "east": { "uv": [ 7, 0, 16, 16 ], "texture": "#side" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/patterns/blockstate/bars.json b/src/main/resources/assets/betterend/patterns/blockstate/bars.json new file mode 100644 index 00000000..592671d3 --- /dev/null +++ b/src/main/resources/assets/betterend/patterns/blockstate/bars.json @@ -0,0 +1,53 @@ +{ + "multipart": [ + { + "when": { + "west": "false", + "east": "false", + "south": "false", + "north": "false" + }, + "apply": { + "model": "betterend:pattern/%block%/%block%_post" + } + }, + { + "when": { + "north": "true" + }, + "apply": { + "model": "betterend:pattern/%block%/%block%_side" + } + }, + { + "when": { + "east": "true" + }, + "apply": { + "model": "betterend:pattern/%block%/%block%_side", + "uvlock": true, + "y": 90 + } + }, + { + "when": { + "south": "true" + }, + "apply": { + "model": "betterend:pattern/%block%/%block%_side", + "uvlock": true, + "y": 180 + } + }, + { + "when": { + "west": "true" + }, + "apply": { + "model": "betterend:pattern/%block%/%block%_side", + "uvlock": true, + "y": 270 + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/textures/block/thallasium_bars.png b/src/main/resources/assets/betterend/textures/block/thallasium_bars.png new file mode 100644 index 00000000..dc41f123 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/thallasium_bars.png differ diff --git a/src/main/resources/assets/betterend/textures/block/thallasium_bars_top.png b/src/main/resources/assets/betterend/textures/block/thallasium_bars_top.png new file mode 100644 index 00000000..ec2fdad4 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/thallasium_bars_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/thallasium_door_bottom.png b/src/main/resources/assets/betterend/textures/block/thallasium_door_bottom.png new file mode 100644 index 00000000..d6f43624 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/thallasium_door_bottom.png differ diff --git a/src/main/resources/assets/betterend/textures/block/thallasium_door_side.png b/src/main/resources/assets/betterend/textures/block/thallasium_door_side.png new file mode 100644 index 00000000..23077abe Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/thallasium_door_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/thallasium_door_top.png b/src/main/resources/assets/betterend/textures/block/thallasium_door_top.png new file mode 100644 index 00000000..1259c13b Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/thallasium_door_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/thallasium_tile.png b/src/main/resources/assets/betterend/textures/block/thallasium_tile.png new file mode 100644 index 00000000..e4b29be2 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/thallasium_tile.png differ diff --git a/src/main/resources/assets/betterend/textures/block/thallasium_trapdoor.png b/src/main/resources/assets/betterend/textures/block/thallasium_trapdoor.png new file mode 100644 index 00000000..fe667181 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/thallasium_trapdoor.png differ diff --git a/src/main/resources/assets/betterend/textures/item/thallasium_door.png b/src/main/resources/assets/betterend/textures/item/thallasium_door.png new file mode 100644 index 00000000..f9b342c1 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/item/thallasium_door.png differ