From 135fd68c4b9cf326cd03435af4d4c0ec61445440 Mon Sep 17 00:00:00 2001 From: Drullkus Date: Thu, 14 May 2015 14:10:02 -0700 Subject: [PATCH] Curating the Chisel P3: Added variation ordering --- .../com/cricketcraft/chisel/Features.java | 36 +++++++++---------- .../chisel/api/carving/CarvableHelper.java | 32 ++++++++++++----- 2 files changed, 41 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/cricketcraft/chisel/Features.java b/src/main/java/com/cricketcraft/chisel/Features.java index 8e320cee..066f2ee7 100644 --- a/src/main/java/com/cricketcraft/chisel/Features.java +++ b/src/main/java/com/cricketcraft/chisel/Features.java @@ -2181,22 +2181,22 @@ public enum Features { sandstone.carverHelper.registerAll(sandstone, "sandstone"); BlockCarvable sandstone_scribbles = (BlockCarvable) new BlockCarvable(Material.rock).setCreativeTab(ChiselTabs.tabStoneChiselBlocks).setStepSound(Block.soundTypeStone).setHardness(0.8F); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 0, "sandstone-scribbles/scribbles-0"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 1, "sandstone-scribbles/scribbles-1"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 2, "sandstone-scribbles/scribbles-2"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 3, "sandstone-scribbles/scribbles-3"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 4, "sandstone-scribbles/scribbles-4"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 5, "sandstone-scribbles/scribbles-5"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 6, "sandstone-scribbles/scribbles-6"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 7, "sandstone-scribbles/scribbles-7"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 8, "sandstone-scribbles/scribbles-8"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 9, "sandstone-scribbles/scribbles-9"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 10, "sandstone-scribbles/scribbles-10"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 11, "sandstone-scribbles/scribbles-11"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 12, "sandstone-scribbles/scribbles-12"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 13, "sandstone-scribbles/scribbles-13"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 14, "sandstone-scribbles/scribbles-14"); - sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 15, "sandstone-scribbles/scribbles-15"); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 0, "sandstone-scribbles/scribbles-0", 16); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 1, "sandstone-scribbles/scribbles-1", 17); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 2, "sandstone-scribbles/scribbles-2", 18); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 3, "sandstone-scribbles/scribbles-3", 19); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 4, "sandstone-scribbles/scribbles-4", 20); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 5, "sandstone-scribbles/scribbles-5", 21); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 6, "sandstone-scribbles/scribbles-6", 22); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 7, "sandstone-scribbles/scribbles-7", 23); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 8, "sandstone-scribbles/scribbles-8", 24); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 9, "sandstone-scribbles/scribbles-9", 25); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 10, "sandstone-scribbles/scribbles-10", 26); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 11, "sandstone-scribbles/scribbles-11", 27); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 12, "sandstone-scribbles/scribbles-12", 28); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 13, "sandstone-scribbles/scribbles-13", 29); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 14, "sandstone-scribbles/scribbles-14", 30); + sandstone_scribbles.carverHelper.addVariation("tile.sandstoneScribbles.desc", 15, "sandstone-scribbles/scribbles-15", 31); sandstone_scribbles.carverHelper.registerBlock(sandstone_scribbles, "sandstone_scribbles"); sandstone_scribbles.carverHelper.registerVariations("sandstone", sandstone_scribbles); @@ -2261,8 +2261,8 @@ public enum Features { // "Sandstone snake block head"); // LanguageRegistry.addName(new ItemStack(sandSnakestone, 1, // 13), "Sandstone snake block body"); - Carving.chisel.addVariation("sandstone", sand_snakestone, 1, 16); - Carving.chisel.addVariation("sandstone", sand_snakestone, 13, 17); + Carving.chisel.addVariation("sandstone", sand_snakestone, 1, 100); + Carving.chisel.addVariation("sandstone", sand_snakestone, 13, 101); // Carving.chisel.registerOre("sandstone", "sandSnakestone"); } }, diff --git a/src/main/java/com/cricketcraft/chisel/api/carving/CarvableHelper.java b/src/main/java/com/cricketcraft/chisel/api/carving/CarvableHelper.java index 5a6fb3eb..b2c78c40 100644 --- a/src/main/java/com/cricketcraft/chisel/api/carving/CarvableHelper.java +++ b/src/main/java/com/cricketcraft/chisel/api/carving/CarvableHelper.java @@ -60,7 +60,7 @@ public class CarvableHelper { } public void addVariation(String description, int metadata, String texture, ISubmapManager manager) { - addVariation(description, metadata, texture, null, 0, ChiselAPIProps.MOD_ID, manager); + addVariation(description, metadata, texture, null, 0, ChiselAPIProps.MOD_ID, manager, metadata); } public void addVariation(String description, int metadata, Block bb, String modid) { @@ -80,24 +80,33 @@ public class CarvableHelper { } public void addVariation(String description, int metadata, String texture, Block block, int blockMeta, String modid) { - addVariation(description, metadata, texture, block, blockMeta, modid, null); + addVariation(description, metadata, texture, block, blockMeta, modid, null, metadata); } - public void addVariation(String description, int metadata, String texture, Block block, int blockMeta, String modid, ISubmapManager customManager) { + public void addVariation(String description, int metadata, String texture, int order) { + addVariation(description, metadata, texture, null, 0, ChiselAPIProps.MOD_ID, (ISubmapManager) null, order); + } + + public void addVariation(String description, int metadata, String texture, Block block, int blockMeta, String modid, ISubmapManager customManager, int order) { if (infoList.size() >= 16) return; IVariationInfo info = FMLCommonHandler.instance().getSide().isClient() - ? getClientInfo(modid, texture, description, metadata, block, blockMeta, customManager) - : getServerInfo(modid, texture, description, metadata, block, blockMeta, customManager); + ? getClientInfo(modid, texture, description, metadata, block, blockMeta, customManager, order) + : getServerInfo(modid, texture, description, metadata, block, blockMeta, customManager, order); infoList.add(info); infoMap[metadata] = info; } - private IVariationInfo getClientInfo(String modid, String texture, String description, int metadata, Block block, int blockMeta, ISubmapManager customManager) { - ICarvingVariation var = CarvingUtils.getDefaultVariationFor(theBlock, metadata, metadata); + private IVariationInfo getClientInfo(String modid, String texture, String description, int metadata, Block block, int blockMeta, ISubmapManager customManager) + { + return getClientInfo(modid, texture, description, metadata, block, blockMeta, customManager, metadata); + } + + private IVariationInfo getClientInfo(String modid, String texture, String description, int metadata, Block block, int blockMeta, ISubmapManager customManager, int order) { + ICarvingVariation var = CarvingUtils.getDefaultVariationFor(theBlock, metadata, order); TextureType type = TextureType.getTypeFor(this, modid, texture); if (type == TextureType.CUSTOM && customManager == null && block == null) { throw new IllegalArgumentException(String.format("Could not find texture %s, and no custom texture manager was provided.", texture)); @@ -113,9 +122,14 @@ public class CarvableHelper { } return new VariationInfoBase(var, description, manager); } + + private IVariationInfo getServerInfo(String modid, String texture, String description, int metadata, Block block, int blockMeta, ISubmapManager customManager) + { + return getServerInfo(modid, texture, description, metadata, block, blockMeta, customManager, metadata); + } - private IVariationInfo getServerInfo(String modid, String texture, String description, int metadata, Block block, int blockMeta, ISubmapManager customManager) { - ICarvingVariation var = CarvingUtils.getDefaultVariationFor(theBlock, metadata, metadata); + private IVariationInfo getServerInfo(String modid, String texture, String description, int metadata, Block block, int blockMeta, ISubmapManager customManager, int order) { + ICarvingVariation var = CarvingUtils.getDefaultVariationFor(theBlock, metadata, order); return new VariationInfoBase(var, description, null); }