From 14434e40282a5b68a16483561df9ae47c167f8ca Mon Sep 17 00:00:00 2001 From: Aleksey Date: Tue, 17 Nov 2020 22:04:42 +0300 Subject: [PATCH] Patterns refactor --- .../java/ru/betterend/blocks/EndPedestal.java | 14 +- .../ru/betterend/blocks/PedestalVanilla.java | 14 +- .../ru/betterend/blocks/basis/BlockBark.java | 10 +- .../betterend/blocks/basis/BlockBarrel.java | 17 +- .../ru/betterend/blocks/basis/BlockBase.java | 13 +- .../blocks/basis/BlockBookshelf.java | 12 +- .../ru/betterend/blocks/basis/BlockChest.java | 13 +- .../blocks/basis/BlockCraftingTable.java | 13 +- .../ru/betterend/blocks/basis/BlockDoor.java | 23 +- .../blocks/basis/BlockFeatureSapling.java | 10 +- .../ru/betterend/blocks/basis/BlockFence.java | 15 +- .../ru/betterend/blocks/basis/BlockGate.java | 17 +- .../betterend/blocks/basis/BlockLadder.java | 15 +- .../betterend/blocks/basis/BlockLeaves.java | 15 +- .../betterend/blocks/basis/BlockPedestal.java | 20 +- .../betterend/blocks/basis/BlockPillar.java | 15 +- .../blocks/basis/BlockPressurePlate.java | 13 +- .../ru/betterend/blocks/basis/BlockSign.java | 13 +- .../blocks/basis/BlockSimpleLeaves.java | 12 +- .../ru/betterend/blocks/basis/BlockSlab.java | 11 +- .../betterend/blocks/basis/BlockStairs.java | 15 +- .../blocks/basis/BlockStoneButton.java | 15 +- .../blocks/basis/BlockStoneLantern.java | 14 +- .../blocks/basis/BlockStonePressurePlate.java | 13 +- .../betterend/blocks/basis/BlockTrapdoor.java | 13 +- .../ru/betterend/blocks/basis/BlockWall.java | 17 +- .../blocks/basis/BlockWoodenButton.java | 15 +- .../mixin/client/ModelLoaderMixin.java | 54 ++-- .../mixin/client/ModelVariantMapMixin.java | 6 +- .../client/NamespaceResourceManagerMixin.java | 6 +- .../ru/betterend/patterns/BlockPatterned.java | 14 + .../java/ru/betterend/patterns/Patterned.java | 7 + .../Patterned.java => patterns/Patterns.java} | 279 +++++++++--------- 33 files changed, 397 insertions(+), 356 deletions(-) create mode 100644 src/main/java/ru/betterend/patterns/BlockPatterned.java create mode 100644 src/main/java/ru/betterend/patterns/Patterned.java rename src/main/java/ru/betterend/{interfaces/Patterned.java => patterns/Patterns.java} (92%) diff --git a/src/main/java/ru/betterend/blocks/EndPedestal.java b/src/main/java/ru/betterend/blocks/EndPedestal.java index 83169ac9..54517efa 100644 --- a/src/main/java/ru/betterend/blocks/EndPedestal.java +++ b/src/main/java/ru/betterend/blocks/EndPedestal.java @@ -8,7 +8,7 @@ import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import ru.betterend.BetterEnd; import ru.betterend.blocks.basis.BlockPedestal; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.Patterns; public class EndPedestal extends BlockPedestal { @@ -31,16 +31,16 @@ public class EndPedestal extends BlockPedestal { } }; if (block.contains("column_top")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_COLUMN_TOP, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_COLUMN_TOP, textures); } else if (block.contains("column")) { - return Patterned.createJson(Patterned.BLOKC_PEDESTAL_COLUMN, textures); + return Patterns.createJson(Patterns.BLOKC_PEDESTAL_COLUMN, textures); } else if (block.contains("top")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_TOP, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_TOP, textures); } else if (block.contains("bottom")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_BOTTOM, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_BOTTOM, textures); } else if (block.contains("pillar")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_PILLAR, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_PILLAR, textures); } - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_DEFAULT, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_DEFAULT, textures); } } diff --git a/src/main/java/ru/betterend/blocks/PedestalVanilla.java b/src/main/java/ru/betterend/blocks/PedestalVanilla.java index 9c6f6b42..29f8039a 100644 --- a/src/main/java/ru/betterend/blocks/PedestalVanilla.java +++ b/src/main/java/ru/betterend/blocks/PedestalVanilla.java @@ -7,7 +7,7 @@ import net.minecraft.block.Block; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import ru.betterend.blocks.basis.BlockPedestal; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.Patterns; public class PedestalVanilla extends BlockPedestal { @@ -30,16 +30,16 @@ public class PedestalVanilla extends BlockPedestal { } }; if (block.contains("column_top")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_COLUMN_TOP, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_COLUMN_TOP, textures); } else if (block.contains("column")) { - return Patterned.createJson(Patterned.BLOKC_PEDESTAL_COLUMN, textures); + return Patterns.createJson(Patterns.BLOKC_PEDESTAL_COLUMN, textures); } else if (block.contains("top")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_TOP, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_TOP, textures); } else if (block.contains("bottom")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_BOTTOM, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_BOTTOM, textures); } else if (block.contains("pillar")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_PILLAR, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_PILLAR, textures); } - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_DEFAULT, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_DEFAULT, textures); } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockBark.java b/src/main/java/ru/betterend/blocks/basis/BlockBark.java index 08e23061..542716d5 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockBark.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockBark.java @@ -4,8 +4,8 @@ import java.io.Reader; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; -import ru.betterend.BetterEnd; -import ru.betterend.interfaces.Patterned; + +import ru.betterend.patterns.Patterns; public class BlockBark extends BlockPillar { public BlockBark(Settings settings) { @@ -15,15 +15,13 @@ public class BlockBark extends BlockPillar { @Override public String getModelPattern(String block) { Identifier blockId = Registry.BLOCK.getId(this); - String name = getName(blockId); - return Patterned.createJson(Patterned.BLOCK_BASE, BetterEnd.makeID(name), blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_BASE, getName(blockId), blockId.getPath()); } @Override public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); - String name = getName(blockId); - return Patterned.createJson(data, BetterEnd.makeID(name), blockId.getPath()); + return Patterns.createJson(data, getName(blockId), blockId.getPath()); } private String getName(Identifier blockId) { diff --git a/src/main/java/ru/betterend/blocks/basis/BlockBarrel.java b/src/main/java/ru/betterend/blocks/basis/BlockBarrel.java index edafe499..8cf0e69c 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockBarrel.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockBarrel.java @@ -26,10 +26,11 @@ import net.minecraft.util.registry.Registry; import net.minecraft.world.BlockView; import net.minecraft.world.World; import ru.betterend.blocks.entities.EBarrelBlockEntity; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; import ru.betterend.registry.EndBlockEntities; -public class BlockBarrel extends BarrelBlock implements Patterned { +public class BlockBarrel extends BarrelBlock implements BlockPatterned { public BlockBarrel(Block source) { super(FabricBlockSettings.copyOf(source).nonOpaque()); } @@ -89,21 +90,21 @@ public class BlockBarrel extends BarrelBlock implements Patterned { @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String block = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, block, block); } @Override public String getModelPattern(String block) { - Identifier blockId = Registry.BLOCK.getId(this); + String texture = Registry.BLOCK.getId(this).getPath(); if (block.contains("open")) { - return Patterned.createJson(Patterned.BLOCK_BARREL_OPEN, blockId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_BARREL_OPEN, texture, texture); } - return Patterned.createJson(Patterned.BLOCK_BOTTOM_TOP, blockId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_BOTTOM_TOP, texture, texture); } @Override public Identifier statePatternId() { - return Patterned.STATE_BARREL; + return Patterns.STATE_BARREL; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockBase.java b/src/main/java/ru/betterend/blocks/basis/BlockBase.java index 9383a797..cdebbf74 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockBase.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockBase.java @@ -10,9 +10,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockBase extends Block implements Patterned { +public class BlockBase extends Block implements BlockPatterned { public BlockBase(Settings settings) { super(settings); } @@ -24,18 +25,18 @@ public class BlockBase extends Block implements Patterned { @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String block = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, block, block); } @Override public String getModelPattern(String block) { Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(Patterned.BLOCK_BASE, blockId, block); + return Patterns.createJson(Patterns.BLOCK_BASE, blockId.getPath(), block); } @Override public Identifier statePatternId() { - return Patterned.STATE_SIMPLE; + return Patterns.STATE_SIMPLE; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockBookshelf.java b/src/main/java/ru/betterend/blocks/basis/BlockBookshelf.java index 0221fe8d..a0922b40 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockBookshelf.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockBookshelf.java @@ -15,8 +15,8 @@ import net.minecraft.loot.context.LootContext; import net.minecraft.loot.context.LootContextParameters; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; -import ru.betterend.BetterEnd; -import ru.betterend.interfaces.Patterned; + +import ru.betterend.patterns.Patterns; public class BlockBookshelf extends BlockBase { public BlockBookshelf(Block source) { @@ -37,21 +37,19 @@ public class BlockBookshelf extends BlockBase { @Override public Identifier statePatternId() { - return Patterned.STATE_SIMPLE; + return Patterns.STATE_SIMPLE; } @Override public String getModelPattern(String block) { Identifier blockId = Registry.BLOCK.getId(this); - String name = getName(blockId); - return Patterned.createJson(Patterned.BLOCK_BOOKSHELF, BetterEnd.makeID(name), blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_BOOKSHELF, getName(blockId), blockId.getPath()); } @Override public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); - String name = getName(blockId); - return Patterned.createJson(data, BetterEnd.makeID(name), blockId.getPath()); + return Patterns.createJson(data, getName(blockId), blockId.getPath()); } private String getName(Identifier blockId) { diff --git a/src/main/java/ru/betterend/blocks/basis/BlockChest.java b/src/main/java/ru/betterend/blocks/basis/BlockChest.java index 9eb0955e..580f3ca8 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockChest.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockChest.java @@ -13,10 +13,11 @@ import net.minecraft.loot.context.LootContext; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import net.minecraft.world.BlockView; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; import ru.betterend.registry.EndBlockEntities; -public class BlockChest extends ChestBlock implements Patterned { +public class BlockChest extends ChestBlock implements BlockPatterned { private final Block parent; @@ -45,7 +46,7 @@ public class BlockChest extends ChestBlock implements Patterned { public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); } @Override @@ -53,13 +54,13 @@ public class BlockChest extends ChestBlock implements Patterned { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); if (path.contains("item")) { - return Patterned.createJson(Patterned.ITEM_CHEST, blockId.getPath()); + return Patterns.createJson(Patterns.ITEM_CHEST, blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_EMPTY, parentId.getPath()); + return Patterns.createJson(Patterns.BLOCK_EMPTY, parentId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_SIMPLE; + return Patterns.STATE_SIMPLE; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockCraftingTable.java b/src/main/java/ru/betterend/blocks/basis/BlockCraftingTable.java index eaff2476..7840de90 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockCraftingTable.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockCraftingTable.java @@ -13,9 +13,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockCraftingTable extends CraftingTableBlock implements Patterned { +public class BlockCraftingTable extends CraftingTableBlock implements BlockPatterned { public BlockCraftingTable(Block source) { super(FabricBlockSettings.copyOf(source)); } @@ -27,15 +28,15 @@ public class BlockCraftingTable extends CraftingTableBlock implements Patterned @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String blockId = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, blockId, blockId); } @Override public String getModelPattern(String block) { Identifier blockId = Registry.BLOCK.getId(this); String blockName = blockId.getPath(); - return Patterned.createJson(Patterned.BLOCK_SIDED, new HashMap() { + return Patterns.createJson(Patterns.BLOCK_SIDED, new HashMap() { private static final long serialVersionUID = 1L; { put("%particle%", blockName + "_front"); @@ -51,6 +52,6 @@ public class BlockCraftingTable extends CraftingTableBlock implements Patterned @Override public Identifier statePatternId() { - return Patterned.STATE_SIMPLE; + return Patterns.STATE_SIMPLE; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockDoor.java b/src/main/java/ru/betterend/blocks/basis/BlockDoor.java index 6a705e3f..1d63ef8b 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockDoor.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockDoor.java @@ -15,9 +15,10 @@ import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockDoor extends DoorBlock implements IRenderTypeable, Patterned { +public class BlockDoor extends DoorBlock implements IRenderTypeable, BlockPatterned { public BlockDoor(Block block) { super(FabricBlockSettings.copy(block).nonOpaque()); } @@ -37,30 +38,30 @@ public class BlockDoor extends DoorBlock implements IRenderTypeable, Patterned { @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String blockId = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, blockId, blockId); } @Override public String getModelPattern(String block) { - Identifier blockId = Registry.BLOCK.getId(this); + String blockId = Registry.BLOCK.getId(this).getPath(); if (block.contains("item")) { - return Patterned.createJson(Patterned.ITEM_MODEL, blockId.getPath()); + return Patterns.createJson(Patterns.ITEM_MODEL, blockId); } if (block.contains("top_hinge")) { - return Patterned.createJson(Patterned.BLOCK_DOOR_TOP_HINGE, blockId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_DOOR_TOP_HINGE, blockId, blockId); } if (block.contains("bottom_hinge")) { - return Patterned.createJson(Patterned.BLOCK_DOOR_BOTTOM_HINGE, blockId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_DOOR_BOTTOM_HINGE, blockId, blockId); } if (block.contains("top")) { - return Patterned.createJson(Patterned.BLOCK_DOOR_TOP, blockId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_DOOR_TOP, blockId, blockId); } - return Patterned.createJson(Patterned.BLOCK_DOOR_BOTTOM, blockId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_DOOR_BOTTOM, blockId, blockId); } @Override public Identifier statePatternId() { - return Patterned.STATE_DOOR; + return Patterns.STATE_DOOR; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockFeatureSapling.java b/src/main/java/ru/betterend/blocks/basis/BlockFeatureSapling.java index ed0905a6..1adad8e6 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockFeatureSapling.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockFeatureSapling.java @@ -24,7 +24,7 @@ import net.minecraft.world.WorldView; import net.minecraft.world.gen.feature.Feature; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.Patterns; import ru.betterend.registry.EndTags; public abstract class BlockFeatureSapling extends BlockBaseNotFull implements Fertilizable, IRenderTypeable { @@ -100,20 +100,20 @@ public abstract class BlockFeatureSapling extends BlockBaseNotFull implements Fe @Override public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + return Patterns.createJson(data, blockId.getPath(), blockId.getPath()); } @Override public String getModelPattern(String block) { if (block.contains("item")) { block = block.split("/")[1]; - return Patterned.createJson(Patterned.ITEM_BLOCK, block); + return Patterns.createJson(Patterns.ITEM_BLOCK, block); } - return Patterned.createJson(Patterned.BLOCK_SAPLING, block); + return Patterns.createJson(Patterns.BLOCK_SAPLING, block); } @Override public Identifier statePatternId() { - return Patterned.STATE_SAPLING; + return Patterns.STATE_SAPLING; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockFence.java b/src/main/java/ru/betterend/blocks/basis/BlockFence.java index 314615a4..17b7d007 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockFence.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockFence.java @@ -12,9 +12,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockFence extends FenceBlock implements Patterned { +public class BlockFence extends FenceBlock implements BlockPatterned { private final Block parent; @@ -32,7 +33,7 @@ public class BlockFence extends FenceBlock implements Patterned { public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); } @Override @@ -40,16 +41,16 @@ public class BlockFence extends FenceBlock implements Patterned { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); if (block.contains("item")) { - return Patterned.createJson(Patterned.ITEM_FENCE, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.ITEM_FENCE, parentId.getPath(), blockId.getPath()); } if (block.contains("side")) { - return Patterned.createJson(Patterned.BLOCK_FENCE_SIDE, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_FENCE_SIDE, parentId.getPath(), blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_FENCE_POST, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_FENCE_POST, parentId.getPath(), blockId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_FENCE; + return Patterns.STATE_FENCE; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockGate.java b/src/main/java/ru/betterend/blocks/basis/BlockGate.java index 6405d7b8..37cc1ecd 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockGate.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockGate.java @@ -12,9 +12,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockGate extends FenceGateBlock implements Patterned { +public class BlockGate extends FenceGateBlock implements BlockPatterned { private final Block parent; @@ -32,7 +33,7 @@ public class BlockGate extends FenceGateBlock implements Patterned { public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); } @Override @@ -41,19 +42,19 @@ public class BlockGate extends FenceGateBlock implements Patterned { Identifier parentId = Registry.BLOCK.getId(parent); if (block.contains("wall")) { if (block.contains("open")) { - return Patterned.createJson(Patterned.BLOCK_GATE_OPEN_WALL, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_GATE_OPEN_WALL, parentId.getPath(), blockId.getPath()); } else { - return Patterned.createJson(Patterned.BLOCK_GATE_CLOSED_WALL, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_GATE_CLOSED_WALL, parentId.getPath(), blockId.getPath()); } } if (block.contains("open")) { - return Patterned.createJson(Patterned.BLOCK_GATE_OPEN, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_GATE_OPEN, parentId.getPath(), blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_GATE_CLOSED, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_GATE_CLOSED, parentId.getPath(), blockId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_GATE; + return Patterns.STATE_GATE; } } \ No newline at end of file diff --git a/src/main/java/ru/betterend/blocks/basis/BlockLadder.java b/src/main/java/ru/betterend/blocks/basis/BlockLadder.java index 10998cf1..d5d5cba9 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockLadder.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockLadder.java @@ -27,10 +27,11 @@ import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldView; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; import ru.betterend.util.BlocksHelper; -public class BlockLadder extends BlockBaseNotFull implements IRenderTypeable, Patterned { +public class BlockLadder extends BlockBaseNotFull implements IRenderTypeable, BlockPatterned { public static final DirectionProperty FACING = HorizontalFacingBlock.FACING; public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED; protected static final VoxelShape EAST_SHAPE = Block.createCuboidShape(0.0D, 0.0D, 0.0D, 3.0D, 16.0D, 16.0D); @@ -138,21 +139,21 @@ public class BlockLadder extends BlockBaseNotFull implements IRenderTypeable, Pa @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String blockId = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, blockId, blockId); } @Override public String getModelPattern(String block) { Identifier blockId = Registry.BLOCK.getId(this); if (block.contains("item")) { - return Patterned.createJson(Patterned.ITEM_BLOCK, blockId.getPath()); + return Patterns.createJson(Patterns.ITEM_BLOCK, blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_LADDER, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_LADDER, blockId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_LADDER; + return Patterns.STATE_LADDER; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockLeaves.java b/src/main/java/ru/betterend/blocks/basis/BlockLeaves.java index 3f2e8bb9..3652a98c 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockLeaves.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockLeaves.java @@ -10,9 +10,10 @@ import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockLeaves extends LeavesBlock implements Patterned, IRenderTypeable { +public class BlockLeaves extends LeavesBlock implements BlockPatterned, IRenderTypeable { public BlockLeaves(MaterialColor color) { super(FabricBlockSettings.copyOf(Blocks.OAK_LEAVES) .allowsSpawning((state, world, pos, type) -> { return false; }) @@ -32,19 +33,19 @@ public class BlockLeaves extends LeavesBlock implements Patterned, IRenderTypeab @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String blockId = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, blockId, blockId); } @Override public String getModelPattern(String block) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(Patterned.BLOCK_BASE, blockId, blockId.getPath()); + String blockId = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(Patterns.BLOCK_BASE, blockId, blockId); } @Override public Identifier statePatternId() { - return Patterned.STATE_SIMPLE; + return Patterns.STATE_SIMPLE; } @Override diff --git a/src/main/java/ru/betterend/blocks/basis/BlockPedestal.java b/src/main/java/ru/betterend/blocks/basis/BlockPedestal.java index e492ff65..118d8a49 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockPedestal.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockPedestal.java @@ -39,7 +39,7 @@ import net.minecraft.world.WorldAccess; import ru.betterend.blocks.BlockProperties; import ru.betterend.blocks.BlockProperties.PedestalState; import ru.betterend.blocks.entities.PedestalBlockEntity; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.Patterns; import ru.betterend.registry.EndBlocks; import ru.betterend.util.BlocksHelper; @@ -304,8 +304,8 @@ public class BlockPedestal extends BlockBaseNotFull implements BlockEntityProvid @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String texture = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, texture, texture); } @Override @@ -323,22 +323,22 @@ public class BlockPedestal extends BlockBaseNotFull implements BlockEntityProvid } }; if (block.contains("column_top")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_COLUMN_TOP, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_COLUMN_TOP, textures); } else if (block.contains("column")) { - return Patterned.createJson(Patterned.BLOKC_PEDESTAL_COLUMN, textures); + return Patterns.createJson(Patterns.BLOKC_PEDESTAL_COLUMN, textures); } else if (block.contains("top")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_TOP, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_TOP, textures); } else if (block.contains("bottom")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_BOTTOM, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_BOTTOM, textures); } else if (block.contains("pillar")) { - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_PILLAR, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_PILLAR, textures); } - return Patterned.createJson(Patterned.BLOCK_PEDESTAL_DEFAULT, textures); + return Patterns.createJson(Patterns.BLOCK_PEDESTAL_DEFAULT, textures); } @Override public Identifier statePatternId() { - return Patterned.STATE_PEDESTAL; + return Patterns.STATE_PEDESTAL; } static { diff --git a/src/main/java/ru/betterend/blocks/basis/BlockPillar.java b/src/main/java/ru/betterend/blocks/basis/BlockPillar.java index 0bfbd918..6f64faf9 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockPillar.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockPillar.java @@ -10,9 +10,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockPillar extends PillarBlock implements Patterned { +public class BlockPillar extends PillarBlock implements BlockPatterned { public BlockPillar(Settings settings) { super(settings); } @@ -24,18 +25,18 @@ public class BlockPillar extends PillarBlock implements Patterned { @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String texture = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, texture, texture); } @Override public String getModelPattern(String block) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(Patterned.BLOCK_PILLAR, blockId, blockId.getPath()); + String texture = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(Patterns.BLOCK_PILLAR, texture, texture); } @Override public Identifier statePatternId() { - return Patterned.STATE_PILLAR; + return Patterns.STATE_PILLAR; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockPressurePlate.java b/src/main/java/ru/betterend/blocks/basis/BlockPressurePlate.java index eb16002b..0bd66e41 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockPressurePlate.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockPressurePlate.java @@ -12,9 +12,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockPressurePlate extends PressurePlateBlock implements Patterned { +public class BlockPressurePlate extends PressurePlateBlock implements BlockPatterned { private final Block parent; @@ -32,7 +33,7 @@ public class BlockPressurePlate extends PressurePlateBlock implements Patterned public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); } @Override @@ -40,13 +41,13 @@ public class BlockPressurePlate extends PressurePlateBlock implements Patterned Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); if (block.contains("down")) { - return Patterned.createJson(Patterned.BLOCK_PLATE_DOWN, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_PLATE_DOWN, parentId.getPath(), blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_PLATE_UP, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_PLATE_UP, parentId.getPath(), blockId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_PLATE; + return Patterns.STATE_PLATE; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockSign.java b/src/main/java/ru/betterend/blocks/basis/BlockSign.java index 7515da36..76184de7 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockSign.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockSign.java @@ -38,9 +38,10 @@ import net.minecraft.world.World; import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldView; import ru.betterend.blocks.entities.ESignBlockEntity; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockSign extends AbstractSignBlock implements Patterned { +public class BlockSign extends AbstractSignBlock implements BlockPatterned { public static final IntProperty ROTATION = Properties.ROTATION; public static final BooleanProperty FLOOR = BooleanProperty.of("floor"); private static final VoxelShape[] WALL_SHAPES = new VoxelShape[] { @@ -154,7 +155,7 @@ public class BlockSign extends AbstractSignBlock implements Patterned { public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); } @Override @@ -162,14 +163,14 @@ public class BlockSign extends AbstractSignBlock implements Patterned { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); if (path.contains("item")) { - return Patterned.createJson(Patterned.ITEM_MODEL, blockId.getPath()); + return Patterns.createJson(Patterns.ITEM_MODEL, blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_EMPTY, parentId.getPath()); + return Patterns.createJson(Patterns.BLOCK_EMPTY, parentId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_SIMPLE; + return Patterns.STATE_SIMPLE; } @Override diff --git a/src/main/java/ru/betterend/blocks/basis/BlockSimpleLeaves.java b/src/main/java/ru/betterend/blocks/basis/BlockSimpleLeaves.java index 6d45cf1e..fa5bd33f 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockSimpleLeaves.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockSimpleLeaves.java @@ -10,7 +10,7 @@ import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.Patterns; public class BlockSimpleLeaves extends BlockBaseNotFull implements IRenderTypeable { public BlockSimpleLeaves(MaterialColor color) { @@ -38,19 +38,19 @@ public class BlockSimpleLeaves extends BlockBaseNotFull implements IRenderTypeab @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String texture = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, texture, texture); } @Override public String getModelPattern(String block) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(Patterned.BLOCK_BASE, blockId, blockId.getPath()); + String texture = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(Patterns.BLOCK_BASE, texture, texture); } @Override public Identifier statePatternId() { - return Patterned.STATE_SIMPLE; + return Patterns.STATE_SIMPLE; } @Override diff --git a/src/main/java/ru/betterend/blocks/basis/BlockSlab.java b/src/main/java/ru/betterend/blocks/basis/BlockSlab.java index 36fb6bc7..d08a9c5e 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockSlab.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockSlab.java @@ -12,9 +12,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockSlab extends SlabBlock implements Patterned { +public class BlockSlab extends SlabBlock implements BlockPatterned { private final Block parent; @@ -32,18 +33,18 @@ public class BlockSlab extends SlabBlock implements Patterned { public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + 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); - return Patterned.createJson(Patterned.BLOCK_SLAB, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_SLAB, parentId.getPath(), blockId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_SLAB; + return Patterns.STATE_SLAB; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockStairs.java b/src/main/java/ru/betterend/blocks/basis/BlockStairs.java index b05875b2..3dc261fa 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockStairs.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockStairs.java @@ -12,9 +12,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockStairs extends StairsBlock implements Patterned { +public class BlockStairs extends StairsBlock implements BlockPatterned { private final Block parent; @@ -32,7 +33,7 @@ public class BlockStairs extends StairsBlock implements Patterned { public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); } @Override @@ -40,16 +41,16 @@ public class BlockStairs extends StairsBlock implements Patterned { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); if (block.contains("inner")) { - return Patterned.createJson(Patterned.BLOCK_STAIR_INNER, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_STAIR_INNER, parentId.getPath(), blockId.getPath()); } if (block.contains("outer")) { - return Patterned.createJson(Patterned.BLOCK_STAIR_OUTER, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_STAIR_OUTER, parentId.getPath(), blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_STAIR, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_STAIR, parentId.getPath(), blockId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_STAIRS; + return Patterns.STATE_STAIRS; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockStoneButton.java b/src/main/java/ru/betterend/blocks/basis/BlockStoneButton.java index 71ee3aaf..a7dd86e5 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockStoneButton.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockStoneButton.java @@ -12,9 +12,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockStoneButton extends StoneButtonBlock implements Patterned { +public class BlockStoneButton extends StoneButtonBlock implements BlockPatterned { private final Block parent; @@ -32,7 +33,7 @@ public class BlockStoneButton extends StoneButtonBlock implements Patterned { public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); } @Override @@ -40,16 +41,16 @@ public class BlockStoneButton extends StoneButtonBlock implements Patterned { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); if (block.contains("item")) { - return Patterned.createJson(Patterned.ITEM_BUTTON, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.ITEM_BUTTON, parentId.getPath(), blockId.getPath()); } if (block.contains("pressed")) { - return Patterned.createJson(Patterned.BLOCK_BUTTON_PRESSED, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_BUTTON_PRESSED, parentId.getPath(), blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_BUTTON, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_BUTTON, parentId.getPath(), blockId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_BUTTON; + return Patterns.STATE_BUTTON; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockStoneLantern.java b/src/main/java/ru/betterend/blocks/basis/BlockStoneLantern.java index be5a6b9b..21d056dd 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockStoneLantern.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockStoneLantern.java @@ -27,7 +27,7 @@ import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldView; import ru.betterend.blocks.AuroraCrystalBlock; import ru.betterend.interfaces.IColorProvider; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.Patterns; import ru.betterend.util.MHelper; public class BlockStoneLantern extends BlockBaseNotFull implements IColorProvider, Waterloggable { @@ -126,21 +126,21 @@ public class BlockStoneLantern extends BlockBaseNotFull implements IColorProvide @Override public Identifier statePatternId() { - return Patterned.STATE_STONE_LANTERN; + return Patterns.STATE_STONE_LANTERN; } @Override public String getModelPattern(String block) { - Identifier blockId = Registry.BLOCK.getId(this); + String texture = Registry.BLOCK.getId(this).getPath(); if (block.contains("ceil")) { - return Patterned.createJson(Patterned.BLOCK_STONE_LANTERN_CEIL, blockId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_STONE_LANTERN_CEIL, texture, texture); } - return Patterned.createJson(Patterned.BLOCK_STONE_LANTERN_FLOOR, blockId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_STONE_LANTERN_FLOOR, texture, texture); } @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String block = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, block, block); } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockStonePressurePlate.java b/src/main/java/ru/betterend/blocks/basis/BlockStonePressurePlate.java index e90216b1..8dce5c00 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockStonePressurePlate.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockStonePressurePlate.java @@ -12,9 +12,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockStonePressurePlate extends PressurePlateBlock implements Patterned { +public class BlockStonePressurePlate extends PressurePlateBlock implements BlockPatterned { private final Block parent; @@ -32,7 +33,7 @@ public class BlockStonePressurePlate extends PressurePlateBlock implements Patte public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); } @Override @@ -40,13 +41,13 @@ public class BlockStonePressurePlate extends PressurePlateBlock implements Patte Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); if (block.contains("down")) { - return Patterned.createJson(Patterned.BLOCK_PLATE_DOWN, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_PLATE_DOWN, parentId.getPath(), blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_PLATE_UP, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_PLATE_UP, parentId.getPath(), blockId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_PLATE; + return Patterns.STATE_PLATE; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java b/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java index 6946fe7a..08777a7c 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockTrapdoor.java @@ -15,9 +15,10 @@ import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import ru.betterend.client.render.ERenderLayer; import ru.betterend.interfaces.IRenderTypeable; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockTrapdoor extends TrapdoorBlock implements IRenderTypeable, Patterned { +public class BlockTrapdoor extends TrapdoorBlock implements IRenderTypeable, BlockPatterned { public BlockTrapdoor(Block source) { super(FabricBlockSettings.copyOf(source).nonOpaque()); } @@ -34,15 +35,15 @@ public class BlockTrapdoor extends TrapdoorBlock implements IRenderTypeable, Pat @Override public String getStatesPattern(Reader data) { - Identifier blockId = Registry.BLOCK.getId(this); - return Patterned.createJson(data, blockId, blockId.getPath()); + String block = Registry.BLOCK.getId(this).getPath(); + return Patterns.createJson(data, block, block); } @Override public String getModelPattern(String block) { Identifier blockId = Registry.BLOCK.getId(this); String name = blockId.getPath(); - return Patterned.createJson(Patterned.BLOCK_TRAPDOOR, new HashMap() { + return Patterns.createJson(Patterns.BLOCK_TRAPDOOR, new HashMap() { private static final long serialVersionUID = 1L; { put("%block%", name); @@ -53,6 +54,6 @@ public class BlockTrapdoor extends TrapdoorBlock implements IRenderTypeable, Pat @Override public Identifier statePatternId() { - return Patterned.STATE_TRAPDOOR; + return Patterns.STATE_TRAPDOOR; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockWall.java b/src/main/java/ru/betterend/blocks/basis/BlockWall.java index 4bce4d9b..2010a583 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockWall.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockWall.java @@ -12,9 +12,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockWall extends WallBlock implements Patterned { +public class BlockWall extends WallBlock implements BlockPatterned { private final Block parent; @@ -32,7 +33,7 @@ public class BlockWall extends WallBlock implements Patterned { public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); } @Override @@ -40,19 +41,19 @@ public class BlockWall extends WallBlock implements Patterned { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); if (block.contains("item")) { - return Patterned.createJson(Patterned.ITEM_WALL, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.ITEM_WALL, parentId.getPath(), blockId.getPath()); } if (block.contains("side_tall")) { - return Patterned.createJson(Patterned.BLOCK_WALL_SIDE_TALL, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_WALL_SIDE_TALL, parentId.getPath(), blockId.getPath()); } if (block.contains("side")) { - return Patterned.createJson(Patterned.BLOCK_WALL_SIDE, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_WALL_SIDE, parentId.getPath(), blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_WALL_POST, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_WALL_POST, parentId.getPath(), blockId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_WALL; + return Patterns.STATE_WALL; } } diff --git a/src/main/java/ru/betterend/blocks/basis/BlockWoodenButton.java b/src/main/java/ru/betterend/blocks/basis/BlockWoodenButton.java index 49ee20f5..025569b3 100644 --- a/src/main/java/ru/betterend/blocks/basis/BlockWoodenButton.java +++ b/src/main/java/ru/betterend/blocks/basis/BlockWoodenButton.java @@ -12,9 +12,10 @@ 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.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; +import ru.betterend.patterns.Patterns; -public class BlockWoodenButton extends WoodenButtonBlock implements Patterned { +public class BlockWoodenButton extends WoodenButtonBlock implements BlockPatterned { private final Block parent; @@ -32,7 +33,7 @@ public class BlockWoodenButton extends WoodenButtonBlock implements Patterned { public String getStatesPattern(Reader data) { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); - return Patterned.createJson(data, parentId, blockId.getPath()); + return Patterns.createJson(data, parentId.getPath(), blockId.getPath()); } @Override @@ -40,16 +41,16 @@ public class BlockWoodenButton extends WoodenButtonBlock implements Patterned { Identifier blockId = Registry.BLOCK.getId(this); Identifier parentId = Registry.BLOCK.getId(parent); if (block.contains("item")) { - return Patterned.createJson(Patterned.ITEM_BUTTON, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.ITEM_BUTTON, parentId.getPath(), blockId.getPath()); } if (block.contains("pressed")) { - return Patterned.createJson(Patterned.BLOCK_BUTTON_PRESSED, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_BUTTON_PRESSED, parentId.getPath(), blockId.getPath()); } - return Patterned.createJson(Patterned.BLOCK_BUTTON, parentId, blockId.getPath()); + return Patterns.createJson(Patterns.BLOCK_BUTTON, parentId.getPath(), blockId.getPath()); } @Override public Identifier statePatternId() { - return Patterned.STATE_BUTTON; + return Patterns.STATE_BUTTON; } } diff --git a/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java b/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java index f1b5a81c..ed3c5e2e 100644 --- a/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java +++ b/src/main/java/ru/betterend/mixin/client/ModelLoaderMixin.java @@ -3,6 +3,7 @@ package ru.betterend.mixin.client; import java.io.InputStreamReader; import java.io.Reader; import java.nio.charset.StandardCharsets; +import java.util.Optional; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; @@ -17,13 +18,15 @@ import net.minecraft.block.Block; import net.minecraft.client.render.model.ModelLoader; import net.minecraft.client.render.model.json.JsonUnbakedModel; import net.minecraft.client.render.model.json.ModelVariantMap.DeserializationContext; +import net.minecraft.item.Item; import net.minecraft.resource.Resource; import net.minecraft.resource.ResourceManager; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; + import ru.betterend.BetterEnd; import ru.betterend.interfaces.IdentifiedContext; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.Patterned; @Mixin(ModelLoader.class) public class ModelLoaderMixin { @@ -50,29 +53,46 @@ public class ModelLoaderMixin { } catch (Exception ex) { String data[] = id.getPath().split("/"); if (data.length > 1) { - Identifier blockId = new Identifier(id.getNamespace(), data[1]); - Block block = Registry.BLOCK.get(blockId); - if (block instanceof Patterned) { - String pattern; - if (id.getPath().contains("item")) { - pattern = ((Patterned) block).getModelPattern(id.getPath()); - } else { - if (data.length > 2) { - pattern = ((Patterned) block).getModelPattern(data[2]); - } else { - pattern = ((Patterned) block).getModelPattern(data[1]); - } + Identifier itemId = new Identifier(id.getNamespace(), data[1]); + Optional block = Registry.BLOCK.getOrEmpty(itemId); + if (block.isPresent()) { + if (block.get() instanceof Patterned) { + Patterned patterned = (Patterned) block.get(); + model = this.be_getModel(data, id, patterned); + info.setReturnValue(model); + info.cancel(); + } + } else { + Optional item = Registry.ITEM.getOrEmpty(itemId); + if (item.isPresent() && item.get() instanceof Patterned) { + Patterned patterned = (Patterned) item.get(); + model = this.be_getModel(data, id, patterned); + info.setReturnValue(model); + info.cancel(); } - model = JsonUnbakedModel.deserialize(pattern); - model.id = id.toString(); - info.setReturnValue(model); - info.cancel(); } } } } } + private JsonUnbakedModel be_getModel(String data[], Identifier id, Patterned patterned) { + String pattern; + if (id.getPath().contains("item")) { + pattern = patterned.getModelPattern(id.getPath()); + } else { + if (data.length > 2) { + pattern = patterned.getModelPattern(data[2]); + } else { + pattern = patterned.getModelPattern(data[1]); + } + } + JsonUnbakedModel model = JsonUnbakedModel.deserialize(pattern); + model.id = id.toString(); + + return model; + } + @Inject(method = "loadModel", at = @At( value = "INVOKE", target = "Lnet/minecraft/client/render/model/json/ModelVariantMap$DeserializationContext;setStateFactory(Lnet/minecraft/state/StateManager;)V", diff --git a/src/main/java/ru/betterend/mixin/client/ModelVariantMapMixin.java b/src/main/java/ru/betterend/mixin/client/ModelVariantMapMixin.java index 311345f2..b8315dfd 100644 --- a/src/main/java/ru/betterend/mixin/client/ModelVariantMapMixin.java +++ b/src/main/java/ru/betterend/mixin/client/ModelVariantMapMixin.java @@ -14,7 +14,7 @@ import net.minecraft.client.render.model.json.ModelVariantMap; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import ru.betterend.interfaces.IdentifiedContext; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; @Mixin(ModelVariantMap.class) public abstract class ModelVariantMapMixin { @@ -33,8 +33,8 @@ public abstract class ModelVariantMapMixin { Identifier blockId = new Identifier(id.getNamespace(), data[1]); Block block = Registry.BLOCK.get(blockId); idContext.removeId(); - if (block instanceof Patterned) { - String pattern = ((Patterned) block).getStatesPattern(reader); + if (block instanceof BlockPatterned) { + String pattern = ((BlockPatterned) block).getStatesPattern(reader); info.setReturnValue(deserialize(context, new StringReader(pattern))); info.cancel(); } diff --git a/src/main/java/ru/betterend/mixin/client/NamespaceResourceManagerMixin.java b/src/main/java/ru/betterend/mixin/client/NamespaceResourceManagerMixin.java index bdafb3bd..84805062 100644 --- a/src/main/java/ru/betterend/mixin/client/NamespaceResourceManagerMixin.java +++ b/src/main/java/ru/betterend/mixin/client/NamespaceResourceManagerMixin.java @@ -17,7 +17,7 @@ import net.minecraft.resource.Resource; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import ru.betterend.BetterEnd; -import ru.betterend.interfaces.Patterned; +import ru.betterend.patterns.BlockPatterned; @Mixin(NamespaceResourceManager.class) public abstract class NamespaceResourceManagerMixin { @@ -35,9 +35,9 @@ public abstract class NamespaceResourceManagerMixin { if (data.length > 1) { Identifier blockId = BetterEnd.makeID(data[1].replace(".json", "")); Block block = Registry.BLOCK.get(blockId); - if (block instanceof Patterned) { + if (block instanceof BlockPatterned) { List resources = Lists.newArrayList(); - resources.add(this.getResource(((Patterned) block).statePatternId())); + resources.add(this.getResource(((BlockPatterned) block).statePatternId())); info.setReturnValue(resources); info.cancel(); } diff --git a/src/main/java/ru/betterend/patterns/BlockPatterned.java b/src/main/java/ru/betterend/patterns/BlockPatterned.java new file mode 100644 index 00000000..182b695b --- /dev/null +++ b/src/main/java/ru/betterend/patterns/BlockPatterned.java @@ -0,0 +1,14 @@ +package ru.betterend.patterns; + +import java.io.Reader; + +import net.minecraft.util.Identifier; + +public interface BlockPatterned extends Patterned { + default String getStatesPattern(Reader data) { + return null; + } + default Identifier statePatternId() { + return null; + } +} diff --git a/src/main/java/ru/betterend/patterns/Patterned.java b/src/main/java/ru/betterend/patterns/Patterned.java new file mode 100644 index 00000000..4f55337b --- /dev/null +++ b/src/main/java/ru/betterend/patterns/Patterned.java @@ -0,0 +1,7 @@ +package ru.betterend.patterns; + +public interface Patterned { + default String getModelPattern(String name) { + return null; + } +} \ No newline at end of file diff --git a/src/main/java/ru/betterend/interfaces/Patterned.java b/src/main/java/ru/betterend/patterns/Patterns.java similarity index 92% rename from src/main/java/ru/betterend/interfaces/Patterned.java rename to src/main/java/ru/betterend/patterns/Patterns.java index 855ba1df..e3f036d7 100644 --- a/src/main/java/ru/betterend/interfaces/Patterned.java +++ b/src/main/java/ru/betterend/patterns/Patterns.java @@ -1,147 +1,132 @@ -package ru.betterend.interfaces; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.nio.charset.StandardCharsets; -import java.util.Map; -import java.util.Map.Entry; -import java.util.stream.Collectors; - -import net.minecraft.client.MinecraftClient; -import net.minecraft.resource.ResourceManager; -import net.minecraft.util.Identifier; -import ru.betterend.BetterEnd; - -public interface Patterned { - //Blockstates - public final static Identifier STATE_SIMPLE = BetterEnd.makeID("patterns/blockstate/pattern_block.json"); - public final static Identifier STATE_SLAB = BetterEnd.makeID("patterns/blockstate/pattern_slab.json"); - public final static Identifier STATE_STAIRS = BetterEnd.makeID("patterns/blockstate/pattern_stairs.json"); - public final static Identifier STATE_WALL = BetterEnd.makeID("patterns/blockstate/pattern_wall.json"); - public final static Identifier STATE_FENCE = BetterEnd.makeID("patterns/blockstate/pattern_fence.json"); - public final static Identifier STATE_BUTTON = BetterEnd.makeID("patterns/blockstate/pattern_button.json"); - public final static Identifier STATE_PILLAR = BetterEnd.makeID("patterns/blockstate/pattern_pillar.json"); - public final static Identifier STATE_PLATE = BetterEnd.makeID("patterns/blockstate/pattern_pressure_plate.json"); - public final static Identifier STATE_DOOR = BetterEnd.makeID("patterns/blockstate/pattern_door.json"); - public final static Identifier STATE_SAPLING = BetterEnd.makeID("patterns/blockstate/pattern_sapling.json"); - public final static Identifier STATE_GATE = BetterEnd.makeID("patterns/blockstate/pattern_fence_gate.json"); - public final static Identifier STATE_TRAPDOOR = BetterEnd.makeID("patterns/blockstate/pattern_trapdoor.json"); - public final static Identifier STATE_LADDER = BetterEnd.makeID("patterns/blockstate/pattern_ladder.json"); - public final static Identifier STATE_BARREL = BetterEnd.makeID("patterns/blockstate/pattern_barrel.json"); - public final static Identifier STATE_PEDESTAL = BetterEnd.makeID("patterns/blockstate/pattern_pedestal.json"); - public final static Identifier STATE_STONE_LANTERN = BetterEnd.makeID("patterns/blockstate/stone_lantern.json"); - - //Models Block - public final static Identifier BLOCK_EMPTY = BetterEnd.makeID("patterns/block/pattern_empty.json"); - public final static Identifier BLOCK_BASE = BetterEnd.makeID("patterns/block/pattern_block.json"); - public final static Identifier BLOCK_SIDED = BetterEnd.makeID("patterns/block/pattern_block_sided.json"); - public final static Identifier BLOCK_BOTTOM_TOP = BetterEnd.makeID("patterns/block/pattern_block_bottom_top.json"); - public final static Identifier BLOCK_SLAB = BetterEnd.makeID("patterns/block/pattern_slab.json"); - public final static Identifier BLOCK_STAIR = BetterEnd.makeID("patterns/block/pattern_stairs.json"); - public final static Identifier BLOCK_STAIR_INNER = BetterEnd.makeID("patterns/block/pattern_inner_stairs.json"); - public final static Identifier BLOCK_STAIR_OUTER = BetterEnd.makeID("patterns/block/pattern_outer_stairs.json"); - public final static Identifier BLOCK_WALL_POST = BetterEnd.makeID("patterns/block/pattern_wall_post.json"); - public final static Identifier BLOCK_WALL_SIDE = BetterEnd.makeID("patterns/block/pattern_wall_side.json"); - public final static Identifier BLOCK_WALL_SIDE_TALL = BetterEnd.makeID("patterns/block/pattern_wall_side_tall.json"); - public final static Identifier BLOCK_FENCE_POST = BetterEnd.makeID("patterns/block/pattern_fence_post.json"); - public final static Identifier BLOCK_FENCE_SIDE = BetterEnd.makeID("patterns/block/pattern_fence_side.json"); - public final static Identifier BLOCK_BUTTON = BetterEnd.makeID("patterns/block/pattern_button.json"); - public final static Identifier BLOCK_BUTTON_PRESSED = BetterEnd.makeID("patterns/block/pattern_button_pressed.json"); - public final static Identifier BLOCK_PILLAR = BetterEnd.makeID("patterns/block/pattern_pillar.json"); - public final static Identifier BLOCK_PLATE_UP = BetterEnd.makeID("patterns/block/pattern_pressure_plate_up.json"); - public final static Identifier BLOCK_PLATE_DOWN = BetterEnd.makeID("patterns/block/pattern_pressure_plate_down.json"); - public final static Identifier BLOCK_DOOR_TOP = BetterEnd.makeID("patterns/block/pattern_door_top.json"); - public final static Identifier BLOCK_DOOR_TOP_HINGE = BetterEnd.makeID("patterns/block/pattern_door_top_hinge.json"); - public final static Identifier BLOCK_DOOR_BOTTOM = BetterEnd.makeID("patterns/block/pattern_door_bottom.json"); - public final static Identifier BLOCK_DOOR_BOTTOM_HINGE = BetterEnd.makeID("patterns/block/pattern_door_bottom_hinge.json"); - public final static Identifier BLOCK_SAPLING = BetterEnd.makeID("patterns/block/pattern_sapling.json"); - public final static Identifier BLOCK_GATE_CLOSED = BetterEnd.makeID("patterns/block/pattern_fence_gate_closed.json"); - public final static Identifier BLOCK_GATE_CLOSED_WALL = BetterEnd.makeID("patterns/block/pattern_wall_gate_closed.json"); - public final static Identifier BLOCK_GATE_OPEN = BetterEnd.makeID("patterns/block/pattern_fence_gate_open.json"); - public final static Identifier BLOCK_GATE_OPEN_WALL = BetterEnd.makeID("patterns/block/pattern_wall_gate_open.json"); - public final static Identifier BLOCK_TRAPDOOR = BetterEnd.makeID("patterns/block/pattern_trapdoor.json"); - public final static Identifier BLOCK_LADDER = BetterEnd.makeID("patterns/block/pattern_ladder.json"); - public final static Identifier BLOCK_BARREL_OPEN = BetterEnd.makeID("patterns/block/pattern_barrel_open.json"); - public final static Identifier BLOCK_PEDESTAL_DEFAULT = BetterEnd.makeID("patterns/block/pattern_pedestal_default.json"); - public final static Identifier BLOKC_PEDESTAL_COLUMN = BetterEnd.makeID("patterns/block/pattern_pedestal_column.json"); - public final static Identifier BLOCK_PEDESTAL_COLUMN_TOP = BetterEnd.makeID("patterns/block/pattern_pedestal_column_top.json"); - public final static Identifier BLOCK_PEDESTAL_TOP = BetterEnd.makeID("patterns/block/pattern_pedestal_top.json"); - public final static Identifier BLOCK_PEDESTAL_BOTTOM = BetterEnd.makeID("patterns/block/pattern_pedestal_bottom.json"); - public final static Identifier BLOCK_PEDESTAL_PILLAR = BetterEnd.makeID("patterns/block/pattern_pedestal_pillar.json"); - public final static Identifier BLOCK_BOOKSHELF = BetterEnd.makeID("patterns/block/bookshelf.json"); - public final static Identifier BLOCK_STONE_LANTERN_CEIL = BetterEnd.makeID("patterns/block/stone_lantern_ceil.json"); - public final static Identifier BLOCK_STONE_LANTERN_FLOOR = BetterEnd.makeID("patterns/block/stone_lantern_floor.json"); - - //Models Item - public final static Identifier ITEM_WALL = BetterEnd.makeID("patterns/item/pattern_wall.json"); - public final static Identifier ITEM_FENCE = BetterEnd.makeID("patterns/item/pattern_fence.json"); - public final static Identifier ITEM_BUTTON = BetterEnd.makeID("patterns/item/pattern_button.json"); - public final static Identifier ITEM_CHEST = BetterEnd.makeID("patterns/item/pattern_chest.json"); - public final static Identifier ITEM_BLOCK = BetterEnd.makeID("patterns/item/pattern_block_item.json"); - public final static Identifier ITEM_MODEL = BetterEnd.makeID("patterns/item/pattern_item.json"); - - default String getStatesPattern(Reader data) { - return null; - } - - default String getModelPattern(String name) { - return null; - } - - default Identifier statePatternId() { - return null; - } - - default Identifier modelPatternId() { - return null; - } - - public static String createJson(Reader data, Identifier parent, String name) { - try (BufferedReader buffer = new BufferedReader(data)) { - return buffer.lines().collect(Collectors.joining()) - .replace("%parent%", parent.getPath()) - .replace("%block%", name); - } catch (Exception ex) { - return null; - } - } - - public static String createJson(Identifier patternId, Identifier parent, String block) { - ResourceManager resourceManager = MinecraftClient.getInstance().getResourceManager(); - try (InputStream input = resourceManager.getResource(patternId).getInputStream()) { - return new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)) - .lines().collect(Collectors.joining()) - .replace("%parent%", parent.getPath()) - .replace("%block%", block); - } catch (Exception ex) { - return null; - } - } - - public static String createJson(Identifier patternId, String texture) { - ResourceManager resourceManager = MinecraftClient.getInstance().getResourceManager(); - try (InputStream input = resourceManager.getResource(patternId).getInputStream()) { - return new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)) - .lines().collect(Collectors.joining()) - .replace("%texture%", texture); - } catch (Exception ex) { - return null; - } - } - - public static String createJson(Identifier patternId, Map textures) { - ResourceManager resourceManager = MinecraftClient.getInstance().getResourceManager(); - try (InputStream input = resourceManager.getResource(patternId).getInputStream()) { - String json = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)) - .lines().collect(Collectors.joining()); - for (Entry texture : textures.entrySet()) { - json = json.replace(texture.getKey(), texture.getValue()); - } - return json; - } catch (Exception ex) { - return null; - } - } -} +package ru.betterend.patterns; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.StandardCharsets; +import java.util.Map; +import java.util.Map.Entry; +import java.util.stream.Collectors; + +import net.minecraft.client.MinecraftClient; +import net.minecraft.resource.ResourceManager; +import net.minecraft.util.Identifier; +import ru.betterend.BetterEnd; + +public class Patterns { + + //Blockstates + public final static Identifier STATE_SIMPLE = BetterEnd.makeID("patterns/blockstate/pattern_block.json"); + public final static Identifier STATE_SLAB = BetterEnd.makeID("patterns/blockstate/pattern_slab.json"); + public final static Identifier STATE_STAIRS = BetterEnd.makeID("patterns/blockstate/pattern_stairs.json"); + public final static Identifier STATE_WALL = BetterEnd.makeID("patterns/blockstate/pattern_wall.json"); + public final static Identifier STATE_FENCE = BetterEnd.makeID("patterns/blockstate/pattern_fence.json"); + public final static Identifier STATE_BUTTON = BetterEnd.makeID("patterns/blockstate/pattern_button.json"); + public final static Identifier STATE_PILLAR = BetterEnd.makeID("patterns/blockstate/pattern_pillar.json"); + public final static Identifier STATE_PLATE = BetterEnd.makeID("patterns/blockstate/pattern_pressure_plate.json"); + public final static Identifier STATE_DOOR = BetterEnd.makeID("patterns/blockstate/pattern_door.json"); + public final static Identifier STATE_SAPLING = BetterEnd.makeID("patterns/blockstate/pattern_sapling.json"); + public final static Identifier STATE_GATE = BetterEnd.makeID("patterns/blockstate/pattern_fence_gate.json"); + public final static Identifier STATE_TRAPDOOR = BetterEnd.makeID("patterns/blockstate/pattern_trapdoor.json"); + public final static Identifier STATE_LADDER = BetterEnd.makeID("patterns/blockstate/pattern_ladder.json"); + public final static Identifier STATE_BARREL = BetterEnd.makeID("patterns/blockstate/pattern_barrel.json"); + public final static Identifier STATE_PEDESTAL = BetterEnd.makeID("patterns/blockstate/pattern_pedestal.json"); + public final static Identifier STATE_STONE_LANTERN = BetterEnd.makeID("patterns/blockstate/stone_lantern.json"); + + //Models Block + public final static Identifier BLOCK_EMPTY = BetterEnd.makeID("patterns/block/pattern_empty.json"); + public final static Identifier BLOCK_BASE = BetterEnd.makeID("patterns/block/pattern_block.json"); + public final static Identifier BLOCK_SIDED = BetterEnd.makeID("patterns/block/pattern_block_sided.json"); + public final static Identifier BLOCK_BOTTOM_TOP = BetterEnd.makeID("patterns/block/pattern_block_bottom_top.json"); + public final static Identifier BLOCK_SLAB = BetterEnd.makeID("patterns/block/pattern_slab.json"); + public final static Identifier BLOCK_STAIR = BetterEnd.makeID("patterns/block/pattern_stairs.json"); + public final static Identifier BLOCK_STAIR_INNER = BetterEnd.makeID("patterns/block/pattern_inner_stairs.json"); + public final static Identifier BLOCK_STAIR_OUTER = BetterEnd.makeID("patterns/block/pattern_outer_stairs.json"); + public final static Identifier BLOCK_WALL_POST = BetterEnd.makeID("patterns/block/pattern_wall_post.json"); + public final static Identifier BLOCK_WALL_SIDE = BetterEnd.makeID("patterns/block/pattern_wall_side.json"); + public final static Identifier BLOCK_WALL_SIDE_TALL = BetterEnd.makeID("patterns/block/pattern_wall_side_tall.json"); + public final static Identifier BLOCK_FENCE_POST = BetterEnd.makeID("patterns/block/pattern_fence_post.json"); + public final static Identifier BLOCK_FENCE_SIDE = BetterEnd.makeID("patterns/block/pattern_fence_side.json"); + public final static Identifier BLOCK_BUTTON = BetterEnd.makeID("patterns/block/pattern_button.json"); + public final static Identifier BLOCK_BUTTON_PRESSED = BetterEnd.makeID("patterns/block/pattern_button_pressed.json"); + public final static Identifier BLOCK_PILLAR = BetterEnd.makeID("patterns/block/pattern_pillar.json"); + public final static Identifier BLOCK_PLATE_UP = BetterEnd.makeID("patterns/block/pattern_pressure_plate_up.json"); + public final static Identifier BLOCK_PLATE_DOWN = BetterEnd.makeID("patterns/block/pattern_pressure_plate_down.json"); + public final static Identifier BLOCK_DOOR_TOP = BetterEnd.makeID("patterns/block/pattern_door_top.json"); + public final static Identifier BLOCK_DOOR_TOP_HINGE = BetterEnd.makeID("patterns/block/pattern_door_top_hinge.json"); + public final static Identifier BLOCK_DOOR_BOTTOM = BetterEnd.makeID("patterns/block/pattern_door_bottom.json"); + public final static Identifier BLOCK_DOOR_BOTTOM_HINGE = BetterEnd.makeID("patterns/block/pattern_door_bottom_hinge.json"); + public final static Identifier BLOCK_SAPLING = BetterEnd.makeID("patterns/block/pattern_sapling.json"); + public final static Identifier BLOCK_GATE_CLOSED = BetterEnd.makeID("patterns/block/pattern_fence_gate_closed.json"); + public final static Identifier BLOCK_GATE_CLOSED_WALL = BetterEnd.makeID("patterns/block/pattern_wall_gate_closed.json"); + public final static Identifier BLOCK_GATE_OPEN = BetterEnd.makeID("patterns/block/pattern_fence_gate_open.json"); + public final static Identifier BLOCK_GATE_OPEN_WALL = BetterEnd.makeID("patterns/block/pattern_wall_gate_open.json"); + public final static Identifier BLOCK_TRAPDOOR = BetterEnd.makeID("patterns/block/pattern_trapdoor.json"); + public final static Identifier BLOCK_LADDER = BetterEnd.makeID("patterns/block/pattern_ladder.json"); + public final static Identifier BLOCK_BARREL_OPEN = BetterEnd.makeID("patterns/block/pattern_barrel_open.json"); + public final static Identifier BLOCK_PEDESTAL_DEFAULT = BetterEnd.makeID("patterns/block/pattern_pedestal_default.json"); + public final static Identifier BLOKC_PEDESTAL_COLUMN = BetterEnd.makeID("patterns/block/pattern_pedestal_column.json"); + public final static Identifier BLOCK_PEDESTAL_COLUMN_TOP = BetterEnd.makeID("patterns/block/pattern_pedestal_column_top.json"); + public final static Identifier BLOCK_PEDESTAL_TOP = BetterEnd.makeID("patterns/block/pattern_pedestal_top.json"); + public final static Identifier BLOCK_PEDESTAL_BOTTOM = BetterEnd.makeID("patterns/block/pattern_pedestal_bottom.json"); + public final static Identifier BLOCK_PEDESTAL_PILLAR = BetterEnd.makeID("patterns/block/pattern_pedestal_pillar.json"); + public final static Identifier BLOCK_BOOKSHELF = BetterEnd.makeID("patterns/block/bookshelf.json"); + public final static Identifier BLOCK_STONE_LANTERN_CEIL = BetterEnd.makeID("patterns/block/stone_lantern_ceil.json"); + public final static Identifier BLOCK_STONE_LANTERN_FLOOR = BetterEnd.makeID("patterns/block/stone_lantern_floor.json"); + + //Models Item + public final static Identifier ITEM_WALL = BetterEnd.makeID("patterns/item/pattern_wall.json"); + public final static Identifier ITEM_FENCE = BetterEnd.makeID("patterns/item/pattern_fence.json"); + public final static Identifier ITEM_BUTTON = BetterEnd.makeID("patterns/item/pattern_button.json"); + public final static Identifier ITEM_CHEST = BetterEnd.makeID("patterns/item/pattern_chest.json"); + public final static Identifier ITEM_BLOCK = BetterEnd.makeID("patterns/item/pattern_block_item.json"); + public final static Identifier ITEM_MODEL = BetterEnd.makeID("patterns/item/pattern_item.json"); + + public static String createJson(Reader data, String parent, String block) { + try (BufferedReader buffer = new BufferedReader(data)) { + return buffer.lines().collect(Collectors.joining()) + .replace("%parent%", parent) + .replace("%block%", block); + } catch (Exception ex) { + return null; + } + } + + public static String createJson(Identifier patternId, String parent, String block) { + ResourceManager resourceManager = MinecraftClient.getInstance().getResourceManager(); + try (InputStream input = resourceManager.getResource(patternId).getInputStream()) { + return new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)) + .lines().collect(Collectors.joining()) + .replace("%parent%", parent) + .replace("%block%", block); + } catch (Exception ex) { + return null; + } + } + + public static String createJson(Identifier patternId, String texture) { + ResourceManager resourceManager = MinecraftClient.getInstance().getResourceManager(); + try (InputStream input = resourceManager.getResource(patternId).getInputStream()) { + return new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)) + .lines().collect(Collectors.joining()) + .replace("%texture%", texture); + } catch (Exception ex) { + return null; + } + } + + public static String createJson(Identifier patternId, Map textures) { + ResourceManager resourceManager = MinecraftClient.getInstance().getResourceManager(); + try (InputStream input = resourceManager.getResource(patternId).getInputStream()) { + String json = new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8)) + .lines().collect(Collectors.joining()); + for (Entry texture : textures.entrySet()) { + json = json.replace(texture.getKey(), texture.getValue()); + } + return json; + } catch (Exception ex) { + return null; + } + } +}