package com.intellectualcrafters.plot.object; import com.intellectualcrafters.plot.PS; import com.intellectualcrafters.plot.commands.RequiredType; import com.intellectualcrafters.plot.database.DBFunc; import com.intellectualcrafters.plot.util.PlotGameMode; import com.intellectualcrafters.plot.util.PlotWeather; import java.util.UUID; public class ConsolePlayer extends PlotPlayer { private static ConsolePlayer instance; private ConsolePlayer() { PlotArea area = PS.get().getFirstPlotArea(); Location loc; if (area != null) { RegionWrapper region = area.getRegion(); loc = new Location(area.worldname, region.minX + region.maxX / 2, 0, region.minZ + region.maxZ / 2); } else { loc = new Location("world", 0, 0, 0); } setMeta("location", loc); } public static ConsolePlayer getConsole() { if (instance == null) { instance = new ConsolePlayer(); instance.teleport(instance.getLocation()); } return instance; } @Override public boolean canTeleport(Location loc) { return true; } @Override public Location getLocation() { return this.getMeta("location"); } @Override public Location getLocationFull() { return getLocation(); } @Override public UUID getUUID() { return DBFunc.everyone; } @Override public long getLastPlayed() { return 0; } @Override public boolean hasPermission(String permission) { return true; } @Override public boolean isPermissionSet(String permission) { return true; } @Override public void sendMessage(String message) { PS.log(message); } @Override public void teleport(Location location) { setMeta("lastplot", location.getPlot()); setMeta("location", location); } @Override public boolean isOnline() { return true; } @Override public String getName() { return "*"; } @Override public void setCompassTarget(Location location) {} @Override public void setAttribute(String key) {} @Override public boolean getAttribute(String key) { return false; } @Override public void removeAttribute(String key) {} @Override public RequiredType getSuperCaller() { return RequiredType.CONSOLE; } @Override public void setWeather(PlotWeather weather) {} @Override public PlotGameMode getGameMode() { return PlotGameMode.NOT_SET; } @Override public void setGameMode(PlotGameMode gameMode) {} @Override public void setTime(long time) {} @Override public boolean getFlight() { return true; } @Override public void setFlight(boolean fly) {} @Override public void playMusic(Location location, int id) {} @Override public void kick(String message) {} @Override public void stopSpectating() {} @Override public boolean isBanned() { return false; } }