50 lines
1.9 KiB
Java
50 lines
1.9 KiB
Java
package net.minecraftforge.common;
|
|
|
|
import net.minecraft.util.AxisAlignedBB;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.entity.item.EntityMinecart;
|
|
|
|
/**
|
|
* This class defines a replacement for the default minecart collision code.
|
|
* Only one handler can be registered at a time. It it registered with EntityMinecart.registerCollisionHandler().
|
|
* If you use this, make it a configuration option.
|
|
* @author CovertJaguar
|
|
*/
|
|
public interface IMinecartCollisionHandler
|
|
{
|
|
|
|
/**
|
|
* This basically replaces the function of the same name in EnityMinecart.
|
|
* Code in IMinecartHooks.applyEntityCollisionHook is still run.
|
|
* @param cart The cart that called the collision.
|
|
* @param other The object it collided with.
|
|
*/
|
|
public void onEntityCollision(EntityMinecart cart, Entity other);
|
|
|
|
/**
|
|
* This function replaced the function of the same name in EntityMinecart.
|
|
* It is used to define whether minecarts collide with specific entities,
|
|
* for example items.
|
|
* @param cart The cart for which the collision box was requested.
|
|
* @param other The entity requesting the collision box.
|
|
* @return The collision box or null.
|
|
*/
|
|
public AxisAlignedBB getCollisionBox(EntityMinecart cart, Entity other);
|
|
|
|
/**
|
|
* This function is used to define the box used for detecting minecart collisions.
|
|
* It is generally bigger that the normal collision box.
|
|
* @param cart The cart for which the collision box was requested.
|
|
* @return The collision box, cannot be null.
|
|
*/
|
|
public AxisAlignedBB getMinecartCollisionBox(EntityMinecart cart);
|
|
|
|
/**
|
|
* This function replaces the function of the same name in EntityMinecart.
|
|
* It defines whether minecarts are solid to the player.
|
|
* @param cart The cart for which the bounding box was requested.
|
|
* @return The bounding box or null.
|
|
*/
|
|
public AxisAlignedBB getBoundingBox(EntityMinecart cart);
|
|
}
|
|
|