package net.minecraft.server;
import com.mojang.authlib.GameProfileRepository;
import com.mojang.authlib.minecraft.MinecraftSessionService;
import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
import java.io.IOException;
import java.net.Proxy;
import java.util.List;
import java.util.Queue;
import java.util.regex.Pattern;
import org.apache.logging.log4j.Logger;
import org.torch.server.TorchServer;
public class DedicatedServer extends MinecraftServer implements IMinecraftServer, org.torch.api.TorchServant {
/**
* STATIC FIELDS
*/
/**
* Legacy dedicated server instance
*/
private static DedicatedServer instance;
/**
* Common logger
*/
private static final Logger LOGGER = TorchServer.logger;
/**
* SHA-1 pattern
*/
private static final Pattern l = TorchServer.RESOURCE_PACK_SHA1_PATTERN;
/**
* NORMAL FIELDS
*/
/**
* Server command queue -> serverCommandQueue
*/
private final Queue<ServerCommand> serverCommandQueue; // Torch - List -> Queue
/**
* Rcon command listener -> remoteControlCommandListener
*/
public final RemoteControlCommandListener remoteControlCommandListener;
/**
* Server properties -> propertyManager
*/
public PropertyManager propertyManager;
/**
* If generate structures -> generateStructures
*/
private boolean generateStructures;
/**
* OBFUSCATED FIELDS
*/
/**
* Rcon query listener -> remoteQueryListener
*/
private RemoteStatusListener n;
/**
* Rcon control listener -> remoteControlListener
*/
private RemoteControlListener p;
/**
* EULA -> eula
*/
private EULA r;
/**
* Game mode -> gameMode
*/
private EnumGamemode t;
/**
* GUI -> guiIsEnabled
*/
private boolean u;
public DedicatedServer(joptsimple.OptionSet options, DataConverterManager dataconvertermanager, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
super(options, Proxy.NO_PROXY, dataconvertermanager, yggdrasilauthenticationservice, minecraftsessionservice, gameprofilerepository, usercache);
instance = this;
/**
* NORMAL FIELDS
*/
serverCommandQueue = reactor.getServerCommandQueue();
remoteControlCommandListener = reactor.getRemoteControlCommandListener();
propertyManager = reactor.getPropertyManager();
generateStructures = reactor.isGenerateStructures();
/**
* OBFUSCATED FIELDS
*/
n = reactor.getRemoteQueryListener();
p = reactor.getRemoteControlListener();
r = reactor.getEula();
t = reactor.getGameMode();
u = reactor.isGuiIsEnabled();
}
@Override
public boolean init() throws IOException {
return reactor.init();
}
public String aL() {
return reactor.loadResourcePackSHA();
}
@Override
public void setGamemode(EnumGamemode enumgamemode) {
reactor.setGamemodeGlobal(enumgamemode);
}
@Override
public boolean getGenerateStructures() {
return reactor.isGenerateStructures();
}
@Override
public EnumGamemode getGamemode() {
return reactor.getGameMode();
}
@Override
public EnumDifficulty getDifficulty() {
return reactor.getDifficulty();
}
@Override
public boolean isHardcore() {
return reactor.isHardcore();
}
@Override
public CrashReport b(CrashReport crashreport) {
return reactor.addServerInfoToCrashReportDedicated(crashreport);
}
@Override
public void B() {
reactor.systemExitNow();
}
@Override
public void D() {
reactor.updateLogicsPhysicsExecuteCommands();
}
@Override
public boolean getAllowNether() {
return reactor.getAllowNether();
}
@Override
public boolean getSpawnMonsters() {
return reactor.getSpawnMonsters();
}
// Snooper
@Override
public void a(MojangStatisticsGenerator mojangstatisticsgenerator) {}
@Override
public boolean getSnooperEnabled() {
return reactor.getSnooperEnabled();
}
public void issueCommand(String s, ICommandListener icommandlistener) {
reactor.issueCommand(s, icommandlistener);
}
public void aM() {
reactor.executePendingCommands();
}
@Override
public boolean aa() {
return TorchServer.isDedicatedServer();
}
@Override
public boolean af() {
return reactor.shouldUseNativeTransport();
}
public DedicatedPlayerList aN() {
return reactor.getDedicatedPlayerList();
}
@Override
public int a(String s, int i) {
return reactor.getIntProperty(s, i);
}
@Override
public String a(String s, String s1) {
return reactor.getStringProperty(s, s1);
}
public boolean a(String s, boolean flag) {
return reactor.getBooleanProperty(s, flag);
}
@Override
public void a(String s, Object object) {
reactor.setProperty(s, object);
}
@Override
public void a() {
reactor.saveProperties();
}
@Override
public String b() {
return reactor.getSettingsPath();
}
@Override
public String d_() {
return reactor.getServerIp();
}
@Override
public int e_() {
return reactor.getServerPort();
}
@Override
public String f_() {
return reactor.getMotd();
}
public void aO() {
reactor.setGuiEnabled();
}
@Override
public boolean ap() {
return reactor.isGuiIsEnabled();
}
@Override
public String a(EnumGamemode enumgamemode, boolean flag) {
return reactor.shareToLAN(enumgamemode, flag);
}
@Override
public boolean getEnableCommandBlock() {
return reactor.getEnableCommandBlock();
}
@Override
public int getSpawnProtection() {
return reactor.getSpawnProtectionSize();
}
@Override
public boolean a(World world, BlockPosition blockposition, EntityHuman entityhuman) {
return reactor.isBlockProtected(world, blockposition, entityhuman);
}
@Override
public int q() {
return reactor.getOpPermissionLevel();
}
@Override
public void setIdleTimeout(int i) {
reactor.setIdleTimeout(i);
}
@Override
public boolean r() {
return reactor.shouldBroadcastRconToOps();
}
@Override
public boolean s() {
return reactor.shouldBroadcastConsoleToOps();
}
@Override
public boolean ay() {
return reactor.isAnnouncingPlayerAchievements();
}
@Override
public int aE() {
return reactor.getMaxWorldSize();
}
@Override
public int aG() {
return reactor.getNetworkCompressionThreshold();
}
protected boolean aP() {
return reactor.convertFilesUUID();
}
private void aS() {
reactor.sleepFiveSeconds();
}
public long aQ() {
return reactor.getMaxTickTime();
}
@Override
public String getPlugins() {
return reactor.getPluginsRcon();
}
@Override
public String executeRemoteCommand(final String s) {
return reactor.executeRemoteCommand(s);
}
@Override
public PlayerList getPlayerList() {
return reactor.getDedicatedPlayerList();
}
@Override
public PropertyManager getPropertyManager() {
return reactor.getPropertyManager();
}
public static DedicatedServer getServer() {
return instance;
}
}