Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 85 lines 2.1 kB view raw
1package org.bukkit.craftbukkit.entity; 2 3import net.minecraft.server.EntityMinecart; 4import org.bukkit.craftbukkit.CraftServer; 5import org.bukkit.entity.Minecart; 6import org.bukkit.util.Vector; 7 8public class CraftMinecart extends CraftVehicle implements Minecart { 9 /** 10 * Stores the minecart type id, which is used by Minecraft to differentiate 11 * minecart types. Here we use subclasses. 12 */ 13 public enum Type { 14 Minecart(0), StorageMinecart(1), PoweredMinecart(2); 15 16 private final int id; 17 18 private Type(int id) { 19 this.id = id; 20 } 21 22 public int getId() { 23 return id; 24 } 25 } 26 27 protected EntityMinecart minecart; 28 29 public CraftMinecart(CraftServer server, EntityMinecart entity) { 30 super(server, entity); 31 minecart = entity; 32 } 33 34 public void setDamage(int damage) { 35 minecart.damage = damage; 36 } 37 38 public int getDamage() { 39 return minecart.damage; 40 } 41 42 public double getMaxSpeed() { 43 return minecart.maxSpeed; 44 } 45 46 public void setMaxSpeed(double speed) { 47 if (speed >= 0D) { 48 minecart.maxSpeed = speed; 49 } 50 } 51 52 public boolean isSlowWhenEmpty() { 53 return minecart.slowWhenEmpty; 54 } 55 56 public void setSlowWhenEmpty(boolean slow) { 57 minecart.slowWhenEmpty = slow; 58 } 59 60 public Vector getFlyingVelocityMod() { 61 return new Vector(minecart.flyingX, minecart.flyingY, minecart.flyingZ); 62 } 63 64 public void setFlyingVelocityMod(Vector flying) { 65 minecart.flyingX = flying.getX(); 66 minecart.flyingY = flying.getY(); 67 minecart.flyingZ = flying.getZ(); 68 } 69 70 public Vector getDerailedVelocityMod() { 71 return new Vector(minecart.derailedX, minecart.derailedY, minecart.derailedZ); 72 } 73 74 public void setDerailedVelocityMod(Vector derailed) { 75 minecart.derailedX = derailed.getX(); 76 minecart.derailedY = derailed.getY(); 77 minecart.derailedZ = derailed.getZ(); 78 } 79 80 @Override 81 public String toString() { 82 return "CraftMinecart"; 83 } 84 85}