133 lines
3.3 KiB
Java
133 lines
3.3 KiB
Java
package net.minecraft.server.dedicated;
|
|
|
|
import com.mojang.authlib.GameProfile;
|
|
import com.mojang.logging.LogUtils;
|
|
import java.io.IOException;
|
|
import net.minecraft.core.LayeredRegistryAccess;
|
|
import net.minecraft.server.RegistryLayer;
|
|
import net.minecraft.server.players.PlayerList;
|
|
import net.minecraft.world.level.storage.PlayerDataStorage;
|
|
import org.slf4j.Logger;
|
|
|
|
public class DedicatedPlayerList extends PlayerList {
|
|
private static final Logger LOGGER = LogUtils.getLogger();
|
|
|
|
public DedicatedPlayerList(DedicatedServer server, LayeredRegistryAccess<RegistryLayer> registries, PlayerDataStorage playerIo) {
|
|
super(server, registries, playerIo, server.getProperties().maxPlayers);
|
|
DedicatedServerProperties dedicatedServerProperties = server.getProperties();
|
|
this.setViewDistance(dedicatedServerProperties.viewDistance);
|
|
this.setSimulationDistance(dedicatedServerProperties.simulationDistance);
|
|
super.setUsingWhiteList(dedicatedServerProperties.whiteList.get());
|
|
this.loadUserBanList();
|
|
this.saveUserBanList();
|
|
this.loadIpBanList();
|
|
this.saveIpBanList();
|
|
this.loadOps();
|
|
this.loadWhiteList();
|
|
this.saveOps();
|
|
if (!this.getWhiteList().getFile().exists()) {
|
|
this.saveWhiteList();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void setUsingWhiteList(boolean whitelistEnabled) {
|
|
super.setUsingWhiteList(whitelistEnabled);
|
|
this.getServer().storeUsingWhiteList(whitelistEnabled);
|
|
}
|
|
|
|
@Override
|
|
public void op(GameProfile profile) {
|
|
super.op(profile);
|
|
this.saveOps();
|
|
}
|
|
|
|
@Override
|
|
public void deop(GameProfile profile) {
|
|
super.deop(profile);
|
|
this.saveOps();
|
|
}
|
|
|
|
@Override
|
|
public void reloadWhiteList() {
|
|
this.loadWhiteList();
|
|
}
|
|
|
|
private void saveIpBanList() {
|
|
try {
|
|
this.getIpBans().save();
|
|
} catch (IOException var2) {
|
|
LOGGER.warn("Failed to save ip banlist: ", (Throwable)var2);
|
|
}
|
|
}
|
|
|
|
private void saveUserBanList() {
|
|
try {
|
|
this.getBans().save();
|
|
} catch (IOException var2) {
|
|
LOGGER.warn("Failed to save user banlist: ", (Throwable)var2);
|
|
}
|
|
}
|
|
|
|
private void loadIpBanList() {
|
|
try {
|
|
this.getIpBans().load();
|
|
} catch (IOException var2) {
|
|
LOGGER.warn("Failed to load ip banlist: ", (Throwable)var2);
|
|
}
|
|
}
|
|
|
|
private void loadUserBanList() {
|
|
try {
|
|
this.getBans().load();
|
|
} catch (IOException var2) {
|
|
LOGGER.warn("Failed to load user banlist: ", (Throwable)var2);
|
|
}
|
|
}
|
|
|
|
private void loadOps() {
|
|
try {
|
|
this.getOps().load();
|
|
} catch (Exception var2) {
|
|
LOGGER.warn("Failed to load operators list: ", (Throwable)var2);
|
|
}
|
|
}
|
|
|
|
private void saveOps() {
|
|
try {
|
|
this.getOps().save();
|
|
} catch (Exception var2) {
|
|
LOGGER.warn("Failed to save operators list: ", (Throwable)var2);
|
|
}
|
|
}
|
|
|
|
private void loadWhiteList() {
|
|
try {
|
|
this.getWhiteList().load();
|
|
} catch (Exception var2) {
|
|
LOGGER.warn("Failed to load white-list: ", (Throwable)var2);
|
|
}
|
|
}
|
|
|
|
private void saveWhiteList() {
|
|
try {
|
|
this.getWhiteList().save();
|
|
} catch (Exception var2) {
|
|
LOGGER.warn("Failed to save white-list: ", (Throwable)var2);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public boolean isWhiteListed(GameProfile profile) {
|
|
return !this.isUsingWhitelist() || this.isOp(profile) || this.getWhiteList().isWhiteListed(profile);
|
|
}
|
|
|
|
public DedicatedServer getServer() {
|
|
return (DedicatedServer)super.getServer();
|
|
}
|
|
|
|
@Override
|
|
public boolean canBypassPlayerLimit(GameProfile profile) {
|
|
return this.getOps().canBypassPlayerLimit(profile);
|
|
}
|
|
}
|