From cc9f2e45fbb084d99c231bb045a368c54d932c40 Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Sat, 12 Feb 2011 00:25:48 -0500 Subject: [PATCH] Added MaxSpeed methods to minecards. Added MaxSpeed methods to boats. Added SlowWhenEmpty, FlyingMod, and DerailedMod methods to minecarts. Signed-off-by: afforess By: afforess --- .../src/main/java/org/bukkit/entity/Boat.java | 13 ++++ .../main/java/org/bukkit/entity/Minecart.java | 63 ++++++++++++++++++- 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/paper-api/src/main/java/org/bukkit/entity/Boat.java b/paper-api/src/main/java/org/bukkit/entity/Boat.java index 9cb3b810cb..1565cd81f6 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Boat.java +++ b/paper-api/src/main/java/org/bukkit/entity/Boat.java @@ -6,4 +6,17 @@ package org.bukkit.entity; * @author sk89q */ public interface Boat extends Vehicle { + /** + * Gets the maximum speed of a boat. The speed is unrelated to the velocity. + * + * @param speed + */ + public double getMaxSpeed(); + + /** + * Sets the maximum speed of a boat. Must be nonnegative. Default is 0.4D. + * + * @param speed + */ + public void setMaxSpeed(double speed); } diff --git a/paper-api/src/main/java/org/bukkit/entity/Minecart.java b/paper-api/src/main/java/org/bukkit/entity/Minecart.java index d4469a4c2d..71a84c0458 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Minecart.java +++ b/paper-api/src/main/java/org/bukkit/entity/Minecart.java @@ -1,5 +1,7 @@ package org.bukkit.entity; +import org.bukkit.util.Vector; + /** * Represents a minecart entity. * @@ -12,11 +14,70 @@ public interface Minecart extends Vehicle { * @param damage over 40 to "kill" a minecart */ public void setDamage(int damage); - + /** * Gets a minecart's damage. * * @param damage */ public int getDamage(); + + /** + * Gets the maximum speed of a minecart. The speed is unrelated to the velocity. + * + * @param speed + */ + public double getMaxSpeed(); + + /** + * Sets the maximum speed of a minecart. Must be nonnegative. Default is 0.4D. + * + * @param speed + */ + public void setMaxSpeed(double speed); + + /** + * Returns whether this minecart will slow down faster without a passenger occupying it + * + */ + public boolean isSlowWhenEmpty(); + + /** + * Sets whether this minecart will slow down faster without a passenger occupying it + * + * @param slow + */ + public void setSlowWhenEmpty(boolean slow); + + /** + * Gets the flying velocity modifier. Used for minecarts that are in mid-air. + * A flying minecart's velocity is multiplied by this factor each tick. + * + * @param flying velocity modifier + */ + public Vector getFlyingVelocityMod(); + + /** + * Sets the flying velocity modifier. Used for minecarts that are in mid-air. + * A flying minecart's velocity is multiplied by this factor each tick. + * + * @param flying velocity modifier + */ + public void setFlyingVelocityMod(Vector flying); + + /** + * Gets the derailed velocity modifier. Used for minecarts that are on the ground, but not on rails. + * + * A derailed minecart's velocity is multiplied by this factor each tick. + * @param visible speed + */ + public Vector getDerailedVelocityMod(); + + /** + * Sets the derailed velocity modifier. Used for minecarts that are on the ground, but not on rails. + * A derailed minecart's velocity is multiplied by this factor each tick. + * + * @param visible speed + */ + public void setDerailedVelocityMod(Vector derailed); }