forked from xjboss/KCauldronX
Initial commit (Forge 1291).
This commit is contained in:
@ -0,0 +1,83 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.AnimalTamer;
|
||||
import org.bukkit.entity.Creature;
|
||||
import org.bukkit.entity.Tameable;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class CraftTameableAnimal extends CraftAnimals implements Tameable, Creature {
|
||||
public CraftTameableAnimal(CraftServer server, net.minecraft.entity.passive.EntityTameable entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public net.minecraft.entity.passive.EntityTameable getHandle() {
|
||||
return (net.minecraft.entity.passive.EntityTameable)super.getHandle();
|
||||
}
|
||||
|
||||
public UUID getOwnerUUID() {
|
||||
try {
|
||||
return UUID.fromString(getHandle().func_152113_b());
|
||||
} catch (IllegalArgumentException ex) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void setOwnerUUID(UUID uuid) {
|
||||
if (uuid == null) {
|
||||
getHandle().func_152115_b("");
|
||||
} else {
|
||||
getHandle().func_152115_b(uuid.toString());
|
||||
}
|
||||
}
|
||||
|
||||
public AnimalTamer getOwner() {
|
||||
if (getOwnerUUID() == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AnimalTamer owner = getServer().getPlayer(getOwnerUUID());
|
||||
if (owner == null) {
|
||||
owner = getServer().getOfflinePlayer(getOwnerUUID());
|
||||
}
|
||||
|
||||
return owner;
|
||||
}
|
||||
|
||||
public boolean isTamed() {
|
||||
return getHandle().isTamed();
|
||||
}
|
||||
|
||||
public void setOwner(AnimalTamer tamer) {
|
||||
if (tamer != null) {
|
||||
setTamed(true);
|
||||
getHandle().setPathToEntity(null);
|
||||
setOwnerUUID(tamer.getUniqueId());
|
||||
} else {
|
||||
setTamed(false);
|
||||
setOwnerUUID(null);
|
||||
}
|
||||
}
|
||||
|
||||
public void setTamed(boolean tame) {
|
||||
getHandle().setTamed(tame);
|
||||
if (!tame) {
|
||||
setOwnerUUID(null);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isSitting() {
|
||||
return getHandle().isSitting();
|
||||
}
|
||||
|
||||
public void setSitting(boolean sitting) {
|
||||
getHandle().func_70907_r().setSitting(sitting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getClass().getSimpleName() + "{owner=" + getOwner() + ",tamed=" + isTamed() + "}";
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user