From 302db402c1d05ba32af75894e7d66336a8213e44 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Thu, 21 Jan 2021 06:15:35 +0300 Subject: [PATCH] Thallasium additional blocks, metal material class prototype, lang text --- .../blocks/basis/EndMetalPaneBlock.java | 70 ++++++++++++++++ .../blocks/basis/EndMetalPlateBlock.java | 52 ++++++++++++ ...ateBlock.java => EndWoodenPlateBlock.java} | 6 +- .../blocks/complex/MetalMaterial.java | 77 ++++++++++++++++++ .../blocks/complex/WoodenMaterial.java | 4 +- .../java/ru/betterend/patterns/Patterns.java | 3 + .../ru/betterend/recipe/AlloyingRecipes.java | 8 +- .../ru/betterend/recipe/CraftingRecipes.java | 8 -- .../ru/betterend/recipe/FurnaceRecipes.java | 1 - .../java/ru/betterend/registry/EndBlocks.java | 7 +- .../ru/betterend/registry/EndFeatures.java | 2 +- .../java/ru/betterend/registry/EndItems.java | 11 +-- .../java/ru/betterend/registry/EndTags.java | 2 +- .../assets/betterend/lang/en_us.json | 8 +- .../assets/betterend/lang/ru_ru.json | 8 +- .../betterend/patterns/block/bars_post.json | 22 +++++ .../betterend/patterns/block/bars_side.json | 23 ++++++ .../betterend/patterns/blockstate/bars.json | 53 ++++++++++++ .../textures/block/thallasium_bars.png | Bin 0 -> 437 bytes .../textures/block/thallasium_bars_top.png | Bin 0 -> 272 bytes .../textures/block/thallasium_door_bottom.png | Bin 0 -> 527 bytes .../textures/block/thallasium_door_side.png | Bin 0 -> 237 bytes .../textures/block/thallasium_door_top.png | Bin 0 -> 556 bytes .../textures/block/thallasium_tile.png | Bin 0 -> 475 bytes .../textures/block/thallasium_trapdoor.png | Bin 0 -> 558 bytes .../textures/item/thallasium_door.png | Bin 0 -> 450 bytes 26 files changed, 327 insertions(+), 38 deletions(-) create mode 100644 src/main/java/ru/betterend/blocks/basis/EndMetalPaneBlock.java create mode 100644 src/main/java/ru/betterend/blocks/basis/EndMetalPlateBlock.java rename src/main/java/ru/betterend/blocks/basis/{EndPlateBlock.java => EndWoodenPlateBlock.java} (87%) create mode 100644 src/main/java/ru/betterend/blocks/complex/MetalMaterial.java create mode 100644 src/main/resources/assets/betterend/patterns/block/bars_post.json create mode 100644 src/main/resources/assets/betterend/patterns/block/bars_side.json create mode 100644 src/main/resources/assets/betterend/patterns/blockstate/bars.json create mode 100644 src/main/resources/assets/betterend/textures/block/thallasium_bars.png create mode 100644 src/main/resources/assets/betterend/textures/block/thallasium_bars_top.png create mode 100644 src/main/resources/assets/betterend/textures/block/thallasium_door_bottom.png create mode 100644 src/main/resources/assets/betterend/textures/block/thallasium_door_side.png create mode 100644 src/main/resources/assets/betterend/textures/block/thallasium_door_top.png create mode 100644 src/main/resources/assets/betterend/textures/block/thallasium_tile.png create mode 100644 src/main/resources/assets/betterend/textures/block/thallasium_trapdoor.png create mode 100644 src/main/resources/assets/betterend/textures/item/thallasium_door.png 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 0000000000000000000000000000000000000000..dc41f1232e398eea88c12f85e9e2c2f612790897 GIT binary patch literal 437 zcmV;m0ZRUfP)Px$Z%IT!R5*>LQZY}$Kp1`3+A0kvWh2Zmm_WLikT5aw2b@S8IuHkA!r+2oqb?36 z#(^+6u*whM7nqp1IJvMf5eG{fD&D0z2fd~R!Juz>ukXJ0`|f=uweC=`AOQ1RsG1Hn zWgvVH03gz8$^d}K4>?0Rmj??1pxPdY!_ymqZ%F-{C*M<;=i=%1jK~8X_z7O;JzO4> z`E-IEecwbJ%y&_!H-+S7FAklWAeB~6gq(o~KA7)<`!kG3ePY>;c)q(J03dat-V_?m zK&K`&gJSXa`gIriMcGku96y~|wj)TjJrK-uqX~3sLUvw;WjjLFY@A>d;x(m4M<{Z) ze}THYw;JL$SKxvFzYt4}&T5F;u8~w)J@I&b5{-OtbS}6*gGMvp{tN&jtdV4jOleliiQjFVo300000NkvXXu0mjf3b(oe literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..ec2fdad4bc8b87c00d4c8042562004420797421e GIT binary patch literal 272 zcmV+r0q_2aP)Px#%1J~)R5*>LQ@aj=FcdvnEVMz=k?<3aCQf{df8gqj|KRM*Ul|9S2!x^~O&t`C zOH0Zf@8jg$d(H(ckr$=e9WTb#v$PeJlu%7=YjFTHHM;6*1qf_Kng|TC^=F`a3H^Nd z0}#eR!pI*0fRn)@FG@3Bo2)1Z4u==<%r zLKyuq7}rs44Vnn2#MmCrX0t!}8;LMJPlYMr^ua6{^`M|y`=P8>j?)Y@5&jIOeB%oe WPhL22^`w6Q0000G~? literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d6f436242221237ef94891333cc17c1b1f8e32bc GIT binary patch literal 527 zcmV+q0`UEbP)ljQ6otQ9j$iU@2NI%2@zf}7m#7P3C?k)tZG;rEoNxV@d~02wF`W0AryPsn(=R4NwYO zRRK_F73pBsT$gmIv8sZ4yN&uW!vExRkwlo%0bsrH{ov(`;^BDWV=k1!ZZ?X^d)?!$ zlXKgf8i4t??eE_%`SLkop%gXO1z)wF(x*dWrF50k!;Go|t zCZC_4acBRKbg8j-y)4As+A8_KZ8i3b%;Jfk)tLWKk+Kv{wPu|}g>E@@jGF7-2&D|p ztG0w7)tZWQt`8}i%?t5guvHb9(jnCvuhYy{SSVH4UL{E>Yze_SiSRm2S`B&KLN0p! z9_OcLsIgxh5P&J2;+P(voX~1W2E$)iPCdJWP1{G0j<-(EZRc<_n`ar^e|SVN8kO4K z2H(5e!)|-*JbCrzDjW_l3 zpC;En?TM|leRn0L+(PNtiN`j}v|`fagwwhNua|2@NL{Y-mtyKIy~^q}+4@3Hz^tdT z3_JF%-q+yLGczf~@kg(MAwwp|nz`?Ul6+pmdKI;Vst0FF>zc>n+a literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1259c13b28f9e72a1585a2b1b4c0c6b95fbe3d96 GIT binary patch literal 556 zcmV+{0@MA8P)mMW~P^ z3y6p*jEv6*@!r?2k&fcn#TNn+Tdij2&6_uGR(p8#u{=IJf#3p;=RuyFF#z}@=6D`* z#;~=08^?zy&^8`FFXPib+IKdv)Cv&ADU$Ok+=V8>fFkq>qHmdso3;hhvJedhh)?@y z2rm8`90nA3w{F66o6sH4yA<5(zJ=}(*pwoP#_*Rr3M>l)fSxmUDYNbnym@qA1Ay(P zugi*O8o0k&cEn z>;86MTv#GkRpne;s@pirGS#*O%Yn%p uHX5qUon;9c^ET#;{Sz$PmLJO?E`9=33_zx@tUApA0000Px$l}SWFR5*=&l0A-_Kp2J}qg`VLV+#wRg<_Q`N*yT|NRcb-1#*`hB-%b*E|4Nh zl_rv#EmvAB5W-=AF+WP20x^o6@zM;^%cJ=|-e-3A>HD!RB{EHMJdZ9g5A^7`F- z>QXW&b&@f(Ghl;m#_Et zSTaosd~pIV*DHdJ%TSM#Px$=t)FDR5*=|lD}&cVHn3hZ+>5rGieftDTt{?sf(#1uCCXqgAT4{$l%sFb3t$r zmku4GW5Ge(>R*thgMok$I}`&A2WOkh<$Ae#jt-@IDgc1z41o7vPSkxDLK04Qhww-Tu&iDVLg zWGyAgRY?i|8k7r@zg50x|P&1m>ej<&Pt1T5W_#+Du7UkppT~TlBsZGc}j1|WF zuR(RAqI~Fl{(?Ikga)a${hU=cHa1O_Z5hw4m#@^Sq+tMO{U6uZ$ZC{R#d7FysgNNo w_TtIwcfs77T#2W27{DJ{>RUvjNLI%FHxBG;L9n(^b literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f9b342c19ffb2dbe2ca82dd5631ba9b72f79151f GIT binary patch literal 450 zcmV;z0X_bSP)DHUxd+yB~86%%lNyZg2*)o=Cq7{o= z9c=!Z>1qb}di$K=a6}?~pTROsWJx4CGv-p@0(g4_@;R0IYk}vd7cO>JJ$mVthr2Wd zwb~v4kc=w;obRl705118JOI{**&ZMa43Wu}o!Yi-Cl5y?7r@)xFy2a7!^4cH5-cB{ z+5in*CzeXI65HB>EQvfmWC@7Hvl?&qw!WE8CS^XR03i@vkQ~Rqa$1& z9pUr)+XDdSjj|+?$(E_TYj}lTf?}Y(g|CKzWtxN|5;w;ud>J(W7Pq&ZWBv)SY8qOx sh%AYO=a=yL{RG7Tm1>=+GUx()1KX*SD&K@yi2wiq07*qoM6N<$f