summaryrefslogtreecommitdiff
path: root/src/main/java/gmail/Lance5057/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gmail/Lance5057/com')
-rw-r--r--src/main/java/gmail/Lance5057/com/HeaterShield.java256
-rw-r--r--src/main/java/gmail/Lance5057/com/RoundShield.java249
-rw-r--r--src/main/java/gmail/Lance5057/com/RoyalGuard.java42
-rw-r--r--src/main/java/gmail/Lance5057/com/Shield.java121
-rw-r--r--src/main/java/gmail/Lance5057/com/mod_TinkersDefense.java312
-rw-r--r--src/main/java/gmail/Lance5057/com/moltenAeonsteelFluid.java59
-rw-r--r--src/main/java/gmail/Lance5057/com/moltenDogbeariumFluid.java59
-rw-r--r--src/main/java/gmail/Lance5057/com/moltenQueensGoldFluid.java59
8 files changed, 1157 insertions, 0 deletions
diff --git a/src/main/java/gmail/Lance5057/com/HeaterShield.java b/src/main/java/gmail/Lance5057/com/HeaterShield.java
new file mode 100644
index 0000000..13875bc
--- /dev/null
+++ b/src/main/java/gmail/Lance5057/com/HeaterShield.java
@@ -0,0 +1,256 @@
+package gmail.Lance5057.com;
+
+import java.util.List;
+import java.util.Random;
+
+import mods.battlegear2.api.ISheathed;
+import mods.battlegear2.api.shield.IArrowCatcher;
+import mods.battlegear2.api.shield.IArrowDisplay;
+import mods.battlegear2.api.shield.IShield;
+import mods.battlegear2.api.shield.ShieldType;
+import mods.battlegear2.utils.BattlegearConfig;
+import cpw.mods.fml.relauncher.*;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.IProjectile;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.projectile.EntityArrow;
+import net.minecraft.item.*;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.potion.*;
+import net.minecraft.util.DamageSource;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.World;
+import net.minecraftforge.event.entity.player.PlayerInteractEvent;
+import tconstruct.library.tools.*;
+import tconstruct.tools.TinkerTools;
+public class HeaterShield extends HarvestTool implements IShield, ISheathed, IArrowCatcher, IArrowDisplay
+{
+ int induceDamage = 0;
+public HeaterShield()
+{
+super(0);
+this.setUnlocalizedName("heatershield");
+}
+@Override
+public Item getHeadItem ()
+{
+return TinkerTools.largePlate;
+}
+@Override
+public Item getHandleItem ()
+{
+return TinkerTools.toughRod;
+}
+@Override
+public Item getAccessoryItem ()
+{
+return TinkerTools.largePlate;
+}
+@Override
+public Item getExtraItem ()
+{
+ return TinkerTools.toughBinding;
+}
+@Override
+public int durabilityTypeAccessory ()
+{
+return 2;
+}
+@Override
+public float getRepairCost ()
+{
+return 4.0f;
+}
+@Override
+public float getDurabilityModifier ()
+{
+return 2.5f;
+}
+@Override
+public float breakSpeedModifier ()
+{
+return 0.4f;
+}
+@Override
+public float getDamageModifier ()
+{
+return 1.4f;
+}
+@SideOnly(Side.CLIENT)
+@Override
+public int getRenderPasses (int metadata)
+{
+return 10;
+}
+@Override
+public int getPartAmount ()
+{
+return 4;
+}
+@Override
+public String getIconSuffix (int partType)
+{
+switch (partType)
+{
+case 0:
+return "_shield_face";
+case 1:
+return "_shield_face_broken";
+case 2:
+return "_shield_edge";
+case 3:
+return "_shield_face_other";
+case 4:
+return "_shield_binding";
+default:
+return "";
+}
+}
+@Override
+public String getEffectSuffix ()
+{
+return "_shield_effect";
+}
+@Override
+public String getDefaultFolder ()
+{
+return "heatershield";
+}
+/* tool_TinkerShield specific */
+@Override
+public boolean onLeftClickEntity (ItemStack stack, EntityPlayer player, Entity entity)
+{
+if (AbilityHelper.onLeftClickEntity(stack, player, entity, this))
+{
+entity.hurtResistantTime += 7;
+/*
+* if (entity instanceof EntityLiving) { EntityLiving living =
+* (EntityLiving) entity; if (living.getHealth() <= 0) {
+*
+* } }
+*/
+// if (entity.getHealth() <= 0)
+}
+return true;
+}
+@Override
+public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
+{
+super.onUpdate(stack, world, entity, par4, par5);
+
+}
+
+@Override
+public int getArrowCount(ItemStack stack)
+{
+ if(stack.hasTagCompound() && stack.getTagCompound().hasKey("arrows"))
+ {
+ return stack.getTagCompound().getShort("arrows");
+ }
+ else
+ return 0;
+}
+@Override
+public void setArrowCount(ItemStack stack, int count)
+{
+ if(!stack.hasTagCompound()){
+ stack.setTagCompound(new NBTTagCompound());
+ }
+ //Should never happen, you would need A LOT of arrows for this to happen
+ if(count > Short.MAX_VALUE){
+ count = Short.MAX_VALUE;
+ }
+ stack.getTagCompound().setShort("arrows", (short)count);
+}
+@Override
+public boolean catchArrow(ItemStack shield, EntityPlayer player, IProjectile arrow)
+{
+ if(arrow instanceof EntityArrow)
+ {
+ setArrowCount(shield, getArrowCount(shield)+1);
+ player.setArrowCountInEntity(player.getArrowCountInEntity() - 1);
+ ((EntityArrow)arrow).setDead();
+ return true;
+ }
+ return false;
+}
+@Override
+public boolean sheatheOnBack(ItemStack arg0) {
+ return true;
+}
+@Override
+public void blockAnimation(EntityPlayer player, float dmg)
+{
+ player.worldObj.playSoundAtEntity(player, "battlegear2:shield", 1, 1);
+}
+@Override
+public boolean canBlock(ItemStack shield, DamageSource source) {
+ return !source.isUnblockable();
+}
+@Override
+public int getBashTimer(ItemStack arg0) {
+ // TODO Auto-generated method stub
+ return 10;
+}
+@Override
+public float getBlockAngle(ItemStack arg0) {
+ // TODO Auto-generated method stub
+ return 60;
+}
+@Override
+public float getDamageDecayRate(ItemStack shield, float amount)
+{
+ return 0;
+}
+@Override
+public float getDamageReduction(ItemStack arg0, DamageSource arg1) {
+ return 1f;
+}
+@Override
+public float getDecayRate(ItemStack stack)
+{
+ NBTTagCompound tags = stack.getTagCompound();
+ float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") / 1.5f;
+ return 10f / recovery;
+}
+@Override
+public float getRecoveryRate(ItemStack stack)
+{
+ NBTTagCompound tags = stack.getTagCompound();
+ float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") / 1.5f;
+ return 10f / recovery;
+}
+
+@Override
+@SideOnly(Side.CLIENT)
+public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
+{
+ NBTTagCompound tags = par1ItemStack.getTagCompound();
+ super.addInformation(par1ItemStack, par2EntityPlayer, par3List, par4);
+ par3List.add("");
+ par3List.add(EnumChatFormatting.DARK_GREEN+
+ ItemStack.field_111284_a.format( 1F / (10f / (tags.getCompoundTag("InfiTool").getInteger("MiningSpeed")/1.5f)) / 20F)+
+ StatCollector.translateToLocal("attribute.shield.block.time"));
+ int arrowCount = getArrowCount(par1ItemStack);
+ if(arrowCount > 0)
+ {
+ par3List.add(String.format("%s%s %s", EnumChatFormatting.GOLD, arrowCount, StatCollector.translateToLocal("attribute.shield.arrow.count")));
+ }
+}
+@Override
+protected Material[] getEffectiveMaterials ()
+{
+ return materials;
+}
+ static Material[] materials = new Material[] { Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil, Material.circuits };
+
+@Override
+protected String getHarvestType() {
+ // TODO Auto-generated method stub
+ return "pickaxe";
+}
+} \ No newline at end of file
diff --git a/src/main/java/gmail/Lance5057/com/RoundShield.java b/src/main/java/gmail/Lance5057/com/RoundShield.java
new file mode 100644
index 0000000..9588542
--- /dev/null
+++ b/src/main/java/gmail/Lance5057/com/RoundShield.java
@@ -0,0 +1,249 @@
+package gmail.Lance5057.com;
+
+import java.util.List;
+import java.util.Random;
+
+import mods.battlegear2.api.ISheathed;
+import mods.battlegear2.api.shield.IArrowCatcher;
+import mods.battlegear2.api.shield.IArrowDisplay;
+import mods.battlegear2.api.shield.IShield;
+import mods.battlegear2.api.shield.ShieldType;
+import mods.battlegear2.utils.BattlegearConfig;
+import cpw.mods.fml.relauncher.*;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.IProjectile;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.projectile.EntityArrow;
+import net.minecraft.item.*;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.potion.*;
+import net.minecraft.util.DamageSource;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.World;
+import net.minecraftforge.event.entity.player.PlayerInteractEvent;
+import tconstruct.library.tools.*;
+import tconstruct.tools.TinkerTools;
+public class RoundShield extends HarvestTool implements IShield, ISheathed, IArrowCatcher, IArrowDisplay
+{
+ int induceDamage = 0;
+public RoundShield()
+{
+super(0);
+this.setUnlocalizedName("roundshield");
+}
+@Override
+public Item getHeadItem ()
+{
+return TinkerTools.largePlate;
+}
+@Override
+public Item getHandleItem ()
+{
+return TinkerTools.toolRod;
+}
+@Override
+public Item getAccessoryItem ()
+{
+return TinkerTools.frypanHead;
+}
+@Override
+public int durabilityTypeAccessory ()
+{
+return 2;
+}
+@Override
+public float getRepairCost ()
+{
+return 4.0f;
+}
+@Override
+public float getDurabilityModifier ()
+{
+return 2.5f;
+}
+@Override
+public float breakSpeedModifier ()
+{
+return 0.4f;
+}
+@Override
+public float getDamageModifier ()
+{
+return 1.4f;
+}
+@SideOnly(Side.CLIENT)
+@Override
+public int getRenderPasses (int metadata)
+{
+return 10;
+}
+@Override
+public int getPartAmount ()
+{
+return 3;
+}
+@Override
+public String getIconSuffix (int partType)
+{
+switch (partType)
+{
+case 0:
+return "_shield_face";
+case 1:
+return "_shield_face_broken";
+case 2:
+return "_shield_edge";
+case 3:
+return "_shield_boss";
+default:
+return "";
+}
+}
+@Override
+public String getEffectSuffix ()
+{
+return "_shield_effect";
+}
+@Override
+public String getDefaultFolder ()
+{
+return "shield";
+}
+/* tool_TinkerShield specific */
+@Override
+public boolean onLeftClickEntity (ItemStack stack, EntityPlayer player, Entity entity)
+{
+if (AbilityHelper.onLeftClickEntity(stack, player, entity, this))
+{
+entity.hurtResistantTime += 7;
+/*
+* if (entity instanceof EntityLiving) { EntityLiving living =
+* (EntityLiving) entity; if (living.getHealth() <= 0) {
+*
+* } }
+*/
+// if (entity.getHealth() <= 0)
+}
+return true;
+}
+@Override
+public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
+{
+super.onUpdate(stack, world, entity, par4, par5);
+
+}
+
+@Override
+public int getArrowCount(ItemStack stack)
+{
+ if(stack.hasTagCompound() && stack.getTagCompound().hasKey("arrows"))
+ {
+ return stack.getTagCompound().getShort("arrows");
+ }
+ else
+ return 0;
+}
+@Override
+public void setArrowCount(ItemStack stack, int count)
+{
+ if(!stack.hasTagCompound()){
+ stack.setTagCompound(new NBTTagCompound());
+ }
+ //Should never happen, you would need A LOT of arrows for this to happen
+ if(count > Short.MAX_VALUE){
+ count = Short.MAX_VALUE;
+ }
+ stack.getTagCompound().setShort("arrows", (short)count);
+}
+@Override
+public boolean catchArrow(ItemStack shield, EntityPlayer player, IProjectile arrow)
+{
+ if(arrow instanceof EntityArrow)
+ {
+ setArrowCount(shield, getArrowCount(shield)+1);
+ player.setArrowCountInEntity(player.getArrowCountInEntity() - 1);
+ ((EntityArrow)arrow).setDead();
+ return true;
+ }
+ return false;
+}
+@Override
+public boolean sheatheOnBack(ItemStack arg0) {
+ return true;
+}
+@Override
+public void blockAnimation(EntityPlayer player, float dmg)
+{
+ player.worldObj.playSoundAtEntity(player, "battlegear2:shield", 1, 1);
+}
+@Override
+public boolean canBlock(ItemStack shield, DamageSource source) {
+ return !source.isUnblockable();
+}
+@Override
+public int getBashTimer(ItemStack arg0) {
+ // TODO Auto-generated method stub
+ return 10;
+}
+@Override
+public float getBlockAngle(ItemStack arg0) {
+ // TODO Auto-generated method stub
+ return 60;
+}
+@Override
+public float getDamageDecayRate(ItemStack shield, float amount)
+{
+ return 2;
+}
+@Override
+public float getDamageReduction(ItemStack arg0, DamageSource arg1) {
+ return 1f;
+}
+@Override
+public float getDecayRate(ItemStack stack)
+{
+ NBTTagCompound tags = stack.getTagCompound();
+ float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed");
+ return 10f / recovery * 2;
+}
+@Override
+public float getRecoveryRate(ItemStack stack)
+{
+ NBTTagCompound tags = stack.getTagCompound();
+ float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed");
+ return 10f / recovery * 2;
+}
+
+@Override
+@SideOnly(Side.CLIENT)
+public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
+{
+ NBTTagCompound tags = par1ItemStack.getTagCompound();
+ super.addInformation(par1ItemStack, par2EntityPlayer, par3List, par4);
+ par3List.add("");
+ par3List.add(EnumChatFormatting.DARK_GREEN+
+ ItemStack.field_111284_a.format( 1F / (10f / tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") * 2) / 20F)+
+ StatCollector.translateToLocal("attribute.shield.block.time"));
+ int arrowCount = getArrowCount(par1ItemStack);
+ if(arrowCount > 0)
+ {
+ par3List.add(String.format("%s%s %s", EnumChatFormatting.GOLD, arrowCount, StatCollector.translateToLocal("attribute.shield.arrow.count")));
+ }
+}
+@Override
+protected Material[] getEffectiveMaterials ()
+{
+ return materials;
+}
+ static Material[] materials = new Material[] { Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil, Material.circuits };
+
+@Override
+protected String getHarvestType() {
+ // TODO Auto-generated method stub
+ return "pickaxe";
+}
+} \ No newline at end of file
diff --git a/src/main/java/gmail/Lance5057/com/RoyalGuard.java b/src/main/java/gmail/Lance5057/com/RoyalGuard.java
new file mode 100644
index 0000000..3510c18
--- /dev/null
+++ b/src/main/java/gmail/Lance5057/com/RoyalGuard.java
@@ -0,0 +1,42 @@
+package gmail.Lance5057.com;
+
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
+import tconstruct.library.client.TConstructClientRegistry;
+import tconstruct.library.crafting.ToolBuilder;
+import tconstruct.library.tools.Weapon;
+
+import java.util.List;
+
+public abstract class RoyalGuard extends Weapon {
+ public RoyalGuard() {
+ super(10);
+ }
+
+@Override
+public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) {
+super.addInformation(stack, player, list, par4);
+list.add(EnumChatFormatting.DARK_PURPLE + "Artisan crafted for the royal family");
+}
+@Override
+public void getSubItems(Item id, CreativeTabs tab, List list)
+{
+ super.getSubItems(id, tab, list);
+
+ ItemStack tool = ToolBuilder.instance.buildTool(new ItemStack(getHeadItem(), 1, 2), new ItemStack(getHandleItem(), 1, 6), new ItemStack(getAccessoryItem(), 1, 33), "Royal Guard");
+ NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool");
+ tags.setInteger("Modifiers", 0);
+ tags.setInteger("Attack", 15);
+ tags.setInteger("TotalDurability", Integer.MAX_VALUE / 100);
+ tags.setInteger("BaseDurability", Integer.MAX_VALUE / 100);
+ tags.setInteger("MiningSpeed", Integer.MAX_VALUE / 100);
+ tags.setInteger("Unbreaking", 10);
+ tags.setBoolean("Built", true);
+ tags.setInteger("Fortune", 450);
+ list.add(tool);
+}
+} \ No newline at end of file
diff --git a/src/main/java/gmail/Lance5057/com/Shield.java b/src/main/java/gmail/Lance5057/com/Shield.java
new file mode 100644
index 0000000..0cfa33c
--- /dev/null
+++ b/src/main/java/gmail/Lance5057/com/Shield.java
@@ -0,0 +1,121 @@
+package gmail.Lance5057.com;
+
+import tconstruct.library.tools.ToolCore;
+import cpw.mods.fml.relauncher.*;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.entity.EntityPlayerSP;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.*;
+import net.minecraft.world.World;
+
+public abstract class Shield extends ToolCore
+{
+public Shield(int baseDamage)
+{
+super(baseDamage);
+}
+protected float baseSpeed ()
+{
+return 1.5f;
+}
+protected float effectiveSpeed ()
+{
+return 15f;
+}
+public float breakSpeedModifier ()
+{
+return 1.0f;
+}
+@Override
+public float getDigSpeed (ItemStack stack, Block block, int meta)
+{
+if (stack.getTagCompound().getCompoundTag("InfiTool").getBoolean("Broken"))
+return 0.1f;
+for (int i = 0; i < web.length; i++)
+{
+if (web[i] == block.getMaterial())
+{
+return effectiveSpeed();
+}
+}
+return baseSpeed();
+}
+/**
+* returns the action that specifies what animation to play when the items
+* is being used
+*/
+@Override
+public EnumAction getItemUseAction (ItemStack par1ItemStack)
+{
+return EnumAction.block;
+}
+/**
+* How long it takes to use or consume an item
+*/
+@Override
+public int getMaxItemUseDuration (ItemStack par1ItemStack)
+{
+return 72000;
+}
+/**
+* Called whenever this item is equipped and the right mouse button is
+* pressed. Args: itemStack, world, entityPlayer
+*/
+@Override
+public ItemStack onItemRightClick (ItemStack stack, World world, EntityPlayer player)
+{
+player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
+return stack;
+}
+@Override
+public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float clickX, float clickY, float clickZ)
+{
+return false;
+}
+/**
+* Returns if the item (tool) can harvest results from the block type.
+*/
+@Override
+public boolean canHarvestBlock (Block block, ItemStack is)
+{
+for (int i = 0; i < web.length; i++)
+{
+if (block.getMaterial() == web[i])
+return true;
+}
+return super.canHarvestBlock(block, is);
+}
+protected Material[] getEffectiveMaterials ()
+{
+return web;
+}
+@Override
+@SideOnly(Side.CLIENT)
+public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
+{
+super.onUpdate(stack, world, entity, par4, par5);
+if (entity instanceof EntityPlayerSP)
+{
+EntityPlayerSP player = (EntityPlayerSP) entity;
+ItemStack usingItem = player.getItemInUse();
+if (usingItem != null && usingItem.getItem() == this)
+{
+player.movementInput.moveForward *= 2.5F;
+player.movementInput.moveStrafe *= 2.5F;
+}
+}
+}
+@Override
+public String[] getTraits ()
+{
+return new String[] { "Shield", "melee" };
+}
+public static Material[] web = new Material[] { Material.web, Material.cloth, Material.coral, Material.cake };
+public static Material[] none = new Material[0];
+protected String getHarvestType() {
+ // TODO Auto-generated method stub
+ return null;
+}
+} \ No newline at end of file
diff --git a/src/main/java/gmail/Lance5057/com/mod_TinkersDefense.java b/src/main/java/gmail/Lance5057/com/mod_TinkersDefense.java
new file mode 100644
index 0000000..60e4ee1
--- /dev/null
+++ b/src/main/java/gmail/Lance5057/com/mod_TinkersDefense.java
@@ -0,0 +1,312 @@
+package gmail.Lance5057.com;
+
+
+
+
+import static net.minecraft.util.EnumChatFormatting.DARK_RED;
+import static net.minecraft.util.EnumChatFormatting.GOLD;
+import static net.minecraft.util.EnumChatFormatting.LIGHT_PURPLE;
+import gmail.Lance5057.blocks.AeonSteelBlock;
+import gmail.Lance5057.blocks.CrestMount;
+import gmail.Lance5057.blocks.DogbeariumBlock;
+import gmail.Lance5057.blocks.QueensGoldBlock;
+import gmail.Lance5057.blocks.TileEntity_CrestMount;
+import gmail.Lance5057.items.AeonSteelIngot;
+import gmail.Lance5057.items.DogbeariumIngot;
+import gmail.Lance5057.items.QueensGoldIngot;
+import gmail.Lance5057.items.TinkerArmor;
+import gmail.Lance5057.proxy.CommonProxy;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemArmor.ArmorMaterial;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import tconstruct.TConstruct;
+import tconstruct.library.TConstructRegistry;
+import tconstruct.library.client.TConstructClientRegistry;
+import tconstruct.library.client.ToolGuiElement;
+import tconstruct.library.crafting.PatternBuilder;
+import tconstruct.library.crafting.Smeltery;
+import tconstruct.library.tools.ToolCore;
+import tconstruct.smeltery.TinkerSmeltery;
+import tconstruct.tools.TinkerTools;
+import cpw.mods.fml.common.Mod;
+import cpw.mods.fml.common.Mod.EventHandler;
+import cpw.mods.fml.common.SidedProxy;
+import cpw.mods.fml.common.event.FMLInitializationEvent;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import cpw.mods.fml.common.registry.GameRegistry;
+
+@Mod(modid="tinkersdefense", version="1.0")
+public class mod_TinkersDefense
+{
+public static String MODID = "tinkersdefense";
+public static String VERSION = "1.0";
+
+public static CreativeTabs tabName = new CreativeTabs("tabName")
+{
+public Item getTabIconItem()
+{
+return Items.arrow;
+}
+};
+
+public static Item item_AeonSteelIngot;
+public static Block block_AeonSteelBlock;
+
+public static Fluid moltenAeonsteel;
+public static Block moltenAeonsteelBlock;
+
+public static Item item_QueensGoldIngot;
+public static Block block_QueensGoldBlock;
+
+public static Fluid moltenQueensGold;
+public static Block moltenQueensGoldBlock;
+
+public static Item item_DogbeariumIngot;
+public static Block block_DogbeariumBlock;
+
+public static Fluid moltenDogbearium;
+public static Block moltenDogbeariumBlock;
+
+public static ToolCore tool_roundShield;
+public static ToolCore tool_heaterShield;
+
+public static Block block_CrestMount;
+
+public static Item item_TinkerArmor;
+
+@SidedProxy(clientSide = "gmail.Lance5057.proxy.ClientProxy", serverSide = "gmail.Lance5057.proxy.CommonProxy")
+public static CommonProxy proxy;
+
+@EventHandler
+public void preInit(FMLPreInitializationEvent e)
+{
+ //Renderers
+ proxy.registerRenderers();
+
+ //AeonSteel
+ item_AeonSteelIngot = new AeonSteelIngot()
+ .setCreativeTab(tabName)
+ .setMaxStackSize(64)
+ .setUnlocalizedName("AeonSteelIngot")
+ .setTextureName(MODID+":AeonSteelIngot");
+
+ GameRegistry.registerItem(item_AeonSteelIngot, "AeonSteel Ingot");
+
+ block_AeonSteelBlock = new AeonSteelBlock(Material.iron)
+ .setHardness(4.0F)
+ .setStepSound(Block.soundTypeMetal)
+ .setBlockName("AeonSteelBlock")
+ .setCreativeTab(tabName)
+ .setBlockTextureName(MODID+":AeonSteelBlock");
+
+ GameRegistry.registerBlock(block_AeonSteelBlock, "aeonsteelblock");
+
+ GameRegistry.addShapedRecipe(new ItemStack(block_AeonSteelBlock), new Object[] {"xxx", "xxx","xxx",
+ 'x', item_AeonSteelIngot});
+ GameRegistry.addShapelessRecipe(new ItemStack(item_AeonSteelIngot,9),new Object[] {new ItemStack(block_AeonSteelBlock)});
+
+ moltenAeonsteel = new Fluid("moltenAeonsteel").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
+ FluidRegistry.registerFluid(moltenAeonsteel);
+
+ moltenAeonsteelFluid moltenAeonsteelBlock = new moltenAeonsteelFluid(moltenAeonsteel);
+
+ GameRegistry.registerBlock(moltenAeonsteelBlock, "moltenaeonsteel");
+
+ //Queen's Gold
+ item_QueensGoldIngot = new QueensGoldIngot()
+ .setCreativeTab(tabName)
+ .setMaxStackSize(64)
+ .setUnlocalizedName("QueensGoldIngot")
+ .setTextureName(MODID+":QueensGoldIngot");
+
+ GameRegistry.registerItem(item_QueensGoldIngot, "Queen's Gold Ingot");
+
+ block_QueensGoldBlock = new QueensGoldBlock(Material.iron)
+ .setHardness(4.0F)
+ .setStepSound(Block.soundTypeMetal)
+ .setBlockName("QueensGoldBlock")
+ .setCreativeTab(tabName)
+ .setBlockTextureName(MODID+":QueensGoldBlock");
+
+ GameRegistry.registerBlock(block_QueensGoldBlock, "QueensGoldblock");
+
+ GameRegistry.addShapedRecipe(new ItemStack(block_QueensGoldBlock), new Object[] {"xxx", "xxx","xxx",
+ 'x', item_QueensGoldIngot});
+ GameRegistry.addShapelessRecipe(new ItemStack(item_QueensGoldIngot,9),new Object[] {new ItemStack(block_QueensGoldBlock)});
+
+
+ moltenQueensGold = new Fluid("moltenQueensGold").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
+ FluidRegistry.registerFluid(moltenQueensGold);
+
+ moltenQueensGoldFluid moltenQueensGoldBlock = new moltenQueensGoldFluid(moltenQueensGold);
+
+ GameRegistry.registerBlock(moltenQueensGoldBlock, "moltenQueensGold");
+
+ //Dogbearium
+ item_DogbeariumIngot = new DogbeariumIngot()
+ .setCreativeTab(tabName)
+ .setMaxStackSize(64)
+ .setUnlocalizedName("DogbeariumIngot")
+ .setTextureName(MODID+":DogbeariumIngot");
+
+ GameRegistry.registerItem(item_DogbeariumIngot, "DogbeariumIngot");
+
+ block_DogbeariumBlock = new DogbeariumBlock(Material.iron)
+ .setHardness(4.0F)
+ .setStepSound(Block.soundTypeMetal)
+ .setBlockName("DogbeariumBlock")
+ .setCreativeTab(tabName)
+ .setBlockTextureName(MODID+":DogbeariumBlock");
+
+ GameRegistry.registerBlock(block_DogbeariumBlock, "Dogbeariumblock");
+
+ GameRegistry.addShapedRecipe(new ItemStack(block_DogbeariumBlock), new Object[] {"xxx", "xxx","xxx",
+ 'x', item_DogbeariumIngot});
+ GameRegistry.addShapelessRecipe(new ItemStack(item_DogbeariumIngot,9),new Object[] {new ItemStack(block_DogbeariumBlock)});
+
+
+ moltenDogbearium = new Fluid("moltenDogbearium").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
+ FluidRegistry.registerFluid(moltenDogbearium);
+
+ moltenDogbeariumFluid moltenDogbeariumBlock = new moltenDogbeariumFluid(moltenDogbearium);
+
+ GameRegistry.registerBlock(moltenDogbeariumBlock, "moltenDogbearium");
+
+ tool_roundShield = new RoundShield();
+ tool_heaterShield = new HeaterShield();
+
+ GameRegistry.registerItem(tool_roundShield, "Round Shield");
+ GameRegistry.registerItem(tool_heaterShield, "Heater Shield");
+ TConstructRegistry.addItemToDirectory("Round Shield", tool_roundShield);
+ TConstructRegistry.addItemToDirectory("Heater Shield", tool_heaterShield);
+
+ block_CrestMount = new CrestMount()
+ .setHardness(4.0F)
+ .setStepSound(Block.soundTypeMetal)
+ .setBlockName("CrestMount")
+ .setCreativeTab(tabName);
+
+ GameRegistry.registerTileEntity(TileEntity_CrestMount.class, "Tile_CrestMount");
+ GameRegistry.registerBlock(block_CrestMount, "Block_CrestMount");
+
+ item_TinkerArmor = new TinkerArmor(ArmorMaterial.IRON, 4, 1).setUnlocalizedName("Tinker_Armor");
+ GameRegistry.registerItem(item_TinkerArmor,"Tinker Armor");
+}
+
+@EventHandler
+public void init(FMLInitializationEvent e)
+{
+ System.out.print(MODID);
+ PatternBuilder pb = PatternBuilder.instance;
+ pb.registerMaterialSet("AeonSteel", new ItemStack(TinkerTools.toolShard, 1, 10), new ItemStack(TinkerTools.toolRod, 1, 10), 10);
+ // Tool Materials: id, name, harvestlevel, durability, speed, damage, handlemodifier, reinforced, shoddy, style color, primary color for block use
+ //Aeonsteel
+ TConstructClientRegistry.addMaterialRenderMapping(201, "tinker", "aeonsteel", true);
+ TConstructRegistry.addToolMaterial(201, "AeonSteel", 4, 822, 1100, 3, 1.6F, 2, 0f, LIGHT_PURPLE.toString(), 0xb565e6);
+ TinkerTools.registerPatternMaterial("AeonSteelIngot", 2, "AeonSteel");
+ TConstructRegistry.addDefaultToolPartMaterial(201);
+
+ Smeltery.addMelting(new ItemStack(item_AeonSteelIngot, 1, 0), block_AeonSteelBlock, 0, 500, new FluidStack(moltenAeonsteel, TConstruct.ingotLiquidValue));
+ Smeltery.addMelting(block_AeonSteelBlock, 0, 500, new FluidStack(moltenAeonsteel, TConstruct.ingotLiquidValue*9));
+
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(item_AeonSteelIngot, 1, 0), new FluidStack(moltenAeonsteel, TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50);
+
+ TConstructRegistry.instance.getBasinCasting().addCastingRecipe(new ItemStack(block_AeonSteelBlock, 1, 0), new FluidStack(moltenAeonsteel, TConstruct.ingotLiquidValue*9), 100);
+
+ castMolten(moltenAeonsteel, 201);
+
+ PatternBuilder.instance.registerFullMaterial(new ItemStack(item_AeonSteelIngot, 1, 0), 2, "Aeonsteel", new ItemStack(TinkerTools.toolShard, 1, 201), new ItemStack(TinkerTools.toolRod, 1, 201), 201);
+
+ Smeltery.addAlloyMixing(new FluidStack(moltenAeonsteel, 144), new FluidStack[] { new FluidStack(TinkerSmeltery.moltenAlumiteFluid, 144), new FluidStack(TinkerSmeltery.moltenCobaltFluid, 144) });
+ //Queen's Gold
+ TConstructClientRegistry.addMaterialRenderMapping(202, "tinker", "queensgold", true);
+ TConstructRegistry.addToolMaterial(202, "QueensGold", 3, 100, 500, 2, 1.0F, 0, 0f, GOLD.toString(), 0xeaee57);
+ TinkerTools.registerPatternMaterial("QueensGoldIngot", 2, "QueensGold");
+ TConstructRegistry.addDefaultToolPartMaterial(202);
+
+ Smeltery.addMelting(new ItemStack(item_QueensGoldIngot, 1, 0), block_QueensGoldBlock, 0, 500, new FluidStack(moltenQueensGold, TConstruct.ingotLiquidValue));
+ Smeltery.addMelting(block_QueensGoldBlock, 0, 500, new FluidStack(moltenQueensGold, TConstruct.ingotLiquidValue*9));
+
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(item_QueensGoldIngot, 1, 0), new FluidStack(moltenQueensGold, TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50);
+
+ TConstructRegistry.instance.getBasinCasting().addCastingRecipe(new ItemStack(block_QueensGoldBlock, 1, 0), new FluidStack(moltenQueensGold, TConstruct.ingotLiquidValue*9), 100);
+
+ castMolten(moltenQueensGold, 202);
+
+ PatternBuilder.instance.registerFullMaterial(new ItemStack(item_QueensGoldIngot, 1, 0), 2, "QueensGold", new ItemStack(TinkerTools.toolShard, 1, 202), new ItemStack(TinkerTools.toolRod, 1, 202), 202);
+
+ Smeltery.addAlloyMixing(new FluidStack(moltenQueensGold, 144*8), new FluidStack[] { new FluidStack(TinkerSmeltery.moltenGoldFluid, 144*8), new FluidStack(TinkerSmeltery.moltenEmeraldFluid, 80) });
+
+ // Tool Materials: id, name, harvestlevel, durability, speed, damage, handlemodifier, reinforced, shoddy, style color, primary color for block use
+ //Dogbearium
+ TConstructClientRegistry.addMaterialRenderMapping(201, "tinker", "Dogbearium", true);
+ TConstructRegistry.addToolMaterial(203, "Dogbearium", 4, 600, 800, 2, 1.6F, 0, -2f, DARK_RED.toString(), 0x754200);
+ TinkerTools.registerPatternMaterial("DogbeariumIngot", 2, "Dogbearium");
+ TConstructRegistry.addDefaultToolPartMaterial(203);
+
+ Smeltery.addMelting(new ItemStack(item_DogbeariumIngot, 1, 0), block_DogbeariumBlock, 0, 500, new FluidStack(moltenDogbearium, TConstruct.ingotLiquidValue));
+ Smeltery.addMelting(block_DogbeariumBlock, 0, 500, new FluidStack(moltenDogbearium, TConstruct.ingotLiquidValue*9));
+
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(item_DogbeariumIngot, 1, 0), new FluidStack(moltenDogbearium, TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50);
+
+ TConstructRegistry.instance.getBasinCasting().addCastingRecipe(new ItemStack(block_DogbeariumBlock, 1, 0), new FluidStack(moltenDogbearium, TConstruct.ingotLiquidValue*9), 100);
+
+ castMolten(moltenDogbearium, 203);
+
+ PatternBuilder.instance.registerFullMaterial(new ItemStack(item_DogbeariumIngot, 1, 0), 2, "Dogbearium", new ItemStack(TinkerTools.toolShard, 1, 203), new ItemStack(TinkerTools.toolRod, 1, 203), 203);
+
+ Smeltery.addAlloyMixing(new FluidStack(moltenDogbearium, 144*2), new FluidStack[] { new FluidStack(TinkerSmeltery.moltenArditeFluid, 144), new FluidStack(TinkerSmeltery.bloodFluid, 160), new FluidStack(TinkerSmeltery.moltenEnderFluid,250) });
+
+ //Shields
+ TConstructRegistry.addToolRecipe(tool_roundShield, TinkerTools.largePlate, TinkerTools.toolRod, TinkerTools.frypanHead);
+
+ TConstructRegistry.addToolRecipe(tool_heaterShield, TinkerTools.largePlate, TinkerTools.toughRod, TinkerTools.largePlate, TinkerTools.toughBinding);
+}
+
+@EventHandler
+public void postInit(FMLPostInitializationEvent e)
+{
+ TConstructClientRegistry.toolButtons.add(TConstructClientRegistry.toolButtons.size(),
+ new ToolGuiElement(1, 0, 0, new int[] { 9, 0, 4, 0 }, new int[] { 2, 3, 2, 0 }, "Round Shield", "A simple shield with average durability and average defense.", "tinkersdefense", "textures/gui/icons.png"));
+ TConstructClientRegistry.tierTwoButtons.add(TConstructClientRegistry.tierTwoButtons.size(),
+ new ToolGuiElement(5, 0, 0, new int[] { 9, 8, 9, 9 }, new int[] { 2, 3, 2, 3 }, "Heater Shield", "An advanced shield with high durability and high defense.", "tinkersdefense", "textures/gui/icons.png"));
+}
+
+public void castMolten(Fluid fluid, int ID)
+{
+ //.addCastingRecipe(output, fluid, cast, hardeningDelay)
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.toolRod, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("toolRodCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.pickaxeHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("pickaxeHeadCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.shovelHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("shovelHeadCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.hatchetHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("hatchetHeadCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.swordBlade, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("swordBladeCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.fullGuard, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("fullGuardCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.wideGuard, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("wideGuardCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.crossbar, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("crossbarCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.binding, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("bindingCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.handGuard, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("handGuardCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.frypanHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("frypanHeadCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.signHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("signHeadCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.knifeBlade, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("knifeBladeCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.chiselHead, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("chiselHeadCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.toughRod, 1, ID),new FluidStack(fluid, (int) (144*3.0D)), TConstructRegistry.getItemStack("toughRodCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.toughBinding, 1, ID),new FluidStack(fluid, (int) (144*3.0D)), TConstructRegistry.getItemStack("toughBindingCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.largePlate, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("largePlateCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.broadAxeHead, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("broadAxeHeadCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.scytheBlade, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("scytheHeadCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.excavatorHead, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("excavatorHeadCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.largeSwordBlade, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("largeBladeCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.hammerHead, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("hammerHeadCast"),50);
+ TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.arrowhead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("arrowheadCast"),50);
+
+
+}
+} \ No newline at end of file
diff --git a/src/main/java/gmail/Lance5057/com/moltenAeonsteelFluid.java b/src/main/java/gmail/Lance5057/com/moltenAeonsteelFluid.java
new file mode 100644
index 0000000..b18f981
--- /dev/null
+++ b/src/main/java/gmail/Lance5057/com/moltenAeonsteelFluid.java
@@ -0,0 +1,59 @@
+package gmail.Lance5057.com;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import java.util.Locale;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.util.IIcon;
+import net.minecraftforge.fluids.BlockFluidClassic;
+import net.minecraftforge.fluids.Fluid;
+
+public class moltenAeonsteelFluid
+ extends BlockFluidClassic
+{
+ private IIcon stillIcon;
+ private IIcon flowingIcon;
+ private String stillIconTexture = "molten_Aeonsteel";
+ private String flowIconTexture = "molten_Aeonsteel_flow";
+
+ public moltenAeonsteelFluid(Fluid fluid)
+ {
+ super(fluid, Material.lava);
+ setLightLevel(100.0F);
+ setHardness(1.0F);
+ setBlockName("MoltenAeonSteel");
+
+ this.stillIconTexture = ("tinkersdefense:" + stillIconTexture);
+ this.flowIconTexture = ("tinkersdefense:" + flowIconTexture);
+ }
+
+ @SideOnly(Side.CLIENT)
+ public void func_149651_a(IIconRegister icon)
+ {
+ this.stillIcon = icon.registerIcon(this.stillIconTexture);
+ this.flowingIcon = icon.registerIcon(this.flowIconTexture);
+
+ getFluid().setIcons(this.stillIcon, this.flowingIcon);
+ }
+
+ public IIcon getStillIcon()
+ {
+ return this.stillIcon;
+ }
+
+ public IIcon getFlowingIcon()
+ {
+ return this.flowingIcon;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public IIcon func_149691_a(int side, int meta)
+ {
+ if (side <= 1) {
+ return this.stillIcon;
+ }
+ return this.flowingIcon;
+ }
+}
diff --git a/src/main/java/gmail/Lance5057/com/moltenDogbeariumFluid.java b/src/main/java/gmail/Lance5057/com/moltenDogbeariumFluid.java
new file mode 100644
index 0000000..b9d91af
--- /dev/null
+++ b/src/main/java/gmail/Lance5057/com/moltenDogbeariumFluid.java
@@ -0,0 +1,59 @@
+package gmail.Lance5057.com;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import java.util.Locale;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.util.IIcon;
+import net.minecraftforge.fluids.BlockFluidClassic;
+import net.minecraftforge.fluids.Fluid;
+
+public class moltenDogbeariumFluid
+ extends BlockFluidClassic
+{
+ private IIcon stillIcon;
+ private IIcon flowingIcon;
+ private String stillIconTexture = "molten_Dogbearium";
+ private String flowIconTexture = "molten_Dogbearium_flow";
+
+ public moltenDogbeariumFluid(Fluid fluid)
+ {
+ super(fluid, Material.lava);
+ setLightLevel(100.0F);
+ setHardness(1.0F);
+ setBlockName("MoltenDogbearium");
+
+ this.stillIconTexture = ("tinkersdefense:" + stillIconTexture);
+ this.flowIconTexture = ("tinkersdefense:" + flowIconTexture);
+ }
+
+ @SideOnly(Side.CLIENT)
+ public void func_149651_a(IIconRegister icon)
+ {
+ this.stillIcon = icon.registerIcon(this.stillIconTexture);
+ this.flowingIcon = icon.registerIcon(this.flowIconTexture);
+
+ getFluid().setIcons(this.stillIcon, this.flowingIcon);
+ }
+
+ public IIcon getStillIcon()
+ {
+ return this.stillIcon;
+ }
+
+ public IIcon getFlowingIcon()
+ {
+ return this.flowingIcon;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public IIcon func_149691_a(int side, int meta)
+ {
+ if (side <= 1) {
+ return this.stillIcon;
+ }
+ return this.flowingIcon;
+ }
+}
diff --git a/src/main/java/gmail/Lance5057/com/moltenQueensGoldFluid.java b/src/main/java/gmail/Lance5057/com/moltenQueensGoldFluid.java
new file mode 100644
index 0000000..dc55f19
--- /dev/null
+++ b/src/main/java/gmail/Lance5057/com/moltenQueensGoldFluid.java
@@ -0,0 +1,59 @@
+package gmail.Lance5057.com;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import java.util.Locale;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.util.IIcon;
+import net.minecraftforge.fluids.BlockFluidClassic;
+import net.minecraftforge.fluids.Fluid;
+
+public class moltenQueensGoldFluid
+ extends BlockFluidClassic
+{
+ private IIcon stillIcon;
+ private IIcon flowingIcon;
+ private String stillIconTexture = "molten_QueensGold";
+ private String flowIconTexture = "molten_QueensGold_flow";
+
+ public moltenQueensGoldFluid(Fluid fluid)
+ {
+ super(fluid, Material.lava);
+ setLightLevel(100.0F);
+ setHardness(1.0F);
+ setBlockName("MoltenQueensGold");
+
+ this.stillIconTexture = ("tinkersdefense:" + stillIconTexture);
+ this.flowIconTexture = ("tinkersdefense:" + flowIconTexture);
+ }
+
+ @SideOnly(Side.CLIENT)
+ public void func_149651_a(IIconRegister icon)
+ {
+ this.stillIcon = icon.registerIcon(this.stillIconTexture);
+ this.flowingIcon = icon.registerIcon(this.flowIconTexture);
+
+ getFluid().setIcons(this.stillIcon, this.flowingIcon);
+ }
+
+ public IIcon getStillIcon()
+ {
+ return this.stillIcon;
+ }
+
+ public IIcon getFlowingIcon()
+ {
+ return this.flowingIcon;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public IIcon func_149691_a(int side, int meta)
+ {
+ if (side <= 1) {
+ return this.stillIcon;
+ }
+ return this.flowingIcon;
+ }
+}