Update CraftBukkit to 1.6.1

By: Nate Mortensen <nate.richard.mortensen@gmail.com>
This commit is contained in:
CraftBukkit/Spigot 2013-07-01 06:03:00 -05:00
parent ac0fa66985
commit a578800a63
20 changed files with 254 additions and 64 deletions

15
paper-server/maps.yml Normal file
View file

@ -0,0 +1,15 @@
members:
"org/bukkit/entity/Damageable _INVALID_damage (I)V": damage
"org/bukkit/entity/Damageable _INVALID_damage (ILorg/bukkit/entity/Entity;)V": damage
"org/bukkit/entity/Damageable _INVALID_getHealth ()I": getHealth
"org/bukkit/entity/Damageable _INVALID_setHealth (I)V": setHealth
"org/bukkit/entity/Damageable _INVALID_getMaxHealth ()I": getMaxHealth
"org/bukkit/entity/Damageable _INVALID_setMaxHealth (I)V": setMaxHealth
"org/bukkit/entity/LivingEntity _INVALID_getLastDamage ()I": getLastDamage
"org/bukkit/entity/LivingEntity _INVALID_setLastDamage (I)V": setLastDamage
"org/bukkit/event/entity/EntityDamageEvent _INVALID_getDamage ()I": getDamage
"org/bukkit/event/entity/EntityDamageEvent _INVALID_setDamage (I)V": setDamage
"org/bukkit/event/vehicle/VehicleDamageEvent _INVALID_getDamage ()I": getDamage
"org/bukkit/event/vehicle/VehicleDamageEvent _INVALID_setDamage (I)V": setDamage
"org/bukkit/event/entity/EntityRegainHealthEvent _INVALID_getAmount ()I": getAmount
"org/bukkit/event/entity/EntityRegainHealthEvent _INVALID_setAmount (I)V": setAmount

View file

@ -4,7 +4,7 @@
<groupId>org.bukkit</groupId> <groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId> <artifactId>craftbukkit</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.5.2-R1.1-SNAPSHOT</version> <version>1.6.1-R0.1-SNAPSHOT</version>
<name>CraftBukkit</name> <name>CraftBukkit</name>
<url>http://www.bukkit.org</url> <url>http://www.bukkit.org</url>
@ -12,8 +12,8 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<api.version>unknown</api.version> <api.version>unknown</api.version>
<junit.version>4.11</junit.version> <junit.version>4.11</junit.version>
<minecraft.version>1.5.2</minecraft.version> <minecraft.version>1.6.1</minecraft.version>
<minecraft_version>1_5_R3</minecraft_version> <minecraft_version>1_6_R1</minecraft_version>
</properties> </properties>
<scm> <scm>
@ -278,8 +278,8 @@
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version> <version>2.0.2</version>
<configuration> <configuration>
<source>1.5</source> <source>1.6</source>
<target>1.5</target> <target>1.6</target>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
@ -294,6 +294,24 @@
</excludes> </excludes>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>com.wolvereness</groupId>
<artifactId>overmapped</artifactId>
<version>0.0.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>map</goal>
</goals>
<configuration>
<maps>${basedir}/maps.yml</maps>
<input>${basedir}/target/${project.artifactId}-${project.version}.jar</input>
<original>${basedir}/target/unmapped-${project.artifactId}-${project.version}.jar</original>
</configuration>
</execution>
</executions>
</plugin>
</plugins> </plugins>
<pluginManagement> <pluginManagement>
<plugins> <plugins>

View file

