forked from xjboss/KCauldronX
84 lines
2.1 KiB
Java
84 lines
2.1 KiB
Java
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() + "}";
|
|
}
|
|
}
|