package com.dta.extracarts.mods.ironchest.events;
import net.minecraft.entity.item.EntityMinecartChest;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.minecart.MinecartInteractEvent;
import com.dta.extracarts.mods.ironchest.entities.EntityCopperChestCart;
import com.dta.extracarts.mods.ironchest.entities.EntityIronChestCart;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;
public class ECEventHandler {
private Item WoodIronUpgrade = GameRegistry.findItem("IronChest", "woodIronUpgrade");
private Item WoodCopperUpgrade = GameRegistry.findItem("IronChest", "woodCopperUpgrade");
@SubscribeEvent
public void MinecartInteractEvent(MinecartInteractEvent event) {
if (event.entity instanceof EntityMinecartChest) {
ItemStack curItem = event.player.getCurrentEquippedItem();
EntityMinecartChest oldCart = (EntityMinecartChest) event.entity;
if (curItem != null && curItem.getItem() == WoodIronUpgrade) {
EntityIronChestCart ironCart = new EntityIronChestCart(oldCart.worldObj);
ironCart.copyDataFrom(event.entity, true);
ironCart.setDisplayTileData(0);
if (!event.entity.worldObj.isRemote) {
oldCart.worldObj.spawnEntityInWorld(ironCart);
}
for (int i = 0; i < oldCart.getSizeInventory(); i++) {
oldCart.setInventorySlotContents(i, null);
}
oldCart.setDead();
event.player.destroyCurrentEquippedItem();
event.setCanceled(true);
} else if (curItem != null && curItem.getItem() == WoodCopperUpgrade) {
EntityCopperChestCart copperCart = new EntityCopperChestCart(oldCart.worldObj);
copperCart.copyDataFrom(event.entity, true);
copperCart.setDisplayTileData(3);
if (!event.entity.worldObj.isRemote) {
oldCart.worldObj.spawnEntityInWorld(copperCart);
}
for (int i = 0; i < oldCart.getSizeInventory(); i++) {
oldCart.setInventorySlotContents(i, null);
}
oldCart.setDead();
event.player.destroyCurrentEquippedItem();
event.setCanceled(true);
}
}
}
}