package com.dta.extracarts.mods.base.entities;
import com.dta.extracarts.mods.base.BaseModule;
import cpw.mods.fml.common.Optional;
import net.minecraft.block.Block;
import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.entity.item.EntityMinecartContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.inventory.InventoryEnderChest;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
@Optional.Interface(iface="mods.railcraft.api.carts.IMinecart", modid="RailcraftAPI|carts")
public class EntityEnderChestCart extends EntityMinecartContainer {
public EntityEnderChestCart(World world) {
super(world);
}
@Override
public int getSizeInventory() {
return 27;
}
@Override
public int getMinecartType() {
return 1;
}
@Override
public Block func_145817_o() {
return Blocks.ender_chest;
}
@Override
public void killMinecart(DamageSource par1DamageSource) {
super.killMinecart(par1DamageSource);
this.func_145778_a(Item.getItemFromBlock(Blocks.ender_chest), 1, 0.0F);
}
@Override
public boolean interactFirst(EntityPlayer player) {
InventoryEnderChest inventoryenderchest = player.getInventoryEnderChest();
if (!this.worldObj.isRemote && !player.isSneaking()) {
player.displayGUIChest(inventoryenderchest);
}
return true;
}
@Optional.Method(modid = "RailcraftAPI|carts")
public boolean doesCartMatchFilter(ItemStack stack, EntityMinecart cart) {
ItemStack CartStack = new ItemStack(BaseModule.EnderChestCart, 1, 0);
if (cart instanceof EntityEnderChestCart && stack.getItem() == CartStack.getItem()) {
return true;
}
return false;
}
}