Andrew Ardill 2759809ecb Fix Craft Entity constructors and toStrings.
Also, standardise getHandle and clean up in general.
getHandle is now using the 'entity' member variable instead of
super.getHandle, as this reduces the number of chained calls needed.
2011-11-29 21:22:35 +11:00

85 lines
1.9 KiB
Java

package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityMinecart;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Minecart;
import org.bukkit.util.Vector;
public class CraftMinecart extends CraftVehicle implements Minecart {
/**
* Stores the minecart type id, which is used by Minecraft to differentiate
* minecart types. Here we use subclasses.
*/
public enum Type {
Minecart(0),
StorageMinecart(1),
PoweredMinecart(2);
private final int id;
private Type(int id) {
this.id = id;
}
public int getId() {
return id;
}
}
public CraftMinecart(CraftServer server, EntityMinecart entity) {
super(server, entity);
}
public void setDamage(int damage) {
getHandle().setDamage(damage);
}
public int getDamage() {
return getHandle().getDamage();
}
public double getMaxSpeed() {
return getHandle().maxSpeed;
}
public void setMaxSpeed(double speed) {
if (speed >= 0D) {
getHandle().maxSpeed = speed;
}
}
public boolean isSlowWhenEmpty() {
return getHandle().slowWhenEmpty;
}
public void setSlowWhenEmpty(boolean slow) {
getHandle().slowWhenEmpty = slow;
}
public Vector getFlyingVelocityMod() {
return getHandle().getFlyingVelocityMod();
}
public void setFlyingVelocityMod(Vector flying) {
getHandle().setFlyingVelocityMod(flying);
}
public Vector getDerailedVelocityMod() {
return getHandle().getDerailedVelocityMod();
}
public void setDerailedVelocityMod(Vector derailed) {
getHandle().setDerailedVelocityMod(derailed);
}
@Override
public EntityMinecart getHandle() {
return (EntityMinecart) entity;
}
@Override
public String toString() {
return "CraftMinecart";
}
}