diff --git a/mods/tinker/common/ToolMod.java b/mods/tinker/common/ToolMod.java
index 01e77b4..a448c81 100644
--- a/mods/tinker/common/ToolMod.java
+++ b/mods/tinker/common/ToolMod.java
@@ -1,10 +1,12 @@
package mods.tinker.common;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
+import mods.tinker.tconstruct.library.ToolCore;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -157,4 +159,9 @@ public abstract class ToolMod
}
}
}
+
+ public boolean validType(ToolCore tool)
+ {
+ return true;
+ }
}
diff --git a/mods/tinker/resources/manuals/smeltery.xml b/mods/tinker/resources/manuals/smeltery.xml
index c24270e..1fe8e9e 100644
--- a/mods/tinker/resources/manuals/smeltery.xml
+++ b/mods/tinker/resources/manuals/smeltery.xml
@@ -97,7 +97,7 @@ The structure must be a 5x5 shell due to the amount of heat lava gives off. Ther
Larger basins will hold more metal, of course, and the Controller can be on any level so long as there is a lava tank to match.
-When you are ready to pour liquid metal from the Smeltery, put a faucet on a drain and a casting table below it.
+When you are ready to pour liquid metal from the Smeltery, put a faucet on a drain and a casting table below it.
Other liquid removal objects will work, but are frowned upon. An example picture is provided for your convienence.
@@ -127,6 +127,14 @@ Other liquid removal objects will work, but are frowned upon. An example picture
+
+Blank casts are made by pouring aluminum brass or gold into an empty casting table.
+-
+ Blank Cast
+ blankcast
+
+
+
Grout
diff --git a/mods/tinker/tconstruct/TConstruct.java b/mods/tinker/tconstruct/TConstruct.java
index 6361f1e..9f991e9 100644
--- a/mods/tinker/tconstruct/TConstruct.java
+++ b/mods/tinker/tconstruct/TConstruct.java
@@ -28,7 +28,7 @@ import cpw.mods.fml.common.registry.VillagerRegistry;
* @dependencies: IC2 API, EBXL API
*/
-@Mod(modid = "TConstruct", name = "TConstruct", version = "1.5.1_1.3.2.dev1", dependencies = "required-after:Forge@[7.7.1.659,)")
+@Mod(modid = "TConstruct", name = "TConstruct", version = "1.5.1_1.3.2.dev23", dependencies = "required-after:Forge@[7.7.1.659,)")
@NetworkMod(serverSideRequired = false, clientSideRequired = true, channels = { "TConstruct" }, packetHandler = mods.tinker.tconstruct.TPacketHandler.class)
public class TConstruct
{
diff --git a/mods/tinker/tconstruct/TContent.java b/mods/tinker/tconstruct/TContent.java
index 2abb3a1..2f2c967 100644
--- a/mods/tinker/tconstruct/TContent.java
+++ b/mods/tinker/tconstruct/TContent.java
@@ -16,6 +16,7 @@ import mods.tinker.tconstruct.blocks.StoneTorch;
import mods.tinker.tconstruct.blocks.TConstructBlock;
import mods.tinker.tconstruct.blocks.TMetalBlock;
import mods.tinker.tconstruct.blocks.ToolStationBlock;
+import mods.tinker.tconstruct.blocks.infiblocks.SpeedBlock;
import mods.tinker.tconstruct.crafting.LiquidBlockCasting;
import mods.tinker.tconstruct.crafting.LiquidCasting;
import mods.tinker.tconstruct.crafting.PatternBuilder;
@@ -44,6 +45,7 @@ import mods.tinker.tconstruct.items.blocks.OreberryBushItem;
import mods.tinker.tconstruct.items.blocks.OreberryBushSecondItem;
import mods.tinker.tconstruct.items.blocks.SearedTableItemBlock;
import mods.tinker.tconstruct.items.blocks.SmelteryItemBlock;
+import mods.tinker.tconstruct.items.blocks.SpeedBlockItem;
import mods.tinker.tconstruct.items.blocks.ToolStationItemBlock;
import mods.tinker.tconstruct.library.TConstructRegistry;
import mods.tinker.tconstruct.library.ToolCore;
@@ -275,7 +277,7 @@ public class TContent implements IFuelHandler
String[] metalTypes = new String[] { "compressed_cobalt", "compressed_ardite", "compressed_manyullyn", "compressed_copper", "compressed_bronze", "compressed_tin", "compressed_aluminum",
"compressed_alubrass", "compressed_alumite", "compressed_steel" };
- metalBlock = new TMetalBlock(PHConstruct.metalBlock, Material.iron, 10.0F, metalTypes);
+ metalBlock = new TMetalBlock(PHConstruct.metalBlock, Material.iron, 10.0F, metalTypes).setUnlocalizedName("tconstruct.metalblock");
metalBlock.stepSound = Block.soundMetalFootstep;
GameRegistry.registerBlock(metalBlock, MetalItemBlock.class, "MetalBlock");
@@ -322,7 +324,7 @@ public class TContent implements IFuelHandler
GameRegistry.registerBlock(oreBerrySecond, OreberryBushSecondItem.class, "ore.berries.two");
String[] oreTypes = new String[] { "nether_slag", "nether_cobalt", "nether_ardite", "ore_copper", "ore_tin", "ore_aluminum", "ore_slag" };
- oreSlag = new MetalOre(PHConstruct.oreSlag, Material.iron, 10.0F, oreTypes);
+ oreSlag = new MetalOre(PHConstruct.oreSlag, Material.iron, 10.0F, oreTypes).setUnlocalizedName("tconstruct.stoneore");
GameRegistry.registerBlock(oreSlag, MetalOreItemBlock.class, "SearedBrick");
MinecraftForge.setBlockHarvestLevel(oreSlag, 1, "pickaxe", 4);
MinecraftForge.setBlockHarvestLevel(oreSlag, 2, "pickaxe", 4);
@@ -330,7 +332,7 @@ public class TContent implements IFuelHandler
MinecraftForge.setBlockHarvestLevel(oreSlag, 4, "pickaxe", 1);
MinecraftForge.setBlockHarvestLevel(oreSlag, 5, "pickaxe", 1);
- oreGravel = new GravelOre(PHConstruct.oreGravel).setUnlocalizedName("GravelOre");
+ oreGravel = new GravelOre(PHConstruct.oreGravel).setUnlocalizedName("GravelOre").setUnlocalizedName("tconstruct.gravelore");
GameRegistry.registerBlock(oreGravel, GravelOreItem.class, "GravelOre");
MinecraftForge.setBlockHarvestLevel(oreGravel, 0, "shovel", 1);
@@ -340,8 +342,8 @@ public class TContent implements IFuelHandler
MinecraftForge.setBlockHarvestLevel(oreGravel, 4, "shovel", 1);
MinecraftForge.setBlockHarvestLevel(oreGravel, 5, "shovel", 4);
- /*speedBlock = new SpeedBlock(PHConstruct.speedBlock).setUnlocalizedName("SpeedBlock");
- GameRegistry.registerBlock(speedBlock, SpeedBlockItem.class, "SpeedBlock");*/
+ speedBlock = new SpeedBlock(PHConstruct.speedBlock).setUnlocalizedName("SpeedBlock");
+ GameRegistry.registerBlock(speedBlock, SpeedBlockItem.class, "SpeedBlock");
/*redstoneBallRepeater = new RedstoneBallRepeater(PHConstruct.redstoneBallRepeater, false).setUnlocalizedName("decoration.redstoneballrepeater");
GameRegistry.registerBlock(redstoneBallRepeater, "decoration.redstoneballrepeater");
@@ -688,6 +690,8 @@ public class TContent implements IFuelHandler
lbc.addBlockCastingRecipe(new ItemStack(metalBlock, 1, 8), new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 10), null, true, 100); //alumite
lbc.addBlockCastingRecipe(new ItemStack(Block.obsidian), new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 11), null, true, 100);// obsidian
lbc.addBlockCastingRecipe(new ItemStack(metalBlock, 1, 9), new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 12), null, true, 100); //steel
+
+ lbc.addBlockCastingRecipe(new ItemStack(speedBlock, 1, 0), new LiquidStack(liquidMetalStill.blockID, TConstruct.ingotLiquidValue / 9, 3), new ItemStack(Block.gravel), true, 100); //steel
}
//WeakReference tool = new WeakReference(null);
@@ -944,15 +948,15 @@ public class TContent implements IFuelHandler
{
ItemStack ironpick = ToolBuilder.instance.buildTool(new ItemStack(TContent.pickaxeHead, 1, 6), new ItemStack(TContent.toolRod, 1, 2), new ItemStack(TContent.binding, 1, 6), "");
/* IC2 */
- ItemStack reBattery = ic2.api.Items.getItem("reBattery");
+ ItemStack reBattery = ic2.api.item.Items.getItem("reBattery");
if (reBattery != null)
modE.batteries.add(reBattery);
- ItemStack chargedReBattery = ic2.api.Items.getItem("chargedReBattery");
+ ItemStack chargedReBattery = ic2.api.item.Items.getItem("chargedReBattery");
if (chargedReBattery != null)
{
modE.batteries.add(chargedReBattery);
}
- ItemStack electronicCircuit = ic2.api.Items.getItem("electronicCircuit");
+ ItemStack electronicCircuit = ic2.api.item.Items.getItem("electronicCircuit");
if (electronicCircuit != null)
modE.circuits.add(electronicCircuit);
diff --git a/mods/tinker/tconstruct/blocks/OreberryBush.java b/mods/tinker/tconstruct/blocks/OreberryBush.java
index 114da47..4fb2326 100644
--- a/mods/tinker/tconstruct/blocks/OreberryBush.java
+++ b/mods/tinker/tconstruct/blocks/OreberryBush.java
@@ -258,7 +258,7 @@ public class OreberryBush extends BlockLeavesBase implements IPlantable
return;
}
- if (random1.nextInt(12) == 0)// && world.getBlockLightValue(x, y, z) <= 8)
+ if (random1.nextInt(20) == 0)// && world.getBlockLightValue(x, y, z) <= 8)
{
int meta = world.getBlockMetadata(x, y, z);
if (world.getFullBlockLightValue(x, y, z) < 13)
diff --git a/mods/tinker/tconstruct/client/TProxyClient.java b/mods/tinker/tconstruct/client/TProxyClient.java
index 8d324f5..1c73fc7 100644
--- a/mods/tinker/tconstruct/client/TProxyClient.java
+++ b/mods/tinker/tconstruct/client/TProxyClient.java
@@ -416,11 +416,11 @@ public class TProxyClient extends TProxyCommon
{
TConstructClientRegistry.addMaterialRenderMapping(partIter, "tinker", partTypes[partIter], true);
}
- for (int effectIter = 0; effectIter < 2; effectIter++)
+ for (int effectIter = 0; effectIter < 3; effectIter++)
{
TConstructClientRegistry.addEffectRenderMapping(effectIter, "tinker", effectTypes[effectIter], true);
}
- for (int effectIter = 3; effectIter < effectTypes.length; effectIter++)
+ for (int effectIter = 4; effectIter < effectTypes.length; effectIter++)
{
TConstructClientRegistry.addEffectRenderMapping(effectIter, "tinker", effectTypes[effectIter], true);
}
diff --git a/mods/tinker/tconstruct/client/blockrender/SearedRender.java b/mods/tinker/tconstruct/client/blockrender/SearedRender.java
index 36fe432..a0e2d23 100644
--- a/mods/tinker/tconstruct/client/blockrender/SearedRender.java
+++ b/mods/tinker/tconstruct/client/blockrender/SearedRender.java
@@ -348,7 +348,7 @@ public class SearedRender implements ISimpleBlockRenderingHandler
CastingBasinLogic logic = (CastingBasinLogic) world.getBlockTileEntity(x, y, z);
if (logic.liquid != null)
{
- float height = logic.getLiquidAmount() / (logic.getCapacity() * 1.03F) * 0.6875F;
+ float height = logic.getLiquidAmount() / (logic.getCapacity() * 1.05F) * 0.6875F;
renderer.setRenderBounds(0.0625F, 0.25f, 0.0625F, 0.9375F, 0.25f + height, 0.9375F);
if (logic.liquid.itemID < 4096) //Block
{
diff --git a/mods/tinker/tconstruct/client/projectilerender/DaggerRender.java b/mods/tinker/tconstruct/client/projectilerender/DaggerRender.java
index 9b735f2..e581943 100644
--- a/mods/tinker/tconstruct/client/projectilerender/DaggerRender.java
+++ b/mods/tinker/tconstruct/client/projectilerender/DaggerRender.java
@@ -90,6 +90,8 @@ public class DaggerRender extends Render
{
this.renderDroppedItem(rotator, icon, b0, par9, 1.0F, 1.0F, 1.0F);
}
+ GL11.glScalef(1.005f, 1.005f, 1.005f);
+ //GL11.glTranslatef(0F, -0.0025F, 0.0F);
}
}
else
diff --git a/mods/tinker/tconstruct/entity/projectile/RotatingBase.java b/mods/tinker/tconstruct/entity/projectile/RotatingBase.java
index 0efde93..3dc0328 100644
--- a/mods/tinker/tconstruct/entity/projectile/RotatingBase.java
+++ b/mods/tinker/tconstruct/entity/projectile/RotatingBase.java
@@ -457,8 +457,8 @@ public class RotatingBase extends Entity
rotationYaw = data.readFloat();
NBTTagCompound compound = new NBTTagCompound();
NBTTagCompound toolTag = new NBTTagCompound();
- toolTag.setInteger("RenderHead", data.readInt());
toolTag.setInteger("RenderHandle", data.readInt());
+ toolTag.setInteger("RenderHead", data.readInt());
toolTag.setInteger("RenderAccessory", data.readInt());
switch (data.readInt())
{
diff --git a/mods/tinker/tconstruct/library/AbilityHelper.java b/mods/tinker/tconstruct/library/AbilityHelper.java
index a8bae68..c5f52d9 100644
--- a/mods/tinker/tconstruct/library/AbilityHelper.java
+++ b/mods/tinker/tconstruct/library/AbilityHelper.java
@@ -1,7 +1,7 @@
package mods.tinker.tconstruct.library;
-import ic2.api.ICustomElectricItem;
-import ic2.api.IElectricItem;
+import ic2.api.item.ICustomElectricItem;
+import ic2.api.item.IElectricItem;
import java.util.Iterator;
import java.util.List;
@@ -9,7 +9,6 @@ import java.util.Random;
import mods.tinker.common.PiercingEntityDamage;
import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.enchantment.EnchantmentThorns;
import net.minecraft.entity.Entity;
@@ -26,13 +25,11 @@ import net.minecraft.stats.AchievementList;
import net.minecraft.stats.StatList;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
-import net.minecraft.util.EnumMovingObjectType;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.Event.Result;
import net.minecraftforge.event.entity.player.UseHoeEvent;
-import cpw.mods.fml.client.FMLClientHandler;
public class AbilityHelper
{
diff --git a/mods/tinker/tconstruct/library/DualHarvestTool.java b/mods/tinker/tconstruct/library/DualHarvestTool.java
index 67304a9..fbafd54 100644
--- a/mods/tinker/tconstruct/library/DualHarvestTool.java
+++ b/mods/tinker/tconstruct/library/DualHarvestTool.java
@@ -33,6 +33,8 @@ public abstract class DualHarvestTool extends HarvestTool
int bID = player.worldObj.getBlockId(x, y, z);
int meta = world.getBlockMetadata(x, y, z);
Block block = Block.blocksList[bID];
+ if (block == null || bID < 1)
+ return false;
int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
int shlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getSecondHarvestType());
@@ -137,6 +139,12 @@ public abstract class DualHarvestTool extends HarvestTool
return false;
}
+ @Override
+ public String[] toolCategories()
+ {
+ return new String[] { "harvest", "dualharvest" };
+ }
+
protected abstract Material[] getEffectiveSecondaryMaterials();
protected abstract String getSecondHarvestType();
}
diff --git a/mods/tinker/tconstruct/library/HarvestTool.java b/mods/tinker/tconstruct/library/HarvestTool.java
index 9d70f00..d7ddcff 100644
--- a/mods/tinker/tconstruct/library/HarvestTool.java
+++ b/mods/tinker/tconstruct/library/HarvestTool.java
@@ -33,6 +33,8 @@ public abstract class HarvestTool extends ToolCore
int bID = player.worldObj.getBlockId(x, y, z);
int meta = world.getBlockMetadata(x, y, z);
Block block = Block.blocksList[bID];
+ if (block == null || bID < 1)
+ return false;
int hlvl = MinecraftForge.getBlockHarvestLevel(block, meta, getHarvestType());
if (hlvl <= tags.getInteger("HarvestLevel"))
@@ -120,6 +122,12 @@ public abstract class HarvestTool extends ToolCore
}
return false;
}
+
+ @Override
+ public String[] toolCategories()
+ {
+ return new String[] { "harvest" };
+ }
protected abstract Material[] getEffectiveMaterials ();
diff --git a/mods/tinker/tconstruct/library/ToolCore.java b/mods/tinker/tconstruct/library/ToolCore.java
index 6ff88c6..8336543 100644
--- a/mods/tinker/tconstruct/library/ToolCore.java
+++ b/mods/tinker/tconstruct/library/ToolCore.java
@@ -1,7 +1,7 @@
package mods.tinker.tconstruct.library;
-import ic2.api.IBoxable;
-import ic2.api.ICustomElectricItem;
+import ic2.api.item.IBoxable;
+import ic2.api.item.ICustomElectricItem;
import java.util.HashMap;
import java.util.Iterator;
@@ -426,10 +426,10 @@ public abstract class ToolCore extends Item implements ICustomElectricItem, IBox
return ret;
}
+ /* Creative mode tools */
static String[] toolMaterialNames = { "Wooden ", "Stone ", "Iron ", "Flint ", "Cactus ", "Bone ", "Obsidian ", "Nethrrack ", "Slime ", "Paper ", "Cobalt ", "Ardite ", "Manyullyn ", "Copper ",
"Bronze ", "Alumite ", "Steel ", "Slime " };
- /* Creative mode tools */
public void getSubItems (int id, CreativeTabs tab, List list)
{
for (int i = 0; i < 18; i++)
@@ -450,6 +450,8 @@ public abstract class ToolCore extends Item implements ICustomElectricItem, IBox
{
return TConstructRegistry.toolRod;
}
+
+ /* Updating */
public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
{
@@ -469,6 +471,11 @@ public abstract class ToolCore extends Item implements ICustomElectricItem, IBox
}
/* Tool uses */
+
+ //Types
+ public abstract String[] toolCategories();
+
+ //Mining
@Override
public boolean onBlockStartBreak (ItemStack stack, int x, int y, int z, EntityPlayer player)
{
@@ -507,12 +514,6 @@ public abstract class ToolCore extends Item implements ICustomElectricItem, IBox
return AbilityHelper.onBlockChanged(itemstack, world, bID, x, y, z, player, random);
}
- @Override
- public boolean hitEntity (ItemStack stack, EntityLiving mob, EntityLiving player)
- {
- return true;
- }
-
@Override
public float getStrVsBlock (ItemStack stack, Block block, int meta)
{
@@ -522,24 +523,7 @@ public abstract class ToolCore extends Item implements ICustomElectricItem, IBox
return 1f;
}
- //Vanilla repairs
- public boolean isItemTool (ItemStack par1ItemStack)
- {
- return false;
- }
-
- @Override
- public boolean getIsRepairable (ItemStack par1ItemStack, ItemStack par2ItemStack)
- {
- return false;
- }
-
- public boolean isRepairable()
- {
- return false;
- }
-
- /* Attacking */
+ // Attacking
@Override
public boolean onLeftClickEntity (ItemStack stack, EntityPlayer player, Entity entity)
{
@@ -547,12 +531,13 @@ public abstract class ToolCore extends Item implements ICustomElectricItem, IBox
return true;
}
- public boolean pierceArmor ()
+ @Override
+ public boolean hitEntity (ItemStack stack, EntityLiving mob, EntityLiving player)
{
- return false;
+ return true;
}
-
- public boolean rangedTool ()
+
+ public boolean pierceArmor ()
{
return false;
}
@@ -567,23 +552,11 @@ public abstract class ToolCore extends Item implements ICustomElectricItem, IBox
return this.damageVsEntity;
}
- /* Enchanting */
- public int getItemEnchantability ()
- {
- return 0;
- }
-
//Changes how much durability the base tool has
public float getDurabilityModifier ()
{
return 1f;
}
-
- public boolean isFull3D ()
- {
- return true;
- }
-
/*
* IC2 Support
* Every tool can be an electric tool if you modify it right
@@ -725,4 +698,32 @@ public abstract class ToolCore extends Item implements ICustomElectricItem, IBox
{
return false;
}
+
+ //Vanilla overrides
+ public boolean isItemTool (ItemStack par1ItemStack)
+ {
+ return false;
+ }
+
+ @Override
+ public boolean getIsRepairable (ItemStack par1ItemStack, ItemStack par2ItemStack)
+ {
+ return false;
+ }
+
+ public boolean isRepairable()
+ {
+ return false;
+ }
+
+ public int getItemEnchantability ()
+ {
+ return 0;
+ }
+
+ public boolean isFull3D ()
+ {
+ return true;
+ }
+
}
diff --git a/mods/tinker/tconstruct/library/Weapon.java b/mods/tinker/tconstruct/library/Weapon.java
index 2adf916..a21ec39 100644
--- a/mods/tinker/tconstruct/library/Weapon.java
+++ b/mods/tinker/tconstruct/library/Weapon.java
@@ -80,7 +80,7 @@ public abstract class Weapon extends ToolCore
}
return super.canHarvestBlock(block);
}
-
+
protected Material[] getEffectiveMaterials()
{
return web;
@@ -92,11 +92,18 @@ public abstract class Weapon extends ToolCore
return 1;
}
+ @Override
public boolean onLeftClickEntity (ItemStack stack, EntityPlayer player, Entity entity)
{
TContent.modL.midStreamModify(stack);
return super.onLeftClickEntity(stack, player, entity);
}
+
+ @Override
+ public String[] toolCategories()
+ {
+ return new String[] { "weapon", "melee" };
+ }
public static Material[] web = new Material[] { Material.web };
public static Material[] none = new Material[0];
diff --git a/mods/tinker/tconstruct/logic/CastingBasinLogic.java b/mods/tinker/tconstruct/logic/CastingBasinLogic.java
index d3f108f..e8e1653 100644
--- a/mods/tinker/tconstruct/logic/CastingBasinLogic.java
+++ b/mods/tinker/tconstruct/logic/CastingBasinLogic.java
@@ -19,216 +19,215 @@ import net.minecraftforge.liquids.ILiquidTank;
import net.minecraftforge.liquids.ITankContainer;
import net.minecraftforge.liquids.LiquidStack;
-public class CastingBasinLogic extends InventoryLogic
- implements ILiquidTank, ITankContainer, ISidedInventory
+public class CastingBasinLogic extends InventoryLogic implements ILiquidTank, ITankContainer, ISidedInventory
{
- public LiquidStack liquid;
- int castingDelay = 0;
- int renderOffset = 0;
- boolean needsUpdate;
- int tick;
+ public LiquidStack liquid;
+ int castingDelay = 0;
+ int renderOffset = 0;
+ boolean needsUpdate;
+ int tick;
- public CastingBasinLogic()
- {
- super(2);
- }
-
- @Override
+ public CastingBasinLogic()
+ {
+ super(2);
+ }
+
+ @Override
public int getInventoryStackLimit ()
{
return 1;
}
- @Override
- public String getInvName () //Not a gui block
- {
- return null;
- }
+ @Override
+ public String getInvName () //Not a gui block
+ {
+ return null;
+ }
- @Override
- protected String getDefaultName () //Still not a gui block
- {
- return null;
- }
+ @Override
+ protected String getDefaultName () //Still not a gui block
+ {
+ return null;
+ }
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z) //Definitely not a gui block
- {
- return null;
- }
+ @Override
+ public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z) //Definitely not a gui block
+ {
+ return null;
+ }
- /* Tank */
- @Override
- public LiquidStack getLiquid ()
- {
- return liquid;
- }
+ /* Tank */
+ @Override
+ public LiquidStack getLiquid ()
+ {
+ return liquid;
+ }
- @Override
- public int getCapacity ()
- {
- int ret = TConstruct.ingotLiquidValue;
-
- ItemStack inv = inventory[0];
-
- if (inv != null && inv.getItem() instanceof IPattern)
- ret *= ((IPattern) inv.getItem()).getPatternCost(inv.getItemDamage()) * 0.5;
-
- else
- ret = LiquidBlockCasting.instance.getCastingAmount(liquid, inv);
-
- return ret;
- }
+ @Override
+ public int getCapacity ()
+ {
+ int ret = TConstruct.ingotLiquidValue;
- @Override
- public int fill (LiquidStack resource, boolean doFill)
- {
- if (doFill)
- needsUpdate = true;
-
- if (resource == null)
- return 0;
+ ItemStack inv = inventory[0];
- if (liquid == null)
- {
- if (inventory[1] == null && LiquidBlockCasting.instance.getCastingRecipe(resource, inventory[0]) != null)
- {
- liquid = resource.copy();
- int capacity = getCapacity();
- if (liquid.amount > capacity)
- {
- liquid.amount = capacity;
- }
- if (liquid.amount == capacity)
- {
- castingDelay = LiquidBlockCasting.instance.getCastingDelay(liquid, inventory[0]);
- }
-
- renderOffset = liquid.amount;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- return liquid.amount;
- }
- else
- return 0;
- }
- else if (resource.itemID != liquid.itemID || resource.itemMeta != liquid.itemMeta)
- {
- return 0;
- }
- else if (resource.amount + liquid.amount >= getCapacity()) //Start timer here
- {
- int total = getCapacity();
- int cap = total - liquid.amount;
- if (doFill && cap != total)
- {
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- liquid.amount = getCapacity();
- if (castingDelay <= 0)
- {
- castingDelay = LiquidBlockCasting.instance.getCastingDelay(liquid, inventory[0]);
- }
- }
- renderOffset = cap;
- return cap;
- }
- else
- {
- if (doFill)
- {
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- liquid.amount += resource.amount;
- }
- return resource.amount;
- }
- }
-
- @Override
- public void onInventoryChanged()
- {
- super.onInventoryChanged();
+ if (inv != null && inv.getItem() instanceof IPattern)
+ ret *= ((IPattern) inv.getItem()).getPatternCost(inv.getItemDamage()) * 0.5;
+
+ else
+ ret = LiquidBlockCasting.instance.getCastingAmount(liquid, inv);
+
+ return ret;
+ }
+
+ @Override
+ public int fill (LiquidStack resource, boolean doFill)
+ {
+ if (doFill)
+ needsUpdate = true;
+
+ if (resource == null)
+ return 0;
+
+ if (liquid == null)
+ {
+ if (inventory[1] == null && LiquidBlockCasting.instance.getCastingRecipe(resource, inventory[0]) != null)
+ {
+ liquid = resource.copy();
+ int capacity = getCapacity();
+ if (liquid.amount > capacity)
+ {
+ liquid.amount = capacity;
+ }
+ if (liquid.amount == capacity)
+ {
+ castingDelay = LiquidBlockCasting.instance.getCastingDelay(liquid, inventory[0]);
+ }
+
+ renderOffset = liquid.amount;
+ worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
+ return liquid.amount;
+ }
+ else
+ return 0;
+ }
+ else if (resource.itemID != liquid.itemID || resource.itemMeta != liquid.itemMeta)
+ {
+ return 0;
+ }
+ else if (resource.amount + liquid.amount >= getCapacity()) //Start timer here
+ {
+ int total = getCapacity();
+ int cap = total - liquid.amount;
+ if (doFill && cap != total)
+ {
+ worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
+ liquid.amount = getCapacity();
+ if (castingDelay <= 0)
+ {
+ castingDelay = LiquidBlockCasting.instance.getCastingDelay(liquid, inventory[0]);
+ }
+ }
+ renderOffset = cap;
+ return cap;
+ }
+ else
+ {
+ if (doFill)
+ {
+ worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
+ liquid.amount += resource.amount;
+ }
+ return resource.amount;
+ }
+ }
+
+ @Override
+ public void onInventoryChanged ()
+ {
+ super.onInventoryChanged();
worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
needsUpdate = true;
- }
-
- public ItemStack decrStackSize(int slot, int quantity)
+ }
+
+ public ItemStack decrStackSize (int slot, int quantity)
{
- ItemStack stack = super.decrStackSize(slot, quantity);
+ ItemStack stack = super.decrStackSize(slot, quantity);
worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
return stack;
}
- @Override
- public LiquidStack drain (int maxDrain, boolean doDrain) //Doesn't actually drain
- {
- return null;
- }
+ @Override
+ public LiquidStack drain (int maxDrain, boolean doDrain) //Doesn't actually drain
+ {
+ return null;
+ }
- @Override
- public int getTankPressure ()
- {
- return 0;
- }
+ @Override
+ public int getTankPressure ()
+ {
+ return 0;
+ }
- /* Tank Container */
+ /* Tank Container */
- @Override
- public int fill (ForgeDirection from, LiquidStack resource, boolean doFill)
- {
- //if (from == ForgeDirection.UP)
- return fill(0, resource, doFill);
- //return 0;
- }
+ @Override
+ public int fill (ForgeDirection from, LiquidStack resource, boolean doFill)
+ {
+ //if (from == ForgeDirection.UP)
+ return fill(0, resource, doFill);
+ //return 0;
+ }
- @Override
- public int fill (int tankIndex, LiquidStack resource, boolean doFill)
- {
- return fill(resource, doFill);
- }
+ @Override
+ public int fill (int tankIndex, LiquidStack resource, boolean doFill)
+ {
+ return fill(resource, doFill);
+ }
- @Override
- public LiquidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
- {
- return null;
- }
+ @Override
+ public LiquidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
+ {
+ return null;
+ }
- @Override
- public LiquidStack drain (int tankIndex, int maxDrain, boolean doDrain)
- {
- return null;
- }
+ @Override
+ public LiquidStack drain (int tankIndex, int maxDrain, boolean doDrain)
+ {
+ return null;
+ }
- @Override
- public ILiquidTank[] getTanks (ForgeDirection direction)
- {
- return new ILiquidTank[] { this };
- }
+ @Override
+ public ILiquidTank[] getTanks (ForgeDirection direction)
+ {
+ return new ILiquidTank[] { this };
+ }
- @Override
- public ILiquidTank getTank (ForgeDirection direction, LiquidStack type)
- {
- return this;
- }
-
- public int getLiquidAmount()
- {
- return liquid.amount - renderOffset;
- }
+ @Override
+ public ILiquidTank getTank (ForgeDirection direction, LiquidStack type)
+ {
+ return this;
+ }
- /* Updating */
- @Override
- public void updateEntity ()
- {
- if (castingDelay > 0)
- {
- castingDelay--;
- if (castingDelay == 0)
- castLiquid();
- }
- if (renderOffset > 0)
- {
- renderOffset -= 6;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
+ public int getLiquidAmount ()
+ {
+ return liquid.amount - renderOffset;
+ }
+
+ /* Updating */
+ @Override
+ public void updateEntity ()
+ {
+ if (castingDelay > 0)
+ {
+ castingDelay--;
+ if (castingDelay == 0)
+ castLiquid();
+ }
+ if (renderOffset > 0)
+ {
+ renderOffset -= 6;
+ worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
+ }
tick++;
if (tick % 20 == 0)
@@ -237,94 +236,90 @@ public class CastingBasinLogic extends InventoryLogic
if (needsUpdate)
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
}
- }
+ }
- public void castLiquid ()
- {
- CastingRecipe recipe = LiquidBlockCasting.instance.getCastingRecipe(liquid, inventory[0]);
- if (recipe != null)
- {
- inventory[1] = recipe.getResult();
- if (recipe.consumeCast)
- inventory[0] = null;
- liquid = null;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
- }
+ public void castLiquid ()
+ {
+ CastingRecipe recipe = LiquidBlockCasting.instance.getCastingRecipe(liquid, inventory[0]);
+ if (recipe != null)
+ {
+ inventory[1] = recipe.getResult();
+ if (recipe.consumeCast)
+ inventory[0] = null;
+ liquid = null;
+ worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
+ }
+ }
- /* NBT */
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readCustomNBT(tags);
- }
-
- public void readCustomNBT (NBTTagCompound tags)
- {
- if (tags.getBoolean("hasLiquid"))
- this.liquid = new LiquidStack(tags.getInteger("itemID"), tags.getInteger("amount"), tags.getInteger("itemMeta"));
- else
- this.liquid = null;
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeCustomNBT(tags);
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- tags.setBoolean("hasLiquid", liquid != null);
- if (liquid != null)
- {
- tags.setInteger("itemID", liquid.itemID);
- tags.setInteger("amount", liquid.amount);
- tags.setInteger("itemMeta", liquid.itemMeta);
- }
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeToNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readFromNBT(packet.customParam1);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
+ /* NBT */
@Override
- public int[] getSizeInventorySide (int var1)
+ public void readFromNBT (NBTTagCompound tags)
{
- return new int[] {1, 1, 1, 1, 1, 1, 1};
+ super.readFromNBT(tags);
+ readCustomNBT(tags);
+ }
+
+ public void readCustomNBT (NBTTagCompound tags)
+ {
+ if (tags.getBoolean("hasLiquid"))
+ this.liquid = new LiquidStack(tags.getInteger("itemID"), tags.getInteger("amount"), tags.getInteger("itemMeta"));
+ else
+ this.liquid = null;
}
@Override
- public boolean func_102007_a (int i, ItemStack itemstack, int j)
+ public void writeToNBT (NBTTagCompound tags)
{
- if (j == 0)
- return false;
- else
- return true;
+ super.writeToNBT(tags);
+ writeCustomNBT(tags);
+ }
+
+ public void writeCustomNBT (NBTTagCompound tags)
+ {
+ tags.setBoolean("hasLiquid", liquid != null);
+ if (liquid != null)
+ {
+ tags.setInteger("itemID", liquid.itemID);
+ tags.setInteger("amount", liquid.amount);
+ tags.setInteger("itemMeta", liquid.itemMeta);
+ }
+ }
+
+ /* Packets */
+ @Override
+ public Packet getDescriptionPacket ()
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ writeToNBT(tag);
+ return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
}
@Override
- public boolean func_102008_b (int i, ItemStack itemstack, int j)
+ public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
{
- /*if (j == 0)
- return false;
+ readFromNBT(packet.customParam1);
+ worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
+ }
+
+ @Override
+ public int[] getSizeInventorySide (int side) //getValidSlotsForSide
+ {
+ if (side == 0)
+ return new int[] { 1 };
else
- return true;*/
+ return new int[] { 0 };
+ }
+
+ @Override
+ public boolean func_102007_a (int slot, ItemStack itemstack, int side)
+ {
+ return true;
+ }
+
+ @Override
+ public boolean func_102008_b (int slot, ItemStack itemstack, int side)
+ {
return true;
}
diff --git a/mods/tinker/tconstruct/logic/CastingTableLogic.java b/mods/tinker/tconstruct/logic/CastingTableLogic.java
index e6bf0c9..9aa1da2 100644
--- a/mods/tinker/tconstruct/logic/CastingTableLogic.java
+++ b/mods/tinker/tconstruct/logic/CastingTableLogic.java
@@ -19,216 +19,215 @@ import net.minecraftforge.liquids.ILiquidTank;
import net.minecraftforge.liquids.ITankContainer;
import net.minecraftforge.liquids.LiquidStack;
-public class CastingTableLogic extends InventoryLogic
- implements ILiquidTank, ITankContainer, ISidedInventory
+public class CastingTableLogic extends InventoryLogic implements ILiquidTank, ITankContainer, ISidedInventory
{
- public LiquidStack liquid;
- int castingDelay = 0;
- int renderOffset = 0;
- boolean needsUpdate;
- int tick;
+ public LiquidStack liquid;
+ int castingDelay = 0;
+ int renderOffset = 0;
+ boolean needsUpdate;
+ int tick;
- public CastingTableLogic()
- {
- super(2);
- }
-
- @Override
+ public CastingTableLogic()
+ {
+ super(2);
+ }
+
+ @Override
public int getInventoryStackLimit ()
{
return 1;
}
- @Override
- public String getInvName () //Not a gui block
- {
- return null;
- }
+ @Override
+ public String getInvName () //Not a gui block
+ {
+ return null;
+ }
- @Override
- protected String getDefaultName () //Still not a gui block
- {
- return null;
- }
+ @Override
+ protected String getDefaultName () //Still not a gui block
+ {
+ return null;
+ }
- @Override
- public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z) //Definitely not a gui block
- {
- return null;
- }
+ @Override
+ public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z) //Definitely not a gui block
+ {
+ return null;
+ }
- /* Tank */
- @Override
- public LiquidStack getLiquid ()
- {
- return liquid;
- }
+ /* Tank */
+ @Override
+ public LiquidStack getLiquid ()
+ {
+ return liquid;
+ }
- @Override
- public int getCapacity ()
- {
- int ret = TConstruct.ingotLiquidValue;
-
- ItemStack inv = inventory[0];
-
- if (inv != null && inv.getItem() instanceof IPattern)
- ret *= ((IPattern) inv.getItem()).getPatternCost(inv.getItemDamage()) * 0.5;
-
- else
- ret = LiquidCasting.instance.getCastingAmount(liquid, inv);
-
- return ret;
- }
+ @Override
+ public int getCapacity ()
+ {
+ int ret = TConstruct.ingotLiquidValue;
- @Override
- public int fill (LiquidStack resource, boolean doFill)
- {
- if (doFill)
- needsUpdate = true;
-
- if (resource == null)
- return 0;
+ ItemStack inv = inventory[0];
- if (liquid == null)
- {
- if (inventory[1] == null && LiquidCasting.instance.getCastingRecipe(resource, inventory[0]) != null)
- {
- liquid = resource.copy();
- int capacity = getCapacity();
- if (liquid.amount > capacity)
- {
- liquid.amount = capacity;
- }
- if (liquid.amount == capacity)
- {
- castingDelay = LiquidCasting.instance.getCastingDelay(liquid, inventory[0]);
- }
-
- renderOffset = liquid.amount;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- return liquid.amount;
- }
- else
- return 0;
- }
- else if (resource.itemID != liquid.itemID || resource.itemMeta != liquid.itemMeta)
- {
- return 0;
- }
- else if (resource.amount + liquid.amount >= getCapacity()) //Start timer here
- {
- int total = getCapacity();
- int cap = total - liquid.amount;
- if (doFill && cap != total)
- {
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- liquid.amount = getCapacity();
- if (castingDelay <= 0)
- {
- castingDelay = LiquidCasting.instance.getCastingDelay(liquid, inventory[0]);
- }
- }
- renderOffset = cap;
- return cap;
- }
- else
- {
- if (doFill)
- {
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- liquid.amount += resource.amount;
- }
- return resource.amount;
- }
- }
-
- @Override
- public void onInventoryChanged()
- {
- super.onInventoryChanged();
+ if (inv != null && inv.getItem() instanceof IPattern)
+ ret *= ((IPattern) inv.getItem()).getPatternCost(inv.getItemDamage()) * 0.5;
+
+ else
+ ret = LiquidCasting.instance.getCastingAmount(liquid, inv);
+
+ return ret;
+ }
+
+ @Override
+ public int fill (LiquidStack resource, boolean doFill)
+ {
+ if (doFill)
+ needsUpdate = true;
+
+ if (resource == null)
+ return 0;
+
+ if (liquid == null)
+ {
+ if (inventory[1] == null && LiquidCasting.instance.getCastingRecipe(resource, inventory[0]) != null)
+ {
+ liquid = resource.copy();
+ int capacity = getCapacity();
+ if (liquid.amount > capacity)
+ {
+ liquid.amount = capacity;
+ }
+ if (liquid.amount == capacity)
+ {
+ castingDelay = LiquidCasting.instance.getCastingDelay(liquid, inventory[0]);
+ }
+
+ renderOffset = liquid.amount;
+ worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
+ return liquid.amount;
+ }
+ else
+ return 0;
+ }
+ else if (resource.itemID != liquid.itemID || resource.itemMeta != liquid.itemMeta)
+ {
+ return 0;
+ }
+ else if (resource.amount + liquid.amount >= getCapacity()) //Start timer here
+ {
+ int total = getCapacity();
+ int cap = total - liquid.amount;
+ if (doFill && cap != total)
+ {
+ worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
+ liquid.amount = getCapacity();
+ if (castingDelay <= 0)
+ {
+ castingDelay = LiquidCasting.instance.getCastingDelay(liquid, inventory[0]);
+ }
+ }
+ renderOffset = cap;
+ return cap;
+ }
+ else
+ {
+ if (doFill)
+ {
+ worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
+ liquid.amount += resource.amount;
+ }
+ return resource.amount;
+ }
+ }
+
+ @Override
+ public void onInventoryChanged ()
+ {
+ super.onInventoryChanged();
worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
needsUpdate = true;
- }
-
- public ItemStack decrStackSize(int slot, int quantity)
+ }
+
+ public ItemStack decrStackSize (int slot, int quantity)
{
- ItemStack stack = super.decrStackSize(slot, quantity);
+ ItemStack stack = super.decrStackSize(slot, quantity);
worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
return stack;
}
- @Override
- public LiquidStack drain (int maxDrain, boolean doDrain) //Doesn't actually drain
- {
- return null;
- }
+ @Override
+ public LiquidStack drain (int maxDrain, boolean doDrain) //Doesn't actually drain
+ {
+ return null;
+ }
- @Override
- public int getTankPressure ()
- {
- return 0;
- }
+ @Override
+ public int getTankPressure ()
+ {
+ return 0;
+ }
- /* Tank Container */
+ /* Tank Container */
- @Override
- public int fill (ForgeDirection from, LiquidStack resource, boolean doFill)
- {
- //if (from == ForgeDirection.UP)
- return fill(0, resource, doFill);
- //return 0;
- }
+ @Override
+ public int fill (ForgeDirection from, LiquidStack resource, boolean doFill)
+ {
+ //if (from == ForgeDirection.UP)
+ return fill(0, resource, doFill);
+ //return 0;
+ }
- @Override
- public int fill (int tankIndex, LiquidStack resource, boolean doFill)
- {
- return fill(resource, doFill);
- }
+ @Override
+ public int fill (int tankIndex, LiquidStack resource, boolean doFill)
+ {
+ return fill(resource, doFill);
+ }
- @Override
- public LiquidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
- {
- return null;
- }
+ @Override
+ public LiquidStack drain (ForgeDirection from, int maxDrain, boolean doDrain)
+ {
+ return null;
+ }
- @Override
- public LiquidStack drain (int tankIndex, int maxDrain, boolean doDrain)
- {
- return null;
- }
+ @Override
+ public LiquidStack drain (int tankIndex, int maxDrain, boolean doDrain)
+ {
+ return null;
+ }
- @Override
- public ILiquidTank[] getTanks (ForgeDirection direction)
- {
- return new ILiquidTank[] { this };
- }
+ @Override
+ public ILiquidTank[] getTanks (ForgeDirection direction)
+ {
+ return new ILiquidTank[] { this };
+ }
- @Override
- public ILiquidTank getTank (ForgeDirection direction, LiquidStack type)
- {
- return this;
- }
-
- public int getLiquidAmount()
- {
- return liquid.amount - renderOffset;
- }
+ @Override
+ public ILiquidTank getTank (ForgeDirection direction, LiquidStack type)
+ {
+ return this;
+ }
- /* Updating */
- @Override
- public void updateEntity ()
- {
- if (castingDelay > 0)
- {
- castingDelay--;
- if (castingDelay == 0)
- castLiquid();
- }
- if (renderOffset > 0)
- {
- renderOffset -= 6;
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
+ public int getLiquidAmount ()
+ {
+ return liquid.amount - renderOffset;
+ }
+
+ /* Updating */
+ @Override
+ public void updateEntity ()
+ {
+ if (castingDelay > 0)
+ {
+ castingDelay--;
+ if (castingDelay == 0)
+ castLiquid();
+ }
+ if (renderOffset > 0)
+ {
+ renderOffset -= 6;
+ worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
+ }
tick++;
if (tick % 20 == 0)
@@ -237,94 +236,90 @@ public class CastingTableLogic extends InventoryLogic
if (needsUpdate)
worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
}
- }
+ }
- public void castLiquid ()
- {
- CastingRecipe recipe = LiquidCasting.instance.getCastingRecipe(liquid, inventory[0]);
- if (recipe != null)
- {
- inventory[1] = recipe.getResult();
- if (recipe.consumeCast)
- inventory[0] = null;
- liquid = null;
- worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
- }
- }
+ public void castLiquid ()
+ {
+ CastingRecipe recipe = LiquidCasting.instance.getCastingRecipe(liquid, inventory[0]);
+ if (recipe != null)
+ {
+ inventory[1] = recipe.getResult();
+ if (recipe.consumeCast)
+ inventory[0] = null;
+ liquid = null;
+ worldObj.markBlockForUpdate(xCoord, yCoord, zCoord);
+ }
+ }
- /* NBT */
-
- @Override
- public void readFromNBT (NBTTagCompound tags)
- {
- super.readFromNBT(tags);
- readCustomNBT(tags);
- }
-
- public void readCustomNBT (NBTTagCompound tags)
- {
- if (tags.getBoolean("hasLiquid"))
- this.liquid = new LiquidStack(tags.getInteger("itemID"), tags.getInteger("amount"), tags.getInteger("itemMeta"));
- else
- this.liquid = null;
- }
-
- @Override
- public void writeToNBT (NBTTagCompound tags)
- {
- super.writeToNBT(tags);
- writeCustomNBT(tags);
- }
-
- public void writeCustomNBT (NBTTagCompound tags)
- {
- tags.setBoolean("hasLiquid", liquid != null);
- if (liquid != null)
- {
- tags.setInteger("itemID", liquid.itemID);
- tags.setInteger("amount", liquid.amount);
- tags.setInteger("itemMeta", liquid.itemMeta);
- }
- }
-
- /* Packets */
- @Override
- public Packet getDescriptionPacket ()
- {
- NBTTagCompound tag = new NBTTagCompound();
- writeToNBT(tag);
- return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
- }
-
- @Override
- public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
- {
- readFromNBT(packet.customParam1);
- worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
- }
+ /* NBT */
@Override
- public int[] getSizeInventorySide (int var1)
+ public void readFromNBT (NBTTagCompound tags)
{
- return new int[] {1, 1, 1, 1, 1, 1, 1};
+ super.readFromNBT(tags);
+ readCustomNBT(tags);
+ }
+
+ public void readCustomNBT (NBTTagCompound tags)
+ {
+ if (tags.getBoolean("hasLiquid"))
+ this.liquid = new LiquidStack(tags.getInteger("itemID"), tags.getInteger("amount"), tags.getInteger("itemMeta"));
+ else
+ this.liquid = null;
+ }
+
+ @Override
+ public void writeToNBT (NBTTagCompound tags)
+ {
+ super.writeToNBT(tags);
+ writeCustomNBT(tags);
+ }
+
+ public void writeCustomNBT (NBTTagCompound tags)
+ {
+ tags.setBoolean("hasLiquid", liquid != null);
+ if (liquid != null)
+ {
+ tags.setInteger("itemID", liquid.itemID);
+ tags.setInteger("amount", liquid.amount);
+ tags.setInteger("itemMeta", liquid.itemMeta);
+ }
+ }
+
+ /* Packets */
+ @Override
+ public Packet getDescriptionPacket ()
+ {
+ NBTTagCompound tag = new NBTTagCompound();
+ writeToNBT(tag);
+ return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
+ }
+
+ @Override
+ public void onDataPacket (INetworkManager net, Packet132TileEntityData packet)
+ {
+ readFromNBT(packet.customParam1);
+ worldObj.markBlockForRenderUpdate(xCoord, yCoord, zCoord);
+ }
+
+ @Override
+ public int[] getSizeInventorySide (int side)
+ {
+ if (side == 0)
+ return new int[] { 1 };
+ else
+ return new int[] { 0 };
}
@Override
public boolean func_102007_a (int i, ItemStack itemstack, int j)
{
- if (j == 0)
- return false;
- else
- return true;
+ return true;
}
@Override
public boolean func_102008_b (int i, ItemStack itemstack, int j)
{
- /*if (j == 0)
- return false;
- else
- return true;*/
return true;
}
diff --git a/mods/tinker/tconstruct/logic/SmelteryLogic.java b/mods/tinker/tconstruct/logic/SmelteryLogic.java
index 27ac129..a4dcbd7 100644
--- a/mods/tinker/tconstruct/logic/SmelteryLogic.java
+++ b/mods/tinker/tconstruct/logic/SmelteryLogic.java
@@ -333,7 +333,7 @@ public class SmelteryLogic extends InventoryLogic implements IActiveLogic, IFaci
return false;
currentLiquid += liquid.amount;
- System.out.println("Current liquid: "+currentLiquid);
+ //System.out.println("Current liquid: "+currentLiquid);
boolean added = false;
for (int i = 0; i < moltenMetal.size(); i++)
{
diff --git a/mods/tinker/tconstruct/modifiers/ModAttack.java b/mods/tinker/tconstruct/modifiers/ModAttack.java
index c82f514..910fbb7 100644
--- a/mods/tinker/tconstruct/modifiers/ModAttack.java
+++ b/mods/tinker/tconstruct/modifiers/ModAttack.java
@@ -1,5 +1,8 @@
package mods.tinker.tconstruct.modifiers;
+import java.util.Arrays;
+import java.util.List;
+
import mods.tinker.common.ToolMod;
import mods.tinker.tconstruct.library.ToolCore;
import net.minecraft.item.ItemStack;
@@ -48,7 +51,7 @@ public class ModAttack extends ToolMod
{
int amount = 24;
ToolCore toolItem = (ToolCore) tool.getItem();
- if (toolItem.pierceArmor() || toolItem.rangedTool())
+ if (toolItem.pierceArmor() || !validType(toolItem))
amount = 36;
int[] keyPair = tags.getIntArray(key);
@@ -103,4 +106,10 @@ public class ModAttack extends ToolMod
String modName = "\u00a7f"+guiType+" ("+keys[0]+"/"+keys[1]+")";
tags.setString(tip, modName);
}
+
+ public boolean validType(ToolCore tool)
+ {
+ List list = Arrays.asList(tool.toolCategories());
+ return list.contains("throwing");
+ }
}
diff --git a/mods/tinker/tconstruct/modifiers/ModBlaze.java b/mods/tinker/tconstruct/modifiers/ModBlaze.java
index 4e16fc3..6391936 100644
--- a/mods/tinker/tconstruct/modifiers/ModBlaze.java
+++ b/mods/tinker/tconstruct/modifiers/ModBlaze.java
@@ -1,6 +1,10 @@
package mods.tinker.tconstruct.modifiers;
+import java.util.Arrays;
+import java.util.List;
+
import mods.tinker.common.ToolMod;
+import mods.tinker.tconstruct.library.ToolCore;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -21,7 +25,10 @@ public class ModBlaze extends ToolMod
@Override
protected boolean canModify (ItemStack tool, ItemStack[] input)
{
-
+ ToolCore toolItem = (ToolCore) tool.getItem();
+ if (!validType(toolItem))
+ return false;
+
NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
if (!tags.hasKey(key))
return tags.getInteger("Modifiers") > 0;
@@ -86,4 +93,10 @@ public class ModBlaze extends ToolMod
String modName = "\u00a76Blaze ("+keys[0]+"/"+keys[1]+")";
tags.setString(tip, modName);
}
+
+ public boolean validType(ToolCore tool)
+ {
+ List list = Arrays.asList(tool.toolCategories());
+ return list.contains("melee") || list.contains("ammo");
+ }
}
diff --git a/mods/tinker/tconstruct/modifiers/ModElectric.java b/mods/tinker/tconstruct/modifiers/ModElectric.java
index bc6ada7..9e83c71 100644
--- a/mods/tinker/tconstruct/modifiers/ModElectric.java
+++ b/mods/tinker/tconstruct/modifiers/ModElectric.java
@@ -1,6 +1,6 @@
package mods.tinker.tconstruct.modifiers;
-import ic2.api.IElectricItem;
+import ic2.api.item.IElectricItem;
import java.util.ArrayList;
diff --git a/mods/tinker/tconstruct/modifiers/ModLapis.java b/mods/tinker/tconstruct/modifiers/ModLapis.java
index 226e30b..cbef5aa 100644
--- a/mods/tinker/tconstruct/modifiers/ModLapis.java
+++ b/mods/tinker/tconstruct/modifiers/ModLapis.java
@@ -1,9 +1,12 @@
package mods.tinker.tconstruct.modifiers;
+import java.util.Arrays;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import mods.tinker.common.ToolMod;
+import mods.tinker.tconstruct.library.ToolCore;
import mods.tinker.tconstruct.library.Weapon;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
@@ -27,6 +30,10 @@ public class ModLapis extends ToolMod
@Override
protected boolean canModify (ItemStack tool, ItemStack[] input)
{
+ ToolCore toolItem = (ToolCore) tool.getItem();
+ if (!validType(toolItem))
+ return false;
+
NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
if (!tags.hasKey(key))
return tags.getInteger("Modifiers") > 0;
@@ -186,4 +193,10 @@ public class ModLapis extends ToolMod
String modName = "\u00a79Lapis (" + keys[0] + "/" + max + ")";
tags.setString(tip, modName);
}
+
+ public boolean validType(ToolCore tool)
+ {
+ List list = Arrays.asList(tool.toolCategories());
+ return list.contains("weapon") || list.contains("harvest");
+ }
}
diff --git a/mods/tinker/tconstruct/modifiers/ModRedstone.java b/mods/tinker/tconstruct/modifiers/ModRedstone.java
index d7e350d..b990fbe 100644
--- a/mods/tinker/tconstruct/modifiers/ModRedstone.java
+++ b/mods/tinker/tconstruct/modifiers/ModRedstone.java
@@ -1,6 +1,10 @@
package mods.tinker.tconstruct.modifiers;
+import java.util.Arrays;
+import java.util.List;
+
import mods.tinker.common.ToolMod;
+import mods.tinker.tconstruct.library.ToolCore;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -21,6 +25,9 @@ public class ModRedstone extends ToolMod
@Override
protected boolean canModify (ItemStack tool, ItemStack[] input)
{
+ ToolCore toolItem = (ToolCore) tool.getItem();
+ if (!validType(toolItem))
+ return false;
NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
if (!tags.hasKey(key))
@@ -92,4 +99,10 @@ public class ModRedstone extends ToolMod
String modName = "\u00a74Redstone ("+keys[0]+"/"+keys[1]+")";
tags.setString(tip, modName);
}
+
+ public boolean validType(ToolCore tool)
+ {
+ List list = Arrays.asList(tool.toolCategories());
+ return list.contains("harvest");
+ }
}
diff --git a/mods/tinker/tconstruct/tools/Chisel.java b/mods/tinker/tconstruct/tools/Chisel.java
new file mode 100644
index 0000000..eb4362c
--- /dev/null
+++ b/mods/tinker/tconstruct/tools/Chisel.java
@@ -0,0 +1,90 @@
+package mods.tinker.tconstruct.tools;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import mods.tinker.tconstruct.TContent;
+import mods.tinker.tconstruct.library.ToolCore;
+import net.minecraft.item.Item;
+
+public class Chisel extends ToolCore
+{
+ public Chisel(int id)
+ {
+ super(id, 0);
+ }
+
+ @Override
+ public int getHeadType ()
+ {
+ return 1;
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public int getRenderPasses (int metadata)
+ {
+ return 8;
+ }
+
+ @Override
+ public int getPartAmount()
+ {
+ return 2;
+ }
+
+ @Override
+ public void registerPartPaths (int index, String[] location)
+ {
+ headStrings.put(index, location[0]);
+ brokenHeadStrings.put(index, location[1]);
+ handleStrings.put(index, location[2]);
+ }
+
+ @Override
+ public String getIconSuffix (int partType)
+ {
+ switch (partType)
+ {
+ case 0:
+ return "_chisel_head";
+ case 1:
+ return "_chisel_head_broken";
+ case 2:
+ return "_chisel_handle";
+ default:
+ return "";
+ }
+ }
+
+ @Override
+ public String getEffectSuffix ()
+ {
+ return "_chisel_effect";
+ }
+
+ @Override
+ public String getDefaultFolder ()
+ {
+ return "chisel";
+ }
+
+ @Override
+ protected Item getHeadItem ()
+ {
+ return TContent.chiselHead;
+ }
+
+ @Override
+ protected Item getAccessoryItem ()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String[] toolCategories ()
+ {
+ return new String[] { "utility" };
+ }
+
+}
diff --git a/mods/tinker/tconstruct/tools/Dagger.java b/mods/tinker/tconstruct/tools/Dagger.java
index 6d4f1a4..e0b1f5d 100644
--- a/mods/tinker/tconstruct/tools/Dagger.java
+++ b/mods/tinker/tconstruct/tools/Dagger.java
@@ -36,6 +36,12 @@ public class Dagger extends Weapon
return itemstack;
}
+ @Override
+ public String[] toolCategories()
+ {
+ return new String[] { "weapon", "melee", "throwing" };
+ }
+
public EnumAction getItemUseAction(ItemStack par1ItemStack)
{
return EnumAction.bow;
diff --git a/mods/tinker/textures/items/chisels/alumite_chisel_handle.png b/mods/tinker/textures/items/chisels/alumite_chisel_handle.png
new file mode 100644
index 0000000..7de2e36
Binary files /dev/null and b/mods/tinker/textures/items/chisels/alumite_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/alumite_chisel_head.png b/mods/tinker/textures/items/chisels/alumite_chisel_head.png
new file mode 100644
index 0000000..7a7e800
Binary files /dev/null and b/mods/tinker/textures/items/chisels/alumite_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/alumite_chisel_head_broken.png b/mods/tinker/textures/items/chisels/alumite_chisel_head_broken.png
new file mode 100644
index 0000000..151a008
Binary files /dev/null and b/mods/tinker/textures/items/chisels/alumite_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/ardite_chisel_handle.png b/mods/tinker/textures/items/chisels/ardite_chisel_handle.png
new file mode 100644
index 0000000..7ba88a9
Binary files /dev/null and b/mods/tinker/textures/items/chisels/ardite_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/ardite_chisel_head.png b/mods/tinker/textures/items/chisels/ardite_chisel_head.png
new file mode 100644
index 0000000..e4895d9
Binary files /dev/null and b/mods/tinker/textures/items/chisels/ardite_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/ardite_chisel_head_broken.png b/mods/tinker/textures/items/chisels/ardite_chisel_head_broken.png
new file mode 100644
index 0000000..ebe20e7
Binary files /dev/null and b/mods/tinker/textures/items/chisels/ardite_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/blueslime_chisel_handle.png b/mods/tinker/textures/items/chisels/blueslime_chisel_handle.png
new file mode 100644
index 0000000..e5b8989
Binary files /dev/null and b/mods/tinker/textures/items/chisels/blueslime_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/blueslime_chisel_head.png b/mods/tinker/textures/items/chisels/blueslime_chisel_head.png
new file mode 100644
index 0000000..5fa0758
Binary files /dev/null and b/mods/tinker/textures/items/chisels/blueslime_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/blueslime_chisel_head_broken.png b/mods/tinker/textures/items/chisels/blueslime_chisel_head_broken.png
new file mode 100644
index 0000000..dc89f40
Binary files /dev/null and b/mods/tinker/textures/items/chisels/blueslime_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/bone_chisel_handle.png b/mods/tinker/textures/items/chisels/bone_chisel_handle.png
new file mode 100644
index 0000000..5a9d197
Binary files /dev/null and b/mods/tinker/textures/items/chisels/bone_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/bone_chisel_head.png b/mods/tinker/textures/items/chisels/bone_chisel_head.png
new file mode 100644
index 0000000..bdd5f18
Binary files /dev/null and b/mods/tinker/textures/items/chisels/bone_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/bone_chisel_head_broken.png b/mods/tinker/textures/items/chisels/bone_chisel_head_broken.png
new file mode 100644
index 0000000..74cb805
Binary files /dev/null and b/mods/tinker/textures/items/chisels/bone_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/bronze_chisel_handle.png b/mods/tinker/textures/items/chisels/bronze_chisel_handle.png
new file mode 100644
index 0000000..803ce5c
Binary files /dev/null and b/mods/tinker/textures/items/chisels/bronze_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/bronze_chisel_head.png b/mods/tinker/textures/items/chisels/bronze_chisel_head.png
new file mode 100644
index 0000000..9f8320b
Binary files /dev/null and b/mods/tinker/textures/items/chisels/bronze_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/bronze_chisel_head_broken.png b/mods/tinker/textures/items/chisels/bronze_chisel_head_broken.png
new file mode 100644
index 0000000..ef6c0c3
Binary files /dev/null and b/mods/tinker/textures/items/chisels/bronze_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/cactus_chisel_handle.png b/mods/tinker/textures/items/chisels/cactus_chisel_handle.png
new file mode 100644
index 0000000..ebccdf1
Binary files /dev/null and b/mods/tinker/textures/items/chisels/cactus_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/cactus_chisel_head.png b/mods/tinker/textures/items/chisels/cactus_chisel_head.png
new file mode 100644
index 0000000..fb6f9b8
Binary files /dev/null and b/mods/tinker/textures/items/chisels/cactus_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/cactus_chisel_head_broken.png b/mods/tinker/textures/items/chisels/cactus_chisel_head_broken.png
new file mode 100644
index 0000000..ba99a68
Binary files /dev/null and b/mods/tinker/textures/items/chisels/cactus_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/cobalt_chisel_handle.png b/mods/tinker/textures/items/chisels/cobalt_chisel_handle.png
new file mode 100644
index 0000000..7f935f8
Binary files /dev/null and b/mods/tinker/textures/items/chisels/cobalt_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/cobalt_chisel_head.png b/mods/tinker/textures/items/chisels/cobalt_chisel_head.png
new file mode 100644
index 0000000..c579587
Binary files /dev/null and b/mods/tinker/textures/items/chisels/cobalt_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/cobalt_chisel_head_broken.png b/mods/tinker/textures/items/chisels/cobalt_chisel_head_broken.png
new file mode 100644
index 0000000..48c1939
Binary files /dev/null and b/mods/tinker/textures/items/chisels/cobalt_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/copper_chisel_handle.png b/mods/tinker/textures/items/chisels/copper_chisel_handle.png
new file mode 100644
index 0000000..01bdbbd
Binary files /dev/null and b/mods/tinker/textures/items/chisels/copper_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/copper_chisel_head.png b/mods/tinker/textures/items/chisels/copper_chisel_head.png
new file mode 100644
index 0000000..3856f3f
Binary files /dev/null and b/mods/tinker/textures/items/chisels/copper_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/copper_chisel_head_broken.png b/mods/tinker/textures/items/chisels/copper_chisel_head_broken.png
new file mode 100644
index 0000000..0510df7
Binary files /dev/null and b/mods/tinker/textures/items/chisels/copper_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/diamond_chisel_effect.png b/mods/tinker/textures/items/chisels/diamond_chisel_effect.png
new file mode 100644
index 0000000..c8d549e
Binary files /dev/null and b/mods/tinker/textures/items/chisels/diamond_chisel_effect.png differ
diff --git a/mods/tinker/textures/items/chisels/electric_chisel_effect.png b/mods/tinker/textures/items/chisels/electric_chisel_effect.png
new file mode 100644
index 0000000..75738d4
Binary files /dev/null and b/mods/tinker/textures/items/chisels/electric_chisel_effect.png differ
diff --git a/mods/tinker/textures/items/chisels/emerald_chisel_effect.png b/mods/tinker/textures/items/chisels/emerald_chisel_effect.png
new file mode 100644
index 0000000..0bc923c
Binary files /dev/null and b/mods/tinker/textures/items/chisels/emerald_chisel_effect.png differ
diff --git a/mods/tinker/textures/items/chisels/flint_chisel_handle.png b/mods/tinker/textures/items/chisels/flint_chisel_handle.png
new file mode 100644
index 0000000..4593425
Binary files /dev/null and b/mods/tinker/textures/items/chisels/flint_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/flint_chisel_head.png b/mods/tinker/textures/items/chisels/flint_chisel_head.png
new file mode 100644
index 0000000..a799ce5
Binary files /dev/null and b/mods/tinker/textures/items/chisels/flint_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/flint_chisel_head_broken.png b/mods/tinker/textures/items/chisels/flint_chisel_head_broken.png
new file mode 100644
index 0000000..c7e8c8a
Binary files /dev/null and b/mods/tinker/textures/items/chisels/flint_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/iron_chisel_handle.png b/mods/tinker/textures/items/chisels/iron_chisel_handle.png
new file mode 100644
index 0000000..224b48a
Binary files /dev/null and b/mods/tinker/textures/items/chisels/iron_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/iron_chisel_head.png b/mods/tinker/textures/items/chisels/iron_chisel_head.png
new file mode 100644
index 0000000..36986c0
Binary files /dev/null and b/mods/tinker/textures/items/chisels/iron_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/iron_chisel_head_broken.png b/mods/tinker/textures/items/chisels/iron_chisel_head_broken.png
new file mode 100644
index 0000000..c8ed759
Binary files /dev/null and b/mods/tinker/textures/items/chisels/iron_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/manyullyn_chisel_handle.png b/mods/tinker/textures/items/chisels/manyullyn_chisel_handle.png
new file mode 100644
index 0000000..16f1a45
Binary files /dev/null and b/mods/tinker/textures/items/chisels/manyullyn_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/manyullyn_chisel_head.png b/mods/tinker/textures/items/chisels/manyullyn_chisel_head.png
new file mode 100644
index 0000000..4ae2bf5
Binary files /dev/null and b/mods/tinker/textures/items/chisels/manyullyn_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/manyullyn_chisel_head_broken.png b/mods/tinker/textures/items/chisels/manyullyn_chisel_head_broken.png
new file mode 100644
index 0000000..4fe7464
Binary files /dev/null and b/mods/tinker/textures/items/chisels/manyullyn_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/moss_chisel_effect.png b/mods/tinker/textures/items/chisels/moss_chisel_effect.png
new file mode 100644
index 0000000..11a23c3
Binary files /dev/null and b/mods/tinker/textures/items/chisels/moss_chisel_effect.png differ
diff --git a/mods/tinker/textures/items/chisels/netherrack_chisel_handle.png b/mods/tinker/textures/items/chisels/netherrack_chisel_handle.png
new file mode 100644
index 0000000..47a2b20
Binary files /dev/null and b/mods/tinker/textures/items/chisels/netherrack_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/netherrack_chisel_head.png b/mods/tinker/textures/items/chisels/netherrack_chisel_head.png
new file mode 100644
index 0000000..1a022a4
Binary files /dev/null and b/mods/tinker/textures/items/chisels/netherrack_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/netherrack_chisel_head_broken.png b/mods/tinker/textures/items/chisels/netherrack_chisel_head_broken.png
new file mode 100644
index 0000000..ea0a281
Binary files /dev/null and b/mods/tinker/textures/items/chisels/netherrack_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/obsidian_chisel_handle.png b/mods/tinker/textures/items/chisels/obsidian_chisel_handle.png
new file mode 100644
index 0000000..a38dce8
Binary files /dev/null and b/mods/tinker/textures/items/chisels/obsidian_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/obsidian_chisel_head.png b/mods/tinker/textures/items/chisels/obsidian_chisel_head.png
new file mode 100644
index 0000000..746c7f5
Binary files /dev/null and b/mods/tinker/textures/items/chisels/obsidian_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/obsidian_chisel_head_broken.png b/mods/tinker/textures/items/chisels/obsidian_chisel_head_broken.png
new file mode 100644
index 0000000..87ce319
Binary files /dev/null and b/mods/tinker/textures/items/chisels/obsidian_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/paper_chisel_handle.png b/mods/tinker/textures/items/chisels/paper_chisel_handle.png
new file mode 100644
index 0000000..eb51ad5
Binary files /dev/null and b/mods/tinker/textures/items/chisels/paper_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/paper_chisel_head.png b/mods/tinker/textures/items/chisels/paper_chisel_head.png
new file mode 100644
index 0000000..e9801db
Binary files /dev/null and b/mods/tinker/textures/items/chisels/paper_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/paper_chisel_head_broken.png b/mods/tinker/textures/items/chisels/paper_chisel_head_broken.png
new file mode 100644
index 0000000..d3dce1e
Binary files /dev/null and b/mods/tinker/textures/items/chisels/paper_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/redstone_chisel_effect.png b/mods/tinker/textures/items/chisels/redstone_chisel_effect.png
new file mode 100644
index 0000000..d1ff23f
Binary files /dev/null and b/mods/tinker/textures/items/chisels/redstone_chisel_effect.png differ
diff --git a/mods/tinker/textures/items/chisels/slime_chisel_handle.png b/mods/tinker/textures/items/chisels/slime_chisel_handle.png
new file mode 100644
index 0000000..13d113c
Binary files /dev/null and b/mods/tinker/textures/items/chisels/slime_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/slime_chisel_head.png b/mods/tinker/textures/items/chisels/slime_chisel_head.png
new file mode 100644
index 0000000..40fd675
Binary files /dev/null and b/mods/tinker/textures/items/chisels/slime_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/slime_chisel_head_broken.png b/mods/tinker/textures/items/chisels/slime_chisel_head_broken.png
new file mode 100644
index 0000000..bd05ec8
Binary files /dev/null and b/mods/tinker/textures/items/chisels/slime_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/steel_chisel_handle.png b/mods/tinker/textures/items/chisels/steel_chisel_handle.png
new file mode 100644
index 0000000..d2d55eb
Binary files /dev/null and b/mods/tinker/textures/items/chisels/steel_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/steel_chisel_head.png b/mods/tinker/textures/items/chisels/steel_chisel_head.png
new file mode 100644
index 0000000..464c327
Binary files /dev/null and b/mods/tinker/textures/items/chisels/steel_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/steel_chisel_head_broken.png b/mods/tinker/textures/items/chisels/steel_chisel_head_broken.png
new file mode 100644
index 0000000..7f0a332
Binary files /dev/null and b/mods/tinker/textures/items/chisels/steel_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/stone_chisel_handle.png b/mods/tinker/textures/items/chisels/stone_chisel_handle.png
new file mode 100644
index 0000000..5b18565
Binary files /dev/null and b/mods/tinker/textures/items/chisels/stone_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/stone_chisel_head.png b/mods/tinker/textures/items/chisels/stone_chisel_head.png
new file mode 100644
index 0000000..7d892e4
Binary files /dev/null and b/mods/tinker/textures/items/chisels/stone_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/stone_chisel_head_broken.png b/mods/tinker/textures/items/chisels/stone_chisel_head_broken.png
new file mode 100644
index 0000000..5409d94
Binary files /dev/null and b/mods/tinker/textures/items/chisels/stone_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/chisels/wood_chisel_handle.png b/mods/tinker/textures/items/chisels/wood_chisel_handle.png
new file mode 100644
index 0000000..c8c4752
Binary files /dev/null and b/mods/tinker/textures/items/chisels/wood_chisel_handle.png differ
diff --git a/mods/tinker/textures/items/chisels/wood_chisel_head.png b/mods/tinker/textures/items/chisels/wood_chisel_head.png
new file mode 100644
index 0000000..1cd5376
Binary files /dev/null and b/mods/tinker/textures/items/chisels/wood_chisel_head.png differ
diff --git a/mods/tinker/textures/items/chisels/wood_chisel_head_broken.png b/mods/tinker/textures/items/chisels/wood_chisel_head_broken.png
new file mode 100644
index 0000000..97f1d6b
Binary files /dev/null and b/mods/tinker/textures/items/chisels/wood_chisel_head_broken.png differ
diff --git a/mods/tinker/textures/items/dagger/emerald_dagger_effect.png b/mods/tinker/textures/items/dagger/emerald_dagger_effect.png
index 7118b95..48f384c 100644
Binary files a/mods/tinker/textures/items/dagger/emerald_dagger_effect.png and b/mods/tinker/textures/items/dagger/emerald_dagger_effect.png differ
diff --git a/mods/tinker/textures/items/dagger/redstone_dagger_effect.png b/mods/tinker/textures/items/dagger/redstone_dagger_effect.png
index bb9291a..a04f043 100644
Binary files a/mods/tinker/textures/items/dagger/redstone_dagger_effect.png and b/mods/tinker/textures/items/dagger/redstone_dagger_effect.png differ
diff --git a/mods/tinker/textures/items/materials/cast_chisel.png b/mods/tinker/textures/items/materials/cast_chisel.png
new file mode 100644
index 0000000..844fcbd
Binary files /dev/null and b/mods/tinker/textures/items/materials/cast_chisel.png differ
diff --git a/mods/tinker/textures/items/materials/pattern_chisel.png b/mods/tinker/textures/items/materials/pattern_chisel.png
new file mode 100644
index 0000000..16d10e5
Binary files /dev/null and b/mods/tinker/textures/items/materials/pattern_chisel.png differ
diff --git a/mods/tinker/textures/items/parts/alumite_chisel_head.png b/mods/tinker/textures/items/parts/alumite_chisel_head.png
new file mode 100644
index 0000000..bbff9ae
Binary files /dev/null and b/mods/tinker/textures/items/parts/alumite_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/ardite_chisel_head.png b/mods/tinker/textures/items/parts/ardite_chisel_head.png
new file mode 100644
index 0000000..4101ce5
Binary files /dev/null and b/mods/tinker/textures/items/parts/ardite_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/blueslime_chisel_head.png b/mods/tinker/textures/items/parts/blueslime_chisel_head.png
new file mode 100644
index 0000000..0c3efcb
Binary files /dev/null and b/mods/tinker/textures/items/parts/blueslime_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/bone_chisel_head.png b/mods/tinker/textures/items/parts/bone_chisel_head.png
new file mode 100644
index 0000000..4ad6a56
Binary files /dev/null and b/mods/tinker/textures/items/parts/bone_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/bronze_chisel_head.png b/mods/tinker/textures/items/parts/bronze_chisel_head.png
new file mode 100644
index 0000000..222fb37
Binary files /dev/null and b/mods/tinker/textures/items/parts/bronze_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/cactus_chisel_head.png b/mods/tinker/textures/items/parts/cactus_chisel_head.png
new file mode 100644
index 0000000..89dc541
Binary files /dev/null and b/mods/tinker/textures/items/parts/cactus_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/cobalt_chisel_head.png b/mods/tinker/textures/items/parts/cobalt_chisel_head.png
new file mode 100644
index 0000000..f999b9a
Binary files /dev/null and b/mods/tinker/textures/items/parts/cobalt_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/copper_chisel_head.png b/mods/tinker/textures/items/parts/copper_chisel_head.png
new file mode 100644
index 0000000..286ff9d
Binary files /dev/null and b/mods/tinker/textures/items/parts/copper_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/flint_chisel_head.png b/mods/tinker/textures/items/parts/flint_chisel_head.png
new file mode 100644
index 0000000..d131c61
Binary files /dev/null and b/mods/tinker/textures/items/parts/flint_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/iron_chisel_head.png b/mods/tinker/textures/items/parts/iron_chisel_head.png
new file mode 100644
index 0000000..7852492
Binary files /dev/null and b/mods/tinker/textures/items/parts/iron_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/manyullyn_chisel_head.png b/mods/tinker/textures/items/parts/manyullyn_chisel_head.png
new file mode 100644
index 0000000..d6f01a6
Binary files /dev/null and b/mods/tinker/textures/items/parts/manyullyn_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/netherrack_chisel_head.png b/mods/tinker/textures/items/parts/netherrack_chisel_head.png
new file mode 100644
index 0000000..431213e
Binary files /dev/null and b/mods/tinker/textures/items/parts/netherrack_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/obsidian_chisel_head.png b/mods/tinker/textures/items/parts/obsidian_chisel_head.png
new file mode 100644
index 0000000..759e920
Binary files /dev/null and b/mods/tinker/textures/items/parts/obsidian_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/paper_chisel_head.png b/mods/tinker/textures/items/parts/paper_chisel_head.png
new file mode 100644
index 0000000..2056940
Binary files /dev/null and b/mods/tinker/textures/items/parts/paper_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/slime_chisel_head.png b/mods/tinker/textures/items/parts/slime_chisel_head.png
new file mode 100644
index 0000000..37cf5f5
Binary files /dev/null and b/mods/tinker/textures/items/parts/slime_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/steel_chisel_head.png b/mods/tinker/textures/items/parts/steel_chisel_head.png
new file mode 100644
index 0000000..755d1c7
Binary files /dev/null and b/mods/tinker/textures/items/parts/steel_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/stone_chisel_head.png b/mods/tinker/textures/items/parts/stone_chisel_head.png
new file mode 100644
index 0000000..07c3b48
Binary files /dev/null and b/mods/tinker/textures/items/parts/stone_chisel_head.png differ
diff --git a/mods/tinker/textures/items/parts/wood_chisel_head.png b/mods/tinker/textures/items/parts/wood_chisel_head.png
new file mode 100644
index 0000000..3db4d52
Binary files /dev/null and b/mods/tinker/textures/items/parts/wood_chisel_head.png differ
diff --git a/spritesheets/chisels.png b/spritesheets/chisels.png
new file mode 100644
index 0000000..74a9924
Binary files /dev/null and b/spritesheets/chisels.png differ
diff --git a/spritesheets/chisels.txt b/spritesheets/chisels.txt
new file mode 100644
index 0000000..3c56e8f
--- /dev/null
+++ b/spritesheets/chisels.txt
@@ -0,0 +1,59 @@
+0,0 - wood_chisel_handle
+1,0 - stone_chisel_handle
+2,0 - iron_chisel_handle
+3,0 - flint_chisel_handle
+4,0 - cactus_chisel_handle
+5,0 - bone_chisel_handle
+6,0 - obsidian_chisel_handle
+7,0 - netherrack_chisel_handle
+8,0 - slime_chisel_handle
+9,0 - paper_chisel_handle
+10,0 - cobalt_chisel_handle
+11,0 - ardite_chisel_handle
+12,0 - manyullyn_chisel_handle
+13,0 - copper_chisel_handle
+14,0 - bronze_chisel_handle
+15,0 - alumite_chisel_handle
+0,1 - steel_chisel_handle
+1,1 - blueslime_chisel_handle
+0,4 - wood_chisel_head
+1,4 - stone_chisel_head
+2,4 - iron_chisel_head
+3,4 - flint_chisel_head
+4,4 - cactus_chisel_head
+5,4 - bone_chisel_head
+6,4 - obsidian_chisel_head
+7,4 - netherrack_chisel_head
+8,4 - slime_chisel_head
+9,4 - paper_chisel_head
+10,4 - cobalt_chisel_head
+11,4 - ardite_chisel_head
+12,4 - manyullyn_chisel_head
+13,4 - copper_chisel_head
+14,4 - bronze_chisel_head
+15,4 - alumite_chisel_head
+0,5 - steel_chisel_head
+1,5 - blueslime_chisel_head
+0,12 - wood_chisel_head_broken
+1,12 - stone_chisel_head_broken
+2,12 - iron_chisel_head_broken
+3,12 - flint_chisel_head_broken
+4,12 - cactus_chisel_head_broken
+5,12 - bone_chisel_head_broken
+6,12 - obsidian_chisel_head_broken
+7,12 - netherrack_chisel_head_broken
+8,12 - slime_chisel_head_broken
+9,12 - paper_chisel_head_broken
+10,12 - cobalt_chisel_head_broken
+11,12 - ardite_chisel_head_broken
+12,12 - manyullyn_chisel_head_broken
+13,12 - copper_chisel_head_broken
+14,12 - bronze_chisel_head_broken
+15,12 - alumite_chisel_head_broken
+0,13 - steel_chisel_head_broken
+1,13 - blueslime_chisel_head_broken
+0,14 - diamond_chisel_effect
+1,14 - emerald_chisel_effect
+2,14 - redstone_chisel_effect
+4,14 - moss_chisel_effect
+9,14 - electric_chisel_effect
\ No newline at end of file