2013-06-12 19:36:40 -07:00

819 lines
35 KiB
Java

package mods.tinker.tconstruct.util;
import java.util.ArrayList;
import java.util.Random;
import mods.tinker.tconstruct.TConstruct;
import mods.tinker.tconstruct.blocks.logic.LiquidTextureLogic;
import mods.tinker.tconstruct.common.TContent;
import mods.tinker.tconstruct.event.ToolCraftEvent;
import mods.tinker.tconstruct.library.crafting.PatternBuilder;
import mods.tinker.tconstruct.library.crafting.Smeltery;
import mods.tinker.tconstruct.library.crafting.ToolBuilder;
import mods.tinker.tconstruct.modifiers.ModAttack;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.boss.EntityWither;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntityGhast;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.monster.EntitySpider;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.monster.IMob;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.entity.passive.EntityCow;
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.EnumMovingObjectType;
import net.minecraft.world.World;
import net.minecraftforge.event.Event.Result;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.entity.living.LivingSpawnEvent;
import net.minecraftforge.event.entity.player.FillBucketEvent;
import net.minecraftforge.liquids.LiquidStack;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.OreDictionary.OreRegisterEvent;
public class TEventHandler
{
Random random = new Random();
/* Crafting */
@ForgeSubscribe
public void craftTool (ToolCraftEvent event)
{
if (event.tool == TContent.hammer)
{
event.toolTag.setInteger("Smite", 2);
}
if (event.tool == TContent.cleaver)
{
event.toolTag.setInteger("Beheading", 2);
}
}
/* Interact */
/*@ForgeSubscribe
public void interact (PlayerInteractEvent event)
{
if (event.action == Action.RIGHT_CLICK_BLOCK)// && !event.entityPlayer.worldObj.isRemote)
{
List<Skill> skills = TConstruct.playerTracker.getPlayerStats(event.entityPlayer.username).skillList;
if (skills.size() > 0)
{
Skill walls = TConstruct.playerTracker.getPlayerStats(event.entityPlayer.username).skillList.get(0);
walls.rightClickActivate(event.entityPlayer, event.entityPlayer.worldObj);
}
}
}*/
/*@ForgeSubscribe
public void onHurt (LivingHurtEvent event)
{
if (event.source instanceof EntityDamageSource && event.source.damageType.equals("explosion.player") && ((EntityDamageSource) event.source).getEntity() instanceof NitroCreeper)
{
if (event.entityLiving.worldObj.difficultySetting == 3)
event.ammount /= 2.3;
else
event.ammount /= 1.5;
}
}*/
/* Drops */
@ForgeSubscribe
public void onLivingDrop (LivingDropsEvent event)
{
if (random.nextInt(500) == 0 && event.entityLiving instanceof IMob && event.entityLiving.dimension == 0)
{
ItemStack dropStack = new ItemStack(TContent.heartCanister, 1, 1);
EntityItem entityitem = new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, dropStack);
entityitem.delayBeforeCanPickup = 10;
event.drops.add(entityitem);
}
if (event.entityLiving instanceof EntityWither && random.nextInt(5) == 0)
{
ItemStack dropStack = new ItemStack(TContent.heartCanister, 1, 1);
EntityItem entityitem = new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, dropStack);
entityitem.delayBeforeCanPickup = 10;
event.drops.add(entityitem);
}
if (event.entityLiving.worldObj.getGameRules().getGameRuleBooleanValue("doMobLoot"))
{
if (!event.entityLiving.isChild())
{
if (event.entityLiving.getClass() == EntityCow.class)
{
int amount = random.nextInt(3) + random.nextInt(1 + event.lootingLevel) + random.nextInt(3) + random.nextInt(1 + event.lootingLevel) + 1;
for (int iter = 0; iter < amount; ++iter)
{
addDrops(event, new ItemStack(Item.leather, 1));
}
}
else if (event.entityLiving.getClass() == EntityChicken.class)
{
int amount = random.nextInt(3) + random.nextInt(1 + event.lootingLevel) + random.nextInt(3) + random.nextInt(1 + event.lootingLevel) + 1;
for (int iter = 0; iter < amount; ++iter)
{
addDrops(event, new ItemStack(Item.feather, 1));
}
}
}
if (event.recentlyHit)
{
if (event.entityLiving.getClass() == EntitySkeleton.class)
{
EntitySkeleton enemy = (EntitySkeleton) event.entityLiving;
if (event.source.damageType.equals("player"))
{
EntityPlayer player = (EntityPlayer) event.source.getEntity();
ItemStack stack = player.getCurrentEquippedItem();
if (stack.hasTagCompound())
{
int beheading = stack.getTagCompound().getCompoundTag("InfiTool").getInteger("Beheading");
if (beheading > 0 && random.nextInt(100) < beheading * 10)
{
addDrops(event, new ItemStack(Item.skull.itemID, 1, enemy.getSkeletonType()));
}
}
}
if (enemy.getSkeletonType() == 1 && random.nextInt(Math.max(1, 5 - event.lootingLevel)) == 0)
{
addDrops(event, new ItemStack(TContent.materials, 1, 8));
}
}
if (event.entityLiving.getClass() == EntityZombie.class)
{
EntityZombie enemy = (EntityZombie) event.entityLiving;
if (event.source.damageType.equals("player"))
{
EntityPlayer player = (EntityPlayer) event.source.getEntity();
ItemStack stack = player.getCurrentEquippedItem();
if (stack.hasTagCompound())
{
int beheading = stack.getTagCompound().getCompoundTag("InfiTool").getInteger("Beheading");
if (beheading > 0 && random.nextInt(100) < beheading * 10)
{
addDrops(event, new ItemStack(Item.skull.itemID, 1, 2));
}
}
/*if (stack.getItem() == TContent.breakerBlade && random.nextInt(100) < 10) //Swap out for real beheading
{
addDrops(event, new ItemStack(Item.skull.itemID, 1, 2));
}*/
}
}
if (event.entityLiving.getClass() == EntityCreeper.class)
{
EntityCreeper enemy = (EntityCreeper) event.entityLiving;
if (event.source.damageType.equals("player"))
{
EntityPlayer player = (EntityPlayer) event.source.getEntity();
ItemStack stack = player.getCurrentEquippedItem();
if (stack.hasTagCompound())
{
int beheading = stack.getTagCompound().getCompoundTag("InfiTool").getInteger("Beheading");
if (beheading > 0 && random.nextInt(100) < beheading * 5)
{
addDrops(event, new ItemStack(Item.skull.itemID, 1, 4));
}
}
}
}
if (event.entityLiving instanceof EntityPlayer)
{
EntityPlayer enemy = (EntityPlayer) event.entityLiving;
if (event.source.damageType.equals("player"))
{
EntityPlayer player = (EntityPlayer) event.source.getEntity();
ItemStack stack = player.getCurrentEquippedItem();
if (stack.hasTagCompound())
{
int beheading = stack.getTagCompound().getCompoundTag("InfiTool").getInteger("Beheading");
if (beheading > 0 && random.nextInt(100) < beheading * 50)
{
ItemStack dropStack = new ItemStack(Item.skull.itemID, 1, 3);
NBTTagCompound nametag = new NBTTagCompound();
nametag.setString("SkullOwner", enemy.username);
addDrops(event, dropStack);
}
}
}
}
}
else if (event.entityLiving.getClass() == EntityGhast.class)
{
addDrops(event, new ItemStack(Item.ghastTear, 1));
}
}
}
void addDrops (LivingDropsEvent event, ItemStack dropStack)
{
EntityItem entityitem = new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, dropStack);
entityitem.delayBeforeCanPickup = 10;
event.drops.add(entityitem);
}
/*@ForgeSubscribe
public void onLivingSpawn (EntityJoinWorldEvent event)
{
if (event.entity instanceof EntityXPOrb)
{
System.out.println("Entity: " + event.entity);
}
}*/
@ForgeSubscribe
public void onLivingSpawn (LivingSpawnEvent.SpecialSpawn event)
{
if (event.entityLiving.getClass() == EntitySpider.class && random.nextInt(100) == 0)
{
EntityCreeper creeper = new EntityCreeper(event.entityLiving.worldObj);
spawnEntity(event.entityLiving.posX, event.entityLiving.posY + 1, event.entityLiving.posZ, creeper, event.entityLiving.worldObj);
creeper.mountEntity(event.entityLiving);
}
}
public static void spawnEntity (double x, double y, double z, Entity entity, World world)
{
if (!world.isRemote)
{
entity.setPosition(x, y, z);
((EntityLiving) entity).initCreature();
world.spawnEntityInWorld(entity);
}
}
/* Ore Dictionary */
@ForgeSubscribe
public void registerOre (OreRegisterEvent evt)
{
if (evt.Name == "battery")
TConstruct.content.modE.batteries.add(evt.Ore);
else if (evt.Name == "basicCircuit")
TConstruct.content.modE.circuits.add(evt.Ore);
else if (evt.Name == "plankWood")
{
PatternBuilder.instance.registerMaterial(evt.Ore, 2, "Wood");
}
else if (evt.Name == "crystalQuartz")
{
ToolBuilder.instance.registerToolMod(new ModAttack("Quartz", new ItemStack[] { evt.Ore }, 11, 2));
}
else if (evt.Name == "crystalCerusQuartz")
{
ToolBuilder.instance.registerToolMod(new ModAttack("Quartz", new ItemStack[] { evt.Ore }, 11, 24));
}
//Ingots
else if (evt.Name == "ingotCopper")
{
PatternBuilder.instance.registerMaterial(evt.Ore, 2, "Copper");
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 2));
}
else if (evt.Name == "ingotTin")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 5, 175, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 3));
}
else if (evt.Name == "ingotBronze")
{
PatternBuilder.instance.registerMaterial(evt.Ore, 2, "Bronze");
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 4, 500, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 7));
}
else if (evt.Name == "ingotCobalt")
{
PatternBuilder.instance.registerMaterial(evt.Ore, 2, "Cobalt");
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 0, 650, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 5));
}
else if (evt.Name == "ingotArdite")
{
PatternBuilder.instance.registerMaterial(evt.Ore, 2, "Ardite");
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 1, 650, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 6));
}
else if (evt.Name == "ingotManyullyn")
{
PatternBuilder.instance.registerMaterial(evt.Ore, 2, "Manyullyn");
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 2, 750, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 9));
}
else if (evt.Name == "ingotNaturalAluminum")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 4));
}
else if (evt.Name == "naturalAluminum")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 4));
}
else if (evt.Name == "ingotAluminumBrass")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 7, 350, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 8));
}
else if (evt.Name == "ingotAlumite")
{
PatternBuilder.instance.registerMaterial(evt.Ore, 2, "Alumite");
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 8, 500, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 10));
}
else if (evt.Name == "ingotSteel")
{
PatternBuilder.instance.registerMaterial(evt.Ore, 2, "Steel");
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 12));
}
//Ores
else if (evt.Name == "oreCopper")
{
Smeltery.addMelting(evt.Ore, 550, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 2));
}
else if (evt.Name == "oreTin")
{
Smeltery.addMelting(evt.Ore, 275, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 3));
}
else if (evt.Name == "oreNaturalAluminum")
{
Smeltery.addMelting(evt.Ore, 350, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 4));
}
else if (evt.Name == "oreCobalt")
{
Smeltery.addMelting(evt.Ore, 750, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 5));
}
else if (evt.Name == "oreArdite")
{
Smeltery.addMelting(evt.Ore, 750, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 6));
}
//Blocks
else if (evt.Name == "blockCopper")
{
Smeltery.addMelting(evt.Ore, 550, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 2));
}
else if (evt.Name == "blockTin")
{
Smeltery.addMelting(evt.Ore, 275, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 3));
}
else if (evt.Name == "blockBronze")
{
Smeltery.addMelting(evt.Ore, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 7));
}
else if (evt.Name == "blockNaturalAluminum")
{
Smeltery.addMelting(evt.Ore, 350, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 4));
}
else if (evt.Name == "blockCobalt")
{
Smeltery.addMelting(evt.Ore, 750, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 5));
}
else if (evt.Name == "blockArdite")
{
Smeltery.addMelting(evt.Ore, 750, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 6));
}
else if (evt.Name == "blockManyullyn")
{
Smeltery.addMelting(evt.Ore, 800, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 9));
}
else if (evt.Name == "blockAluminumBrass")
{
Smeltery.addMelting(evt.Ore, 350, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 8));
}
else if (evt.Name == "blockAlumite")
{
Smeltery.addMelting(evt.Ore, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 10));
}
else if (evt.Name == "blockSteel")
{
Smeltery.addMelting(evt.Ore, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 12));
}
//Dust
else if (evt.Name == "dustCopper")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 2));
}
else if (evt.Name == "dustTin")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 5, 175, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 3));
}
else if (evt.Name == "dustBronze")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 4, 500, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 7));
}
else if (evt.Name == "dustCobalt")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 0, 650, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 5));
}
else if (evt.Name == "dustArdite")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 1, 650, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 6));
}
else if (evt.Name == "dustManyullyn")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 2, 750, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 9));
}
else if (evt.Name == "dustAluminum")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 4));
}
else if (evt.Name == "dustNaturalAluminum")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 4));
}
else if (evt.Name == "dustAluminumBrass")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 7, 350, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 8));
}
else if (evt.Name == "dustAlumite")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 8, 500, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 10));
}
else if (evt.Name == "dustSteel")
{
Smeltery.addMelting(new ItemStack(evt.Ore.itemID, 2, evt.Ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue, 12));
}
}
public void unfuxOreDictionary () //TODO: This isn't the best
{
ArrayList<ItemStack> ores = OreDictionary.getOres("ingotCopper");
for (ItemStack ore : ores)
{
PatternBuilder.instance.registerMaterial(ore, 2, "Copper");
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
2));
}
ores = OreDictionary.getOres("ingotTin");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 5, 175, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
3));
}
ores = OreDictionary.getOres("ingotBronze");
for (ItemStack ore : ores)
{
PatternBuilder.instance.registerMaterial(ore, 2, "Bronze");
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 4, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
7));
}
ores = OreDictionary.getOres("ingotCobalt");
for (ItemStack ore : ores)
{
PatternBuilder.instance.registerMaterial(ore, 2, "Cobalt");
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 0, 650, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
5));
}
ores = OreDictionary.getOres("ingotArdite");
for (ItemStack ore : ores)
{
PatternBuilder.instance.registerMaterial(ore, 2, "Ardite");
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 1, 650, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
6));
}
ores = OreDictionary.getOres("ingotManyullyn");
for (ItemStack ore : ores)
{
PatternBuilder.instance.registerMaterial(ore, 2, "Manyullyn");
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 2, 750, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
9));
}
ores = OreDictionary.getOres("naturalAluminum");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
4));
}
ores = OreDictionary.getOres("ingotNaturalAluminum");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
4));
}
ores = OreDictionary.getOres("ingotAluminumBrass");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 7, 350, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
8));
}
ores = OreDictionary.getOres("ingotAlumite");
for (ItemStack ore : ores)
{
PatternBuilder.instance.registerMaterial(ore, 2, "Alumite");
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 8, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
10));
}
ores = OreDictionary.getOres("ingotSteel");
for (ItemStack ore : ores)
{
PatternBuilder.instance.registerMaterial(ore, 2, "Steel");
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
12));
}
ores = OreDictionary.getOres("oreCopper");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 550, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 2));
}
ores = OreDictionary.getOres("oreTin");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 275, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 3));
}
ores = OreDictionary.getOres("oreNaturalAluminum");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 350, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 4));
}
ores = OreDictionary.getOres("oreCobalt");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 750, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 5));
}
ores = OreDictionary.getOres("oreArdite");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 750, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 2, 6));
}
ores = OreDictionary.getOres("blockCopper");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 550, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 2));
}
ores = OreDictionary.getOres("blockTin");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 275, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 3));
}
ores = OreDictionary.getOres("blockBronze");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 7));
}
ores = OreDictionary.getOres("blockNaturalAluminum");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 350, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 4));
}
ores = OreDictionary.getOres("blockCobalt");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 750, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 5));
}
ores = OreDictionary.getOres("blockArdite");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 750, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 6));
}
ores = OreDictionary.getOres("blockManyullyn");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 800, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 9));
}
ores = OreDictionary.getOres("blockAluminumBrass");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 350, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 8));
}
ores = OreDictionary.getOres("blockAlumite");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 10));
}
ores = OreDictionary.getOres("blockSteel");
for (ItemStack ore : ores)
{
Smeltery.addMelting(ore, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue * 9, 12));
}
ores = OreDictionary.getOres("dustCopper");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
2));
}
ores = OreDictionary.getOres("dustTin");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 5, 175, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
3));
}
ores = OreDictionary.getOres("dustBronze");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 4, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
7));
}
ores = OreDictionary.getOres("dustCobalt");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 0, 650, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
5));
}
ores = OreDictionary.getOres("dustArdite");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 1, 650, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
6));
}
ores = OreDictionary.getOres("dustManyullyn");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 2, 750, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
9));
}
ores = OreDictionary.getOres("dustNaturalAluminum");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
4));
}
ores = OreDictionary.getOres("dustAluminumBrass");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 7, 350, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
8));
}
ores = OreDictionary.getOres("dustAlumite");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 8, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
10));
}
ores = OreDictionary.getOres("dustSteel");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 9, 500, new LiquidStack(TContent.liquidMetalStill.blockID, TConstruct.ingotLiquidValue,
12));
}
ores = OreDictionary.getOres("nuggetIron");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue / 9, 2));
}
ores = OreDictionary.getOres("nuggetCopper");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 3, 450, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue / 9, 2));
}
ores = OreDictionary.getOres("nuggetTin");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 5, 175, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue / 9, 3));
}
ores = OreDictionary.getOres("nuggetNaturalAluminum");
for (ItemStack ore : ores)
{
Smeltery.addMelting(new ItemStack(ore.itemID, 2, ore.getItemDamage()), TContent.metalBlock.blockID, 6, 250, new LiquidStack(TContent.liquidMetalStill.blockID,
TConstruct.ingotLiquidValue / 9, 4));
}
}
@ForgeSubscribe
public void bucketFill (FillBucketEvent evt)
{
if (evt.current.getItem() == Item.bucketEmpty && evt.target.typeOfHit == EnumMovingObjectType.TILE)
{
int hitX = evt.target.blockX;
int hitY = evt.target.blockY;
int hitZ = evt.target.blockZ;
if (evt.entityPlayer != null && !evt.entityPlayer.canPlayerEdit(hitX, hitY, hitZ, evt.target.sideHit, evt.current))
{
return;
}
int bID = evt.world.getBlockId(hitX, hitY, hitZ);
int meta = -1;
if (bID == TContent.liquidMetalStill.blockID)
{
LiquidTextureLogic logic = (LiquidTextureLogic) evt.world.getBlockTileEntity(hitX, hitY, hitZ);
meta = logic.getLiquidType();
}
if (meta != -1)
{
evt.world.setBlockToAir(hitX, hitY, hitZ); //Set air block
evt.result = new ItemStack(TContent.buckets, 1, meta);
evt.setResult(Result.ALLOW);
}
}
}
}