@ -105,7 +105,7 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
public Player getPlayer() { public Player getPlayer() {
for (Object obj : server.getHandle().players) { for (Object obj : server.getHandle().players) {
EntityPlayer player = (EntityPlayer) obj; EntityPlayer player = (EntityPlayer) obj;
if (player.name.equalsIgnoreCase(getName())) { if (player.getName().equalsIgnoreCase(getName())) {
return (player.playerConnection != null) ? player.playerConnection.getPlayer() : null; return (player.playerConnection != null) ? player.playerConnection.getPlayer() : null;
} }
} }

View file

@ -443,7 +443,7 @@ public class CraftWorld implements World {
CraftPlayer cp = (CraftPlayer) p; CraftPlayer cp = (CraftPlayer) p;
if (cp.getHandle().playerConnection == null) continue; if (cp.getHandle().playerConnection == null) continue;
cp.getHandle().playerConnection.sendPacket(new Packet4UpdateTime(cp.getHandle().world.getTime(), cp.getHandle().getPlayerTime())); cp.getHandle().playerConnection.sendPacket(new Packet4UpdateTime(cp.getHandle().world.getTime(), cp.getHandle().getPlayerTime(), cp.getHandle().world.getGameRules().getBoolean("doDaylightCycle")));
} }
} }

View file

