@@ -1,8 +1,11 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import net.minecraft.server.EntityFox;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.AnimalTamer;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Fox;
|
||||
|
||||
@@ -63,4 +66,52 @@ public class CraftFox extends CraftAnimals implements Fox {
|
||||
public void setSleeping(boolean sleeping) {
|
||||
getHandle().setSleeping(sleeping);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AnimalTamer getFirstTrustedPlayer() {
|
||||
UUID uuid = getHandle().getDataWatcher().get(EntityFox.by).orElse(null);
|
||||
if (uuid == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AnimalTamer player = getServer().getPlayer(uuid);
|
||||
if (player == null) {
|
||||
player = getServer().getOfflinePlayer(uuid);
|
||||
}
|
||||
|
||||
return player;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFirstTrustedPlayer(AnimalTamer player) {
|
||||
if (player == null && getHandle().getDataWatcher().get(EntityFox.bz).isPresent()) {
|
||||
throw new IllegalStateException("Must remove second trusted player first");
|
||||
}
|
||||
|
||||
getHandle().getDataWatcher().set(EntityFox.by, player == null ? Optional.empty() : Optional.of(player.getUniqueId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AnimalTamer getSecondTrustedPlayer() {
|
||||
UUID uuid = getHandle().getDataWatcher().get(EntityFox.bz).orElse(null);
|
||||
if (uuid == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
AnimalTamer player = getServer().getPlayer(uuid);
|
||||
if (player == null) {
|
||||
player = getServer().getOfflinePlayer(uuid);
|
||||
}
|
||||
|
||||
return player;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSecondTrustedPlayer(AnimalTamer player) {
|
||||
if (player != null && !getHandle().getDataWatcher().get(EntityFox.by).isPresent()) {
|
||||
throw new IllegalStateException("Must add first trusted player first");
|
||||
}
|
||||
|
||||
getHandle().getDataWatcher().set(EntityFox.bz, player == null ? Optional.empty() : Optional.of(player.getUniqueId()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user