summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java
index 103b9d45..af66b90a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java
@@ -1,6 +1,7 @@
package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityBoat;
+import org.bukkit.TreeSpecies;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Boat;
import org.bukkit.entity.EntityType;
@@ -11,6 +12,16 @@ public class CraftBoat extends CraftVehicle implements Boat {
super(server, entity);
}
+ @Override
+ public TreeSpecies getWoodType() {
+ return getTreeSpecies(getHandle().r()); // PAIL: Rename getType
+ }
+
+ @Override
+ public void setWoodType(TreeSpecies species) {
+ getHandle().a(getBoatType(species)); // PAIL: Rename setType
+ }
+
public double getMaxSpeed() {
return getHandle().maxSpeed;
}
@@ -60,4 +71,40 @@ public class CraftBoat extends CraftVehicle implements Boat {
public EntityType getType() {
return EntityType.BOAT;
}
+
+ public static TreeSpecies getTreeSpecies(EntityBoat.EnumBoatType boatType) {
+ switch (boatType) {
+ case SPRUCE:
+ return TreeSpecies.REDWOOD;
+ case BIRCH:
+ return TreeSpecies.BIRCH;
+ case JUNGLE:
+ return TreeSpecies.JUNGLE;
+ case ACACIA:
+ return TreeSpecies.ACACIA;
+ case DARK_OAK:
+ return TreeSpecies.DARK_OAK;
+ case OAK:
+ default:
+ return TreeSpecies.GENERIC;
+ }
+ }
+
+ public static EntityBoat.EnumBoatType getBoatType(TreeSpecies species) {
+ switch (species) {
+ case REDWOOD:
+ return EntityBoat.EnumBoatType.SPRUCE;
+ case BIRCH:
+ return EntityBoat.EnumBoatType.BIRCH;
+ case JUNGLE:
+ return EntityBoat.EnumBoatType.JUNGLE;
+ case ACACIA:
+ return EntityBoat.EnumBoatType.ACACIA;
+ case DARK_OAK:
+ return EntityBoat.EnumBoatType.DARK_OAK;
+ case GENERIC:
+ default:
+ return EntityBoat.EnumBoatType.OAK;
+ }
+ }
}