diff --git a/patches/server/0009-Optimize-Default-Configurations.patch b/patches/server/0009-Optimize-Default-Configurations.patch index 60691e274..573133170 100644 --- a/patches/server/0009-Optimize-Default-Configurations.patch +++ b/patches/server/0009-Optimize-Default-Configurations.patch @@ -3,11 +3,11 @@ From: IPECTER Date: Tue, 7 Mar 2023 12:28:34 +0900 Subject: [PATCH] Optimize Default Configurations -Original: YouHaveTrouble/minecraft-optimization, AkiraDevelopment/SimplyMC +Original: YouHaveTrouble/minecraft-optimization, YouHaveTrouble/minecraft-exploits-and-how-to-fix-them, AkiraDevelopment/SimplyMC Copyright (C) 2023 YouHaveTrouble, AkiraDevelopment diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java -index 3e36958365bc136516bafbaad0c168f7956406f1..b5eca4a809d5e7c77de9737941f3f6c35e4fc796 100644 +index 3e36958365bc136516bafbaad0c168f7956406f1..47e96912f8cde6e6988b5d609a4fbd8e00b126cb 100644 --- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java +++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java @@ -211,8 +211,8 @@ public class PufferfishConfig { @@ -18,12 +18,12 @@ index 3e36958365bc136516bafbaad0c168f7956406f1..b5eca4a809d5e7c77de9737941f3f6c3 - maxProjectileLoadsPerProjectile = getInt("projectile.max-loads-per-projectile", 10, "Controls how many chunks a projectile", "can load in its lifetime before it gets", "automatically removed."); + maxProjectileLoadsPerTick = getInt("projectile.max-loads-per-tick", Boolean.getBoolean("Plazma.disableConfigOptimization") ? 10 : 8, "Controls how many chunks are allowed", "to be sync loaded by projectiles in a tick."); // Plazma + maxProjectileLoadsPerProjectile = getInt("projectile.max-loads-per-projectile", 10, "Controls how many chunks a projectile", "can load in its lifetime before it gets", "automatically removed."); - + setComment("projectile", "Optimizes projectile settings"); } @@ -225,16 +225,16 @@ public class PufferfishConfig { public static int activationDistanceMod; - + private static void dynamicActivationOfBrains() throws IOException { - dearEnabled = getBoolean("dab.enabled", "activation-range.enabled", false); // Purpur - startDistance = getInt("dab.start-distance", "activation-range.start-distance", 12, @@ -42,25 +42,81 @@ index 3e36958365bc136516bafbaad0c168f7956406f1..b5eca4a809d5e7c77de9737941f3f6c3 "tick frequency. freq = (distanceToPlayer^2) / (2^value)", "If you want further away entities to tick less often, use 7.", "If you want further away entities to tick more often, try 9."); +@@ -253,8 +253,18 @@ public class PufferfishConfig { + public static Map projectileTimeouts; + private static void projectileTimeouts() { + // Set some defaults +- getInt("entity_timeouts.SNOWBALL", -1); +- getInt("entity_timeouts.LLAMA_SPIT", -1); ++ // Plazma start - Optimize Default Configurations ++ if (!Boolean.getBoolean("Plazma.disableConfigOptimization")) { ++ getInt("entity_timeouts.ARROW", 200); ++ getInt("entity_timeouts.EGG", 200); ++ getInt("entity_timeouts.ENDER_PEARL", 200); ++ getInt("entity_timeouts.SNOWBALL", 200); ++ getInt("entity_timeouts.LLAMA_SPIT", 200); ++ } else { ++ // Plazma end ++ getInt("entity_timeouts.SNOWBALL", -1); ++ getInt("entity_timeouts.LLAMA_SPIT", -1); ++ } // Plazma + setComment("entity_timeouts", + "These values define a entity's maximum lifespan. If an", + "entity is in this list and it has survived for longer than", diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java -index 3bc7230ca62ebe3426da293e436a962bb0134f85..1a4b5dc4c5340de66553936bbbc074d1654a3ef8 100644 +index 3bc7230ca62ebe3426da293e436a962bb0134f85..766e518c6a3b3e684f5fda65a680b5378c9c0479 100644 --- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java @@ -143,7 +143,7 @@ public class GlobalConfiguration extends ConfigurationPart { - + public class Watchdog extends ConfigurationPart { public int earlyWarningEvery = 5000; - public int earlyWarningDelay = 10000; + public int earlyWarningDelay = Boolean.getBoolean("Plazma.disableConfigOptimization") ? 10000 : 180000; // Plazma - Optimize Default Configurations } - + public SpamLimiter spamLimiter; +@@ -230,7 +230,7 @@ public class GlobalConfiguration extends ConfigurationPart { + public BookSize bookSize; + + public class BookSize extends ConfigurationPart { +- public int pageMax = 2560; // TODO this appears to be a duplicate setting with one above ++ public int pageMax = !Boolean.getBoolean("Plazma.disableConfigOptimization") ? 1024 : 2560; // TODO this appears to be a duplicate setting with one above // Plazma - Optimize Default Configurations + public double totalMultiplier = 0.98D; // TODO this should probably be merged into the above inner class + } + public boolean resolveSelectorsInBooks = false; +@@ -241,7 +241,15 @@ public class GlobalConfiguration extends ConfigurationPart { + public class PacketLimiter extends ConfigurationPart { + public Component kickMessage = Component.translatable("disconnect.exceeded_packet_rate", NamedTextColor.RED); + public PacketLimit allPackets = new PacketLimit(7.0, 500.0, PacketLimit.ViolateAction.KICK); +- public Map>, PacketLimit> overrides = Map.of(ServerboundPlaceRecipePacket.class, new PacketLimit(4.0, 5.0, PacketLimit.ViolateAction.DROP)); ++ // Plazma start - Optimize Default Configurations ++ public Map>, PacketLimit> overrides = new java.util.HashMap<>() {{ ++ put(ServerboundPlaceRecipePacket.class, new PacketLimit(4.0, 5.0, PacketLimit.ViolateAction.DROP)); ++ if (!Boolean.getBoolean("Plazma.disableConfigOptimization")) { ++ put(net.minecraft.network.protocol.game.ServerboundCommandSuggestionPacket.class, new PacketLimit(1.0, 15.0, PacketLimit.ViolateAction.DROP)); ++ put(net.minecraft.network.protocol.game.ServerboundPlaceRecipePacket.class, new PacketLimit(4.0, 5.0, PacketLimit.ViolateAction.DROP)); ++ } ++ }}; ++ // Plazma end + + @ConfigSerializable + public record PacketLimit(@Required double interval, @Required double maxPacketRate, ViolateAction action) { +@@ -308,7 +316,7 @@ public class GlobalConfiguration extends ConfigurationPart { + executor.setMaximumPoolSize(_chatExecutorMaxSize); + } + } +- public int maxJoinsPerTick = 5; ++ public int maxJoinsPerTick = !Boolean.getBoolean("Plazma.disableConfigOptimization") ? 3 : 5; // Plazma - Optimize Default Configurations + public boolean fixEntityPositionDesync = true; + public boolean loadPermissionsYmlBeforePlugins = true; + @Constraints.Min(4) diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -index f45afb7e2607617d1239abeca13a9002dd9a3a18..844ecc2a6d6677742e87ef22dede28867892a301 100644 +index f45afb7e2607617d1239abeca13a9002dd9a3a18..3f7868dbc4b5b7cf665e9d60b146374f79481e42 100644 --- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java @@ -88,15 +88,15 @@ public class WorldConfiguration extends ConfigurationPart { - + public class AntiXray extends ConfigurationPart { public boolean enabled = false; - public EngineMode engineMode = EngineMode.HIDE; @@ -79,14 +135,25 @@ index f45afb7e2607617d1239abeca13a9002dd9a3a18..844ecc2a6d6677742e87ef22dede2886 + // Plazma end } } - + +@@ -120,8 +120,8 @@ public class WorldConfiguration extends ConfigurationPart { + public ArmorStands armorStands; + + public class ArmorStands extends ConfigurationPart { +- public boolean doCollisionEntityLookups = true; +- public boolean tick = true; ++ public boolean doCollisionEntityLookups = Boolean.getBoolean("Plazma.disableConfigOptimization"); // Plazma - Optimize Default Configurations ++ public boolean tick = Boolean.getBoolean("Plazma.disableConfigOptimization");; // Plazma - Optimize Default Configurations + } + + public Markers markers; @@ -150,7 +150,7 @@ public class WorldConfiguration extends ConfigurationPart { @MergeMap public Reference2IntMap spawnLimits = Util.make(new Reference2IntOpenHashMap<>(NaturalSpawner.SPAWNING_CATEGORIES.length), map -> Arrays.stream(NaturalSpawner.SPAWNING_CATEGORIES).forEach(mobCategory -> map.put(mobCategory, -1))); @MergeMap - public Map despawnRanges = Arrays.stream(MobCategory.values()).collect(Collectors.toMap(Function.identity(), category -> new DespawnRange(category.getNoDespawnDistance(), category.getDespawnDistance()))); + public Map despawnRanges = Arrays.stream(MobCategory.values()).collect(Collectors.toMap(Function.identity(), category -> new DespawnRange(category.getNoDespawnDistance(), Boolean.getBoolean("Plazma.disableConfigOptimization") ? category.getDespawnDistance() : (net.minecraft.server.MinecraftServer.getServer().server.getSimulationDistance() * 16) + 8))); // Plazma - Optimize Default Configurations - + @ConfigSerializable public record DespawnRange(@Required int soft, @Required int hard) { @@ -372,7 +372,7 @@ public class WorldConfiguration extends ConfigurationPart { @@ -109,9 +176,9 @@ index f45afb7e2607617d1239abeca13a9002dd9a3a18..844ecc2a6d6677742e87ef22dede2886 + public int maxEntityCollisions = Boolean.getBoolean("Plazma.disableConfigOptimization") ? 8 : 2; // Plazma - Optimize Default Configurations public boolean allowPlayerCrammingDamage = false; } - + @@ -462,18 +462,40 @@ public class WorldConfiguration extends ConfigurationPart { - + public class Chunks extends ConfigurationPart { public AutosavePeriod autoSaveInterval = AutosavePeriod.def(); - public int maxAutoSaveChunksPerTick = 24; @@ -162,7 +229,7 @@ index f45afb7e2607617d1239abeca13a9002dd9a3a18..844ecc2a6d6677742e87ef22dede2886 } @@ -488,9 +510,9 @@ public class WorldConfiguration extends ConfigurationPart { public TickRates tickRates; - + public class TickRates extends ConfigurationPart { - public int grassSpread = 1; + public int grassSpread = Boolean.getBoolean("Plazma.disableConfigOptimization") ? 1 : 4; // Plazma - Optimize Default Configurations @@ -173,7 +240,7 @@ index f45afb7e2607617d1239abeca13a9002dd9a3a18..844ecc2a6d6677742e87ef22dede2886 public Table, String, Integer> behavior = Util.make(HashBasedTable.create(), table -> table.put(EntityType.VILLAGER, "validatenearbypoi", -1)); } @@ -514,9 +536,9 @@ public class WorldConfiguration extends ConfigurationPart { - + public class Misc extends ConfigurationPart { public int lightQueueSize = 20; - public boolean updatePathfindingOnBlockUpdate = true; @@ -189,13 +256,13 @@ index 24763d3d270c29c95e0b3e85111145234f660a62..18bc271a34ffba8c83743fef7eaf4a2c --- a/src/main/java/io/papermc/paper/configuration/type/fallback/ArrowDespawnRate.java +++ b/src/main/java/io/papermc/paper/configuration/type/fallback/ArrowDespawnRate.java @@ -29,6 +29,7 @@ public class ArrowDespawnRate extends FallbackValue.Int { - + @Override protected int fallback() { + if (!Boolean.getBoolean("Plazma.disableConfigOptimization")) return 100; // Plazma - Optimize Default Configurations return this.get(FallbackValue.SPIGOT_WORLD_CONFIG).arrowDespawnRate; } - + diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java index ed7bcd832340a7a46897f0275c99e72b7247a5de..65e0a4c04b91e6fd6d2959927bdb75a4fcf8f86b 100644 --- a/src/main/java/net/minecraft/server/Main.java @@ -207,10 +274,10 @@ index ed7bcd832340a7a46897f0275c99e72b7247a5de..65e0a4c04b91e6fd6d2959927bdb75a4 - configuration.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(Main.class.getClassLoader().getResourceAsStream("configurations/bukkit.yml"), Charsets.UTF_8))); + configuration.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(Main.class.getClassLoader().getResourceAsStream(Boolean.getBoolean("Plazma.disableConfigOptimization") ? "configurations/bukkit.yml" : "configurations/bukkit_optimized.yml"), Charsets.UTF_8))); // Plazma - Optimize Default Configurations configuration.save(configFile); - + File commandFile = (File) optionset.valueOf("commands-settings"); diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -index 1ea3012995c738c67b31e997c138f824f9e69ba1..8ed00a650b712cbf4bc8796165a539d76d390d0f 100644 +index 1ea3012995c738c67b31e997c138f824f9e69ba1..aa37c7a7bfe75064db9cf78e967a6644f61b0e09 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java @@ -120,7 +120,7 @@ public class DedicatedServerProperties extends Settings +Date: Sat, 30 Dec 2023 21:50:18 +0900 +Subject: [PATCH] Paper-Add-another-slot-sanity-check + +Backport of Paper ver/1.20.2 8493340 + +diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +index 38d47fbcd49cc291040ea00470abeb982fe2714c..662f3eee6ff17e0b0191b1c59066465db818ed2b 100644 +--- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java ++++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +@@ -600,7 +600,7 @@ public abstract class AbstractContainerMenu { + int j2; + + if (actionType == ClickType.SWAP) { +- if (slotIndex < 0) return; // Paper ++ if (slotIndex < 0 || button < 0) return; // Paper + slot2 = (Slot) this.slots.get(slotIndex); + itemstack1 = playerinventory.getItem(button); + itemstack = slot2.getItem(); diff --git "a/patches/\343\205\201/0004-Bump-Dependencies.patch" "b/patches/\343\205\201/0004-Bump-Dependencies.patch" deleted file mode 100644 index 784cc3e2d..000000000 --- "a/patches/\343\205\201/0004-Bump-Dependencies.patch" +++ /dev/null @@ -1,86 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: IPECTER -Date: Wed, 6 Sep 2023 12:43:06 +0900 -Subject: [PATCH] Bump-Dependencies - - -diff --git a/build.gradle.kts b/build.gradle.kts -index 0c557f34ed438980c6fd9d6a8bce7c1152468735..8f1fbec343461c83a6df141f7aa939e26e6e139e 100644 ---- a/build.gradle.kts -+++ b/build.gradle.kts -@@ -11,8 +11,8 @@ java { - val annotationsVersion = "24.0.1" - val bungeeCordChatVersion = "1.20-R0.1" - val adventureVersion = "4.14.0" --val slf4jVersion = "1.8.0-beta4" --val log4jVersion = "2.17.1" -+val slf4jVersion = "2.0.9" // Plazma - Bump Dependencies -+val log4jVersion = "2.20.0" // Plazma - Bump Dependencies - val apiAndDocs: Configuration by configurations.creating { - attributes { - attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.DOCUMENTATION)) -@@ -27,16 +27,16 @@ configurations.api { - - dependencies { - // api dependencies are listed transitively to API consumers -- api("com.google.guava:guava:31.1-jre") -- api("com.google.code.gson:gson:2.10") -+ api("com.google.guava:guava:32.1.2-jre") // Plazma - Bump Dependencies -+ api("com.google.code.gson:gson:2.10.1") // Plazma - Bump Dependencies - api("net.md-5:bungeecord-chat:$bungeeCordChatVersion-deprecated+build.14") // Paper -- api("org.yaml:snakeyaml:2.0") -+ api("org.yaml:snakeyaml:2.2") // Plazma - Bump Dependencies - api("org.joml:joml:1.10.5") - // Paper start - api("com.googlecode.json-simple:json-simple:1.1.1") { - isTransitive = false // includes junit - } -- api("it.unimi.dsi:fastutil:8.5.6") -+ api("it.unimi.dsi:fastutil:8.5.12") // Plazma - Bump Dependencies - apiAndDocs(platform("net.kyori:adventure-bom:$adventureVersion")) - apiAndDocs("net.kyori:adventure-api") - apiAndDocs("net.kyori:adventure-text-minimessage") -@@ -46,31 +46,31 @@ dependencies { - apiAndDocs("net.kyori:adventure-text-logger-slf4j") - api("org.apache.logging.log4j:log4j-api:$log4jVersion") - api("org.slf4j:slf4j-api:$slf4jVersion") -- api("io.sentry:sentry:5.4.0") // Pufferfish -+ api("io.sentry:sentry:6.28.0") // Pufferfish // Plazma - Bump Dependencies - -- implementation("org.ow2.asm:asm:9.4") -- implementation("org.ow2.asm:asm-commons:9.4") -+ implementation("org.ow2.asm:asm:9.5") // Plazma - Bump Dependencies -+ implementation("org.ow2.asm:asm-commons:9.5") // Plazma - Bump Dependencies - // Paper end - -- api("org.apache.maven:maven-resolver-provider:3.8.5") -- compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3") -- compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3") -- compileOnly("com.google.code.findbugs:jsr305:1.3.9") // Paper -+ api("org.apache.maven:maven-resolver-provider:3.9.4") // Plazma - Bump Dependencies -+ compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.15") // Plazma - Bump Dependencies -+ compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.15") // Plazma - Bump Dependencies -+ compileOnly("com.google.code.findbugs:jsr305:3.0.2") // Paper // Plazma - Bump Dependencies - - val annotations = "org.jetbrains:annotations:$annotationsVersion" // Paper - we don't want Java 5 annotations... - compileOnly(annotations) - testCompileOnly(annotations) - - // Paper start - add checker -- val checkerQual = "org.checkerframework:checker-qual:3.21.0" -+ val checkerQual = "org.checkerframework:checker-qual:3.38.0" // Plazma - Bump Dependencies - compileOnlyApi(checkerQual) - testCompileOnly(checkerQual) - // Paper end -- testImplementation("org.mockito:mockito-core:4.9.0") // Paper - add mockito -+ testImplementation("org.mockito:mockito-core:5.5.0") // Paper - add mockito // Plazma - Bump Dependencies - -- testImplementation("org.apache.commons:commons-lang3:3.12.0") -- testImplementation("junit:junit:4.13.2") -- testImplementation("org.hamcrest:hamcrest-library:1.3") -+ testImplementation("org.apache.commons:commons-lang3:3.13.0") // Plazma - Bump Dependencies -+ testImplementation("junit:junit:4.13.2") // Plazma - Bump Dependencies -+ testImplementation("org.hamcrest:hamcrest-library:2.2") // Plazma - Bump Dependencies - testImplementation("org.ow2.asm:asm-tree:9.5") - } - diff --git "a/patches/\343\205\201/0006-Bump-Dependencies.patch" "b/patches/\343\205\201/0006-Bump-Dependencies.patch" deleted file mode 100644 index 53758fcc0..000000000 --- "a/patches/\343\205\201/0006-Bump-Dependencies.patch" +++ /dev/null @@ -1,92 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: IPECTER -Date: Wed, 6 Sep 2023 13:31:43 +0900 -Subject: [PATCH] Bump-Dependencies - - -diff --git a/build.gradle.kts b/build.gradle.kts -index d8b27e3f2fa1ede41125ec27e129b1e1ad42caa7..2c59ed16ea909b6535df3d1d40d83b065c03d041 100644 ---- a/build.gradle.kts -+++ b/build.gradle.kts -@@ -20,7 +20,7 @@ dependencies { - } - // Purpur end - // Paper start -- implementation("org.jline:jline-terminal-jansi:3.21.0") -+ implementation("org.jline:jline-terminal-jansi:3.23.0") // Plazma - Bump Dependencies - implementation("net.minecrell:terminalconsoleappender:1.3.0") - implementation("net.kyori:adventure-text-serializer-ansi:4.14.0") // Keep in sync with adventureVersion from Paper-API build file - implementation("net.kyori:ansi:1.0.3") // Manually bump beyond above transitive dep -@@ -30,48 +30,48 @@ dependencies { - all its classes to check if they are plugins. - Scanning takes about 1-2 seconds so adding this speeds up the server start. - */ -- implementation("org.apache.logging.log4j:log4j-core:2.19.0") // Paper - implementation -- log4jPlugins.annotationProcessorConfigurationName("org.apache.logging.log4j:log4j-core:2.19.0") // Paper - Needed to generate meta for our Log4j plugins -+ implementation("org.apache.logging.log4j:log4j-core:2.20.0") // Paper - implementation -+ log4jPlugins.annotationProcessorConfigurationName("org.apache.logging.log4j:log4j-core:2.20.0") // Paper - Needed to generate meta for our Log4j plugins - runtimeOnly(log4jPlugins.output) - alsoShade(log4jPlugins.output) -- implementation("io.netty:netty-codec-haproxy:4.1.87.Final") // Paper - Add support for proxy protocol -+ implementation("io.netty:netty-codec-haproxy:4.1.97.Final") // Paper - Add support for proxy protocol - // Paper end -- implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion -- implementation("org.ow2.asm:asm:9.4") -- implementation("org.ow2.asm:asm-commons:9.4") // Paper - ASM event executor generation -- testImplementation("org.mockito:mockito-core:4.9.0") // Paper - switch to mockito -+ implementation("org.apache.logging.log4j:log4j-iostreams:2.20.0") // Paper - remove exclusion -+ implementation("org.ow2.asm:asm:9.5") -+ implementation("org.ow2.asm:asm-commons:9.5") // Paper - ASM event executor generation -+ testImplementation("org.mockito:mockito-core:5.5.0") // Paper - switch to mockito - implementation("org.spongepowered:configurate-yaml:4.1.2") // Paper - config files - implementation("commons-lang:commons-lang:2.6") -- implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation -- runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.0") -+ implementation("net.fabricmc:mapping-io:0.4.2") // Paper - needed to read mappings for stacktrace deobfuscation -+ runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.0") - runtimeOnly("com.mysql:mysql-connector-j:8.0.33") - runtimeOnly("com.lmax:disruptor:3.4.4") // Paper - // Paper start - Use Velocity cipher -- implementation("com.velocitypowered:velocity-native:3.1.2-SNAPSHOT") { -+ implementation("com.velocitypowered:velocity-native:3.2.0-SNAPSHOT") { - isTransitive = false - } - // Paper end - -- runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.5") -- runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3") -- runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3") -+ runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.4") -+ runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.15") -+ runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.15") - - implementation("org.mozilla:rhino-runtime:1.7.14") // Purpur - implementation("org.mozilla:rhino-engine:1.7.14") // Purpur - implementation("dev.omega24:upnp4j:1.0") // Purpur - - // Pufferfish start -- implementation("org.yaml:snakeyaml:1.32") -+ implementation("org.yaml:snakeyaml:1.32") - implementation ("com.github.carleslc.Simple-YAML:Simple-Yaml:1.8.4") { - exclude(group="org.yaml", module="snakeyaml") - } - // Pufferfish end - -- testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test -+ testImplementation("io.github.classgraph:classgraph:4.8.162") // Paper - mob goal test - testImplementation("junit:junit:4.13.2") -- testImplementation("org.hamcrest:hamcrest-library:1.3") -+ testImplementation("org.hamcrest:hamcrest-library:2.2") - -- implementation("io.netty:netty-all:4.1.87.Final"); // Paper - Bump netty -+ implementation("io.netty:netty-all:4.1.97.Final"); // Paper - Bump netty - } - - val craftbukkitPackageVersion = "1_20_R1" // Paper -@@ -225,3 +225,6 @@ tasks.registerRunTask("runDev") { - description = "Spin up a non-relocated Mojang-mapped test server" - classpath(sourceSets.main.map { it.runtimeClasspath }) - } -+repositories { -+ mavenCentral() -+}