@@ -0,0 +1,11 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityMonster;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.Blaze;
|
||||
|
||||
public class CraftBlaze extends CraftMonster implements Blaze {
|
||||
public CraftBlaze(CraftServer server, EntityMonster entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityComplex;
|
||||
import net.minecraft.server.EntityLiving;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.ComplexLivingEntity;
|
||||
|
||||
public abstract class CraftComplexLivingEntity extends CraftLivingEntity implements ComplexLivingEntity {
|
||||
public CraftComplexLivingEntity(CraftServer server, EntityLiving entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityComplex getHandle() {
|
||||
return (EntityComplex)super.getHandle();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.Entity;
|
||||
import net.minecraft.server.EntityComplexPart;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.ComplexEntityPart;
|
||||
import org.bukkit.entity.ComplexLivingEntity;
|
||||
|
||||
public class CraftComplexPart extends CraftEntity implements ComplexEntityPart {
|
||||
public CraftComplexPart(CraftServer server, Entity entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
public ComplexLivingEntity getParent() {
|
||||
return (ComplexLivingEntity)getHandle().a.getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityComplexPart getHandle() {
|
||||
return (EntityComplexPart)super.getHandle();
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,10 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityEgg;
|
||||
import net.minecraft.server.EntityLiving;
|
||||
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.Egg;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
|
||||
public class CraftEgg extends AbstractProjectile implements Egg {
|
||||
|
||||
public class CraftEgg extends CraftProjectile implements Egg {
|
||||
public CraftEgg(CraftServer server, EntityEgg entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
@@ -17,19 +13,4 @@ public class CraftEgg extends AbstractProjectile implements Egg {
|
||||
public String toString() {
|
||||
return "CraftEgg";
|
||||
}
|
||||
|
||||
public LivingEntity getShooter() {
|
||||
if (((EntityEgg) getHandle()).thrower != null) {
|
||||
return (LivingEntity) ((EntityEgg) getHandle()).thrower.getBukkitEntity();
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
public void setShooter(LivingEntity shooter) {
|
||||
if (shooter instanceof CraftLivingEntity) {
|
||||
((EntityEgg) getHandle()).thrower = (EntityLiving) ((CraftLivingEntity) shooter).entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSet.Builder;
|
||||
import java.util.Set;
|
||||
import net.minecraft.server.EntityComplexPart;
|
||||
import net.minecraft.server.EntityEnderDragon;
|
||||
import net.minecraft.server.EntityLiving;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.ComplexEntityPart;
|
||||
import org.bukkit.entity.EnderDragon;
|
||||
|
||||
public class CraftEnderDragon extends CraftComplexLivingEntity implements EnderDragon {
|
||||
public CraftEnderDragon(CraftServer server, EntityLiving entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
public Set<ComplexEntityPart> getParts() {
|
||||
Builder<ComplexEntityPart> builder = ImmutableSet.builder();
|
||||
|
||||
for (EntityComplexPart part : getHandle().f) {
|
||||
builder.add((ComplexEntityPart)part.getBukkitEntity());
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityEnderDragon getHandle() {
|
||||
return (EntityEnderDragon)super.getHandle();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.Entity;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.EnderDragon;
|
||||
import org.bukkit.entity.EnderDragonPart;
|
||||
|
||||
public class CraftEnderDragonPart extends CraftComplexPart implements EnderDragonPart {
|
||||
public CraftEnderDragonPart(CraftServer server, Entity entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnderDragon getParent() {
|
||||
return (EnderDragon)super.getParent();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.Entity;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.EnderPearl;
|
||||
|
||||
public class CraftEnderPearl extends CraftProjectile implements EnderPearl {
|
||||
public CraftEnderPearl(CraftServer server, Entity entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftEnderPearl";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.Entity;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.EnderSignal;
|
||||
|
||||
public class CraftEnderSignal extends CraftEntity implements EnderSignal {
|
||||
public CraftEnderSignal(CraftServer server, Entity entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftEnderSignal";
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
// Animals
|
||||
if (entity instanceof EntityAnimal) {
|
||||
if (entity instanceof EntityChicken) { return new CraftChicken(server, (EntityChicken) entity); }
|
||||
else if (entity instanceof EntityCow) { return new CraftCow(server, (EntityCow) entity); }
|
||||
else if (entity instanceof EntityCow) {
|
||||
if (entity instanceof EntityMushroomCow) { return new CraftMushroomCow(server, (EntityMushroomCow) entity); }
|
||||
else { return new CraftCow(server, (EntityCow) entity); }
|
||||
}
|
||||
else if (entity instanceof EntityPig) { return new CraftPig(server, (EntityPig) entity); }
|
||||
else if (entity instanceof EntityWolf) { return new CraftWolf(server, (EntityWolf) entity); }
|
||||
else if (entity instanceof EntitySheep) { return new CraftSheep(server, (EntitySheep) entity); }
|
||||
@@ -58,6 +61,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
else if (entity instanceof EntitySilverfish) { return new CraftSilverfish(server, (EntitySilverfish) entity); }
|
||||
else if (entity instanceof EntityGiantZombie) { return new CraftGiant(server, (EntityGiantZombie) entity); }
|
||||
else if (entity instanceof EntitySkeleton) { return new CraftSkeleton(server, (EntitySkeleton) entity); }
|
||||
else if (entity instanceof EntityBlaze) { return new CraftBlaze(server, (EntityBlaze) entity); }
|
||||
else if (entity instanceof EntitySpider) {
|
||||
if (entity instanceof EntityCaveSpider) { return new CraftCaveSpider(server, (EntityCaveSpider) entity); }
|
||||
else { return new CraftSpider(server, (EntitySpider) entity); }
|
||||
@@ -70,6 +74,8 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
if (entity instanceof EntitySquid) { return new CraftSquid(server, (EntitySquid) entity); }
|
||||
else { return new CraftWaterMob(server, (EntityWaterAnimal) entity); }
|
||||
}
|
||||
else if (entity instanceof EntitySnowman) { return new CraftSnowman(server, (EntityCreature) entity); }
|
||||
else if (entity instanceof EntityVillager) { return new CraftVillager(server, (EntityVillager) entity); }
|
||||
else { return new CraftCreature(server, (EntityCreature) entity); }
|
||||
}
|
||||
// Slimes are a special (and broken) case
|
||||
@@ -79,14 +85,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
if (entity instanceof EntityGhast) { return new CraftGhast(server, (EntityGhast) entity); }
|
||||
else { return new CraftFlying(server, (EntityFlying) entity); }
|
||||
}
|
||||
else if (entity instanceof EntityComplex) {
|
||||
if (entity instanceof EntityEnderDragon) { return new CraftEnderDragon(server, (EntityEnderDragon) entity); }
|
||||
}
|
||||
else { return new CraftLivingEntity(server, (EntityLiving) entity); }
|
||||
}
|
||||
else if (entity instanceof EntityComplexPart) {
|
||||
EntityComplexPart part = (EntityComplexPart)entity;
|
||||
if (part.a instanceof EntityEnderDragon) { return new CraftEnderDragonPart(server, (EntityComplexPart)entity); }
|
||||
else { return new CraftComplexPart(server, (EntityComplexPart) entity); }
|
||||
}
|
||||
else if (entity instanceof EntityExperienceOrb) { return new CraftExperienceOrb(server, (EntityExperienceOrb) entity); }
|
||||
else if (entity instanceof EntityArrow) { return new CraftArrow(server, (EntityArrow) entity); }
|
||||
else if (entity instanceof EntityBoat) { return new CraftBoat(server, (EntityBoat) entity); }
|
||||
else if (entity instanceof EntityEgg) { return new CraftEgg(server, (EntityEgg) entity); }
|
||||
else if (entity instanceof EntityProjectile) {
|
||||
if (entity instanceof EntityEgg) { return new CraftEgg(server, (EntityEgg) entity); }
|
||||
else if (entity instanceof EntitySnowball) { return new CraftSnowball(server, (EntitySnowball) entity); }
|
||||
else if (entity instanceof EntityPotion) { return new CraftThrownPotion(server, (EntityPotion) entity); }
|
||||
else if (entity instanceof EntityEnderPearl) { return new CraftEnderPearl(server, (EntityEnderPearl) entity); }
|
||||
}
|
||||
else if (entity instanceof EntityFallingSand) { return new CraftFallingSand(server, (EntityFallingSand) entity); }
|
||||
else if (entity instanceof EntityFireball) { return new CraftFireball(server, (EntityFireball) entity); }
|
||||
else if (entity instanceof EntityFireball) {
|
||||
if (entity instanceof EntitySmallFireball) { return new CraftSmallFireball(server, (EntitySmallFireball) entity); }
|
||||
else { return new CraftFireball(server, (EntityFireball) entity); }
|
||||
}
|
||||
else if (entity instanceof EntityEnderSignal) { return new CraftEnderSignal(server, (EntityEnderSignal) entity); }
|
||||
else if (entity instanceof EntityFishingHook) { return new CraftFish(server, (EntityFishingHook) entity); }
|
||||
else if (entity instanceof EntityItem) { return new CraftItem(server, (EntityItem) entity); }
|
||||
else if (entity instanceof EntityWeather) {
|
||||
@@ -107,9 +130,9 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
}
|
||||
}
|
||||
else if (entity instanceof EntityPainting) { return new CraftPainting(server, (EntityPainting) entity); }
|
||||
else if (entity instanceof EntitySnowball) { return new CraftSnowball(server, (EntitySnowball) entity); }
|
||||
else if (entity instanceof EntityTNTPrimed) { return new CraftTNTPrimed(server, (EntityTNTPrimed) entity); }
|
||||
else throw new IllegalArgumentException("Unknown entity");
|
||||
|
||||
throw new IllegalArgumentException("Unknown entity");
|
||||
}
|
||||
|
||||
public Location getLocation() {
|
||||
|
||||
@@ -32,19 +32,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
}
|
||||
|
||||
public int getHealth() {
|
||||
return getHandle().health;
|
||||
return getHandle().getHealth();
|
||||
}
|
||||
|
||||
public void setHealth(int health) {
|
||||
if ((health < 0) || (health > 200)) {
|
||||
throw new IllegalArgumentException("Health must be between 0 and 200");
|
||||
if ((health < 0) || (health > getMaxHealth())) {
|
||||
throw new IllegalArgumentException("Health must be between 0 and " + getMaxHealth());
|
||||
}
|
||||
|
||||
if (entity instanceof EntityPlayer && health == 0) {
|
||||
((EntityPlayer) entity).die(DamageSource.GENERIC);
|
||||
}
|
||||
|
||||
getHandle().health = health;
|
||||
getHandle().setHealth(health);
|
||||
}
|
||||
|
||||
public int getMaxHealth() {
|
||||
return getHandle().getMaxHealth();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -34,11 +34,11 @@ public class CraftMinecart extends CraftVehicle implements Minecart {
|
||||
}
|
||||
|
||||
public void setDamage(int damage) {
|
||||
minecart.damage = damage;
|
||||
minecart.setDamage(damage);
|
||||
}
|
||||
|
||||
public int getDamage() {
|
||||
return minecart.damage;
|
||||
return minecart.getDamage();
|
||||
}
|
||||
|
||||
public double getMaxSpeed() {
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityCow;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.MushroomCow;
|
||||
|
||||
public class CraftMushroomCow extends CraftCow implements MushroomCow {
|
||||
public CraftMushroomCow(CraftServer server, EntityCow entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
}
|
||||
@@ -40,12 +40,12 @@ public class CraftPainting extends CraftEntity implements Painting {
|
||||
}
|
||||
|
||||
public boolean setArt(Art art, boolean force) {
|
||||
EntityPainting painting = getHandle();
|
||||
EntityPainting painting = this.getHandle();
|
||||
EnumArt oldArt = painting.e;
|
||||
EnumArt newArt = CraftArt.BukkitToNotch(art);
|
||||
painting.e = newArt;
|
||||
painting.b(painting.a);
|
||||
if(!force && !painting.i()) {
|
||||
if (!force && !painting.j()) {
|
||||
// Revert painting since it doesn't fit
|
||||
painting.e = oldArt;
|
||||
painting.b(painting.a);
|
||||
@@ -70,7 +70,7 @@ public class CraftPainting extends CraftEntity implements Painting {
|
||||
painting.b = block.getX();
|
||||
painting.c = block.getY();
|
||||
painting.d = block.getZ();
|
||||
switch(face) {
|
||||
switch (face) {
|
||||
case EAST:
|
||||
default:
|
||||
getHandle().b(0);
|
||||
@@ -85,7 +85,7 @@ public class CraftPainting extends CraftEntity implements Painting {
|
||||
getHandle().b(3);
|
||||
break;
|
||||
}
|
||||
if(!force && !painting.i()) {
|
||||
if (!force && !painting.j()) {
|
||||
// Revert painting since it doesn't fit
|
||||
painting.b = x;
|
||||
painting.c = y;
|
||||
@@ -98,7 +98,7 @@ public class CraftPainting extends CraftEntity implements Painting {
|
||||
}
|
||||
|
||||
public BlockFace getFacing() {
|
||||
switch(getHandle().a) {
|
||||
switch (this.getHandle().a) {
|
||||
case 0:
|
||||
default:
|
||||
return BlockFace.EAST;
|
||||
|
||||
@@ -489,7 +489,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
public int getLevel() {
|
||||
return getHandle().expLevel;
|
||||
return (int)getHandle().expLevel;
|
||||
}
|
||||
|
||||
public void setLevel(int level) {
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityLiving;
|
||||
import net.minecraft.server.EntityProjectile;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Projectile;
|
||||
|
||||
public abstract class CraftProjectile extends AbstractProjectile implements Projectile {
|
||||
public CraftProjectile(CraftServer server, net.minecraft.server.Entity entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
public LivingEntity getShooter() {
|
||||
if (getHandle().shooter instanceof EntityLiving) {
|
||||
return (LivingEntity)getHandle().shooter.getBukkitEntity();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setShooter(LivingEntity shooter) {
|
||||
if (shooter instanceof CraftLivingEntity) {
|
||||
getHandle().shooter = (EntityLiving)((CraftLivingEntity)shooter).entity;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityProjectile getHandle() {
|
||||
return (EntityProjectile)entity;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityFireball;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.SmallFireball;
|
||||
|
||||
public class CraftSmallFireball extends CraftFireball implements SmallFireball {
|
||||
public CraftSmallFireball(CraftServer server, EntityFireball entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,13 +1,10 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityLiving;
|
||||
import net.minecraft.server.EntitySnowball;
|
||||
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Snowball;
|
||||
|
||||
public class CraftSnowball extends AbstractProjectile implements Snowball {
|
||||
public class CraftSnowball extends CraftProjectile implements Snowball {
|
||||
public CraftSnowball(CraftServer server, EntitySnowball entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
@@ -16,18 +13,4 @@ public class CraftSnowball extends AbstractProjectile implements Snowball {
|
||||
public String toString() {
|
||||
return "CraftSnowball";
|
||||
}
|
||||
|
||||
public LivingEntity getShooter() {
|
||||
if (((EntitySnowball) getHandle()).shooter != null) {
|
||||
return (LivingEntity) ((EntitySnowball) getHandle()).shooter.getBukkitEntity();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setShooter(LivingEntity shooter) {
|
||||
if (shooter instanceof CraftLivingEntity) {
|
||||
((EntitySnowball) getHandle()).shooter = (EntityLiving) ((CraftLivingEntity) shooter).entity;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityCreature;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.Snowman;
|
||||
|
||||
public class CraftSnowman extends CraftCreature implements Snowman {
|
||||
public CraftSnowman(CraftServer server, EntityCreature entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.Entity;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.ThrownPotion;
|
||||
|
||||
public class CraftThrownPotion extends CraftProjectile implements ThrownPotion {
|
||||
public CraftThrownPotion(CraftServer server, Entity entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftThrownPotion";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import net.minecraft.server.EntityCreature;
|
||||
import net.minecraft.server.EntityVillager;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.Villager;
|
||||
|
||||
public class CraftVillager extends CraftCreature implements Villager {
|
||||
public CraftVillager(CraftServer server, EntityCreature entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityVillager getHandle() {
|
||||
return (EntityVillager)super.getHandle();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user