From b110eab3c360b8471053a4159f256a705668a736 Mon Sep 17 00:00:00 2001 From: tterrag1098 Date: Sat, 31 Jan 2015 01:23:27 -0500 Subject: [PATCH 1/4] Clean up @Drullkus' mess --- .../com/cricketcraft/chisel/Features.java | 96 ++++++++++++------- 1 file changed, 59 insertions(+), 37 deletions(-) diff --git a/src/main/java/com/cricketcraft/chisel/Features.java b/src/main/java/com/cricketcraft/chisel/Features.java index 10d02798..9440c5e5 100644 --- a/src/main/java/com/cricketcraft/chisel/Features.java +++ b/src/main/java/com/cricketcraft/chisel/Features.java @@ -109,12 +109,15 @@ public enum Features { @Override void addBlocks() { - BlockCarvable copper = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) + BlockCarvable aluminum = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) .setResistance(10F); - copper.carverHelper.addVariation("tile.aluminum.0.desc", 0, "metals/aluminum/caution"); - copper.carverHelper.addVariation("tile.aluminum.1.desc", 1, "metals/aluminum/crate"); - copper.carverHelper.addVariation("tile.aluminum.2.desc", 2, "metals/aluminum/thermal"); - copper.carverHelper.registerAll(copper, "aluminumblock"); + aluminum.carverHelper.addVariation("tile.aluminum.0.desc", 0, "metals/aluminum/caution"); + aluminum.carverHelper.addVariation("tile.aluminum.1.desc", 1, "metals/aluminum/crate"); + aluminum.carverHelper.addVariation("tile.aluminum.2.desc", 2, "metals/aluminum/thermal"); + aluminum.carverHelper.addVariation("tile.aluminum.3.desc", 3, "metals/aluminum/adv"); + aluminum.carverHelper.addVariation("tile.aluminum.4.desc", 4, "metals/aluminum/egregious"); + aluminum.carverHelper.addVariation("tile.aluminum.5.desc", 5, "metals/aluminum/bolted"); + aluminum.carverHelper.registerAll(aluminum, "aluminumblock"); Carving.chisel.registerOre("aluminumblock", "blockAluminum"); } }, @@ -316,12 +319,15 @@ public enum Features { @Override void addBlocks() { - BlockCarvable copper = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) + BlockCarvable bronze = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) .setResistance(10F); - copper.carverHelper.addVariation("tile.bronze.0.desc", 0, "metals/bronze/caution"); - copper.carverHelper.addVariation("tile.bronze.1.desc", 1, "metals/bronze/crate"); - copper.carverHelper.addVariation("tile.bronze.2.desc", 2, "metals/bronze/thermal"); - copper.carverHelper.registerAll(copper, "bronzeblock"); + bronze.carverHelper.addVariation("tile.bronze.0.desc", 0, "metals/bronze/caution"); + bronze.carverHelper.addVariation("tile.bronze.1.desc", 1, "metals/bronze/crate"); + bronze.carverHelper.addVariation("tile.bronze.2.desc", 2, "metals/bronze/thermal"); + bronze.carverHelper.addVariation("tile.bronze.3.desc", 3, "metals/bronze/adv"); + bronze.carverHelper.addVariation("tile.bronze.4.desc", 4, "metals/bronze/egregious"); + bronze.carverHelper.addVariation("tile.bronze.5.desc", 5, "metals/bronze/bolted"); + bronze.carverHelper.registerAll(bronze, "bronzeblock"); Carving.chisel.registerOre("bronzeblock", "blockBronze"); } }, @@ -561,6 +567,9 @@ public enum Features { copper.carverHelper.addVariation("tile.copper.0.desc", 0, "metals/copper/caution"); copper.carverHelper.addVariation("tile.copper.1.desc", 1, "metals/copper/crate"); copper.carverHelper.addVariation("tile.copper.2.desc", 2, "metals/copper/thermal"); + copper.carverHelper.addVariation("tile.copper.3.desc", 3, "metals/copper/adv"); + copper.carverHelper.addVariation("tile.copper.4.desc", 4, "metals/copper/egregious"); + copper.carverHelper.addVariation("tile.copper.5.desc", 5, "metals/copper/bolted"); copper.carverHelper.registerAll(copper, "copperblock"); Carving.chisel.registerOre("copperblock", "blockCopper"); } @@ -1252,12 +1261,15 @@ public enum Features { @Override void addBlocks() { - BlockCarvable copper = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) + BlockCarvable lead = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) .setResistance(10F); - copper.carverHelper.addVariation("tile.lead.0.desc", 0, "metals/lead/caution"); - copper.carverHelper.addVariation("tile.lead.1.desc", 1, "metals/lead/crate"); - copper.carverHelper.addVariation("tile.lead.2.desc", 2, "metals/lead/thermal"); - copper.carverHelper.registerAll(copper, "leadblock"); + lead.carverHelper.addVariation("tile.lead.0.desc", 0, "metals/lead/caution"); + lead.carverHelper.addVariation("tile.lead.1.desc", 1, "metals/lead/crate"); + lead.carverHelper.addVariation("tile.lead.2.desc", 2, "metals/lead/thermal"); + lead.carverHelper.addVariation("tile.lead.3.desc", 3, "metals/lead/adv"); + lead.carverHelper.addVariation("tile.lead.4.desc", 4, "metals/lead/egregious"); + lead.carverHelper.addVariation("tile.lead.5.desc", 5, "metals/lead/bolted"); + lead.carverHelper.registerAll(lead, "leadblock"); Carving.chisel.registerOre("leadblock", "blockLead"); } }, @@ -2049,12 +2061,15 @@ public enum Features { @Override void addBlocks() { - BlockCarvable copper = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) + BlockCarvable silver = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) .setResistance(10F); - copper.carverHelper.addVariation("tile.silver.0.desc", 0, "metals/silver/caution"); - copper.carverHelper.addVariation("tile.silver.1.desc", 1, "metals/silver/crate"); - copper.carverHelper.addVariation("tile.silver.2.desc", 2, "metals/silver/thermal"); - copper.carverHelper.registerAll(copper, "silverblock"); + silver.carverHelper.addVariation("tile.silver.0.desc", 0, "metals/silver/caution"); + silver.carverHelper.addVariation("tile.silver.1.desc", 1, "metals/silver/crate"); + silver.carverHelper.addVariation("tile.silver.2.desc", 2, "metals/silver/thermal"); + silver.carverHelper.addVariation("tile.silver.3.desc", 3, "metals/silver/adv"); + silver.carverHelper.addVariation("tile.silver.4.desc", 4, "metals/silver/egregious"); + silver.carverHelper.addVariation("tile.silver.5.desc", 5, "metals/silver/bolted"); + silver.carverHelper.registerAll(silver, "silverblock"); Carving.chisel.registerOre("silverblock", "blockSilver"); } }, @@ -2126,12 +2141,15 @@ public enum Features { @Override void addBlocks() { - BlockCarvable copper = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) + BlockCarvable steel = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) .setResistance(10F); - copper.carverHelper.addVariation("tile.steel.0.desc", 0, "metals/steel/caution"); - copper.carverHelper.addVariation("tile.steel.1.desc", 1, "metals/steel/crate"); - copper.carverHelper.addVariation("tile.steel.2.desc", 2, "metals/steel/thermal"); - copper.carverHelper.registerAll(copper, "steelblock"); + steel.carverHelper.addVariation("tile.steel.0.desc", 0, "metals/steel/caution"); + steel.carverHelper.addVariation("tile.steel.1.desc", 1, "metals/steel/crate"); + steel.carverHelper.addVariation("tile.steel.2.desc", 2, "metals/steel/thermal"); + steel.carverHelper.addVariation("tile.steel.3.desc", 3, "metals/steel/adv"); + steel.carverHelper.addVariation("tile.steel.4.desc", 4, "metals/steel/egregious"); + steel.carverHelper.addVariation("tile.steel.5.desc", 5, "metals/steel/bolted"); + steel.carverHelper.registerAll(steel, "steelblock"); Carving.chisel.registerOre("steelblock", "blockSteel"); } }, @@ -2289,12 +2307,15 @@ public enum Features { @Override void addBlocks() { - BlockCarvable copper = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) + BlockCarvable tin = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) .setResistance(10F); - copper.carverHelper.addVariation("tile.tin.0.desc", 0, "metals/tin/caution"); - copper.carverHelper.addVariation("tile.tin.1.desc", 1, "metals/tin/crate"); - copper.carverHelper.addVariation("tile.tin.2.desc", 2, "metals/tin/thermal"); - copper.carverHelper.registerAll(copper, "tinblock"); + tin.carverHelper.addVariation("tile.tin.0.desc", 0, "metals/tin/caution"); + tin.carverHelper.addVariation("tile.tin.1.desc", 1, "metals/tin/crate"); + tin.carverHelper.addVariation("tile.tin.2.desc", 2, "metals/tin/thermal"); + tin.carverHelper.addVariation("tile.tin.3.desc", 3, "metals/tin/adv"); + tin.carverHelper.addVariation("tile.tin.4.desc", 4, "metals/tin/egregious"); + tin.carverHelper.addVariation("tile.tin.5.desc", 5, "metals/tin/bolted"); + tin.carverHelper.registerAll(tin, "tinblock"); Carving.chisel.registerOre("tinblock", "blockTin"); } }, @@ -2417,14 +2438,15 @@ public enum Features { @Override void addBlocks() { - BlockCarvable uraniumblock = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) + BlockCarvable uranium = (BlockCarvable) new BlockBeaconBase(Material.iron).setStepSound(Block.soundTypeMetal).setCreativeTab(ChiselTabs.tabModdedChiselBlocks).setHardness(5F) .setResistance(10F); - uraniumblock.carverHelper.addVariation("tile.uranium.0.desc", 0, "metals/uranium/caution"); - uraniumblock.carverHelper.addVariation("tile.uranium.1.desc", 1, "metals/uranium/crate"); - uraniumblock.carverHelper.addVariation("tile.uranium.2.desc", 2, "metals/uranium/thermal"); - uraniumblock.carverHelper.addVariation("tile.uranium.3.desc", 3, "metals/uranium/adv"); - uraniumblock.carverHelper.addVariation("tile.uranium.4.desc", 4, "metals/uranium/egregious"); - uraniumblock.carverHelper.registerAll(uraniumblock, "uraniumblock"); + uranium.carverHelper.addVariation("tile.uranium.0.desc", 0, "metals/uranium/caution"); + uranium.carverHelper.addVariation("tile.uranium.1.desc", 1, "metals/uranium/crate"); + uranium.carverHelper.addVariation("tile.uranium.2.desc", 2, "metals/uranium/thermal"); + uranium.carverHelper.addVariation("tile.uranium.3.desc", 3, "metals/uranium/adv"); + uranium.carverHelper.addVariation("tile.uranium.4.desc", 4, "metals/uranium/egregious"); + uranium.carverHelper.addVariation("tile.uranium.5.desc", 5, "metals/uranium/bolted"); + uranium.carverHelper.registerAll(uranium, "uraniumblock"); Carving.chisel.registerOre("uraniumblock", "blockUranium"); } }, From 0064ec320dd2cb6a23a9867b8e006895bdc641e0 Mon Sep 17 00:00:00 2001 From: tterrag1098 Date: Sat, 31 Jan 2015 14:38:50 -0500 Subject: [PATCH 2/4] Fix crash with null facade next to columns --- .../cricketcraft/chisel/client/render/RenderBlocksColumn.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/cricketcraft/chisel/client/render/RenderBlocksColumn.java b/src/main/java/com/cricketcraft/chisel/client/render/RenderBlocksColumn.java index ff0c8c6a..629175cf 100644 --- a/src/main/java/com/cricketcraft/chisel/client/render/RenderBlocksColumn.java +++ b/src/main/java/com/cricketcraft/chisel/client/render/RenderBlocksColumn.java @@ -16,7 +16,8 @@ public class RenderBlocksColumn extends RenderBlocks { } boolean connected(IBlockAccess world, int x, int y, int z, Block block, int meta) { - return CTM.getBlockOrFacade(world, x, y, z, -1).equals(block) && CTM.getBlockOrFacadeMetadata(world, x, y, z, -1) == meta; + Block inWorld = CTM.getBlockOrFacade(world, x, y, z, -1); + return inWorld != null && inWorld.equals(block) && CTM.getBlockOrFacadeMetadata(world, x, y, z, -1) == meta; } @Override From 57f58c35daf6175088ed54d4b9b0536a620fed2d Mon Sep 17 00:00:00 2001 From: big_Xplosion Date: Mon, 2 Feb 2015 22:23:38 +0100 Subject: [PATCH 3/4] Allow some blocks to be colored via the forge recolourBlock method --- .../chisel/block/BlockCarvableAntiBlock.java | 2 +- .../chisel/block/BlockCarvableColor.java | 26 +++++++++++++++++++ .../chisel/block/BlockCarvableGlow.java | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/cricketcraft/chisel/block/BlockCarvableColor.java diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableAntiBlock.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableAntiBlock.java index 6dbfbc28..885fa8f0 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableAntiBlock.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableAntiBlock.java @@ -6,7 +6,7 @@ import com.cricketcraft.chisel.Chisel; import com.cricketcraft.chisel.api.ICarvable; import com.cricketcraft.chisel.carving.CarvableHelper; -public class BlockCarvableAntiBlock extends BlockCarvable implements ICarvable { +public class BlockCarvableAntiBlock extends BlockCarvableColor implements ICarvable { public CarvableHelper carverHelper; diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableColor.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableColor.java new file mode 100644 index 00000000..46f93eb7 --- /dev/null +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableColor.java @@ -0,0 +1,26 @@ +package com.cricketcraft.chisel.block; + +import net.minecraft.block.material.Material; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockCarvableColor extends BlockCarvable { + + public BlockCarvableColor() { + this(Material.rock); + } + + public BlockCarvableColor(Material m) { + super(m); + } + + @Override + public boolean recolourBlock(World world, int x, int y, int z, ForgeDirection side, int color) { + int newColor = 15 - color; + if (world.getBlockMetadata(x, y, z) != newColor) { + world.setBlockMetadataWithNotify(x, y, z, newColor, 3); + return true; + } + return false; + } +} diff --git a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlow.java b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlow.java index d6481d95..ebc7c772 100644 --- a/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlow.java +++ b/src/main/java/com/cricketcraft/chisel/block/BlockCarvableGlow.java @@ -9,7 +9,7 @@ import com.cricketcraft.chisel.Chisel; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class BlockCarvableGlow extends BlockCarvable { +public class BlockCarvableGlow extends BlockCarvableColor { @SideOnly(Side.CLIENT) private IIcon glowTexture; From c279200fc7e5f735260a1dd6cd58ccbea1b13fe0 Mon Sep 17 00:00:00 2001 From: Cricket Date: Wed, 4 Feb 2015 20:20:01 -0500 Subject: [PATCH 4/4] Added config option to chisel across colors --- .../com/cricketcraft/chisel/Features.java | 97 ++++++------------- .../chisel/config/Configurations.java | 15 +-- 2 files changed, 37 insertions(+), 75 deletions(-) diff --git a/src/main/java/com/cricketcraft/chisel/Features.java b/src/main/java/com/cricketcraft/chisel/Features.java index 9440c5e5..15adfbf3 100644 --- a/src/main/java/com/cricketcraft/chisel/Features.java +++ b/src/main/java/com/cricketcraft/chisel/Features.java @@ -1,7 +1,25 @@ package com.cricketcraft.chisel; -import java.util.List; - +import com.cricketcraft.chisel.api.carving.ICarvingVariation; +import com.cricketcraft.chisel.block.*; +import com.cricketcraft.chisel.carving.CarvableHelper; +import com.cricketcraft.chisel.carving.CarvableVariation; +import com.cricketcraft.chisel.carving.Carving; +import com.cricketcraft.chisel.carving.CarvingGroup; +import com.cricketcraft.chisel.config.Configurations; +import com.cricketcraft.chisel.entity.EntityBallOMoss; +import com.cricketcraft.chisel.entity.EntityCloudInABottle; +import com.cricketcraft.chisel.entity.EntitySmashingRock; +import com.cricketcraft.chisel.init.ChiselBlocks; +import com.cricketcraft.chisel.init.ChiselItems; +import com.cricketcraft.chisel.init.ChiselTabs; +import com.cricketcraft.chisel.item.*; +import com.cricketcraft.chisel.item.chisel.ItemChisel; +import com.cricketcraft.chisel.item.chisel.ItemChisel.ChiselType; +import com.google.common.collect.Lists; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.registry.EntityRegistry; +import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -14,72 +32,10 @@ import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; -import com.cricketcraft.chisel.api.carving.ICarvingVariation; -import com.cricketcraft.chisel.block.BlockAutoChisel; -import com.cricketcraft.chisel.block.BlockBeaconBase; -import com.cricketcraft.chisel.block.BlockCarvable; -import com.cricketcraft.chisel.block.BlockCarvableAntiBlock; -import com.cricketcraft.chisel.block.BlockCarvableBookshelf; -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.BlockCarvableIcePillar; -import com.cricketcraft.chisel.block.BlockCarvableIceStairs; -import com.cricketcraft.chisel.block.BlockCarvableLayered; -import com.cricketcraft.chisel.block.BlockCarvablePackedIce; -import com.cricketcraft.chisel.block.BlockCarvablePackedIcePillar; -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.BlockCarvableSlab; -import com.cricketcraft.chisel.block.BlockCarvableStairs; -import com.cricketcraft.chisel.block.BlockCarvableTorch; -import com.cricketcraft.chisel.block.BlockCloud; -import com.cricketcraft.chisel.block.BlockConcrete; -import com.cricketcraft.chisel.block.BlockEldritch; -import com.cricketcraft.chisel.block.BlockGrimstone; -import com.cricketcraft.chisel.block.BlockHolystone; -import com.cricketcraft.chisel.block.BlockLavastone; -import com.cricketcraft.chisel.block.BlockLeaf; -import com.cricketcraft.chisel.block.BlockMarbleCarpet; -import com.cricketcraft.chisel.block.BlockMarbleTexturedOre; -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.BlockWaterstone; -import com.cricketcraft.chisel.block.CarvableStairsMaker; -import com.cricketcraft.chisel.block.IStairsCreator; -import com.cricketcraft.chisel.carving.CarvableHelper; -import com.cricketcraft.chisel.carving.CarvableVariation; -import com.cricketcraft.chisel.carving.Carving; -import com.cricketcraft.chisel.carving.CarvingGroup; -import com.cricketcraft.chisel.config.Configurations; -import com.cricketcraft.chisel.entity.EntityBallOMoss; -import com.cricketcraft.chisel.entity.EntityCloudInABottle; -import com.cricketcraft.chisel.entity.EntitySmashingRock; -import com.cricketcraft.chisel.init.ChiselBlocks; -import com.cricketcraft.chisel.init.ChiselItems; -import com.cricketcraft.chisel.init.ChiselTabs; -import com.cricketcraft.chisel.item.ItemBallOMoss; -import com.cricketcraft.chisel.item.ItemBlockPresent; -import com.cricketcraft.chisel.item.ItemCarvable; -import com.cricketcraft.chisel.item.ItemCarvableSlab; -import com.cricketcraft.chisel.item.ItemCloudInABottle; -import com.cricketcraft.chisel.item.ItemSmashingRock; -import com.cricketcraft.chisel.item.ItemUpgrade; -import com.cricketcraft.chisel.item.chisel.ItemChisel; -import com.cricketcraft.chisel.item.chisel.ItemChisel.ChiselType; -import com.google.common.collect.Lists; +import java.util.List; -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.*; +import static com.cricketcraft.chisel.utils.General.sGNames; public enum Features { @@ -154,7 +110,8 @@ public enum Features { void addBlocks() { BlockCarvable antiBlock = (BlockCarvable) new BlockCarvableAntiBlock().setCreativeTab(ChiselTabs.tabOtherChiselBlocks); antiBlock.carverHelper.setChiselBlockName("Anti Block"); - antiBlock.carverHelper.forbidChiseling = true; + if (!Configurations.allowChiselCrossColors) + antiBlock.carverHelper.forbidChiseling = true; for (int i = 0; i < 16; i++) { antiBlock.carverHelper.addVariation("tile.antiBlock." + ItemDye.field_150921_b[i] + ".desc", i, "antiblock/" + ItemDye.field_150921_b[i] + "-antiBlock"); @@ -355,7 +312,8 @@ public enum Features { carpet_block.carverHelper.addVariation("tile.carpet_block.13.desc", 13, "carpet/green"); carpet_block.carverHelper.addVariation("tile.carpet_block.14.desc", 14, "carpet/red"); carpet_block.carverHelper.addVariation("tile.carpet_block.15.desc", 15, "carpet/black"); - carpet_block.carverHelper.forbidChiseling = true; + if (!Configurations.allowChiselCrossColors) + carpet_block.carverHelper.forbidChiseling = true; carpet_block.carverHelper.registerAll(carpet_block, "carpet_block"); OreDictionary.registerOre("blockCarpet", carpet_block); } @@ -394,7 +352,8 @@ public enum Features { carpet.carverHelper.addVariation("tile.carpet.13.desc", 13, "carpet/green"); carpet.carverHelper.addVariation("tile.carpet.14.desc", 14, "carpet/red"); carpet.carverHelper.addVariation("tile.carpet.15.desc", 15, "carpet/black"); - carpet.carverHelper.forbidChiseling = true; + if (!Configurations.allowChiselCrossColors) + carpet.carverHelper.forbidChiseling = true; carpet.carverHelper.registerAll(carpet, "carpet"); // for (int i = 0; i < 16; i++) { diff --git a/src/main/java/com/cricketcraft/chisel/config/Configurations.java b/src/main/java/com/cricketcraft/chisel/config/Configurations.java index 266f9917..2cec134d 100644 --- a/src/main/java/com/cricketcraft/chisel/config/Configurations.java +++ b/src/main/java/com/cricketcraft/chisel/config/Configurations.java @@ -1,12 +1,10 @@ package com.cricketcraft.chisel.config; -import java.util.Locale; - +import com.cricketcraft.chisel.Features; import net.minecraftforge.common.config.Configuration; - import org.apache.commons.lang3.StringUtils; -import com.cricketcraft.chisel.Features; +import java.util.Locale; public class Configurations { @@ -43,6 +41,7 @@ public class Configurations { public static boolean ironChiselHasModes; public static int ironChiselAttackDamage; public static int diamondChiselAttackDamage; + public static boolean allowChiselCrossColors; public static boolean useRoadLineTool; public static String getRoadLineTool; @@ -63,7 +62,9 @@ public class Configurations { chiselRecipe = config.get(category, "chiselAlternateRecipe", false, "Use alternative crafting recipe for the chisel").getBoolean(false); enableFMP = config.get(category, "enableFMP", true, "Do you want to enable FMP").getBoolean(true); chiselStoneToCobbleBricks = config.get(category, "chiselStoneToCobbleBricks", true, "Chisel stone to cobblestone and bricks by left clicking.").getBoolean(false); - chiselBackToVanillaLeaves = config.get(category, "chiselBackToVanillaLeaves", false, "If this is true, you can chisel from the chisel leaves back to vanilla ones. If it is false, you cannot.").getBoolean(false); + chiselBackToVanillaLeaves = config.get(category, "chiselBackToVanillaLeaves", false, "If this is true, you can chisel from the chisel leaves back to vanilla ones. If it is false, you cannot.") + .getBoolean( + false); /* worldgen */ category = "worldgen"; @@ -90,7 +91,9 @@ public class Configurations { ironChiselCanLeftClick = config.get(category, "ironChiselCanLeftClick", true, "If this is true, the iron chisel can left click chisel blocks. If false, it cannot.").getBoolean(); ironChiselHasModes = config.get(category, "ironChiselHasModes", false, "If this is true, the iron chisel can change its chisel mode just as the diamond chisel can.").getBoolean(); ironChiselAttackDamage = config.get(category, "ironChiselAttackDamage", 2, "The extra attack damage points (in half hearts) that the iron chisel inflicts when it is used to attack an entity.").getInt(); - diamondChiselAttackDamage = config.get(category, "diamondChiselAttackDamage", 2, "The extra attack damage points (in half hearts) that the diamond chisel inflicts when it is used to attack an entity.").getInt(); + diamondChiselAttackDamage = config.get(category, "diamondChiselAttackDamage", 2, + "The extra attack damage points (in half hearts) that the diamond chisel inflicts when it is used to attack an entity.").getInt(); + allowChiselCrossColors = config.get(category, "allowChiselCrossColors", true, "Should someone be able to chisel something into a different color.").getBoolean(); /* block */ category = "block";