@ -39,8 +39,8 @@ public class CraftCommandBlock extends CraftBlockState implements CommandBlock {
boolean result = super.update(force, applyPhysics); boolean result = super.update(force, applyPhysics);
if (result) { if (result) {
commandBlock.b(command); commandBlock.a(command);
commandBlock.c(name); commandBlock.b(name);
} }
return result; return result;

View file

@ -1,5 +1,6 @@
package org.bukkit.craftbukkit.command; package org.bukkit.craftbukkit.command;
import net.minecraft.server.ChatMessage;
import net.minecraft.server.RemoteControlCommandListener; import net.minecraft.server.RemoteControlCommandListener;
import org.bukkit.command.RemoteConsoleCommandSender; import org.bukkit.command.RemoteConsoleCommandSender;
@ -9,7 +10,7 @@ public class CraftRemoteConsoleCommandSender extends ServerCommandSender impleme
} }
public void sendMessage(String message) { public void sendMessage(String message) {
RemoteControlCommandListener.instance.sendMessage(message + "\n"); // Send a newline after each message, to preserve formatting. RemoteControlCommandListener.instance.sendMessage(ChatMessage.d(message + "\n")); // Send a newline after each message, to preserve formatting.
} }
public void sendMessage(String[] messages) { public void sendMessage(String[] messages) {

View file

@ -2,9 +2,11 @@ package org.bukkit.craftbukkit.command;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import net.minecraft.server.ChatMessage;
import net.minecraft.server.ChunkCoordinates; import net.minecraft.server.ChunkCoordinates;
import net.minecraft.server.ICommandListener; import net.minecraft.server.ICommandListener;
import net.minecraft.server.LocaleLanguage; import net.minecraft.server.LocaleLanguage;
import net.minecraft.server.World;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -18,8 +20,8 @@ public class ServerCommandListener implements ICommandListener {
this.prefix = parts[parts.length - 1]; this.prefix = parts[parts.length - 1];
} }
public void sendMessage(String msg) { public void sendMessage(ChatMessage chatmessage) {
this.commandSender.sendMessage(msg); this.commandSender.sendMessage(chatmessage.toString());
} }
public CommandSender getSender() { public CommandSender getSender() {
@ -36,10 +38,6 @@ public class ServerCommandListener implements ICommandListener {
return this.prefix; return this.prefix;
} }
public String a(String s, Object... aobject) {
return LocaleLanguage.a().a(s, aobject);
}
public boolean a(int i, String s) { public boolean a(int i, String s) {
return true; return true;
} }
@ -47,4 +45,8 @@ public class ServerCommandListener implements ICommandListener {
public ChunkCoordinates b() { public ChunkCoordinates b() {
return new ChunkCoordinates(0, 0, 0); return new ChunkCoordinates(0, 0, 0);
} }
public World f_() {
return null;
}
} }

View file

@ -11,6 +11,7 @@ import net.minecraft.server.EntityEnderDragon;
import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.ComplexEntityPart; import org.bukkit.entity.ComplexEntityPart;
import org.bukkit.entity.EnderDragon; import org.bukkit.entity.EnderDragon;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
public class CraftEnderDragon extends CraftComplexLivingEntity implements EnderDragon { public class CraftEnderDragon extends CraftComplexLivingEntity implements EnderDragon {

View file

@ -5,6 +5,7 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.EnderDragon; import org.bukkit.entity.EnderDragon;
import org.bukkit.entity.EnderDragonPart; import org.bukkit.entity.EnderDragonPart;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.util.NumberConversions;
public class CraftEnderDragonPart extends CraftComplexPart implements EnderDragonPart { public class CraftEnderDragonPart extends CraftComplexPart implements EnderDragonPart {
public CraftEnderDragonPart(CraftServer server, EntityComplexPart entity) { public CraftEnderDragonPart(CraftServer server, EntityComplexPart entity) {
@ -26,31 +27,61 @@ public class CraftEnderDragonPart extends CraftComplexPart implements EnderDrago
return "CraftEnderDragonPart"; return "CraftEnderDragonPart";
} }
public void damage(int amount) { public void damage(double amount) {
getParent().damage(amount); getParent().damage(amount);
} }
public void damage(int amount, Entity source) { public void damage(double amount, Entity source) {
getParent().damage(amount, source); getParent().damage(amount, source);
} }
public int getHealth() { public double getHealth() {
return getParent().getHealth(); return getParent().getHealth();
} }
public void setHealth(int health) { public void setHealth(double health) {
getParent().setHealth(health); getParent().setHealth(health);
} }
public int getMaxHealth() { public double getMaxHealth() {
return getParent().getMaxHealth(); return getParent().getMaxHealth();
} }
public void setMaxHealth(int health) { public void setMaxHealth(double health) {
getParent().setMaxHealth(health); getParent().setMaxHealth(health);
} }
public void resetMaxHealth() { public void resetMaxHealth() {
getParent().resetMaxHealth(); getParent().resetMaxHealth();
} }
@Deprecated
public void _INVALID_damage(int amount) {
damage(amount);
}
@Deprecated
public void _INVALID_damage(int amount, Entity source) {
damage(amount, source);
}
@Deprecated
public int _INVALID_getHealth() {
return NumberConversions.ceil(getHealth());
}
@Deprecated
public void _INVALID_setHealth(int health) {
setHealth(health);
}
@Deprecated
public int _INVALID_getMaxHealth() {
return NumberConversions.ceil(getMaxHealth());
}
@Deprecated
public void _INVALID_setMaxHealth(int health) {
setMaxHealth(health);
}
} }

View file

@ -0,0 +1,23 @@
package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityAnimal;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Horse;
public class CraftHorse extends CraftAnimals implements Horse {
public CraftHorse(CraftServer server, EntityAnimal entity) {
super(server, entity);
}
@Override
public String toString() {
return "CraftHorse";
}
public EntityType getType() {
return EntityType.HORSE;
}
}

View file

@ -52,7 +52,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
} }
public String getName() { public String getName() {
return getHandle().name; return getHandle().getName();
} }
public PlayerInventory getInventory() { public PlayerInventory getInventory() {

View file

@ -21,7 +21,7 @@ public class CraftIronGolem extends CraftGolem implements IronGolem {
} }
public boolean isPlayerCreated() { public boolean isPlayerCreated() {
return getHandle().p(); return getHandle().bS();
} }
public void setPlayerCreated(boolean playerCreated) { public void setPlayerCreated(boolean playerCreated) {

View file

@ -25,11 +25,11 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame {
} }
public org.bukkit.inventory.ItemStack getItem() { public org.bukkit.inventory.ItemStack getItem() {
return CraftItemStack.asBukkitCopy(getHandle().i()); return CraftItemStack.asBukkitCopy(getHandle().h());
} }
public Rotation getRotation() { public Rotation getRotation() {
return toBukkitRotation(getHandle().j()); return toBukkitRotation(getHandle().i());
} }
Rotation toBukkitRotation(int value) { Rotation toBukkitRotation(int value) {
@ -44,7 +44,7 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame {
case 3: case 3:
return Rotation.COUNTER_CLOCKWISE; return Rotation.COUNTER_CLOCKWISE;
default: default:
throw new AssertionError("Unknown rotation " + getHandle().j() + " for " + getHandle()); throw new AssertionError("Unknown rotation " + getHandle().i() + " for " + getHandle());
} }
} }

View file

@ -11,6 +11,7 @@ import net.minecraft.server.EntityArrow;
import net.minecraft.server.EntityEgg; import net.minecraft.server.EntityEgg;
import net.minecraft.server.EntityEnderDragon; import net.minecraft.server.EntityEnderDragon;
import net.minecraft.server.EntityEnderPearl; import net.minecraft.server.EntityEnderPearl;
import net.minecraft.server.EntityInsentient;
import net.minecraft.server.EntityLargeFireball; import net.minecraft.server.EntityLargeFireball;
import net.minecraft.server.EntityLiving; import net.minecraft.server.EntityLiving;
import net.minecraft.server.EntitySmallFireball; import net.minecraft.server.EntitySmallFireball;
@ -51,6 +52,7 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.bukkit.util.BlockIterator; import org.bukkit.util.BlockIterator;
import org.bukkit.util.NumberConversions;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
public class CraftLivingEntity extends CraftEntity implements LivingEntity { public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@ -59,16 +61,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public CraftLivingEntity(final CraftServer server, final EntityLiving entity) { public CraftLivingEntity(final CraftServer server, final EntityLiving entity) {
super(server, entity); super(server, entity);
if (!(this instanceof HumanEntity)) { if (entity instanceof EntityInsentient) {
equipment = new CraftEntityEquipment(this); equipment = new CraftEntityEquipment(this);
} }
} }
public int getHealth() { public double getHealth() {
return Math.min(Math.max(0, getHandle().getHealth()), getMaxHealth()); return Math.min(Math.max(0, getHandle().getHealth()), getMaxHealth());
} }
public void setHealth(int health) { public void setHealth(double health) {
if ((health < 0) || (health > getMaxHealth())) { if ((health < 0) || (health > getMaxHealth())) {
throw new IllegalArgumentException("Health must be between 0 and " + getMaxHealth()); throw new IllegalArgumentException("Health must be between 0 and " + getMaxHealth());
} }
@ -77,17 +79,17 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
((EntityPlayer) entity).die(DamageSource.GENERIC); ((EntityPlayer) entity).die(DamageSource.GENERIC);
} }
getHandle().setHealth(health); getHandle().setHealth((float) health);
} }
public int getMaxHealth() { public double getMaxHealth() {
return getHandle().maxHealth; return getHandle().maxHealth;
} }
public void setMaxHealth(int amount) { public void setMaxHealth(double amount) {
Validate.isTrue(amount > 0, "Max health must be greater than 0"); Validate.isTrue(amount > 0, "Max health must be greater than 0");
getHandle().maxHealth = amount; getHandle().maxHealth = (float) amount;
if (getHealth() > amount) { if (getHealth() > amount) {
setHealth(amount); setHealth(amount);
@ -176,11 +178,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
getHandle().maxAirTicks = ticks; getHandle().maxAirTicks = ticks;
} }
public void damage(int amount) { public void damage(double amount) {
damage(amount, null); damage(amount, null);
} }
public void damage(int amount, org.bukkit.entity.Entity source) { public void damage(double amount, org.bukkit.entity.Entity source) {
DamageSource reason = DamageSource.GENERIC; DamageSource reason = DamageSource.GENERIC;
if (source instanceof HumanEntity) { if (source instanceof HumanEntity) {
@ -190,9 +192,9 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
} }
if (entity instanceof EntityEnderDragon) { if (entity instanceof EntityEnderDragon) {
((EntityEnderDragon) entity).dealDamage(reason, amount); ((EntityEnderDragon) entity).dealDamage(reason, (float) amount);
} else { } else {
entity.damageEntity(reason, amount); entity.damageEntity(reason, (float) amount);
} }
} }
@ -210,12 +212,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
getHandle().maxNoDamageTicks = ticks; getHandle().maxNoDamageTicks = ticks;
} }
public int getLastDamage() { public double getLastDamage() {
return getHandle().lastDamage; return getHandle().lastDamage;
} }
public void setLastDamage(int damage) { public void setLastDamage(double damage) {
getHandle().lastDamage = damage; getHandle().lastDamage = (float) damage;
} }
public int getNoDamageTicks() { public int getNoDamageTicks() {
@ -332,15 +334,17 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
} }
public boolean hasLineOfSight(Entity other) { public boolean hasLineOfSight(Entity other) {
return getHandle().getEntitySenses().canSee(((CraftEntity) other).getHandle()); return getHandle() instanceof EntityInsentient && ((EntityInsentient) getHandle()).getEntitySenses().canSee(((CraftEntity) other).getHandle());
} }
public boolean getRemoveWhenFarAway() { public boolean getRemoveWhenFarAway() {
return !getHandle().persistent; return getHandle() instanceof EntityInsentient && !((EntityInsentient) getHandle()).persistent;
} }
public void setRemoveWhenFarAway(boolean remove) { public void setRemoveWhenFarAway(boolean remove) {
getHandle().persistent = !remove; if (getHandle() instanceof EntityInsentient) {
((EntityInsentient) getHandle()).persistent = !remove;
}
} }
public EntityEquipment getEquipment() { public EntityEquipment getEquipment() {
@ -348,11 +352,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
} }
public void setCanPickupItems(boolean pickup) { public void setCanPickupItems(boolean pickup) {
getHandle().canPickUpLoot = pickup; if (getHandle() instanceof EntityInsentient) {
((EntityInsentient) getHandle()).canPickUpLoot = pickup;
}
} }
public boolean getCanPickupItems() { public boolean getCanPickupItems() {
return getHandle().canPickUpLoot; return getHandle() instanceof EntityInsentient && ((EntityInsentient) getHandle()).canPickUpLoot;
} }
@Override @Override
@ -365,6 +371,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
} }
public void setCustomName(String name) { public void setCustomName(String name) {
if (!(getHandle() instanceof EntityInsentient)) {
return;
}
if (name == null) { if (name == null) {
name = ""; name = "";
} }
@ -374,11 +384,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
name = name.substring(0, 64); name = name.substring(0, 64);
} }
getHandle().setCustomName(name); ((EntityInsentient) getHandle()).setCustomName(name);
} }
public String getCustomName() { public String getCustomName() {
String name = getHandle().getCustomName(); if (!(getHandle() instanceof EntityInsentient)) {
return null;
}
String name = ((EntityInsentient) getHandle()).getCustomName();
if (name == null || name.length() == 0) { if (name == null || name.length() == 0) {
return null; return null;
@ -388,10 +402,52 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
} }
public void setCustomNameVisible(boolean flag) { public void setCustomNameVisible(boolean flag) {
getHandle().setCustomNameVisible(flag); if (getHandle() instanceof EntityInsentient) {
((EntityInsentient) getHandle()).setCustomNameVisible(flag);
}
} }
public boolean isCustomNameVisible() { public boolean isCustomNameVisible() {
return getHandle().getCustomNameVisible(); return getHandle() instanceof EntityInsentient && ((EntityInsentient) getHandle()).getCustomNameVisible();
}
@Deprecated
public int _INVALID_getLastDamage() {
return NumberConversions.ceil(getLastDamage());
}
@Deprecated
public void _INVALID_setLastDamage(int damage) {
setLastDamage(damage);
}
@Deprecated
public void _INVALID_damage(int amount) {
damage(amount);
}
@Deprecated
public void _INVALID_damage(int amount, Entity source) {
damage(amount, source);
}
@Deprecated
public int _INVALID_getHealth() {
return NumberConversions.ceil(getHealth());
}
@Deprecated
public void _INVALID_setHealth(int health) {
setHealth(health);
}
@Deprecated
public int _INVALID_getMaxHealth() {
return NumberConversions.ceil(getMaxHealth());
}
@Deprecated
public void _INVALID_setMaxHealth(int health) {
setMaxHealth(health);
} }
} }

