diff options
Diffstat (limited to 'src')
12 files changed, 222 insertions, 24 deletions
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java index 6fb6bb4a..86d1baa2 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -222,6 +222,11 @@ public enum Material { QUARTZ_STAIRS(156, Stairs.class), ACTIVATOR_RAIL(157, PoweredRail.class), DROPPER(158, Dispenser.class), + STAINED_CLAY(159), + HAY_BLOCK(170), + CARPET(171), + HARD_CLAY(172), + COAL_BLOCK(173), // ----- Item Separator ----- IRON_SPADE(256, 1, 250), IRON_PICKAXE(257, 1, 250), @@ -382,6 +387,11 @@ public enum Material { QUARTZ(406), EXPLOSIVE_MINECART(407, 1), HOPPER_MINECART(408, 1), + IRON_BARDING(417, 1), + GOLD_BARDING(418, 1), + DIAMOND_BARDING(419, 1), + LEASH(420), + NAME_TAG(421), GOLD_RECORD(2256, 1), GREEN_RECORD(2257, 1), RECORD_3(2258, 1), @@ -735,6 +745,10 @@ public enum Material { case QUARTZ_BLOCK: case QUARTZ_STAIRS: case DROPPER: + case STAINED_CLAY: + case HAY_BLOCK: + case HARD_CLAY: + case COAL_BLOCK: return true; default: return false; @@ -793,6 +807,7 @@ public enum Material { case REDSTONE_COMPARATOR_OFF: case REDSTONE_COMPARATOR_ON: case ACTIVATOR_RAIL: + case CARPET: return true; default: return false; @@ -841,6 +856,7 @@ public enum Material { case JUNGLE_WOOD_STAIRS: case TRAPPED_CHEST: case DAYLIGHT_DETECTOR: + case CARPET: return true; default: return false; @@ -872,6 +888,8 @@ public enum Material { case SPRUCE_WOOD_STAIRS: case BIRCH_WOOD_STAIRS: case JUNGLE_WOOD_STAIRS: + case HAY_BLOCK: + case COAL_BLOCK: return true; default: return false; @@ -948,6 +966,10 @@ public enum Material { case QUARTZ_ORE: case QUARTZ_BLOCK: case DROPPER: + case STAINED_CLAY: + case HAY_BLOCK: + case HARD_CLAY: + case COAL_BLOCK: return true; default: return false; diff --git a/src/main/java/org/bukkit/entity/Damageable.java b/src/main/java/org/bukkit/entity/Damageable.java index bf907846..3097b9ad 100644 --- a/src/main/java/org/bukkit/entity/Damageable.java +++ b/src/main/java/org/bukkit/entity/Damageable.java @@ -9,7 +9,15 @@ public interface Damageable extends Entity { * * @param amount Amount of damage to deal */ - void damage(int amount); + void damage(double amount); + + /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + void _INVALID_damage(int amount); /** * Deals the given amount of damage to this entity, from a specified entity. @@ -17,14 +25,30 @@ public interface Damageable extends Entity { * @param amount Amount of damage to deal * @param source Entity which to attribute this damage from */ - void damage(int amount, Entity source); + void damage(double amount, Entity source); + + /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + void _INVALID_damage(int amount, Entity source); /** * Gets the entity's health from 0 to {@link #getMaxHealth()}, where 0 is dead. * * @return Health represented from 0 to max */ - int getHealth(); + double getHealth(); + + /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + int _INVALID_getHealth(); /** * Sets the entity's health from 0 to {@link #getMaxHealth()}, where 0 is dead. @@ -32,14 +56,30 @@ public interface Damageable extends Entity { * @param health New health represented from 0 to max * @throws IllegalArgumentException Thrown if the health is < 0 or > {@link #getMaxHealth()} */ - void setHealth(int health); + void setHealth(double health); + + /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + void _INVALID_setHealth(int health); /** * Gets the maximum health this entity has. * * @return Maximum health */ - int getMaxHealth(); + double getMaxHealth(); + + /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + int _INVALID_getMaxHealth(); /** * Sets the maximum health this entity can have. @@ -50,7 +90,15 @@ public interface Damageable extends Entity { * * @param health amount of health to set the maximum to */ - void setMaxHealth(int health); + void setMaxHealth(double health); + + /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + void _INVALID_setMaxHealth(int health); /** * Resets the max health to the original amount. diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java index 2a115bfc..2403949f 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java @@ -130,6 +130,7 @@ public enum EntityType { SNOWMAN("SnowMan", Snowman.class, 97), OCELOT("Ozelot", Ocelot.class, 98), IRON_GOLEM("VillagerGolem", IronGolem.class, 99), + HORSE("EntityHorse", Horse.class, 100), VILLAGER("Villager", Villager.class, 120), ENDER_CRYSTAL("EnderCrystal", EnderCrystal.class, 200), // These don't have an entity ID in nms.EntityTypes. diff --git a/src/main/java/org/bukkit/entity/Horse.java b/src/main/java/org/bukkit/entity/Horse.java new file mode 100644 index 00000000..b707136d --- /dev/null +++ b/src/main/java/org/bukkit/entity/Horse.java @@ -0,0 +1,6 @@ +package org.bukkit.entity; + +/** + * Represents a Horse. + */ +public interface Horse extends Animals, Vehicle {} diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java index 6bd04f99..287e30d1 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -14,6 +14,7 @@ import org.bukkit.potion.PotionEffectType; * Represents a living entity, such as a monster or player */ public interface LivingEntity extends Entity, Damageable { + /** * Gets the height of the living entity's eyes above its Location. * @@ -170,14 +171,30 @@ public interface LivingEntity extends Entity, Damageable { * * @return damage taken since the last no damage ticks time period */ - public int getLastDamage(); + public double getLastDamage(); + + /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + public int _INVALID_getLastDamage(); /** * Sets the damage dealt within the current no damage ticks time period. * * @param damage amount of damage */ - public void setLastDamage(int damage); + public void setLastDamage(double damage); + + /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + public void _INVALID_setLastDamage(int damage); /** * Returns the living entity's current no damage ticks. @@ -316,7 +333,7 @@ public interface LivingEntity extends Entity, Damageable { * <p> * This value has no effect on players, they will always use their real * name. - * + * * @param name the name to set */ public void setCustomName(String name); @@ -327,7 +344,7 @@ public interface LivingEntity extends Entity, Damageable { * <p> * This value has no effect on players, they will always use their real * name. - * + * * @return name of the mob or null */ public String getCustomName(); @@ -338,7 +355,7 @@ public interface LivingEntity extends Entity, Damageable { * <p> * This value has no effect on players, they will always display their * name. - * + * * @param flag custom name or not */ public void setCustomNameVisible(boolean flag); @@ -348,7 +365,7 @@ public interface LivingEntity extends Entity, Damageable { * <p> * This value has no effect on players, they will always display their * name. - * + * * @return if the custom name is displayed */ public boolean isCustomNameVisible(); diff --git a/src/main/java/org/bukkit/entity/Minecart.java b/src/main/java/org/bukkit/entity/Minecart.java index 20e18a22..00ccd8e8 100644 --- a/src/main/java/org/bukkit/entity/Minecart.java +++ b/src/main/java/org/bukkit/entity/Minecart.java @@ -8,18 +8,34 @@ import org.bukkit.util.Vector; public interface Minecart extends Vehicle { /** + * This method exists for legacy reasons to provide backwards compatibility. + * It will not exist at runtime and should not be used under any + * circumstances. + */ + @Deprecated + public void _INVALID_setDamage(int damage); + + /** * Sets a minecart's damage. * * @param damage over 40 to "kill" a minecart */ - public void setDamage(int damage); + public void setDamage(double damage); + + /** + * This method exists for legacy reasons to provide backwards compatibility. + * It will not exist at runtime and should not be used under any + * circumstances. + */ + @Deprecated + public int _INVALID_getDamage(); /** * Gets a minecart's damage. * * @return The damage */ - public int getDamage(); + public double getDamage(); /** * Gets the maximum speed of a minecart. The speed is unrelated to the velocity. diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java index a8a3eebb..c9ebdfb7 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java @@ -9,7 +9,12 @@ import org.bukkit.entity.Entity; public class EntityDamageByBlockEvent extends EntityDamageEvent { private final Block damager; + @Deprecated public EntityDamageByBlockEvent(final Block damager, final Entity damagee, final DamageCause cause, final int damage) { + this(damager, damagee, cause, (double) damage); + } + + public EntityDamageByBlockEvent(final Block damager, final Entity damagee, final DamageCause cause, final double damage) { super(damagee, cause, damage); this.damager = damager; } diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java index 53d1e38d..9eb9f274 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java @@ -8,7 +8,12 @@ import org.bukkit.entity.Entity; public class EntityDamageByEntityEvent extends EntityDamageEvent { private final Entity damager; + @Deprecated public EntityDamageByEntityEvent(final Entity damager, final Entity damagee, final DamageCause cause, final int damage) { + this(damager, damagee, cause, (double) damage); + } + + public EntityDamageByEntityEvent(final Entity damager, final Entity damagee, final DamageCause cause, final double damage) { super(damagee, cause, damage); this.damager = damager; } diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java index bd3d7c6d..799390bc 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java @@ -3,17 +3,23 @@ package org.bukkit.event.entity; import org.bukkit.entity.Entity; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; +import org.bukkit.util.NumberConversions; /** * Stores data for damage events */ public class EntityDamageEvent extends EntityEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); - private int damage; + private double damage; private boolean cancelled; private final DamageCause cause; + @Deprecated public EntityDamageEvent(final Entity damagee, final DamageCause cause, final int damage) { + this(damagee, cause, (double) damage); + } + + public EntityDamageEvent(final Entity damagee, final DamageCause cause, final double damage) { super(damagee); this.cause = cause; this.damage = damage; @@ -32,20 +38,40 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { * * @return The amount of damage caused by the event */ - public int getDamage() { + public double getDamage() { return damage; } /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + public int _INVALID_getDamage() { + return NumberConversions.ceil(getDamage()); + } + + /** * Sets the amount of damage caused by the event * * @param damage The amount of damage caused by the event */ - public void setDamage(int damage) { + public void setDamage(double damage) { this.damage = damage; } /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + public void _INVALID_setDamage(int damage) { + setDamage(damage); + } + + /** * Gets the cause of the damage. * * @return A DamageCause value detailing the cause of the damage. diff --git a/src/main/java/org/bukkit/event/entity/EntityRegainHealthEvent.java b/src/main/java/org/bukkit/event/entity/EntityRegainHealthEvent.java index 2d4c927b..d635a016 100644 --- a/src/main/java/org/bukkit/event/entity/EntityRegainHealthEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityRegainHealthEvent.java @@ -3,6 +3,7 @@ package org.bukkit.event.entity; import org.bukkit.entity.Entity; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; +import org.bukkit.util.NumberConversions; /** * Stores data for health-regain events @@ -10,10 +11,15 @@ import org.bukkit.event.HandlerList; public class EntityRegainHealthEvent extends EntityEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); private boolean cancelled; - private int amount; + private double amount; private final RegainReason regainReason; + @Deprecated public EntityRegainHealthEvent(final Entity entity, final int amount, final RegainReason regainReason) { + this(entity, (double) amount, regainReason); + } + + public EntityRegainHealthEvent(final Entity entity, final double amount, final RegainReason regainReason) { super(entity); this.amount = amount; this.regainReason = regainReason; @@ -24,19 +30,39 @@ public class EntityRegainHealthEvent extends EntityEvent implements Cancellable * * @return The amount of health regained */ - public int getAmount() { + public double getAmount() { return amount; } /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + public int _INVALID_getAmount() { + return NumberConversions.ceil(getAmount()); + } + + /** * Sets the amount of regained health * * @param amount the amount of health the entity will regain */ - public void setAmount(int amount) { + public void setAmount(double amount) { this.amount = amount; } + /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + public void _INVALID_setAmount(int amount) { + setAmount(amount); + } + public boolean isCancelled() { return cancelled; } diff --git a/src/main/java/org/bukkit/event/vehicle/VehicleDamageEvent.java b/src/main/java/org/bukkit/event/vehicle/VehicleDamageEvent.java index 40ffb111..304ee2cb 100644 --- a/src/main/java/org/bukkit/event/vehicle/VehicleDamageEvent.java +++ b/src/main/java/org/bukkit/event/vehicle/VehicleDamageEvent.java @@ -4,6 +4,7 @@ import org.bukkit.entity.Entity; import org.bukkit.entity.Vehicle; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; +import org.bukkit.util.NumberConversions; /** * Raised when a vehicle receives damage. @@ -11,10 +12,15 @@ import org.bukkit.event.HandlerList; public class VehicleDamageEvent extends VehicleEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); private final Entity attacker; - private int damage; + private double damage; private boolean cancelled; + @Deprecated public VehicleDamageEvent(final Vehicle vehicle, final Entity attacker, final int damage) { + this(vehicle, attacker, (double) damage); + } + + public VehicleDamageEvent(final Vehicle vehicle, final Entity attacker, final double damage) { super(vehicle); this.attacker = attacker; this.damage = damage; @@ -34,19 +40,39 @@ public class VehicleDamageEvent extends VehicleEvent implements Cancellable { * * @return the damage done to the vehicle */ - public int getDamage() { + public double getDamage() { return damage; } /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + public int _INVALID_getDamage() { + return NumberConversions.ceil(getDamage()); + } + + /** * Sets the damage done to the vehicle * * @param damage The damage */ - public void setDamage(int damage) { + public void setDamage(double damage) { this.damage = damage; } + /** + * This method exists for legacy reasons to provide backwards + * compatibility. It will not exist at runtime and should not be used + * under any circumstances. + */ + @Deprecated + public void _INVALID_setDamage(int damage) { + setDamage(damage); + } + public boolean isCancelled() { return cancelled; } diff --git a/src/main/java/org/bukkit/potion/PotionEffectType.java b/src/main/java/org/bukkit/potion/PotionEffectType.java index 1012abd1..536e59bf 100644 --- a/src/main/java/org/bukkit/potion/PotionEffectType.java +++ b/src/main/java/org/bukkit/potion/PotionEffectType.java @@ -182,7 +182,7 @@ public abstract class PotionEffectType { return "PotionEffectType[" + id + ", " + getName() + "]"; } - private static final PotionEffectType[] byId = new PotionEffectType[21]; + private static final PotionEffectType[] byId = new PotionEffectType[24]; private static final Map<String, PotionEffectType> byName = new HashMap<String, PotionEffectType>(); // will break on updates. private static boolean acceptingNew = true; |