@@ -12,10 +12,12 @@ public abstract class AbstractProjectile extends CraftEntity implements Projecti
|
||||
doesBounce = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doesBounce() {
|
||||
return doesBounce;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBounce(boolean doesBounce) {
|
||||
this.doesBounce = doesBounce;
|
||||
}
|
||||
|
||||
@@ -22,33 +22,40 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac
|
||||
return (EntityHorseAbstract) entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVariant(Horse.Variant variant) {
|
||||
throw new UnsupportedOperationException("Not supported.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDomestication() {
|
||||
return getHandle().getTemper();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDomestication(int value) {
|
||||
Validate.isTrue(value >= 0, "Domestication cannot be less than zero");
|
||||
Validate.isTrue(value <= getMaxDomestication(), "Domestication cannot be greater than the max domestication");
|
||||
getHandle().setTemper(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxDomestication() {
|
||||
return getHandle().getMaxDomestication();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMaxDomestication(int value) {
|
||||
Validate.isTrue(value > 0, "Max domestication cannot be zero or less");
|
||||
getHandle().maxDomestication = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getJumpStrength() {
|
||||
return getHandle().getJumpStrength();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setJumpStrength(double strength) {
|
||||
Validate.isTrue(strength >= 0, "Jump strength cannot be less than zero");
|
||||
getHandle().getAttributeInstance(EntityHorse.attributeJumpStrength).setValue(strength);
|
||||
|
||||
@@ -9,43 +9,52 @@ public class CraftAgeable extends CraftCreature implements Ageable {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAge() {
|
||||
return getHandle().getAge();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAge(int age) {
|
||||
getHandle().setAgeRaw(age);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAgeLock(boolean lock) {
|
||||
getHandle().ageLocked = lock;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getAgeLock() {
|
||||
return getHandle().ageLocked;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBaby() {
|
||||
if (isAdult()) {
|
||||
setAge(-24000);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAdult() {
|
||||
if (!isAdult()) {
|
||||
setAge(0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAdult() {
|
||||
return getAge() >= 0;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean canBreed() {
|
||||
return getAge() == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBreed(boolean breed) {
|
||||
if (breed) {
|
||||
setAge(0);
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftAmbient extends CraftMob implements Ambient {
|
||||
return "CraftAmbient";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.UNKNOWN;
|
||||
}
|
||||
|
||||
@@ -214,11 +214,13 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud
|
||||
return CraftPotionUtil.toBukkit(getHandle().getType());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectileSource getSource() {
|
||||
EntityLiving source = getHandle().getSource();
|
||||
return (source == null) ? null : (LivingEntity) source.getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSource(ProjectileSource shooter) {
|
||||
if (shooter instanceof CraftLivingEntity) {
|
||||
getHandle().setSource((EntityLiving) ((CraftLivingEntity) shooter).getHandle());
|
||||
|
||||
@@ -17,11 +17,13 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setKnockbackStrength(int knockbackStrength) {
|
||||
Validate.isTrue(knockbackStrength >= 0, "Knockback cannot be negative");
|
||||
getHandle().setKnockbackStrength(knockbackStrength);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getKnockbackStrength() {
|
||||
return getHandle().knockbackStrength;
|
||||
}
|
||||
@@ -37,18 +39,22 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
|
||||
getHandle().setDamage(damage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCritical() {
|
||||
return getHandle().isCritical();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCritical(boolean critical) {
|
||||
getHandle().setCritical(critical);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectileSource getShooter() {
|
||||
return getHandle().projectileSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setShooter(ProjectileSource shooter) {
|
||||
if (shooter instanceof Entity) {
|
||||
getHandle().setShooter(((CraftEntity) shooter).getHandle());
|
||||
@@ -102,6 +108,7 @@ public class CraftArrow extends AbstractProjectile implements Arrow {
|
||||
return "CraftArrow";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.UNKNOWN;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftBat extends CraftAmbient implements Bat {
|
||||
return "CraftBat";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.BAT;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftBlaze extends CraftMonster implements Blaze {
|
||||
return "CraftBlaze";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.BLAZE;
|
||||
}
|
||||
|
||||
@@ -22,38 +22,46 @@ public class CraftBoat extends CraftVehicle implements Boat {
|
||||
getHandle().setType(getBoatType(species));
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxSpeed() {
|
||||
return getHandle().maxSpeed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMaxSpeed(double speed) {
|
||||
if (speed >= 0D) {
|
||||
getHandle().maxSpeed = speed;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getOccupiedDeceleration() {
|
||||
return getHandle().occupiedDeceleration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOccupiedDeceleration(double speed) {
|
||||
if (speed >= 0D) {
|
||||
getHandle().occupiedDeceleration = speed;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getUnoccupiedDeceleration() {
|
||||
return getHandle().unoccupiedDeceleration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUnoccupiedDeceleration(double speed) {
|
||||
getHandle().unoccupiedDeceleration = speed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getWorkOnLand() {
|
||||
return getHandle().landBoats;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setWorkOnLand(boolean workOnLand) {
|
||||
getHandle().landBoats = workOnLand;
|
||||
}
|
||||
@@ -68,6 +76,7 @@ public class CraftBoat extends CraftVehicle implements Boat {
|
||||
return "CraftBoat";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.BOAT;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftCaveSpider extends CraftSpider implements CaveSpider {
|
||||
return "CraftCaveSpider";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.CAVE_SPIDER;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ public class CraftChicken extends CraftAnimals implements Chicken {
|
||||
return "CraftChicken";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.CHICKEN;
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ public class CraftComplexPart extends CraftEntity implements ComplexEntityPart {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComplexLivingEntity getParent() {
|
||||
return (ComplexLivingEntity) ((EntityEnderDragon) getHandle().owner).getBukkitEntity();
|
||||
}
|
||||
@@ -42,6 +43,7 @@ public class CraftComplexPart extends CraftEntity implements ComplexEntityPart {
|
||||
return "CraftComplexPart";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.UNKNOWN;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ public class CraftCow extends CraftAnimals implements Cow {
|
||||
return "CraftCow";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.COW;
|
||||
}
|
||||
|
||||
@@ -13,10 +13,12 @@ public class CraftCreeper extends CraftMonster implements Creeper {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPowered() {
|
||||
return getHandle().isPowered();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPowered(boolean powered) {
|
||||
CraftServer server = this.server;
|
||||
Creeper entity = (Creeper) this.getHandle().getBukkitEntity();
|
||||
@@ -72,6 +74,7 @@ public class CraftCreeper extends CraftMonster implements Creeper {
|
||||
return "CraftCreeper";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.CREEPER;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftEgg extends CraftProjectile implements Egg {
|
||||
return "CraftEgg";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.EGG;
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@ public class CraftEnderCrystal extends CraftEntity implements EnderCrystal {
|
||||
return "CraftEnderCrystal";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.ENDER_CRYSTAL;
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ public class CraftEnderDragon extends CraftComplexLivingEntity implements EnderD
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<ComplexEntityPart> getParts() {
|
||||
Builder<ComplexEntityPart> builder = ImmutableSet.builder();
|
||||
|
||||
@@ -45,6 +46,7 @@ public class CraftEnderDragon extends CraftComplexLivingEntity implements EnderD
|
||||
return "CraftEnderDragon";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.ENDER_DRAGON;
|
||||
}
|
||||
|
||||
@@ -26,30 +26,37 @@ public class CraftEnderDragonPart extends CraftComplexPart implements EnderDrago
|
||||
return "CraftEnderDragonPart";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void damage(double amount) {
|
||||
getParent().damage(amount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void damage(double amount, Entity source) {
|
||||
getParent().damage(amount, source);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getHealth() {
|
||||
return getParent().getHealth();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHealth(double health) {
|
||||
getParent().setHealth(health);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxHealth() {
|
||||
return getParent().getMaxHealth();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMaxHealth(double health) {
|
||||
getParent().setMaxHealth(health);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetMaxHealth() {
|
||||
getParent().resetMaxHealth();
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftEnderPearl extends CraftProjectile implements EnderPearl {
|
||||
return "CraftEnderPearl";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.ENDER_PEARL;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public class CraftEnderman extends CraftMonster implements Enderman {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialData getCarriedMaterial() {
|
||||
IBlockData blockData = getHandle().getCarried();
|
||||
return (blockData == null) ? Material.AIR.getNewData((byte) 0) : CraftMagicNumbers.getMaterial(blockData);
|
||||
@@ -27,6 +28,7 @@ public class CraftEnderman extends CraftMonster implements Enderman {
|
||||
return (blockData == null) ? null : CraftBlockData.fromData(blockData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCarriedMaterial(MaterialData data) {
|
||||
getHandle().setCarried(CraftMagicNumbers.getBlock(data));
|
||||
}
|
||||
@@ -46,6 +48,7 @@ public class CraftEnderman extends CraftMonster implements Enderman {
|
||||
return "CraftEnderman";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.ENDERMAN;
|
||||
}
|
||||
|
||||
@@ -370,10 +370,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
throw new AssertionError("Unknown entity " + (entity == null ? null : entity.getClass()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Location getLocation() {
|
||||
return new Location(getWorld(), entity.locX, entity.locY, entity.locZ, entity.getBukkitYaw(), entity.pitch);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Location getLocation(Location loc) {
|
||||
if (loc != null) {
|
||||
loc.setWorld(getWorld());
|
||||
@@ -387,10 +389,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return loc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector getVelocity() {
|
||||
return CraftVector.toBukkit(entity.getMot());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVelocity(Vector velocity) {
|
||||
Preconditions.checkArgument(velocity != null, "velocity");
|
||||
velocity.checkFinite();
|
||||
@@ -414,6 +418,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return new BoundingBox(bb.minX, bb.minY, bb.minZ, bb.maxX, bb.maxY, bb.maxZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOnGround() {
|
||||
if (entity instanceof EntityArrow) {
|
||||
return ((EntityArrow) entity).inGround;
|
||||
@@ -421,6 +426,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return entity.onGround;
|
||||
}
|
||||
|
||||
@Override
|
||||
public World getWorld() {
|
||||
return entity.world.getWorld();
|
||||
}
|
||||
@@ -440,10 +446,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
entity.setHeadRotation(yaw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean teleport(Location location) {
|
||||
return teleport(location, TeleportCause.PLUGIN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean teleport(Location location, TeleportCause cause) {
|
||||
Preconditions.checkArgument(location != null, "location");
|
||||
location.checkFinite();
|
||||
@@ -469,14 +477,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean teleport(org.bukkit.entity.Entity destination) {
|
||||
return teleport(destination.getLocation());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean teleport(org.bukkit.entity.Entity destination, TeleportCause cause) {
|
||||
return teleport(destination.getLocation(), cause);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<org.bukkit.entity.Entity> getNearbyEntities(double x, double y, double z) {
|
||||
List<Entity> notchEntityList = entity.world.getEntities(entity, entity.getBoundingBox().grow(x, y, z), null);
|
||||
List<org.bukkit.entity.Entity> bukkitEntityList = new java.util.ArrayList<org.bukkit.entity.Entity>(notchEntityList.size());
|
||||
@@ -487,34 +498,42 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return bukkitEntityList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEntityId() {
|
||||
return entity.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFireTicks() {
|
||||
return entity.fireTicks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFireTicks() {
|
||||
return entity.getMaxFireTicks();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFireTicks(int ticks) {
|
||||
entity.fireTicks = ticks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
entity.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDead() {
|
||||
return !entity.isAlive();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid() {
|
||||
return entity.isAlive() && entity.valid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Server getServer() {
|
||||
return server;
|
||||
}
|
||||
@@ -537,10 +556,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
setVelocity(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public org.bukkit.entity.Entity getPassenger() {
|
||||
return isEmpty() ? null : getHandle().passengers.get(0).getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setPassenger(org.bukkit.entity.Entity passenger) {
|
||||
Preconditions.checkArgument(!this.equals(passenger), "Entity cannot ride itself.");
|
||||
if (passenger instanceof CraftEntity) {
|
||||
@@ -576,10 +597,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
return !getHandle().isVehicle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean eject() {
|
||||
if (isEmpty()) {
|
||||
return false;
|
||||
@@ -589,30 +612,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getFallDistance() {
|
||||
return getHandle().fallDistance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFallDistance(float distance) {
|
||||
getHandle().fallDistance = distance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLastDamageCause(EntityDamageEvent event) {
|
||||
lastDamageEvent = event;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityDamageEvent getLastDamageCause() {
|
||||
return lastDamageEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID getUniqueId() {
|
||||
return getHandle().getUniqueID();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTicksLived() {
|
||||
return getHandle().ticksLived;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTicksLived(int value) {
|
||||
if (value <= 0) {
|
||||
throw new IllegalArgumentException("Age must be at least 1 tick");
|
||||
@@ -661,26 +691,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return hash;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMetadata(String metadataKey, MetadataValue newMetadataValue) {
|
||||
server.getEntityMetadata().setMetadata(this, metadataKey, newMetadataValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MetadataValue> getMetadata(String metadataKey) {
|
||||
return server.getEntityMetadata().getMetadata(this, metadataKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasMetadata(String metadataKey) {
|
||||
return server.getEntityMetadata().hasMetadata(this, metadataKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMetadata(String metadataKey, Plugin owningPlugin) {
|
||||
server.getEntityMetadata().removeMetadata(this, metadataKey, owningPlugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInsideVehicle() {
|
||||
return getHandle().isPassenger();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean leaveVehicle() {
|
||||
if (!isInsideVehicle()) {
|
||||
return false;
|
||||
@@ -690,6 +726,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public org.bukkit.entity.Entity getVehicle() {
|
||||
if (!isInsideVehicle()) {
|
||||
return null;
|
||||
|
||||
@@ -10,10 +10,12 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getExperience() {
|
||||
return getHandle().value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExperience(int value) {
|
||||
getHandle().value = value;
|
||||
}
|
||||
@@ -28,6 +30,7 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb {
|
||||
return "CraftExperienceOrb";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.EXPERIENCE_ORB;
|
||||
}
|
||||
|
||||
@@ -25,22 +25,27 @@ public class CraftFallingBlock extends CraftEntity implements FallingBlock {
|
||||
return "CraftFallingBlock";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.FALLING_BLOCK;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Material getMaterial() {
|
||||
return CraftMagicNumbers.getMaterial(getHandle().getBlock()).getItemType();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockData getBlockData() {
|
||||
return CraftBlockData.fromData(getHandle().getBlock());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getDropItem() {
|
||||
return getHandle().dropItem;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDropItem(boolean drop) {
|
||||
getHandle().dropItem = drop;
|
||||
}
|
||||
|
||||
@@ -14,26 +14,32 @@ public class CraftFireball extends AbstractProjectile implements Fireball {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getYield() {
|
||||
return getHandle().bukkitYield;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIncendiary() {
|
||||
return getHandle().isIncendiary;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIsIncendiary(boolean isIncendiary) {
|
||||
getHandle().isIncendiary = isIncendiary;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setYield(float yield) {
|
||||
getHandle().bukkitYield = yield;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectileSource getShooter() {
|
||||
return getHandle().projectileSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setShooter(ProjectileSource shooter) {
|
||||
if (shooter instanceof CraftLivingEntity) {
|
||||
getHandle().shooter = ((CraftLivingEntity) shooter).getHandle();
|
||||
@@ -43,10 +49,12 @@ public class CraftFireball extends AbstractProjectile implements Fireball {
|
||||
getHandle().projectileSource = shooter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector getDirection() {
|
||||
return new Vector(getHandle().dirX, getHandle().dirY, getHandle().dirZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDirection(Vector direction) {
|
||||
Validate.notNull(direction, "Direction can not be null");
|
||||
double x = direction.getX();
|
||||
@@ -68,6 +76,7 @@ public class CraftFireball extends AbstractProjectile implements Fireball {
|
||||
return "CraftFireball";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.UNKNOWN;
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ public class CraftFishHook extends AbstractProjectile implements FishHook {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectileSource getShooter() {
|
||||
if (getHandle().owner != null) {
|
||||
return getHandle().owner.getBukkitEntity();
|
||||
@@ -25,6 +26,7 @@ public class CraftFishHook extends AbstractProjectile implements FishHook {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setShooter(ProjectileSource shooter) {
|
||||
if (shooter instanceof CraftHumanEntity) {
|
||||
getHandle().owner = (EntityHuman) ((CraftHumanEntity) shooter).entity;
|
||||
@@ -41,10 +43,12 @@ public class CraftFishHook extends AbstractProjectile implements FishHook {
|
||||
return "CraftFishingHook";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.FISHING_HOOK;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getBiteChance() {
|
||||
EntityFishingHook hook = getHandle();
|
||||
|
||||
@@ -57,6 +61,7 @@ public class CraftFishHook extends AbstractProjectile implements FishHook {
|
||||
return this.biteChance;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBiteChance(double chance) {
|
||||
Validate.isTrue(chance >= 0 && chance <= 1, "The bite chance must be between 0 and 1.");
|
||||
this.biteChance = chance;
|
||||
|
||||
@@ -21,6 +21,7 @@ public class CraftGhast extends CraftFlying implements Ghast {
|
||||
return "CraftGhast";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.GHAST;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ public class CraftGiant extends CraftMonster implements Giant {
|
||||
return "CraftGiant";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.GIANT;
|
||||
}
|
||||
|
||||
@@ -13,14 +13,17 @@ public class CraftHanging extends CraftEntity implements Hanging {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockFace getAttachedFace() {
|
||||
return getFacing().getOppositeFace();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFacingDirection(BlockFace face) {
|
||||
setFacingDirection(face, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setFacingDirection(BlockFace face, boolean force) {
|
||||
EntityHanging hanging = getHandle();
|
||||
EnumDirection dir = hanging.direction;
|
||||
@@ -47,6 +50,7 @@ public class CraftHanging extends CraftEntity implements Hanging {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockFace getFacing() {
|
||||
EnumDirection direction = this.getHandle().direction;
|
||||
if (direction == null) return BlockFace.SELF;
|
||||
@@ -63,6 +67,7 @@ public class CraftHanging extends CraftEntity implements Hanging {
|
||||
return "CraftHanging";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.UNKNOWN;
|
||||
}
|
||||
|
||||
@@ -91,34 +91,42 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
enderChest = new CraftInventory(entity.getEnderChest());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayerInventory getInventory() {
|
||||
return inventory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityEquipment getEquipment() {
|
||||
return inventory;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Inventory getEnderChest() {
|
||||
return enderChest;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MainHand getMainHand() {
|
||||
return getHandle().getMainHand()== EnumMainHand.LEFT ? MainHand.LEFT : MainHand.RIGHT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItemInHand() {
|
||||
return getInventory().getItemInHand();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItemInHand(ItemStack item) {
|
||||
getInventory().setItemInHand(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItemOnCursor() {
|
||||
return CraftItemStack.asCraftMirror(getHandle().inventory.getCarried());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItemOnCursor(ItemStack item) {
|
||||
net.minecraft.server.ItemStack stack = CraftItemStack.asNMSCopy(item);
|
||||
getHandle().inventory.setCarried(stack);
|
||||
@@ -127,10 +135,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSleeping() {
|
||||
return getHandle().isSleeping();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSleepTicks() {
|
||||
return getHandle().sleepTicks;
|
||||
}
|
||||
@@ -207,63 +217,78 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
return getHandle().getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOp() {
|
||||
return op;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(String name) {
|
||||
return perm.isPermissionSet(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(Permission perm) {
|
||||
return this.perm.isPermissionSet(perm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(String name) {
|
||||
return perm.hasPermission(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(Permission perm) {
|
||||
return this.perm.hasPermission(perm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value) {
|
||||
return perm.addAttachment(plugin, name, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin plugin) {
|
||||
return perm.addAttachment(plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value, int ticks) {
|
||||
return perm.addAttachment(plugin, name, value, ticks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin plugin, int ticks) {
|
||||
return perm.addAttachment(plugin, ticks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeAttachment(PermissionAttachment attachment) {
|
||||
perm.removeAttachment(attachment);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void recalculatePermissions() {
|
||||
perm.recalculatePermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOp(boolean value) {
|
||||
this.op = value;
|
||||
perm.recalculatePermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<PermissionAttachmentInfo> getEffectivePermissions() {
|
||||
return perm.getEffectivePermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameMode getGameMode() {
|
||||
return mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGameMode(GameMode mode) {
|
||||
if (mode == null) {
|
||||
throw new IllegalArgumentException("Mode cannot be null");
|
||||
@@ -287,10 +312,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
return "CraftHumanEntity{" + "id=" + getEntityId() + "name=" + getName() + '}';
|
||||
}
|
||||
|
||||
@Override
|
||||
public InventoryView getOpenInventory() {
|
||||
return getHandle().activeContainer.getBukkitView();
|
||||
}
|
||||
|
||||
@Override
|
||||
public InventoryView openInventory(Inventory inventory) {
|
||||
if(!(getHandle() instanceof EntityPlayer)) return null;
|
||||
EntityPlayer player = (EntityPlayer) getHandle();
|
||||
@@ -463,6 +490,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
getHandle().activeContainer.addSlotListener(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public InventoryView openWorkbench(Location location, boolean force) {
|
||||
if (!force) {
|
||||
Block block = location.getBlock();
|
||||
@@ -480,6 +508,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
return getHandle().activeContainer.getBukkitView();
|
||||
}
|
||||
|
||||
@Override
|
||||
public InventoryView openEnchanting(Location location, boolean force) {
|
||||
if (!force) {
|
||||
Block block = location.getBlock();
|
||||
@@ -501,6 +530,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
return getHandle().activeContainer.getBukkitView();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openInventory(InventoryView inventory) {
|
||||
if (!(getHandle() instanceof EntityPlayer)) return; // TODO: NPC support?
|
||||
if (((EntityPlayer) getHandle()).playerConnection == null) return;
|
||||
@@ -567,10 +597,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
return this.getHandle().activeContainer.getBukkitView();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory() {
|
||||
getHandle().closeInventory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBlocking() {
|
||||
return getHandle().isBlocking();
|
||||
}
|
||||
@@ -580,10 +612,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
return getHandle().isHandRaised();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setWindowProperty(InventoryView.Property prop, int value) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getExpToLevel() {
|
||||
return getHandle().getExpToLevel();
|
||||
}
|
||||
|
||||
@@ -20,10 +20,12 @@ public class CraftIronGolem extends CraftGolem implements IronGolem {
|
||||
return "CraftIronGolem";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPlayerCreated() {
|
||||
return getHandle().isPlayerCreated();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerCreated(boolean playerCreated) {
|
||||
getHandle().setPlayerCreated(playerCreated);
|
||||
}
|
||||
|
||||
@@ -20,18 +20,22 @@ public class CraftItem extends CraftEntity implements Item {
|
||||
this(server, entity, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItemStack() {
|
||||
return CraftItemStack.asCraftMirror(item.getItemStack());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItemStack(ItemStack stack) {
|
||||
item.setItemStack(CraftItemStack.asNMSCopy(stack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPickupDelay() {
|
||||
return item.pickupDelay;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPickupDelay(int delay) {
|
||||
item.pickupDelay = Math.min(delay, Short.MAX_VALUE);
|
||||
}
|
||||
@@ -49,6 +53,7 @@ public class CraftItem extends CraftEntity implements Item {
|
||||
return "CraftItem";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.DROPPED_ITEM;
|
||||
}
|
||||
|
||||
@@ -54,18 +54,22 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame {
|
||||
this.entity = frame;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItem(org.bukkit.inventory.ItemStack item) {
|
||||
setItem(item, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItem(org.bukkit.inventory.ItemStack item, boolean playSound) {
|
||||
getHandle().setItem(CraftItemStack.asNMSCopy(item), true, playSound);
|
||||
}
|
||||
|
||||
@Override
|
||||
public org.bukkit.inventory.ItemStack getItem() {
|
||||
return CraftItemStack.asBukkitCopy(getHandle().getItem());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Rotation getRotation() {
|
||||
return toBukkitRotation(getHandle().getRotation());
|
||||
}
|
||||
@@ -94,6 +98,7 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRotation(Rotation rotation) {
|
||||
Validate.notNull(rotation, "Rotation cannot be null");
|
||||
getHandle().setRotation(toInteger(rotation));
|
||||
@@ -133,6 +138,7 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame {
|
||||
return "CraftItemFrame{item=" + getItem() + ", rotation=" + getRotation() + "}";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.ITEM_FRAME;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ public class CraftLargeFireball extends CraftFireball implements LargeFireball {
|
||||
return "CraftLargeFireball";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.FIREBALL;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftLeash extends CraftHanging implements LeashHitch {
|
||||
return "CraftLeash";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.LEASH_HITCH;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ public class CraftLightningStrike extends CraftEntity implements LightningStrike
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEffect() {
|
||||
return ((EntityLightning) super.getHandle()).isEffect;
|
||||
}
|
||||
@@ -24,6 +25,7 @@ public class CraftLightningStrike extends CraftEntity implements LightningStrike
|
||||
return "CraftLightningStrike";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.LIGHTNING;
|
||||
}
|
||||
|
||||
@@ -92,10 +92,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getHealth() {
|
||||
return Math.min(Math.max(0, getHandle().getHealth()), getMaxHealth());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHealth(double health) {
|
||||
health = (float) health;
|
||||
if ((health < 0) || (health > getMaxHealth())) {
|
||||
@@ -109,10 +111,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxHealth() {
|
||||
return getHandle().getMaxHealth();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMaxHealth(double amount) {
|
||||
Validate.isTrue(amount > 0, "Max health must be greater than 0");
|
||||
|
||||
@@ -123,14 +127,17 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetMaxHealth() {
|
||||
setMaxHealth(getHandle().getAttributeInstance(GenericAttributes.MAX_HEALTH).getAttribute().getDefault());
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getEyeHeight() {
|
||||
return getHandle().getHeadHeight();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getEyeHeight(boolean ignorePose) {
|
||||
return getEyeHeight();
|
||||
}
|
||||
@@ -158,15 +165,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return blocks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Block> getLineOfSight(Set<Material> transparent, int maxDistance) {
|
||||
return getLineOfSight(transparent, maxDistance, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Block getTargetBlock(Set<Material> transparent, int maxDistance) {
|
||||
List<Block> blocks = getLineOfSight(transparent, maxDistance, 1);
|
||||
return blocks.get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Block> getLastTwoTargetBlocks(Set<Material> transparent, int maxDistance) {
|
||||
return getLineOfSight(transparent, maxDistance, 2);
|
||||
}
|
||||
@@ -194,26 +204,32 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return this.getWorld().rayTraceBlocks(eyeLocation, direction, maxDistance, fluidCollisionMode, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRemainingAir() {
|
||||
return getHandle().getAirTicks();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRemainingAir(int ticks) {
|
||||
getHandle().setAirTicks(ticks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaximumAir() {
|
||||
return getHandle().maxAirTicks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMaximumAir(int ticks) {
|
||||
getHandle().maxAirTicks = ticks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void damage(double amount) {
|
||||
damage(amount, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void damage(double amount, org.bukkit.entity.Entity source) {
|
||||
DamageSource reason = DamageSource.GENERIC;
|
||||
|
||||
@@ -226,32 +242,39 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
entity.damageEntity(reason, (float) amount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Location getEyeLocation() {
|
||||
Location loc = getLocation();
|
||||
loc.setY(loc.getY() + getEyeHeight());
|
||||
return loc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaximumNoDamageTicks() {
|
||||
return getHandle().maxNoDamageTicks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMaximumNoDamageTicks(int ticks) {
|
||||
getHandle().maxNoDamageTicks = ticks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getLastDamage() {
|
||||
return getHandle().lastDamage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLastDamage(double damage) {
|
||||
getHandle().lastDamage = (float) damage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNoDamageTicks() {
|
||||
return getHandle().noDamageTicks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNoDamageTicks(int ticks) {
|
||||
getHandle().noDamageTicks = ticks;
|
||||
}
|
||||
@@ -270,14 +293,17 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return "CraftLivingEntity{" + "id=" + getEntityId() + '}';
|
||||
}
|
||||
|
||||
@Override
|
||||
public Player getKiller() {
|
||||
return getHandle().killer == null ? null : (Player) getHandle().killer.getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addPotionEffect(PotionEffect effect) {
|
||||
return addPotionEffect(effect, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addPotionEffect(PotionEffect effect, boolean force) {
|
||||
if (hasPotionEffect(effect.getType())) {
|
||||
if (!force) {
|
||||
@@ -289,6 +315,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addPotionEffects(Collection<PotionEffect> effects) {
|
||||
boolean success = true;
|
||||
for (PotionEffect effect : effects) {
|
||||
@@ -297,6 +324,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return success;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPotionEffect(PotionEffectType type) {
|
||||
return getHandle().hasEffect(MobEffectList.fromId(type.getId()));
|
||||
}
|
||||
@@ -307,10 +335,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return (handle == null) ? null : new PotionEffect(PotionEffectType.getById(MobEffectList.getId(handle.getMobEffect())), handle.getDuration(), handle.getAmplifier(), handle.isAmbient(), handle.isShowParticles());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removePotionEffect(PotionEffectType type) {
|
||||
getHandle().removeEffect(MobEffectList.fromId(type.getId()), EntityPotionEffectEvent.Cause.PLUGIN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<PotionEffect> getActivePotionEffects() {
|
||||
List<PotionEffect> effects = new ArrayList<PotionEffect>();
|
||||
for (MobEffect handle : getHandle().effects.values()) {
|
||||
@@ -319,10 +349,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return effects;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends Projectile> T launchProjectile(Class<? extends T> projectile) {
|
||||
return launchProjectile(projectile, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends Projectile> T launchProjectile(Class<? extends T> projectile, Vector velocity) {
|
||||
net.minecraft.server.World world = ((CraftWorld) getWorld()).getHandle();
|
||||
@@ -405,32 +437,39 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return (T) launch.getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.UNKNOWN;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasLineOfSight(Entity other) {
|
||||
return getHandle().hasLineOfSight(((CraftEntity) other).getHandle());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getRemoveWhenFarAway() {
|
||||
return getHandle() instanceof EntityInsentient && !((EntityInsentient) getHandle()).persistent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRemoveWhenFarAway(boolean remove) {
|
||||
if (getHandle() instanceof EntityInsentient) {
|
||||
((EntityInsentient) getHandle()).persistent = !remove;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityEquipment getEquipment() {
|
||||
return equipment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCanPickupItems(boolean pickup) {
|
||||
getHandle().canPickUpLoot = pickup;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getCanPickupItems() {
|
||||
return getHandle().canPickUpLoot;
|
||||
}
|
||||
@@ -444,6 +483,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return super.teleport(location, cause);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLeashed() {
|
||||
if (!(getHandle() instanceof EntityInsentient)) {
|
||||
return false;
|
||||
@@ -451,6 +491,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return ((EntityInsentient) getHandle()).getLeashHolder() != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getLeashHolder() throws IllegalStateException {
|
||||
if (!isLeashed()) {
|
||||
throw new IllegalStateException("Entity not leashed");
|
||||
@@ -466,6 +507,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setLeashHolder(Entity holder) {
|
||||
if ((getHandle() instanceof EntityWither) || !(getHandle() instanceof EntityInsentient)) {
|
||||
return false;
|
||||
|
||||
@@ -11,6 +11,7 @@ public class CraftMagmaCube extends CraftSlime implements MagmaCube {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityMagmaCube getHandle() {
|
||||
return (EntityMagmaCube) entity;
|
||||
}
|
||||
@@ -20,6 +21,7 @@ public class CraftMagmaCube extends CraftSlime implements MagmaCube {
|
||||
return "CraftMagmaCube";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.MAGMA_CUBE;
|
||||
}
|
||||
|
||||
@@ -16,44 +16,54 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDamage(double damage) {
|
||||
getHandle().setDamage((float) damage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getDamage() {
|
||||
return getHandle().getDamage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxSpeed() {
|
||||
return getHandle().maxSpeed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMaxSpeed(double speed) {
|
||||
if (speed >= 0D) {
|
||||
getHandle().maxSpeed = speed;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSlowWhenEmpty() {
|
||||
return getHandle().slowWhenEmpty;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSlowWhenEmpty(boolean slow) {
|
||||
getHandle().slowWhenEmpty = slow;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector getFlyingVelocityMod() {
|
||||
return getHandle().getFlyingVelocityMod();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFlyingVelocityMod(Vector flying) {
|
||||
getHandle().setFlyingVelocityMod(flying);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector getDerailedVelocityMod() {
|
||||
return getHandle().getDerailedVelocityMod();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDerailedVelocityMod(Vector derailed) {
|
||||
getHandle().setDerailedVelocityMod(derailed);
|
||||
}
|
||||
@@ -63,6 +73,7 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
|
||||
return (EntityMinecartAbstract) entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDisplayBlock(MaterialData material) {
|
||||
if(material != null) {
|
||||
IBlockData block = CraftMagicNumbers.getBlock(material);
|
||||
@@ -86,6 +97,7 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialData getDisplayBlock() {
|
||||
IBlockData blockData = getHandle().getDisplayBlock();
|
||||
return CraftMagicNumbers.getMaterial(blockData);
|
||||
@@ -97,10 +109,12 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
|
||||
return CraftBlockData.fromData(blockData);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDisplayBlockOffset(int offset) {
|
||||
getHandle().setDisplayBlockOffset(offset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDisplayBlockOffset() {
|
||||
return getHandle().getDisplayBlockOffset();
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public class CraftMinecartChest extends CraftMinecartContainer implements Storag
|
||||
inventory = new CraftInventory(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Inventory getInventory() {
|
||||
return inventory;
|
||||
}
|
||||
@@ -25,6 +26,7 @@ public class CraftMinecartChest extends CraftMinecartContainer implements Storag
|
||||
return "CraftMinecartChest{" + "inventory=" + inventory + '}';
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.MINECART_CHEST;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ public class CraftMinecartFurnace extends CraftMinecart implements PoweredMineca
|
||||
return "CraftMinecartFurnace";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.MINECART_FURNACE;
|
||||
}
|
||||
|
||||
@@ -20,10 +20,12 @@ public final class CraftMinecartHopper extends CraftMinecartContainer implements
|
||||
return "CraftMinecartHopper{" + "inventory=" + inventory + '}';
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.MINECART_HOPPER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Inventory getInventory() {
|
||||
return inventory;
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ final class CraftMinecartMobSpawner extends CraftMinecart implements SpawnerMine
|
||||
return "CraftMinecartMobSpawner";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.MINECART_MOB_SPAWNER;
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ public class CraftMinecartRideable extends CraftMinecart implements RideableMine
|
||||
return "CraftMinecartRideable";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.MINECART;
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ final class CraftMinecartTNT extends CraftMinecart implements ExplosiveMinecart
|
||||
return "CraftMinecartTNT";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.MINECART_TNT;
|
||||
}
|
||||
|
||||
@@ -15,10 +15,12 @@ public class CraftOcelot extends CraftAnimals implements Ocelot {
|
||||
return (EntityOcelot) entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type getCatType() {
|
||||
return Type.WILD_OCELOT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCatType(Type type) {
|
||||
throw new UnsupportedOperationException("Cats are now a different entity!");
|
||||
}
|
||||
|
||||
@@ -18,15 +18,18 @@ public class CraftPainting extends CraftHanging implements Painting {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Art getArt() {
|
||||
Paintings art = getHandle().art;
|
||||
return CraftArt.NotchToBukkit(art);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setArt(Art art) {
|
||||
return setArt(art, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setArt(Art art, boolean force) {
|
||||
EntityPainting painting = this.getHandle();
|
||||
Paintings oldArt = painting.art;
|
||||
@@ -42,6 +45,7 @@ public class CraftPainting extends CraftHanging implements Painting {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setFacingDirection(BlockFace face, boolean force) {
|
||||
if (super.setFacingDirection(face, force)) {
|
||||
update();
|
||||
@@ -73,6 +77,7 @@ public class CraftPainting extends CraftHanging implements Painting {
|
||||
return "CraftPainting{art=" + getArt() + "}";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.PAINTING;
|
||||
}
|
||||
|
||||
@@ -10,14 +10,17 @@ public class CraftPig extends CraftAnimals implements Pig {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasSaddle() {
|
||||
return getHandle().hasSaddle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSaddle(boolean saddled) {
|
||||
getHandle().setSaddle(saddled);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityPig getHandle() {
|
||||
return (EntityPig) entity;
|
||||
}
|
||||
@@ -27,6 +30,7 @@ public class CraftPig extends CraftAnimals implements Pig {
|
||||
return "CraftPig";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.PIG;
|
||||
}
|
||||
|
||||
@@ -11,18 +11,22 @@ public class CraftPigZombie extends CraftZombie implements PigZombie {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAnger() {
|
||||
return getHandle().angerLevel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAnger(int level) {
|
||||
getHandle().angerLevel = level;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAngry(boolean angry) {
|
||||
setAnger(angry ? 400 : 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAngry() {
|
||||
return getAnger() > 0;
|
||||
}
|
||||
@@ -37,6 +41,7 @@ public class CraftPigZombie extends CraftZombie implements PigZombie {
|
||||
return "CraftPigZombie";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.PIG_ZOMBIE;
|
||||
}
|
||||
|
||||
@@ -157,10 +157,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
perm.recalculatePermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOnline() {
|
||||
return server.getPlayer(getUniqueId()) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InetSocketAddress getAddress() {
|
||||
if (getHandle().playerConnection == null) return null;
|
||||
|
||||
|
||||
@@ -11,10 +11,12 @@ public abstract class CraftProjectile extends AbstractProjectile implements Proj
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectileSource getShooter() {
|
||||
return getHandle().projectileSource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setShooter(ProjectileSource shooter) {
|
||||
if (shooter instanceof CraftLivingEntity) {
|
||||
getHandle().shooter = (EntityLiving) ((CraftLivingEntity) shooter).entity;
|
||||
|
||||
@@ -12,18 +12,22 @@ public class CraftSheep extends CraftAnimals implements Sheep {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DyeColor getColor() {
|
||||
return DyeColor.getByWoolData((byte) getHandle().getColor().getColorIndex());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColor(DyeColor color) {
|
||||
getHandle().setColor(EnumColor.fromColorIndex(color.getWoolData()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSheared() {
|
||||
return getHandle().isSheared();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSheared(boolean flag) {
|
||||
getHandle().setSheared(flag);
|
||||
}
|
||||
@@ -38,6 +42,7 @@ public class CraftSheep extends CraftAnimals implements Sheep {
|
||||
return "CraftSheep";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.SHEEP;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftSilverfish extends CraftMonster implements Silverfish {
|
||||
return "CraftSilverfish";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.SILVERFISH;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ public class CraftSkeleton extends CraftMonster implements Skeleton {
|
||||
return "CraftSkeleton";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.SKELETON;
|
||||
}
|
||||
|
||||
@@ -11,10 +11,12 @@ public class CraftSlime extends CraftMob implements Slime {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSize() {
|
||||
return getHandle().getSize();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSize(int size) {
|
||||
getHandle().setSize(size, true);
|
||||
}
|
||||
@@ -29,6 +31,7 @@ public class CraftSlime extends CraftMob implements Slime {
|
||||
return "CraftSlime";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.SLIME;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftSmallFireball extends CraftFireball implements SmallFireball {
|
||||
return "CraftSmallFireball";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.SMALL_FIREBALL;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftSnowball extends CraftProjectile implements Snowball {
|
||||
return "CraftSnowball";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.SNOWBALL;
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ public class CraftSnowman extends CraftGolem implements Snowman {
|
||||
return "CraftSnowman";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.SNOWMAN;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ public class CraftSpider extends CraftMonster implements Spider {
|
||||
return "CraftSpider";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.SPIDER;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ public class CraftSquid extends CraftWaterMob implements Squid {
|
||||
return "CraftSquid";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.SQUID;
|
||||
}
|
||||
|
||||
@@ -13,26 +13,32 @@ public class CraftTNTPrimed extends CraftEntity implements TNTPrimed {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getYield() {
|
||||
return getHandle().yield;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isIncendiary() {
|
||||
return getHandle().isIncendiary;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIsIncendiary(boolean isIncendiary) {
|
||||
getHandle().isIncendiary = isIncendiary;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setYield(float yield) {
|
||||
getHandle().yield = yield;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFuseTicks() {
|
||||
return getHandle().getFuseTicks();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFuseTicks(int fuseTicks) {
|
||||
getHandle().setFuseTicks(fuseTicks);
|
||||
}
|
||||
@@ -47,10 +53,12 @@ public class CraftTNTPrimed extends CraftEntity implements TNTPrimed {
|
||||
return "CraftTNTPrimed";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.PRIMED_TNT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getSource() {
|
||||
EntityLiving source = getHandle().getSource();
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ public class CraftTameableAnimal extends CraftAnimals implements Tameable, Creat
|
||||
getHandle().setOwnerUUID(uuid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AnimalTamer getOwner() {
|
||||
if (getOwnerUUID() == null) {
|
||||
return null;
|
||||
@@ -42,10 +43,12 @@ public class CraftTameableAnimal extends CraftAnimals implements Tameable, Creat
|
||||
return owner;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isTamed() {
|
||||
return getHandle().isTamed();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOwner(AnimalTamer tamer) {
|
||||
if (tamer != null) {
|
||||
setTamed(true);
|
||||
@@ -57,6 +60,7 @@ public class CraftTameableAnimal extends CraftAnimals implements Tameable, Creat
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTamed(boolean tame) {
|
||||
getHandle().setTamed(tame);
|
||||
if (!tame) {
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftThrownExpBottle extends CraftProjectile implements ThrownExpBo
|
||||
return "EntityThrownExpBottle";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.THROWN_EXP_BOTTLE;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftThrownPotion extends CraftProjectile implements ThrownPotion {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<PotionEffect> getEffects() {
|
||||
ImmutableList.Builder<PotionEffect> builder = ImmutableList.builder();
|
||||
for (MobEffect effect : PotionUtil.getEffects(getHandle().getItem())) {
|
||||
@@ -28,6 +29,7 @@ public class CraftThrownPotion extends CraftProjectile implements ThrownPotion {
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItem() {
|
||||
return CraftItemStack.asBukkitCopy(getHandle().getItem());
|
||||
}
|
||||
|
||||
@@ -25,14 +25,17 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
|
||||
return "CraftVillager";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.VILLAGER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Profession getProfession() {
|
||||
return Profession.valueOf(IRegistry.VILLAGER_PROFESSION.getKey(getHandle().getVillagerData().getProfession()).getKey().toUpperCase(Locale.ROOT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProfession(Profession profession) {
|
||||
Validate.notNull(profession);
|
||||
getHandle().setVillagerData(getHandle().getVillagerData().withProfession(IRegistry.VILLAGER_PROFESSION.get(new MinecraftKey(profession.name().toLowerCase(Locale.ROOT)))));
|
||||
|
||||
@@ -20,6 +20,7 @@ public class CraftWitch extends CraftRaider implements Witch {
|
||||
return "CraftWitch";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.WITCH;
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ public class CraftWither extends CraftMonster implements Wither {
|
||||
return "CraftWither";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.WITHER;
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ public class CraftWitherSkull extends CraftFireball implements WitherSkull {
|
||||
return "CraftWitherSkull";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.WITHER_SKULL;
|
||||
}
|
||||
|
||||
@@ -12,10 +12,12 @@ public class CraftWolf extends CraftTameableAnimal implements Wolf {
|
||||
super(server, wolf);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAngry() {
|
||||
return getHandle().isAngry();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAngry(boolean angry) {
|
||||
getHandle().setAngry(angry);
|
||||
}
|
||||
@@ -30,10 +32,12 @@ public class CraftWolf extends CraftTameableAnimal implements Wolf {
|
||||
return EntityType.WOLF;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DyeColor getCollarColor() {
|
||||
return DyeColor.getByWoolData((byte) getHandle().getCollarColor().getColorIndex());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCollarColor(DyeColor color) {
|
||||
getHandle().setCollarColor(EnumColor.fromColorIndex(color.getWoolData()));
|
||||
}
|
||||
|
||||
@@ -24,18 +24,22 @@ public class CraftZombie extends CraftMonster implements Zombie {
|
||||
return "CraftZombie";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.ZOMBIE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBaby() {
|
||||
return getHandle().isBaby();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBaby(boolean flag) {
|
||||
getHandle().setBaby(flag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVillager() {
|
||||
return getHandle() instanceof EntityZombieVillager;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user