/*
 * ******************************************************************************
 *  Copyright 2011-2015 CovertJaguar
 *
 *  This work (the API) is licensed under the "MIT" License, see LICENSE.md for details.
 * ***************************************************************************
 */

package mods.railcraft.api.core.items;

import com.mojang.authlib.GameProfile;
import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;

/**
 * This interface should be implemented by any cart item,
 * but it is generally optional.
 *
 * @author CovertJaguar <http://www.railcraft.info>
 */
public interface IMinecartItem
{

    /**
     * Controls whether this cart item can be placed by the Cart and Train Dispensers.
     *
     * Generally, you can ignore the placeCart() function if this returns false.
     *
     * @param cart
     * @return true if it can be placed, false otherwise
     */
    public boolean canBePlacedByNonPlayer(ItemStack cart);

    /**
     * Places a cart at the specified location.
     *
     * Implementing this function is optional.
     *
     * @param owner the name of the player placing the cart or "[MyMod]" with the brackets
     * @param cart An ItemStack that contains the cart
     * @param world The World
     * @param i x-Coord
     * @param j y-Coord
     * @param k z-Coord
     * @return the cart placed or null if failed
     */
    public EntityMinecart placeCart(GameProfile owner, ItemStack cart, World world, int i, int j, int k);
}

@@ -456,16 +456,52 @@
 mStack;%0A
+import net.minecraft.util.BlockPos;%0A
 import n
@@ -711,17 +711,17 @@
 cartItem
-%0A
+ 
 %7B%0A%0A    /
@@ -808,32 +808,37 @@
 spensers.%0A     *
+ %3Cp/%3E
 %0A     * Generall
@@ -914,27 +914,8 @@
   *%0A
-     * @param cart%0A
     
@@ -979,23 +979,16 @@
  */%0A    
-public 
 boolean 
@@ -1082,32 +1082,37 @@
 location.%0A     *
+ %3Cp/%3E
 %0A     * Implemen
@@ -1260,16 +1260,17 @@
 am cart 
+ 
 An ItemS
@@ -1331,80 +1331,8 @@
 rld%0A
-     * @param i x-Coord%0A     * @param j y-Coord%0A     * @param k z-Coord%0A
     
@@ -1388,23 +1388,16 @@
  */%0A    
-public 
 EntityMi
@@ -1465,27 +1465,20 @@
 ld, 
-int i, int j, int k
+BlockPos pos
 );%0A%7D

Fix IMinecraftItem