Implement Boat#getWoodType and Boat#setWoodType(TreeSpecies)

This commit is contained in:
Matthew 2016-03-16 19:08:24 -04:00 committed by md_5
parent 8b69bdd0d1
commit 8cd69933c9

View file

@ -1,6 +1,7 @@
package org.bukkit.craftbukkit.entity; package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityBoat; import net.minecraft.server.EntityBoat;
import org.bukkit.TreeSpecies;
import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Boat; import org.bukkit.entity.Boat;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
@ -11,6 +12,16 @@ public class CraftBoat extends CraftVehicle implements Boat {
super(server, entity); 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() { public double getMaxSpeed() {
return getHandle().maxSpeed; return getHandle().maxSpeed;
} }
@ -60,4 +71,40 @@ public class CraftBoat extends CraftVehicle implements Boat {
public EntityType getType() { public EntityType getType() {
return EntityType.BOAT; 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;
}
}
} }