View file

@ -4,6 +4,7 @@ import net.minecraft.server.EntityMinecartAbstract;
import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Minecart; import org.bukkit.entity.Minecart;
import org.bukkit.util.NumberConversions;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
public abstract class CraftMinecart extends CraftVehicle implements Minecart { public abstract class CraftMinecart extends CraftVehicle implements Minecart {
@ -11,11 +12,11 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
super(server, entity); super(server, entity);
} }
public void setDamage(int damage) { public void setDamage(double damage) {
getHandle().setDamage(damage); getHandle().setDamage((float) damage);
} }
public int getDamage() { public double getDamage() {
return getHandle().getDamage(); return getHandle().getDamage();
} }
@ -57,4 +58,14 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
public EntityMinecartAbstract getHandle() { public EntityMinecartAbstract getHandle() {
return (EntityMinecartAbstract) entity; return (EntityMinecartAbstract) entity;
} }
@Deprecated
public void _INVALID_setDamage(int damage) {
setDamage(damage);
}
@Deprecated
public int _INVALID_getDamage() {
return NumberConversions.ceil(getDamage());
}
} }

View file

@ -89,7 +89,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean isOnline() { public boolean isOnline() {
for (Object obj : server.getHandle().players) { for (Object obj : server.getHandle().players) {
EntityPlayer player = (EntityPlayer) obj; EntityPlayer player = (EntityPlayer) obj;
if (player.name.equalsIgnoreCase(getName())) { if (player.getName().equalsIgnoreCase(getName())) {
return true; return true;
} }
} }
@ -128,7 +128,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void sendRawMessage(String message) { public void sendRawMessage(String message) {
if (getHandle().playerConnection == null) return; if (getHandle().playerConnection == null) return;
getHandle().playerConnection.sendPacket(new Packet3Chat(message)); getHandle().playerConnection.sendPacket(new Packet3Chat(ChatMessage.d(message)));
} }
public void sendMessage(String message) { public void sendMessage(String message) {
@ -859,10 +859,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} }
} }
@Override
public EntityType getType() { public EntityType getType() {
return EntityType.PLAYER; return EntityType.PLAYER;
} }
@Override
public void setMetadata(String metadataKey, MetadataValue newMetadataValue) { public void setMetadata(String metadataKey, MetadataValue newMetadataValue) {
server.getPlayerMetadata().setMetadata(this, metadataKey, newMetadataValue); server.getPlayerMetadata().setMetadata(this, metadataKey, newMetadataValue);
} }
@ -967,11 +969,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
} }
} }
public void setMaxHealth(int amount) { @Override
public void setMaxHealth(double amount) {
super.setMaxHealth(amount); super.setMaxHealth(amount);
getHandle().triggerHealthUpdate(); getHandle().triggerHealthUpdate();
} }
@Override
public void resetMaxHealth() { public void resetMaxHealth() {
super.resetMaxHealth(); super.resetMaxHealth();
getHandle().triggerHealthUpdate(); getHandle().triggerHealthUpdate();

View file

@ -13,6 +13,7 @@ import net.minecraft.server.EntityArrow;
import net.minecraft.server.EntityDamageSource; import net.minecraft.server.EntityDamageSource;
import net.minecraft.server.EntityDamageSourceIndirect; import net.minecraft.server.EntityDamageSourceIndirect;
import net.minecraft.server.EntityHuman; import net.minecraft.server.EntityHuman;
import net.minecraft.server.EntityInsentient;
import net.minecraft.server.EntityItem; import net.minecraft.server.EntityItem;
import net.minecraft.server.EntityLiving; import net.minecraft.server.EntityLiving;
import net.minecraft.server.EntityPlayer; import net.minecraft.server.EntityPlayer;
@ -243,7 +244,7 @@ public class CraftEventFactory {
/** /**
* EntityTameEvent * EntityTameEvent
*/ */
public static EntityTameEvent callEntityTameEvent(EntityLiving entity, EntityHuman tamer) { public static EntityTameEvent callEntityTameEvent(EntityInsentient entity, EntityHuman tamer) {
org.bukkit.entity.Entity bukkitEntity = entity.getBukkitEntity(); org.bukkit.entity.Entity bukkitEntity = entity.getBukkitEntity();
org.bukkit.entity.AnimalTamer bukkitTamer = (tamer != null ? tamer.getBukkitEntity() : null); org.bukkit.entity.AnimalTamer bukkitTamer = (tamer != null ? tamer.getBukkitEntity() : null);
CraftServer craftServer = (CraftServer) bukkitEntity.getServer(); CraftServer craftServer = (CraftServer) bukkitEntity.getServer();
@ -370,7 +371,7 @@ public class CraftEventFactory {
/** /**
* EntityDamage(ByEntityEvent) * EntityDamage(ByEntityEvent)
*/ */
public static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, int damage) { public static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, double damage) {
EntityDamageEvent event; EntityDamageEvent event;
if (damager != null) { if (damager != null) {
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, damage); event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, damage);
@ -387,7 +388,7 @@ public class CraftEventFactory {
return event; return event;
} }
public static EntityDamageEvent handleEntityDamageEvent(Entity entity, DamageSource source, int damage) { public static EntityDamageEvent handleEntityDamageEvent(Entity entity, DamageSource source, float damage) {
if (source instanceof EntityDamageSource) { if (source instanceof EntityDamageSource) {
Entity damager = source.getEntity(); Entity damager = source.getEntity();
DamageCause cause = DamageCause.ENTITY_ATTACK; DamageCause cause = DamageCause.ENTITY_ATTACK;
@ -443,7 +444,7 @@ public class CraftEventFactory {
} }
// Non-Living Entities such as EntityEnderCrystal need to call this // Non-Living Entities such as EntityEnderCrystal need to call this
public static boolean handleNonLivingEntityDamageEvent(Entity entity, DamageSource source, int damage) { public static boolean handleNonLivingEntityDamageEvent(Entity entity, DamageSource source, float damage) {
if (!(source instanceof EntityDamageSource)) { if (!(source instanceof EntityDamageSource)) {
return false; return false;
} }

View file

@ -1,5 +1,7 @@
package org.bukkit.craftbukkit.inventory; package org.bukkit.craftbukkit.inventory;
import net.minecraft.server.EntityInsentient;
import org.bukkit.craftbukkit.entity.CraftLivingEntity; import org.bukkit.craftbukkit.entity.CraftLivingEntity;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.inventory.EntityEquipment; import org.bukkit.inventory.EntityEquipment;
@ -133,10 +135,10 @@ public class CraftEntityEquipment implements EntityEquipment {
} }
private void setDropChance(int slot, float chance) { private void setDropChance(int slot, float chance) {
entity.getHandle().dropChances[slot] = chance - 0.1F; ((EntityInsentient) entity.getHandle()).dropChances[slot] = chance - 0.1F;
} }
private float getDropChance(int slot) { private float getDropChance(int slot) {
return entity.getHandle().dropChances[slot] + 0.1F; return ((EntityInsentient) entity.getHandle()).dropChances[slot] + 0.1F;
} }
} }

View file

@ -0,0 +1,25 @@
package org.bukkit.craftbukkit.inventory;
import net.minecraft.server.IInventory;
public class CraftInventoryHorse extends CraftInventory {
private final IInventory resultInventory = null;
public CraftInventoryHorse(IInventory inventory) {
super(inventory);
}
public IInventory getResultInventory() {
return resultInventory;
}
public IInventory getIngredientsInventory() {
return inventory;
}
@Override
public int getSize() {
//return getResultInventory().getSize() + getIngredientsInventory().getSize();
return getIngredientsInventory().getSize();
}
}

View file

@ -33,7 +33,7 @@ public class DyeColorsTest extends AbstractTestingBase {
@Test @Test
public void checkColor() { public void checkColor() {
Color color = dye.getColor(); Color color = dye.getColor();
float[] nmsColorArray = EntitySheep.d[dye.getWoolData()]; float[] nmsColorArray = EntitySheep.bp[dye.getWoolData()];
Color nmsColor = Color.fromRGB((int) (nmsColorArray[0] * 255), (int) (nmsColorArray[1] * 255), (int) (nmsColorArray[2] * 255)); Color nmsColor = Color.fromRGB((int) (nmsColorArray[0] * 255), (int) (nmsColorArray[1] * 255), (int) (nmsColorArray[2] * 255));
assertThat(color, is(nmsColor)); assertThat(color, is(nmsColor));
} }