267 lines
9.3 KiB
Java
267 lines
9.3 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*/
|
|
package net.minecraft.server.jsonrpc.internalapi;
|
|
|
|
import net.minecraft.server.dedicated.DedicatedServer;
|
|
import net.minecraft.server.jsonrpc.JsonRpcLogger;
|
|
import net.minecraft.server.jsonrpc.internalapi.MinecraftServerSettingsService;
|
|
import net.minecraft.server.jsonrpc.methods.ClientInfo;
|
|
import net.minecraft.server.permissions.LevelBasedPermissionSet;
|
|
import net.minecraft.world.Difficulty;
|
|
import net.minecraft.world.level.GameType;
|
|
|
|
public class MinecraftServerSettingsServiceImpl
|
|
implements MinecraftServerSettingsService {
|
|
private final DedicatedServer server;
|
|
private final JsonRpcLogger jsonrpcLogger;
|
|
|
|
public MinecraftServerSettingsServiceImpl(DedicatedServer server, JsonRpcLogger jsonrpcLogger) {
|
|
this.server = server;
|
|
this.jsonrpcLogger = jsonrpcLogger;
|
|
}
|
|
|
|
@Override
|
|
public boolean isAutoSave() {
|
|
return this.server.isAutoSave();
|
|
}
|
|
|
|
@Override
|
|
public boolean setAutoSave(boolean enabled, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update autosave from {} to {}", this.isAutoSave(), enabled);
|
|
this.server.setAutoSave(enabled);
|
|
return this.isAutoSave();
|
|
}
|
|
|
|
@Override
|
|
public Difficulty getDifficulty() {
|
|
return this.server.getWorldData().getDifficulty();
|
|
}
|
|
|
|
@Override
|
|
public Difficulty setDifficulty(Difficulty difficulty, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update difficulty from '{}' to '{}'", this.getDifficulty(), difficulty);
|
|
this.server.setDifficulty(difficulty);
|
|
return this.getDifficulty();
|
|
}
|
|
|
|
@Override
|
|
public boolean isEnforceWhitelist() {
|
|
return this.server.isEnforceWhitelist();
|
|
}
|
|
|
|
@Override
|
|
public boolean setEnforceWhitelist(boolean enforce, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update enforce allowlist from {} to {}", this.isEnforceWhitelist(), enforce);
|
|
this.server.setEnforceWhitelist(enforce);
|
|
this.server.kickUnlistedPlayers();
|
|
return this.isEnforceWhitelist();
|
|
}
|
|
|
|
@Override
|
|
public boolean isUsingWhitelist() {
|
|
return this.server.isUsingWhitelist();
|
|
}
|
|
|
|
@Override
|
|
public boolean setUsingWhitelist(boolean use, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update using allowlist from {} to {}", this.isUsingWhitelist(), use);
|
|
this.server.setUsingWhitelist(use);
|
|
this.server.kickUnlistedPlayers();
|
|
return this.isUsingWhitelist();
|
|
}
|
|
|
|
@Override
|
|
public int getMaxPlayers() {
|
|
return this.server.getMaxPlayers();
|
|
}
|
|
|
|
@Override
|
|
public int setMaxPlayers(int maxPlayers, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update max players from {} to {}", this.getMaxPlayers(), maxPlayers);
|
|
this.server.setMaxPlayers(maxPlayers);
|
|
return this.getMaxPlayers();
|
|
}
|
|
|
|
@Override
|
|
public int getPauseWhenEmptySeconds() {
|
|
return this.server.pauseWhenEmptySeconds();
|
|
}
|
|
|
|
@Override
|
|
public int setPauseWhenEmptySeconds(int emptySeconds, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update pause when empty from {} seconds to {} seconds", this.getPauseWhenEmptySeconds(), emptySeconds);
|
|
this.server.setPauseWhenEmptySeconds(emptySeconds);
|
|
return this.getPauseWhenEmptySeconds();
|
|
}
|
|
|
|
@Override
|
|
public int getPlayerIdleTimeout() {
|
|
return this.server.playerIdleTimeout();
|
|
}
|
|
|
|
@Override
|
|
public int setPlayerIdleTimeout(int idleTime, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update player idle timeout from {} minutes to {} minutes", this.getPlayerIdleTimeout(), idleTime);
|
|
this.server.setPlayerIdleTimeout(idleTime);
|
|
return this.getPlayerIdleTimeout();
|
|
}
|
|
|
|
@Override
|
|
public boolean allowFlight() {
|
|
return this.server.allowFlight();
|
|
}
|
|
|
|
@Override
|
|
public boolean setAllowFlight(boolean allow, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update allow flight from {} to {}", this.allowFlight(), allow);
|
|
this.server.setAllowFlight(allow);
|
|
return this.allowFlight();
|
|
}
|
|
|
|
@Override
|
|
public int getSpawnProtectionRadius() {
|
|
return this.server.spawnProtectionRadius();
|
|
}
|
|
|
|
@Override
|
|
public int setSpawnProtectionRadius(int spawnProtection, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update spawn protection radius from {} to {}", this.getSpawnProtectionRadius(), spawnProtection);
|
|
this.server.setSpawnProtectionRadius(spawnProtection);
|
|
return this.getSpawnProtectionRadius();
|
|
}
|
|
|
|
@Override
|
|
public String getMotd() {
|
|
return this.server.getMotd();
|
|
}
|
|
|
|
@Override
|
|
public String setMotd(String motd, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update MOTD from '{}' to '{}'", this.getMotd(), motd);
|
|
this.server.setMotd(motd);
|
|
return this.getMotd();
|
|
}
|
|
|
|
@Override
|
|
public boolean forceGameMode() {
|
|
return this.server.forceGameMode();
|
|
}
|
|
|
|
@Override
|
|
public boolean setForceGameMode(boolean force, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update force game mode from {} to {}", this.forceGameMode(), force);
|
|
this.server.setForceGameMode(force);
|
|
return this.forceGameMode();
|
|
}
|
|
|
|
@Override
|
|
public GameType getGameMode() {
|
|
return this.server.gameMode();
|
|
}
|
|
|
|
@Override
|
|
public GameType setGameMode(GameType gameMode, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update game mode from '{}' to '{}'", this.getGameMode(), gameMode);
|
|
this.server.setGameMode(gameMode);
|
|
return this.getGameMode();
|
|
}
|
|
|
|
@Override
|
|
public int getViewDistance() {
|
|
return this.server.viewDistance();
|
|
}
|
|
|
|
@Override
|
|
public int setViewDistance(int viewDistance, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update view distance from {} to {}", this.getViewDistance(), viewDistance);
|
|
this.server.setViewDistance(viewDistance);
|
|
return this.getViewDistance();
|
|
}
|
|
|
|
@Override
|
|
public int getSimulationDistance() {
|
|
return this.server.simulationDistance();
|
|
}
|
|
|
|
@Override
|
|
public int setSimulationDistance(int simulationDistance, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update simulation distance from {} to {}", this.getSimulationDistance(), simulationDistance);
|
|
this.server.setSimulationDistance(simulationDistance);
|
|
return this.getSimulationDistance();
|
|
}
|
|
|
|
@Override
|
|
public boolean acceptsTransfers() {
|
|
return this.server.acceptsTransfers();
|
|
}
|
|
|
|
@Override
|
|
public boolean setAcceptsTransfers(boolean accept, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update accepts transfers from {} to {}", this.acceptsTransfers(), accept);
|
|
this.server.setAcceptsTransfers(accept);
|
|
return this.acceptsTransfers();
|
|
}
|
|
|
|
@Override
|
|
public int getStatusHeartbeatInterval() {
|
|
return this.server.statusHeartbeatInterval();
|
|
}
|
|
|
|
@Override
|
|
public int setStatusHeartbeatInterval(int statusHeartbeatInterval, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update status heartbeat interval from {} to {}", this.getStatusHeartbeatInterval(), statusHeartbeatInterval);
|
|
this.server.setStatusHeartbeatInterval(statusHeartbeatInterval);
|
|
return this.getStatusHeartbeatInterval();
|
|
}
|
|
|
|
@Override
|
|
public LevelBasedPermissionSet getOperatorUserPermissions() {
|
|
return this.server.operatorUserPermissions();
|
|
}
|
|
|
|
@Override
|
|
public LevelBasedPermissionSet setOperatorUserPermissions(LevelBasedPermissionSet permissions, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update operator user permission level from {} to {}", this.getOperatorUserPermissions(), permissions.level());
|
|
this.server.setOperatorUserPermissions(permissions);
|
|
return this.getOperatorUserPermissions();
|
|
}
|
|
|
|
@Override
|
|
public boolean hidesOnlinePlayers() {
|
|
return this.server.hidesOnlinePlayers();
|
|
}
|
|
|
|
@Override
|
|
public boolean setHidesOnlinePlayers(boolean hide, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update hides online players from {} to {}", this.hidesOnlinePlayers(), hide);
|
|
this.server.setHidesOnlinePlayers(hide);
|
|
return this.hidesOnlinePlayers();
|
|
}
|
|
|
|
@Override
|
|
public boolean repliesToStatus() {
|
|
return this.server.repliesToStatus();
|
|
}
|
|
|
|
@Override
|
|
public boolean setRepliesToStatus(boolean enable, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update replies to status from {} to {}", this.repliesToStatus(), enable);
|
|
this.server.setRepliesToStatus(enable);
|
|
return this.repliesToStatus();
|
|
}
|
|
|
|
@Override
|
|
public int getEntityBroadcastRangePercentage() {
|
|
return this.server.entityBroadcastRangePercentage();
|
|
}
|
|
|
|
@Override
|
|
public int setEntityBroadcastRangePercentage(int percentage, ClientInfo clientInfo) {
|
|
this.jsonrpcLogger.log(clientInfo, "Update entity broadcast range percentage from {}% to {}%", this.getEntityBroadcastRangePercentage(), percentage);
|
|
this.server.setEntityBroadcastRangePercentage(percentage);
|
|
return this.getEntityBroadcastRangePercentage();
|
|
}
|
|
}
|
|
|