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

package mods.railcraft.api.events;

import net.minecraftforge.fml.common.eventhandler.Event;
import net.minecraft.entity.item.EntityMinecart;

/**
 *
 * @author CovertJaguar <http://www.railcraft.info>
 */
public abstract class CartLockdownEvent extends Event {

    public final EntityMinecart cart;
    public final int x;
    public final int y;
    public final int z;

    private CartLockdownEvent(EntityMinecart cart, int x, int y, int z) {
        this.cart = cart;
        this.x = x;
        this.y = y;
        this.z = z;
    }

    /**
     * This event is posted every tick that a LockType Track (Lockdown, Holding,
     * Boarding) is holding onto a minecart.
     */
    public static class Lock extends CartLockdownEvent {

        public Lock(EntityMinecart cart, int x, int y, int z) {
            super(cart, x, y, z);
        }
    }

    /**
     * This event is posted every tick that a LockType Track (Lockdown, Holding,
     * Boarding) is releasing a minecart.
     */
    public static class Release extends CartLockdownEvent {

        public Release(EntityMinecart cart, int x, int y, int z) {
            super(cart, x, y, z);
        }
    }
}

@@ -351,99 +351,135 @@
 raft
-forge.fml.common.eventhandler.Event;%0Aimport net.minecraft.entity.item.EntityMinecar
+.entity.item.EntityMinecart;%0Aimport net.minecraft.util.BlockPos;%0Aimport net.minecraftforge.fml.common.eventhandler.Even
 t;%0A%0A/**%0A
  *%0A 
@@ -474,19 +474,16 @@
 t;%0A%0A/**%0A
- *%0A
  * @auth
@@ -646,61 +646,20 @@
 nal 
-int x;%0A    public final int y;%0A    public final int z
+BlockPos pos
 ;%0A%0A 
@@ -708,35 +708,28 @@
 t cart, 
-int x, int y, int z
+BlockPos pos
 ) %7B%0A    
@@ -767,53 +767,17 @@
 his.
-x = x;%0A        this.y = y;%0A        this.z = z
+pos = pos
 ;%0A  
@@ -1022,35 +1022,28 @@
 t cart, 
-int x, int y, int z
+BlockPos pos
 ) %7B%0A    
@@ -1054,39 +1054,35 @@
     super(cart, 
-x, y, z
+pos
 );%0A        %7D%0A   
@@ -1333,27 +1333,20 @@
 rt, 
-int x, int y, int z
+BlockPos pos
 ) %7B%0A
@@ -1373,15 +1373,11 @@
 rt, 
-x, y, z
+pos
 );%0A 

Convert CartLockdownEvent to BlockPos