diff --git a/patches/server/0014-Add-an-option-to-apply-the-configuration-to-the-vani.patch b/patches/server/0014-Add-an-option-to-apply-the-configuration-to-the-vani.patch new file mode 100644 index 0000000..24dc9bb --- /dev/null +++ b/patches/server/0014-Add-an-option-to-apply-the-configuration-to-the-vani.patch @@ -0,0 +1,196 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: AlphaKR93 +Date: Wed, 15 May 2024 16:13:17 +0900 +Subject: [PATCH] Add an option to apply the configuration to the vanilla + default + + +diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +index 8445a0b25d647b2c1f9a44f849084cdec0842e18..86822868e47b269891a71fdc04371b1e28a2752e 100644 +--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java ++++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +@@ -89,7 +89,7 @@ public class GlobalConfiguration extends ConfigurationPart { + public Component flyingVehicle = Component.translatable("multiplayer.disconnect.flying"); + } + +- public Component noPermission = Component.text("I'm sorry, but you do not have permission to perform this command. Please contact the server administrators if you believe that this is in error.", NamedTextColor.RED); ++ public Component noPermission = org.plazmamc.plazma.Options.VANILLAIZE ? Component.translatable("command.unknown.command") : Component.text("I'm sorry, but you do not have permission to perform this command. Please contact the server administrators if you believe that this is in error.", NamedTextColor.RED); + public boolean useDisplayNameInQuitMessage = false; + } + +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +index 6de746c3e0f30bcf3dc24b2a4d369c86db445738..a9141a1f71c2dc31c6530b00ba0a69c0d1016797 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +@@ -433,7 +433,19 @@ public final class CraftServer implements Server { + + this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile()); + this.configuration.options().copyDefaults(true); +- this.configuration.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream(org.plazmamc.plazma.configurations.PlazmaConfigurations.optimize() ? "configurations/bukkit_optimized.yml" : "configurations/bukkit.yml"), Charsets.UTF_8))); // Plazma - Optimize default configurations ++ // Plazma start - Add an option to apply the configuration to the vanilla default ++ String configPath; ++ if (org.plazmamc.plazma.Options.NO_OPTIMIZE) { ++ if (org.plazmamc.plazma.Options.VANILLAIZE) configPath = "configurations/bukkit_vanillaized.yml"; ++ else configPath = "configurations/bukkit.yml"; ++ } else { ++ if (org.plazmamc.plazma.Options.VANILLAIZE) configPath = "configurations/bukkit_optimized_vanillaized.yml"; ++ else configPath = "configurations/bukkit_optimized.yml"; ++ } ++ this.configuration.setDefaults(YamlConfiguration.loadConfiguration( ++ new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream(configPath), Charsets.UTF_8) ++ )); // Plazma - Optimize default configurations ++ // Plazma end - Add an option to apply the configuration to the vanilla default + ConfigurationSection legacyAlias = null; + if (!this.configuration.isString("aliases")) { + legacyAlias = this.configuration.getConfigurationSection("aliases"); +diff --git a/src/main/java/org/plazmamc/plazma/Options.java b/src/main/java/org/plazmamc/plazma/Options.java +index d6ead6b1bc73df85a8e8938acd2e8465dd82df97..1fe9af0ffc91626c712847df94ea31e19bb3c8a0 100644 +--- a/src/main/java/org/plazmamc/plazma/Options.java ++++ b/src/main/java/org/plazmamc/plazma/Options.java +@@ -7,5 +7,7 @@ public interface Options { + boolean NO_OPTIMIZE = getBoolean("Plazma.disableConfigOptimization"); + boolean NO_WARN = getBoolean("Plazma.iKnowWhatIAmDoing"); + boolean AGGRESSIVE = Boolean.getBoolean("Plazma.aggressiveOptimize") && !NO_OPTIMIZE; ++ boolean VANILLAIZE = Boolean.getBoolean("Plazma.vanillaize") && !AGGRESSIVE; ++ boolean USE_VANILLA = Boolean.getBoolean("Plazma.useVanillaConfiguration") && !AGGRESSIVE && NO_OPTIMIZE; + + } +diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java +index 6c2a3813e7d63d57f07a8fa2edbb9d231221d818..15f05cd16a9867da95dd1fcdaeeb134553f651d1 100644 +--- a/src/main/java/org/spigotmc/SpigotConfig.java ++++ b/src/main/java/org/spigotmc/SpigotConfig.java +@@ -197,8 +197,8 @@ public class SpigotConfig + public static String whitelistMessage; + public static String unknownCommandMessage; + public static String serverFullMessage; +- public static String outdatedClientMessage = "Outdated client! Please use {0}"; +- public static String outdatedServerMessage = "Outdated server! I\'m still on {0}"; ++ public static String outdatedClientMessage = org.plazmamc.plazma.Options.VANILLAIZE ? "" : "Outdated client! Please use {0}"; ++ public static String outdatedServerMessage = org.plazmamc.plazma.Options.VANILLAIZE ? "" : "Outdated server! I'm still on {0}"; + private static String transform(String s) + { + return ChatColor.translateAlternateColorCodes( '&', s ).replaceAll( "\\\\n", "\n" ); +@@ -211,9 +211,9 @@ public class SpigotConfig + SpigotConfig.set( "messages.outdated-server", SpigotConfig.outdatedServerMessage ); + } + +- SpigotConfig.whitelistMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.whitelist", "You are not whitelisted on this server!" ) ); +- SpigotConfig.unknownCommandMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.unknown-command", "Unknown command. Type \"/help\" for help." ) ); +- SpigotConfig.serverFullMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.server-full", "The server is full!" ) ); ++ SpigotConfig.whitelistMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.whitelist", org.plazmamc.plazma.Options.VANILLAIZE ? "" : "You are not whitelisted on this server!" ) ); // Plazma - Add an option to apply the configuration to the vanilla default ++ SpigotConfig.unknownCommandMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.unknown-command", org.plazmamc.plazma.Options.VANILLAIZE ? "" : "Unknown command. Type \"/help\" for help." ) ); ++ SpigotConfig.serverFullMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.server-full", org.plazmamc.plazma.Options.VANILLAIZE ? "" : "The server is full!" ) ); + SpigotConfig.outdatedClientMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.outdated-client", SpigotConfig.outdatedClientMessage ) ); + SpigotConfig.outdatedServerMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.outdated-server", SpigotConfig.outdatedServerMessage ) ); + } +@@ -227,7 +227,7 @@ public class SpigotConfig + SpigotConfig.timeoutTime = SpigotConfig.getInt( "settings.timeout-time", SpigotConfig.timeoutTime ); + SpigotConfig.restartOnCrash = SpigotConfig.getBoolean( "settings.restart-on-crash", SpigotConfig.restartOnCrash ); + SpigotConfig.restartScript = SpigotConfig.getString( "settings.restart-script", SpigotConfig.restartScript ); +- SpigotConfig.restartMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.restart", "Server is restarting" ) ); ++ SpigotConfig.restartMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.restart", org.plazmamc.plazma.Options.VANILLAIZE ? "" : "Server is restarting" ) ); + SpigotConfig.commands.put( "restart", new RestartCommand( "restart" ) ); + // WatchdogThread.doStart( SpigotConfig.timeoutTime, SpigotConfig.restartOnCrash ); // Paper - moved to after paper config initialization + } +diff --git a/src/main/resources/configurations/bukkit_optimized_vanillaized.yml b/src/main/resources/configurations/bukkit_optimized_vanillaized.yml +new file mode 100644 +index 0000000000000000000000000000000000000000..b7ed456b0172caebdf5b548052ff2ae688377020 +--- /dev/null ++++ b/src/main/resources/configurations/bukkit_optimized_vanillaized.yml +@@ -0,0 +1,45 @@ ++# This is the main configuration file for Bukkit. ++# As you can see, there's actually not that much to configure without any plugins. ++# For a reference for any variable inside this file, check out the Bukkit Wiki at ++# https://www.spigotmc.org/go/bukkit-yml ++# ++# If you need help on this file, feel free to join us on Discord or leave a message ++# on the forums asking for advice. ++# ++# Discord: https://www.spigotmc.org/go/discord ++# Forums: https://www.spigotmc.org/ ++# Bug tracker: https://www.spigotmc.org/go/bugs ++ ++ ++settings: ++ allow-end: true ++ warn-on-overload: true ++ permissions-file: permissions.yml ++ update-folder: update ++ plugin-profiling: false ++ connection-throttle: 4000 ++ query-plugins: true ++ deprecated-verbose: default ++ shutdown-message: ++ minimum-api: none ++ use-map-color-cache: true ++spawn-limits: ++ monsters: 20 ++ animals: 5 ++ water-animals: 2 ++ water-ambient: 2 ++ water-underground-creature: 3 ++ axolotls: 3 ++ ambient: 1 ++chunk-gc: ++ period-in-ticks: 400 ++ticks-per: ++ animal-spawns: 400 ++ monster-spawns: 10 ++ water-spawns: 400 ++ water-ambient-spawns: 400 ++ water-underground-creature-spawns: 400 ++ axolotl-spawns: 400 ++ ambient-spawns: 400 ++ autosave: 6000 ++aliases: now-in-commands.yml +diff --git a/src/main/resources/configurations/bukkit_vanillaized.yml b/src/main/resources/configurations/bukkit_vanillaized.yml +new file mode 100644 +index 0000000000000000000000000000000000000000..22fe392b9970bb82db293d638b0dd5727bd60e5a +--- /dev/null ++++ b/src/main/resources/configurations/bukkit_vanillaized.yml +@@ -0,0 +1,45 @@ ++# This is the main configuration file for Bukkit. ++# As you can see, there's actually not that much to configure without any plugins. ++# For a reference for any variable inside this file, check out the Bukkit Wiki at ++# https://www.spigotmc.org/go/bukkit-yml ++# ++# If you need help on this file, feel free to join us on Discord or leave a message ++# on the forums asking for advice. ++# ++# Discord: https://www.spigotmc.org/go/discord ++# Forums: https://www.spigotmc.org/ ++# Bug tracker: https://www.spigotmc.org/go/bugs ++ ++ ++settings: ++ allow-end: true ++ warn-on-overload: true ++ permissions-file: permissions.yml ++ update-folder: update ++ plugin-profiling: false ++ connection-throttle: 4000 ++ query-plugins: true ++ deprecated-verbose: default ++ shutdown-message: ++ minimum-api: none ++ use-map-color-cache: true ++spawn-limits: ++ monsters: 70 ++ animals: 10 ++ water-animals: 5 ++ water-ambient: 20 ++ water-underground-creature: 5 ++ axolotls: 5 ++ ambient: 15 ++chunk-gc: ++ period-in-ticks: 600 ++ticks-per: ++ animal-spawns: 400 ++ monster-spawns: 1 ++ water-spawns: 1 ++ water-ambient-spawns: 1 ++ water-underground-creature-spawns: 1 ++ axolotl-spawns: 1 ++ ambient-spawns: 1 ++ autosave: 6000 ++aliases: now-in-commands.yml diff --git a/patches/server/0014-Tweak-console-logging.patch b/patches/server/0015-Tweak-console-logging.patch similarity index 100% rename from patches/server/0014-Tweak-console-logging.patch rename to patches/server/0015-Tweak-console-logging.patch diff --git a/patches/server/0015-Add-missing-purpur-configuration-options.patch b/patches/server/0016-Add-missing-purpur-configuration-options.patch similarity index 100% rename from patches/server/0015-Add-missing-purpur-configuration-options.patch rename to patches/server/0016-Add-missing-purpur-configuration-options.patch diff --git a/patches/server/0016-Completely-remove-Mojang-Profiler.patch b/patches/server/0017-Completely-remove-Mojang-Profiler.patch similarity index 100% rename from patches/server/0016-Completely-remove-Mojang-Profiler.patch rename to patches/server/0017-Completely-remove-Mojang-Profiler.patch diff --git a/patches/server/0017-Add-option-to-change-nether-portal-size.patch b/patches/server/0018-Add-option-to-change-nether-portal-size.patch similarity index 100% rename from patches/server/0017-Add-option-to-change-nether-portal-size.patch rename to patches/server/0018-Add-option-to-change-nether-portal-size.patch diff --git a/patches/server/0018-Reduce-create-random-instance.patch b/patches/server/0019-Reduce-create-random-instance.patch similarity index 99% rename from patches/server/0018-Reduce-create-random-instance.patch rename to patches/server/0019-Reduce-create-random-instance.patch index 0e86ac2..5c68ff6 100644 --- a/patches/server/0018-Reduce-create-random-instance.patch +++ b/patches/server/0019-Reduce-create-random-instance.patch @@ -30,7 +30,7 @@ index b47a8a082170bcb630c4354be7c77a4cac71d105..7fe6b99e146e7374cd29534f1e89046e double d1 = (double) (center.y - maxRange); double d2 = (double) (center.x + maxRange); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 37636343c1b62b7dfa426bd6ca2bd425fd1bfff3..4ae9db093d7d3bd84c0f14e2067a458579fdd178 100644 +index bcb6d87a51f27d80e0fdbcc1606f2f7c12849ce0..818477b820410660ead4d1d20efb9bbb023a5abf 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -482,7 +482,7 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0019-Apply-various-optimizations.patch b/patches/server/0020-Apply-various-optimizations.patch similarity index 100% rename from patches/server/0019-Apply-various-optimizations.patch rename to patches/server/0020-Apply-various-optimizations.patch diff --git a/patches/server/0020-Do-not-refresh-LootTable-for-non-player-interaction.patch b/patches/server/0021-Do-not-refresh-LootTable-for-non-player-interaction.patch similarity index 100% rename from patches/server/0020-Do-not-refresh-LootTable-for-non-player-interaction.patch rename to patches/server/0021-Do-not-refresh-LootTable-for-non-player-interaction.patch diff --git a/patches/server/0021-Do-not-load-chunks-to-spawn-phantom.patch b/patches/server/0022-Do-not-load-chunks-to-spawn-phantom.patch similarity index 100% rename from patches/server/0021-Do-not-load-chunks-to-spawn-phantom.patch rename to patches/server/0022-Do-not-load-chunks-to-spawn-phantom.patch diff --git a/patches/server/0022-Add-option-to-disable-moved-to-quickly-check-for-spe.patch b/patches/server/0023-Add-option-to-disable-moved-to-quickly-check-for-spe.patch similarity index 100% rename from patches/server/0022-Add-option-to-disable-moved-to-quickly-check-for-spe.patch rename to patches/server/0023-Add-option-to-disable-moved-to-quickly-check-for-spe.patch diff --git a/patches/server/0023-Ignore-useless-entity-packets.patch b/patches/server/0024-Ignore-useless-entity-packets.patch similarity index 100% rename from patches/server/0023-Ignore-useless-entity-packets.patch rename to patches/server/0024-Ignore-useless-entity-packets.patch diff --git a/patches/server/0024-Configurable-entity-sensor-tick.patch b/patches/server/0025-Configurable-entity-sensor-tick.patch similarity index 100% rename from patches/server/0024-Configurable-entity-sensor-tick.patch rename to patches/server/0025-Configurable-entity-sensor-tick.patch diff --git a/patches/server/0025-Variable-entity-wakeup-duration.patch b/patches/server/0026-Variable-entity-wakeup-duration.patch similarity index 100% rename from patches/server/0025-Variable-entity-wakeup-duration.patch rename to patches/server/0026-Variable-entity-wakeup-duration.patch diff --git a/patches/server/0026-Optimise-state-lookup-more.patch b/patches/server/0027-Optimise-state-lookup-more.patch similarity index 100% rename from patches/server/0026-Optimise-state-lookup-more.patch rename to patches/server/0027-Optimise-state-lookup-more.patch diff --git a/patches/server/0027-Suppress-errors-from-dirty-attributes.patch b/patches/server/0028-Suppress-errors-from-dirty-attributes.patch similarity index 100% rename from patches/server/0027-Suppress-errors-from-dirty-attributes.patch rename to patches/server/0028-Suppress-errors-from-dirty-attributes.patch diff --git a/patches/server/0028-Skip-event-if-no-listeners.patch b/patches/server/0029-Skip-event-if-no-listeners.patch similarity index 100% rename from patches/server/0028-Skip-event-if-no-listeners.patch rename to patches/server/0029-Skip-event-if-no-listeners.patch diff --git a/patches/server/0029-Add-entity-spawn-deadlock-timer.patch b/patches/server/0030-Add-entity-spawn-deadlock-timer.patch similarity index 97% rename from patches/server/0029-Add-entity-spawn-deadlock-timer.patch rename to patches/server/0030-Add-entity-spawn-deadlock-timer.patch index 8d7c4c3..085930a 100644 --- a/patches/server/0029-Add-entity-spawn-deadlock-timer.patch +++ b/patches/server/0030-Add-entity-spawn-deadlock-timer.patch @@ -61,7 +61,7 @@ index 967af8771ff8564c715d89f4b4b69b16c25add59..2ac5fb585636523787e05edaa58a4fa3 return nbt; } diff --git a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java -index 29514dd01d46ba9f6b123bf3af56981541f670db..6a0cfec24618227d9a5ddc6c71e37d1986147799 100644 +index a9c8a5918184a2ea364261e279edf7169ae270c7..ffbe18cd212fda0a67d13cb5ccf32068670988aa 100644 --- a/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java +++ b/src/main/java/org/plazmamc/plazma/configurations/WorldConfigurations.java @@ -54,6 +54,14 @@ public class WorldConfigurations extends ConfigurationPart { diff --git a/patches/server/0030-Lithium-HashedList.patch b/patches/server/0031-Lithium-HashedList.patch similarity index 100% rename from patches/server/0030-Lithium-HashedList.patch rename to patches/server/0031-Lithium-HashedList.patch diff --git a/patches/server/0031-Improve-SwingTime-ticking.patch b/patches/server/0032-Improve-SwingTime-ticking.patch similarity index 100% rename from patches/server/0031-Improve-SwingTime-ticking.patch rename to patches/server/0032-Improve-SwingTime-ticking.patch diff --git a/patches/server/0032-Save-Json-list-asynchronously.patch b/patches/server/0033-Save-Json-list-asynchronously.patch similarity index 100% rename from patches/server/0032-Save-Json-list-asynchronously.patch rename to patches/server/0033-Save-Json-list-asynchronously.patch diff --git a/patches/server/0033-Add-more-MSPT.patch b/patches/server/0034-Add-more-MSPT.patch similarity index 100% rename from patches/server/0033-Add-more-MSPT.patch rename to patches/server/0034-Add-more-MSPT.patch diff --git a/patches/server/0034-Process-pathfinding-asynchronously.patch b/patches/server/0035-Process-pathfinding-asynchronously.patch similarity index 100% rename from patches/server/0034-Process-pathfinding-asynchronously.patch rename to patches/server/0035-Process-pathfinding-asynchronously.patch diff --git a/patches/server/0035-Use-Akair-s-flag-when-running-the-test-server-with-g.patch b/patches/server/0036-Use-Akair-s-flag-when-running-the-test-server-with-g.patch similarity index 100% rename from patches/server/0035-Use-Akair-s-flag-when-running-the-test-server-with-g.patch rename to patches/server/0036-Use-Akair-s-flag-when-running-the-test-server-with-g.patch diff --git a/patches/server/0036-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch b/patches/server/0037-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch similarity index 92% rename from patches/server/0036-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch rename to patches/server/0037-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch index 06dbefd..0750c51 100644 --- a/patches/server/0036-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch +++ b/patches/server/0037-Use-Plazma-logo-instead-if-server-favicon-doesn-t-ex.patch @@ -69,13 +69,13 @@ index 87cb1529a6bba0f0778cf97c3c5473c3a8503b59..f388a07678ef253b19da814f6d90c4d7 public Optional getWorldScreenshotFile() { diff --git a/src/main/java/org/plazmamc/plazma/Options.java b/src/main/java/org/plazmamc/plazma/Options.java -index d6ead6b1bc73df85a8e8938acd2e8465dd82df97..0e7fe1a8f1ad75ff92f97c9eab029fd4f4c20abc 100644 +index 1fe9af0ffc91626c712847df94ea31e19bb3c8a0..f446d1a793514ab19a4428294540d16c2f160a77 100644 --- a/src/main/java/org/plazmamc/plazma/Options.java +++ b/src/main/java/org/plazmamc/plazma/Options.java -@@ -7,5 +7,6 @@ public interface Options { - boolean NO_OPTIMIZE = getBoolean("Plazma.disableConfigOptimization"); - boolean NO_WARN = getBoolean("Plazma.iKnowWhatIAmDoing"); +@@ -9,5 +9,6 @@ public interface Options { boolean AGGRESSIVE = Boolean.getBoolean("Plazma.aggressiveOptimize") && !NO_OPTIMIZE; + boolean VANILLAIZE = Boolean.getBoolean("Plazma.vanillaize") && !AGGRESSIVE; + boolean USE_VANILLA = Boolean.getBoolean("Plazma.useVanillaConfiguration") && !AGGRESSIVE && NO_OPTIMIZE; + boolean VANILLA_ICO = Boolean.getBoolean("Plazma.useVanillaFavicon"); } diff --git a/patches/server/0037-Implement-FreedomChat.patch b/patches/server/0038-Implement-FreedomChat.patch similarity index 100% rename from patches/server/0037-Implement-FreedomChat.patch rename to patches/server/0038-Implement-FreedomChat.patch diff --git a/patches/server/0038-Add-some-missing-Pufferfish-configurations.patch b/patches/server/0039-Add-some-missing-Pufferfish-configurations.patch similarity index 100% rename from patches/server/0038-Add-some-missing-Pufferfish-configurations.patch rename to patches/server/0039-Add-some-missing-Pufferfish-configurations.patch diff --git a/patches/server/0039-Improve-biome-temperature-cache.patch b/patches/server/0040-Improve-biome-temperature-cache.patch similarity index 100% rename from patches/server/0039-Improve-biome-temperature-cache.patch rename to patches/server/0040-Improve-biome-temperature-cache.patch