From 76d5da14fd0679f3a6b2c4d197241d427512316a Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Fri, 7 Jan 2011 13:05:25 -0800 Subject: [PATCH] Implemented boat, fixed some event issues with minecarts, and implemented the events for boats that were implemented for minecarts. By: sk89q --- .../java/org/bukkit/craftbukkit/CraftBoat.java | 18 ++++++++++++++++++ .../org/bukkit/craftbukkit/CraftMinecart.java | 12 ------------ .../org/bukkit/craftbukkit/CraftVehicle.java | 14 ++++++++++++++ 3 files changed, 32 insertions(+), 12 deletions(-) create mode 100644 paper-server/src/main/java/org/bukkit/craftbukkit/CraftBoat.java diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftBoat.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftBoat.java new file mode 100644 index 000000000..dd3acb62d --- /dev/null +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftBoat.java @@ -0,0 +1,18 @@ +package org.bukkit.craftbukkit; + +import net.minecraft.server.EntityBoat; +import org.bukkit.Boat; + +/** + * A minecart. + * + * @author sk89q + */ +public class CraftBoat extends CraftVehicle implements Boat { + protected EntityBoat boat; + + public CraftBoat(CraftServer server, EntityBoat entity) { + super(server, entity); + boat = entity; + } +} diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftMinecart.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftMinecart.java index 583f7dbd1..0d55ad821 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftMinecart.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftMinecart.java @@ -1,9 +1,7 @@ package org.bukkit.craftbukkit; import net.minecraft.server.EntityMinecart; -import org.bukkit.LivingEntity; import org.bukkit.Minecart; -import org.bukkit.Vector; /** * A minecart. @@ -38,16 +36,6 @@ public class CraftMinecart extends CraftVehicle implements Minecart { minecart = entity; } - public Vector getVelocity() { - return new Vector(minecart.s, minecart.t, minecart.u); - } - - public void setVelocity(Vector vel) { - minecart.s = vel.getX(); - minecart.t = vel.getY(); - minecart.u = vel.getZ(); - } - public void setDamage(int damage) { minecart.a = damage; } diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftVehicle.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftVehicle.java index c978b8b7d..42671c13b 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftVehicle.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftVehicle.java @@ -1,6 +1,7 @@ package org.bukkit.craftbukkit; import org.bukkit.Entity; +import org.bukkit.Vector; import org.bukkit.Vehicle; /** @@ -9,8 +10,11 @@ import org.bukkit.Vehicle; * @author sk89q */ public abstract class CraftVehicle extends CraftEntity implements Vehicle { + private net.minecraft.server.Entity vehicle; + public CraftVehicle(CraftServer server, net.minecraft.server.Entity entity) { super(server, entity); + vehicle = entity; } public Entity getPassenger() { @@ -20,4 +24,14 @@ public abstract class CraftVehicle extends CraftEntity implements Vehicle { public boolean isEmpty() { return getHandle().j == null; } + + public Vector getVelocity() { + return new Vector(vehicle.s, vehicle.t, vehicle.u); + } + + public void setVelocity(Vector vel) { + vehicle.s = vel.getX(); + vehicle.t = vel.getY(); + vehicle.u = vel.getZ(); + } }