// Path: src/main/java/com/dta/extracarts/mods/base/BaseModule.java
// public class BaseModule extends Module {
// 	public static Item EnderChestCart;
// 
// 	@Override
// 	public String getModuleName() {
// 		return "Base";
// 	}
// 
// 	@Override
// 	public void init(FMLPreInitializationEvent event) {
// 		EnderChestCart = new ItemEnderChestCart();
// 		GameRegistry.registerItem(EnderChestCart, ModInfo.MODID + "_" + EnderChestCart.getUnlocalizedName().substring(5));
// 	}
// 
// 	@Override
// 	public void load(FMLInitializationEvent event) {
// 		GameRegistry.addShapelessRecipe(new ItemStack(EnderChestCart, 1, 0), Blocks.ender_chest, Items.minecart);
// 		EntityRegistry.registerModEntity(EntityEnderChestCart.class, "EntityEnderChestCart", 0, ExtraCarts.instance, 80, 3, true);
// 	}
// }


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;
	}

	@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) {
// Path: src/main/java/com/dta/extracarts/mods/base/BaseModule.java
// public class BaseModule extends Module {
// 	public static Item EnderChestCart;
// 
// 	@Override
// 	public String getModuleName() {
// 		return "Base";
// 	}
// 
// 	@Override
// 	public void init(FMLPreInitializationEvent event) {
// 		EnderChestCart = new ItemEnderChestCart();
// 		GameRegistry.registerItem(EnderChestCart, ModInfo.MODID + "_" + EnderChestCart.getUnlocalizedName().substring(5));
// 	}
// 
// 	@Override
// 	public void load(FMLInitializationEvent event) {
// 		GameRegistry.addShapelessRecipe(new ItemStack(EnderChestCart, 1, 0), Blocks.ender_chest, Items.minecart);
// 		EntityRegistry.registerModEntity(EntityEnderChestCart.class, "EntityEnderChestCart", 0, ExtraCarts.instance, 80, 3, true);
// 	}
// }


// Path: src/main/java/com/dta/extracarts/mods/base/entities/EntityEnderChestCart.java
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;

	}

	@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);