#1401: Add a config option to accept old keys in registry get calls

By: DerFrZocker <derrieple@gmail.com>
This commit is contained in:
CraftBukkit/Spigot
2024-05-29 06:45:14 +10:00
parent 6f5d01226e
commit c955ea1663
8 changed files with 60 additions and 7 deletions

View File

@@ -2,6 +2,7 @@ package org.bukkit.craftbukkit;
import com.google.common.base.Charsets;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterators;
@@ -302,6 +303,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List<CraftPlayer> playerView;
public int reloadCount;
public Set<String> activeCompatibilities = Collections.emptySet();
static {
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
@@ -377,6 +379,7 @@ public final class CraftServer implements Server {
TicketType.PLUGIN.timeout = configuration.getInt("chunk-gc.period-in-ticks");
minimumAPI = ApiVersion.getOrCreateVersion(configuration.getString("settings.minimum-api"));
loadIcon();
loadCompatibilities();
// Set map color cache
if (configuration.getBoolean("settings.use-map-color-cache")) {
@@ -420,6 +423,25 @@ public final class CraftServer implements Server {
}
}
private void loadCompatibilities() {
ConfigurationSection compatibilities = configuration.getConfigurationSection("settings.compatibility");
if (compatibilities == null) {
activeCompatibilities = Collections.emptySet();
return;
}
activeCompatibilities = compatibilities
.getKeys(false)
.stream()
.filter(compatibilities::getBoolean)
.collect(Collectors.toSet());
if (!activeCompatibilities.isEmpty()) {
logger.info("Using following compatibilities: `" + Joiner.on("`, `").join(activeCompatibilities) + "`, this will affect performance and other plugins behavior.");
logger.info("Only use when necessary and prefer updating plugins if possible.");
}
}
public void loadPlugins() {
pluginManager.registerInterface(JavaPluginLoader.class);
@@ -896,6 +918,7 @@ public final class CraftServer implements Server {
printSaveWarning = false;
console.autosavePeriod = configuration.getInt("ticks-per.autosave");
loadIcon();
loadCompatibilities();
try {
playerList.getIpBans().load();