/*
 * ******************************************************************************
 *  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 net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;

/**
 * Should be implemented by any rail item class that wishes to have
 * it's rails placed by for example the Tunnel Bore or Track Relayer.
 *
 * If you defined your rails with a TrackSpec, you don't need to worry about this.
 *
 * @author CovertJaguar <http://www.railcraft.info>
 */
public interface ITrackItem
{

    /**
     * Attempts to place a track.
     *
     * @param stack
     * @param world The World object
     * @param i x-Coord
     * @param j y-Coord
     * @param k z-Coord
     * @return true if successful
     */
    public boolean placeTrack(ItemStack stack, World world, int i, int j, int k);

    /**
     * Return the block of a placed track.
     *
     * @return the blockId
     */
    public Block getPlacedBlock();

    /**
     * Return true if the given tile entity corresponds to this Track item.
     *
     * If the track has no tile entity, return true on null.
     *
     * @param stack
     * @param tile
     * @return
     */
    public boolean isPlacedTileEntity(ItemStack stack, TileEntity tile);
}

@@ -446,16 +446,52 @@
 Entity;%0A
+import net.minecraft.util.BlockPos;%0A
 import n
@@ -657,24 +657,29 @@
  Relayer.%0A *
+ %3Cp/%3E
 %0A * If you d
@@ -836,17 +836,17 @@
 rackItem
-%0A
+ 
 %7B%0A%0A    /
@@ -964,65 +964,26 @@
 ram 
-i x-Coord%0A     * @param j y-Coord%0A     * @param k z-Coord
+pos   the position
 %0A   
@@ -1017,39 +1017,32 @@
 ful%0A     */%0A    
-public 
 boolean placeTra
@@ -1078,27 +1078,20 @@
 ld, 
-int i, int j, int k
+BlockPos pos
 );%0A%0A
@@ -1187,23 +1187,16 @@
  */%0A    
-public 
 Block ge
@@ -1294,32 +1294,37 @@
 ack item.%0A     *
+ %3Cp/%3E
 %0A     * If the t
@@ -1442,23 +1442,16 @@
  */%0A    
-public 
 boolean 

Update ITrackItem interface