From 12f53e97aaec10dceb74c1ea63c0471cf30b5d6c Mon Sep 17 00:00:00 2001 From: warlordjones Date: Mon, 12 Jan 2015 18:40:00 +0000 Subject: [PATCH] Convert Voidstone Pillar to the CTM Pillar type --- .../chisel/block/BlockVoidstonePillar.java | 44 -------------- .../chisel/block/BlockVoidstonePillar2.java | 44 -------------- .../render/BlockMarblePillarRenderer.java | 10 ++-- .../chisel/init/ChiselBlocks.java | 16 ++--- .../cricketcraft/chisel/init/Features.java | 56 ++++++++++-------- .../pillar-ctmv.png} | Bin 3372 -> 4580 bytes .../textures/blocks/voidstone/pillar-ctmv.png | Bin 0 -> 4580 bytes .../textures/blocks/voidstone/pillar-top.png | Bin 3505 -> 3359 bytes 8 files changed, 43 insertions(+), 127 deletions(-) delete mode 100644 src/main/java/com/cricketcraft/chisel/block/BlockVoidstonePillar.java delete mode 100644 src/main/java/com/cricketcraft/chisel/block/BlockVoidstonePillar2.java rename src/main/resources/assets/chisel/textures/blocks/voidstone/{pillar-side.png => animated/pillar-ctmv.png} (56%) create mode 100644 src/main/resources/assets/chisel/textures/blocks/voidstone/pillar-ctmv.png diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockVoidstonePillar.java b/src/main/java/com/cricketcraft/chisel/block/BlockVoidstonePillar.java deleted file mode 100644 index 4eaecf77..00000000 --- a/src/main/java/com/cricketcraft/chisel/block/BlockVoidstonePillar.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.cricketcraft.chisel.block; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; - -import com.cricketcraft.chisel.Chisel; -import com.cricketcraft.chisel.api.ICarvable; -import com.cricketcraft.chisel.carving.CarvableHelper; -import com.cricketcraft.chisel.carving.CarvableVariation; - -public class BlockVoidstonePillar extends Block implements ICarvable { - - public static IIcon topBottom, pillarSide; - public CarvableHelper carvableHelper; - - public BlockVoidstonePillar() { - super(Material.rock); - carvableHelper = new CarvableHelper(); - setHardness(5.0F); - setResistance(10.0F); - } - - @Override - public IIcon getIcon(int side, int meta) { - if (side == 0 || side == 1) { - return topBottom; - } else { - return pillarSide; - } - } - - @Override - public void registerBlockIcons(IIconRegister icon) { - topBottom = icon.registerIcon(Chisel.MOD_ID + ":voidstone/pillar-top"); - pillarSide = icon.registerIcon(Chisel.MOD_ID + ":voidstone/pillar-side"); - } - - @Override - public CarvableVariation getVariation(int metadata) { - return carvableHelper.getVariation(metadata); - } -} diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockVoidstonePillar2.java b/src/main/java/com/cricketcraft/chisel/block/BlockVoidstonePillar2.java deleted file mode 100644 index 9be52f21..00000000 --- a/src/main/java/com/cricketcraft/chisel/block/BlockVoidstonePillar2.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.cricketcraft.chisel.block; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; - -import com.cricketcraft.chisel.Chisel; -import com.cricketcraft.chisel.api.ICarvable; -import com.cricketcraft.chisel.carving.CarvableHelper; -import com.cricketcraft.chisel.carving.CarvableVariation; - -public class BlockVoidstonePillar2 extends Block implements ICarvable { - - public static IIcon topBottom, pillarSide; - public CarvableHelper carvableHelper; - - public BlockVoidstonePillar2() { - super(Material.rock); - carvableHelper = new CarvableHelper(); - setHardness(5.0F); - setResistance(10.0F); - } - - @Override - public IIcon getIcon(int side, int meta) { - if (side == 0 || side == 1) { - return topBottom; - } else { - return pillarSide; - } - } - - @Override - public void registerBlockIcons(IIconRegister icon) { - topBottom = icon.registerIcon(Chisel.MOD_ID + ":voidstone/animated/pillar-top"); - pillarSide = icon.registerIcon(Chisel.MOD_ID + ":voidstone/pillar-side"); - } - - @Override - public CarvableVariation getVariation(int metadata) { - return carvableHelper.getVariation(metadata); - } -} diff --git a/src/main/java/com/cricketcraft/chisel/client/render/BlockMarblePillarRenderer.java b/src/main/java/com/cricketcraft/chisel/client/render/BlockMarblePillarRenderer.java index d0ea436a..ac2ca31a 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/BlockMarblePillarRenderer.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/BlockMarblePillarRenderer.java @@ -6,7 +6,7 @@ import net.minecraft.world.IBlockAccess; import org.lwjgl.opengl.GL11; -import com.cricketcraft.chisel.block.BlockMarblePillar; +import com.cricketcraft.chisel.block.BlockCarvablePillar; import com.cricketcraft.chisel.carving.CarvableHelper; import com.cricketcraft.chisel.utils.Drawing; @@ -23,10 +23,10 @@ public class BlockMarblePillarRenderer implements ISimpleBlockRenderingHandler { @Override public void renderInventoryBlock(Block blck, int metadata, int modelID, RenderBlocks renderer) { - if (!(blck instanceof BlockMarblePillar)) + if (!(blck instanceof BlockCarvablePillar)) return; - BlockMarblePillar block = (BlockMarblePillar) blck; + BlockCarvablePillar block = (BlockCarvablePillar) blck; block.sides[0] = block.sides[1] = block.getCtmIcon(4, metadata); block.sides[2] = block.sides[3] = block.sides[4] = block.sides[5] = block.getCtmIcon(0, metadata); @@ -41,10 +41,10 @@ public class BlockMarblePillarRenderer implements ISimpleBlockRenderingHandler { @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block blck, int modelId, RenderBlocks renderer) { - if (!(blck instanceof BlockMarblePillar)) + if (!(blck instanceof BlockCarvablePillar)) return false; - BlockMarblePillar block = (BlockMarblePillar) blck; + BlockCarvablePillar block = (BlockCarvablePillar) blck; int metadata = world.getBlockMetadata(x, y, z); diff --git a/src/main/java/com/cricketcraft/chisel/init/ChiselBlocks.java b/src/main/java/com/cricketcraft/chisel/init/ChiselBlocks.java index d50ea6b8..915f522a 100644 --- a/src/main/java/com/cricketcraft/chisel/init/ChiselBlocks.java +++ b/src/main/java/com/cricketcraft/chisel/init/ChiselBlocks.java @@ -37,12 +37,12 @@ public final class ChiselBlocks { public static final BlockCarvableStairs marbleStairs = null; public static final BlockCarvableStairs limestoneStairs = null; public static final BlockCarvablePane iron_bars = null; - public static final BlockMarbleIce ice = null; - public static final BlockMarbleIce ice_pillar = null; - public static final BlockMarblePackedIce packedice = null; - public static final BlockMarblePackedIce packedice_pillar = null; - public static final BlockMarbleIceStairs iceStairs = null; - public static final BlockMarblePackedIceStairs packediceStairs = null; + public static final BlockCarvableIce ice = null; + public static final BlockCarvableIce ice_pillar = null; + public static final BlockCarvablePackedIce packedice = null; + public static final BlockCarvablePackedIce packedice_pillar = null; + public static final BlockCarvableIceStairs iceStairs = null; + public static final BlockCarvablePackedIceStairs packediceStairs = null; public static final BlockCarvable obsidian = null; public static final BlockCarvablePowered redstone_block = null; public static final BlockHolystone holystone = null; @@ -67,8 +67,8 @@ public final class ChiselBlocks { public static final BlockCarvable voidstone = null; public static final BlockMarbleTexturedOre voidstone2 = null; - public static final BlockVoidstonePillar voidstonePillar = null; - public static final BlockVoidstonePillar2 voidstonePillar2 = null; + public static final BlockCarvablePillar voidstonePillar = null; + public static final BlockCarvablePillar voidstonePillar2 = null; public static final BlockSnakestone stone_snakestone = null; public static final BlockSnakestone sand_snakestone = null; public static final BlockSnakestoneObsidian obsidian_snakestone = null; diff --git a/src/main/java/com/cricketcraft/chisel/init/Features.java b/src/main/java/com/cricketcraft/chisel/init/Features.java index a341c0db..c207e167 100644 --- a/src/main/java/com/cricketcraft/chisel/init/Features.java +++ b/src/main/java/com/cricketcraft/chisel/init/Features.java @@ -1,5 +1,14 @@ package com.cricketcraft.chisel.init; +import static com.cricketcraft.chisel.init.ChiselBlocks.carpet_block; +import static com.cricketcraft.chisel.init.ChiselBlocks.jackolantern; +import static com.cricketcraft.chisel.init.ChiselBlocks.planks; +import static com.cricketcraft.chisel.init.ChiselBlocks.present; +import static com.cricketcraft.chisel.init.ChiselBlocks.pumpkin; +import static com.cricketcraft.chisel.init.ChiselBlocks.stainedGlass; +import static com.cricketcraft.chisel.init.ChiselBlocks.stainedGlassPane; +import static com.cricketcraft.chisel.init.ChiselBlocks.torch; +import static com.cricketcraft.chisel.utils.General.sGNames; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -21,8 +30,13 @@ import com.cricketcraft.chisel.block.BlockCarvableAntiBlock; import com.cricketcraft.chisel.block.BlockCarvableGlass; import com.cricketcraft.chisel.block.BlockCarvableGlow; import com.cricketcraft.chisel.block.BlockCarvableGlowstone; +import com.cricketcraft.chisel.block.BlockCarvableIce; +import com.cricketcraft.chisel.block.BlockCarvableIceStairs; import com.cricketcraft.chisel.block.BlockCarvableLayered; +import com.cricketcraft.chisel.block.BlockCarvablePackedIce; +import com.cricketcraft.chisel.block.BlockCarvablePackedIceStairs; import com.cricketcraft.chisel.block.BlockCarvablePane; +import com.cricketcraft.chisel.block.BlockCarvablePillar; import com.cricketcraft.chisel.block.BlockCarvablePowered; import com.cricketcraft.chisel.block.BlockCarvablePumpkin; import com.cricketcraft.chisel.block.BlockCarvableSand; @@ -38,11 +52,6 @@ import com.cricketcraft.chisel.block.BlockLavastone; import com.cricketcraft.chisel.block.BlockLeaf; import com.cricketcraft.chisel.block.BlockMarbleBookshelf; import com.cricketcraft.chisel.block.BlockMarbleCarpet; -import com.cricketcraft.chisel.block.BlockMarbleIce; -import com.cricketcraft.chisel.block.BlockMarbleIceStairs; -import com.cricketcraft.chisel.block.BlockMarblePackedIce; -import com.cricketcraft.chisel.block.BlockMarblePackedIceStairs; -import com.cricketcraft.chisel.block.BlockMarblePillar; import com.cricketcraft.chisel.block.BlockMarbleStairsMaker; import com.cricketcraft.chisel.block.BlockMarbleStairsMakerCreator; import com.cricketcraft.chisel.block.BlockMarbleTexturedOre; @@ -50,8 +59,6 @@ import com.cricketcraft.chisel.block.BlockPresent; import com.cricketcraft.chisel.block.BlockRoadLine; import com.cricketcraft.chisel.block.BlockSnakestone; import com.cricketcraft.chisel.block.BlockSnakestoneObsidian; -import com.cricketcraft.chisel.block.BlockVoidstonePillar; -import com.cricketcraft.chisel.block.BlockVoidstonePillar2; import com.cricketcraft.chisel.block.BlockWaterstone; import com.cricketcraft.chisel.carving.CarvableHelper; import com.cricketcraft.chisel.carving.CarvableVariation; @@ -73,9 +80,6 @@ import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; -import static com.cricketcraft.chisel.init.ChiselBlocks.*; -import static com.cricketcraft.chisel.utils.General.*; - public enum Features { AE_CERTUS_QUARTZ("appliedenergistics2") { @@ -992,7 +996,7 @@ public enum Features { @Override void addBlocks() { - BlockMarbleIce ice = (BlockMarbleIce) new BlockMarbleIce().setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.5F).setLightOpacity(3).setStepSound(Block.soundTypeGlass); + BlockCarvableIce ice = (BlockCarvableIce) new BlockCarvableIce().setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.5F).setLightOpacity(3).setStepSound(Block.soundTypeGlass); Carving.chisel.addVariation("ice", Blocks.ice, 0, 0); ice.carverHelper.addVariation(StatCollector.translateToLocal("tile.ice.1.desc"), 1, "ice/a1-ice-light"); ice.carverHelper.addVariation(StatCollector.translateToLocal("tile.ice.2.desc"), 2, "ice/a1-stonecobble-icecobble"); @@ -1023,7 +1027,7 @@ public enum Features { @Override void addBlocks() { - BlockMarbleIce ice_pillar = (BlockMarbleIce) new BlockMarbleIce().setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.5F).setLightOpacity(3).setStepSound(Block.soundTypeGlass); + BlockCarvableIce ice_pillar = (BlockCarvableIce) new BlockCarvableIce().setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.5F).setLightOpacity(3).setStepSound(Block.soundTypeGlass); ice_pillar.carverHelper.setChiselBlockName("Ice Pillar"); ice_pillar.carverHelper.addVariation(StatCollector.translateToLocal("tile.icePillar.0.desc"), 0, "icepillar/column"); ice_pillar.carverHelper.addVariation(StatCollector.translateToLocal("tile.icePillar.1.desc"), 1, "icepillar/capstone"); @@ -1077,7 +1081,7 @@ public enum Features { @Override public BlockCarvableStairs create(Block block, int meta, CarvableHelper helper) { - return new BlockMarbleIceStairs(block, meta, helper); + return new BlockCarvableIceStairs(block, meta, helper); } }, "ice_stairs"); Carving.chisel.registerOre("iceStairs", "iceStairs"); @@ -1439,7 +1443,7 @@ public enum Features { marble_pillar.carverHelper.addVariation(StatCollector.translateToLocal("tile.marblePillarOld.14.desc"), 14, "marblepillarold/a1-stonepillar-greekbottomgreek"); marble_pillar.carverHelper.addVariation(StatCollector.translateToLocal("tile.marblePillarOld.15.desc"), 15, "marblepillarold/a1-stonepillar-plainbottomgreek"); } else { - marble_pillar = (BlockCarvable) new BlockMarblePillar(Material.rock).setCreativeTab(ChiselTabs.tabStoneChiselBlocks).setHardness(2.0F).setResistance(10F) + marble_pillar = (BlockCarvable) new BlockCarvablePillar(Material.rock).setCreativeTab(ChiselTabs.tabStoneChiselBlocks).setHardness(2.0F).setResistance(10F) .setStepSound(Block.soundTypeStone); marble_pillar.carverHelper.setChiselBlockName("Marble Pillar"); marble_pillar.carverHelper.addVariation(StatCollector.translateToLocal("tile.marblePillar.0.desc"), 0, "marblepillar/pillar"); @@ -1595,7 +1599,7 @@ public enum Features { @Override void addBlocks() { - BlockMarblePackedIce packedice = (BlockMarblePackedIce) new BlockMarblePackedIce().setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.5F).setLightOpacity(3) + BlockCarvablePackedIce packedice = (BlockCarvablePackedIce) new BlockCarvablePackedIce().setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.5F).setLightOpacity(3) .setStepSound(Block.soundTypeGlass); Carving.chisel.addVariation("packedice", Blocks.packed_ice, 0, 0); packedice.carverHelper.addVariation(StatCollector.translateToLocal("tile.packedice.1.desc"), 1, "packedice/a1-ice-light"); @@ -1622,7 +1626,7 @@ public enum Features { @Override void addBlocks() { - BlockMarblePackedIce packedice_pillar = (BlockMarblePackedIce) new BlockMarblePackedIce().setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.5F).setLightOpacity(3) + BlockCarvablePackedIce packedice_pillar = (BlockCarvablePackedIce) new BlockCarvablePackedIce().setCreativeTab(ChiselTabs.tabOtherChiselBlocks).setHardness(0.5F).setLightOpacity(3) .setStepSound(Block.soundTypeGlass); packedice_pillar.carverHelper.setChiselBlockName("Packed Ice Pillar"); packedice_pillar.carverHelper.addVariation(StatCollector.translateToLocal("tile.packedicePillar.0.desc"), 0, "packedicepillar/column"); @@ -1672,7 +1676,7 @@ public enum Features { @Override public BlockCarvableStairs create(Block block, int meta, CarvableHelper helper) { - return new BlockMarblePackedIceStairs(block, meta, helper); + return new BlockCarvablePackedIceStairs(block, meta, helper); } }, "packedice_stairs"); Carving.chisel.registerOre("packedIceStairs", "packedIceStairs"); @@ -2174,12 +2178,12 @@ public enum Features { Carving.chisel.registerOre("mossy_templeblock", "mossy_templeblock"); }; }, - + /** * Dummy feature for all TF subsets */ TWILGHT_FOREST("TwilightForest"), - + TF_MAZESTONE(TWILGHT_FOREST.getRequiredMod(), TWILGHT_FOREST) { @Override @@ -2329,18 +2333,18 @@ public enum Features { } }, - VOIDSTONE_PILLARS { + VOIDSTONE_PILLARS(VOIDSTONE) { @Override void addBlocks() { - BlockVoidstonePillar voidstonePillar = (BlockVoidstonePillar) new BlockVoidstonePillar().setCreativeTab(ChiselTabs.tabStoneChiselBlocks).setStepSound(Block.soundTypeStone); - voidstonePillar.carvableHelper.addVariation(StatCollector.translateToLocal("tile.voidstonePillar.0.desc"), 0, "voidstone/pillar-side"); - voidstonePillar.carvableHelper.register(voidstonePillar, "voidstonePillar"); + BlockCarvablePillar voidstonePillar = (BlockCarvablePillar) new BlockCarvablePillar(Material.rock).setCreativeTab(ChiselTabs.tabStoneChiselBlocks).setStepSound(Block.soundTypeStone); + voidstonePillar.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstonePillar.0.desc"), 0, "voidstone/pillar"); + voidstonePillar.carverHelper.register(voidstonePillar, "voidstonePillar"); Carving.chisel.registerOre("voidstonePillar", "voidstonePillar"); - BlockVoidstonePillar2 voidstonePillar2 = (BlockVoidstonePillar2) new BlockVoidstonePillar2().setStepSound(Block.soundTypeStone); - voidstonePillar2.carvableHelper.addVariation(StatCollector.translateToLocal("tile.voidstonePillar2.0.desc"), 0, "voidstone/pillar-side"); - voidstonePillar2.carvableHelper.register(voidstonePillar2, "voidstonePillar2"); + BlockCarvablePillar voidstonePillar2 = (BlockCarvablePillar) new BlockCarvablePillar(Material.rock).setStepSound(Block.soundTypeStone); + voidstonePillar2.carverHelper.addVariation(StatCollector.translateToLocal("tile.voidstonePillar2.0.desc"), 0, "voidstone/animated/pillar"); + voidstonePillar2.carverHelper.register(voidstonePillar2, "voidstonePillar2"); Carving.chisel.registerOre("voidstonePillar2", "voidstonePillar2"); } diff --git a/src/main/resources/assets/chisel/textures/blocks/voidstone/pillar-side.png b/src/main/resources/assets/chisel/textures/blocks/voidstone/animated/pillar-ctmv.png similarity index 56% rename from src/main/resources/assets/chisel/textures/blocks/voidstone/pillar-side.png rename to src/main/resources/assets/chisel/textures/blocks/voidstone/animated/pillar-ctmv.png index 980fca409791b93ab19b05f457cc745f7e7e4617..d14e9131aef8fb91fbf635f4046b55949e3d671d 100644 GIT binary patch delta 1910 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 LNkvXXu0mjf6^LGD delta 876 zcmV-y1C#up8nGLY83+ad001BJ|6#EqJ_>&ca7bBm000XU000XU0RWnu7ytkO2XskI zMF-vs0TVk4>5H0#0000cX;fHrLvL+uWo~o;00000Lvm$dbY)~9cWHEJAV*0}P#|w^ zAYmX)VPlo#Ut0hG0^>0QB>@WvbOeGDJK=kP|Mh@ytH+BU@0lB6<|%rP_ju=ZNZ?^C_$xWB9u7AVaO>k|6H5q22p0JtiGHuStOo!Y3`wW-I zBqqnI1W|^~?iTC*Dn59w6x;OUH9~*z9L=7fK7R9IG|KYq_zuOLZf$IH;t!CpiIWo72CNd6vjtfYR&<{i z=TFh?fKHlWQj_6bK*b??b-{DDhl>@KmU+EIE5Qdvn`%<&()x-fULb0XQ8|A^e2io! zM?%Am_xd!hWL{6G-32;$8sG4!_XRdq)UKiQ70WQg=mdpAmka;hyqq(31M;SewVKmr zNEo}!N7o*(+A9#6OU$Y<0gr1P>u!@GWF*lLqVRR^Aq5=_ z8WG6pAP9|~(h`tC+#^cM4fTHx*Uc@K`W#6Fjb%+%`S8(QG#L^#9d#K=5)!4!Y{9G= zAw9cJ>E`@x4>?>uV-lu(nted7x>z#4{o#8Gxq{Ohv}!?HJ9JDiI>9K5Y;WxFR{th0 zc+O;s)Cqg_E36cJe)m4Q5%3pe)r=*cR0Rrcd3^9A$D@BS03r&jQWSqeWfW~&(kjQ# zfBa6@tl(py$Tz6nk_}U^?|&o43AxP?tu!G-%IFwejF`GHA+}gmkdn|-1sMq)scG$k z|Kckgo}OJJM2}ITxwCbTqv;DyCoee~?Gp(kq~v5cA_+O3IW|w3l`}*Mjjz$#ptd@1 zN9SvdSWuDox9`z<$Ie*#y9^g6{QB}Ij7ll}oJio4-7lHf6BLT7T_U)gHnudOruHS% z@(iO5`>%h&2aj`}g`41`qm2!ta)5|1t;ZDUCH@CBkaq#FF0VcS0000