diff --git a/divinemc-api/paper-patches/features/0010-SparklyPaper-Parallel-world-ticking.patch b/divinemc-api/paper-patches/features/0010-SparklyPaper-Parallel-world-ticking.patch index 9a34940..46de466 100644 --- a/divinemc-api/paper-patches/features/0010-SparklyPaper-Parallel-world-ticking.patch +++ b/divinemc-api/paper-patches/features/0010-SparklyPaper-Parallel-world-ticking.patch @@ -10,10 +10,10 @@ Original project: https://github.com/SparklyPower/SparklyPaper This patch provides an API for performance monitoring plugins. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 78e624c309bfa47ac35f1b947d42391f3206d8fc..60f54674575fd015810f4ea88af442c84a43d2a7 100644 +index a17790d2da3008927b79814629e073b2091ce421..01feb47feaa977647d1b6cbf0e10589148f61414 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2893,4 +2893,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2894,4 +2894,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Deprecated void clearBlockHighlights(); // Purpur end - Debug Marker API diff --git a/divinemc-server/paper-patches/features/0010-SparklyPaper-Optimize-canSee-checks.patch b/divinemc-server/paper-patches/features/0010-SparklyPaper-Optimize-canSee-checks.patch index d8ba9ce..6b4898b 100644 --- a/divinemc-server/paper-patches/features/0010-SparklyPaper-Optimize-canSee-checks.patch +++ b/divinemc-server/paper-patches/features/0010-SparklyPaper-Optimize-canSee-checks.patch @@ -14,7 +14,7 @@ This seems stupid, but it does seem that it improves the performance a bit, and We also create a "canSee" method tailored for "ChunkMap#updatePlayer()", a method without the equals check (the "updatePlayer()" already checks if the entity is the same entity) because the CraftPlayer's `equals()` check is a *bit* expensive compared to only checking the object's identity, and because the identity has already been check, we don't need to check it twice. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b615c03d73071c923e0a3d1123810e110419318b..db51871ccad36e0af25478d1b9ab01cb81c4ef19 100644 +index bc5fac66b3c4ebce77b0b84e0ec5a525e2efec62..fde41d3afad329d9dc85343b7d3126f7f053efc0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -234,7 +234,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa @@ -26,7 +26,7 @@ index b615c03d73071c923e0a3d1123810e110419318b..db51871ccad36e0af25478d1b9ab01cb private final Set unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player private static final WeakHashMap> pluginWeakReferences = new WeakHashMap<>(); private int hash = 0; -@@ -2131,9 +2131,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa +@@ -2140,9 +2140,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/divinemc-server/paper-patches/features/0013-Petal-Multithreaded-Tracker.patch b/divinemc-server/paper-patches/features/0013-Petal-Multithreaded-Tracker.patch index 2f8cf65..ade6951 100644 --- a/divinemc-server/paper-patches/features/0013-Petal-Multithreaded-Tracker.patch +++ b/divinemc-server/paper-patches/features/0013-Petal-Multithreaded-Tracker.patch @@ -32,10 +32,10 @@ index d7398b1ecf2660c29fb7d106b48fe02d3736603e..ab499a7eaccdc1578ec64f90f54f79b0 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index db51871ccad36e0af25478d1b9ab01cb81c4ef19..55bd24eff0106383e8e68c7f48c1967267603e97 100644 +index fde41d3afad329d9dc85343b7d3126f7f053efc0..4fd8e8780ec378ce2f185b49c0db1a46b051edc3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2706,7 +2706,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa +@@ -2715,7 +2715,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa Iterator iterator = collection.iterator(); while (iterator.hasNext()) { AttributeInstance genericInstance = iterator.next(); diff --git a/divinemc-server/purpur-patches/features/0002-Add-missing-purpur-config-options.patch b/divinemc-server/purpur-patches/features/0002-Add-missing-purpur-config-options.patch index 43e55cc..9f90385 100644 --- a/divinemc-server/purpur-patches/features/0002-Add-missing-purpur-config-options.patch +++ b/divinemc-server/purpur-patches/features/0002-Add-missing-purpur-config-options.patch @@ -25,7 +25,7 @@ index b8cd96b4262bcff318620755cd57057da81a5f78..ea32c66be64197738b264ea5e5620599 org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fc9ca5b3aa0e3f7a8c18de4198eb456aeb721a0f..79c0ed8ddb39307343f9bb62205fd613a8d45981 100644 +index 3f81e8f364d84a8f7abb7f0976597c0f922eabed..f2fd24fd384e3e18eb5d2cd038cbd6d66055ebae 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1274,12 +1274,20 @@ public class PurpurWorldConfig { @@ -71,7 +71,7 @@ index fc9ca5b3aa0e3f7a8c18de4198eb456aeb721a0f..79c0ed8ddb39307343f9bb62205fd613 } public boolean catRidable = false; -@@ -1949,12 +1965,22 @@ public class PurpurWorldConfig { +@@ -1951,12 +1967,22 @@ public class PurpurWorldConfig { public boolean frogControllable = true; public float frogRidableJumpHeight = 0.65F; public int frogBreedingTicks = 6000; @@ -94,7 +94,7 @@ index fc9ca5b3aa0e3f7a8c18de4198eb456aeb721a0f..79c0ed8ddb39307343f9bb62205fd613 } public boolean ghastRidable = false; -@@ -3040,6 +3066,10 @@ public class PurpurWorldConfig { +@@ -3042,6 +3068,10 @@ public class PurpurWorldConfig { public double snifferMaxHealth = 14.0D; public double snifferScale = 1.0D; public int snifferBreedingTicks = 6000; @@ -105,7 +105,7 @@ index fc9ca5b3aa0e3f7a8c18de4198eb456aeb721a0f..79c0ed8ddb39307343f9bb62205fd613 private void snifferSettings() { snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable); snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater); -@@ -3047,6 +3077,10 @@ public class PurpurWorldConfig { +@@ -3049,6 +3079,10 @@ public class PurpurWorldConfig { snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth); snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D); snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks); @@ -116,7 +116,7 @@ index fc9ca5b3aa0e3f7a8c18de4198eb456aeb721a0f..79c0ed8ddb39307343f9bb62205fd613 } public boolean squidRidable = false; -@@ -3148,10 +3182,20 @@ public class PurpurWorldConfig { +@@ -3150,10 +3184,20 @@ public class PurpurWorldConfig { public boolean tadpoleRidable = false; public boolean tadpoleRidableInWater = true; public boolean tadpoleControllable = true; @@ -137,7 +137,7 @@ index fc9ca5b3aa0e3f7a8c18de4198eb456aeb721a0f..79c0ed8ddb39307343f9bb62205fd613 } public boolean traderLlamaRidable = false; -@@ -3386,11 +3430,21 @@ public class PurpurWorldConfig { +@@ -3388,11 +3432,21 @@ public class PurpurWorldConfig { public boolean wardenRidableInWater = true; public boolean wardenControllable = true; public boolean wardenCanUseSonicBoom = true; diff --git a/divinemc-server/purpur-patches/features/0003-Optimize-default-values-for-configs.patch b/divinemc-server/purpur-patches/features/0003-Optimize-default-values-for-configs.patch index 665500c..ac250e8 100644 --- a/divinemc-server/purpur-patches/features/0003-Optimize-default-values-for-configs.patch +++ b/divinemc-server/purpur-patches/features/0003-Optimize-default-values-for-configs.patch @@ -18,10 +18,10 @@ index ea32c66be64197738b264ea5e56205993908dac6..dffda7d18a8065ca230ef8dea8701f41 useAlternateKeepAlive = getBoolean("settings.use-alternate-keepalive", useAlternateKeepAlive); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 79c0ed8ddb39307343f9bb62205fd613a8d45981..e5a4fdc75130d69218077ebfb7fde3225bef0d84 100644 +index f2fd24fd384e3e18eb5d2cd038cbd6d66055ebae..33906d7a1df6341a3df48963493400db6964f8e6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3323,8 +3323,8 @@ public class PurpurWorldConfig { +@@ -3325,8 +3325,8 @@ public class PurpurWorldConfig { public boolean villagerDisplayTradeItem = true; public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; diff --git a/divinemc-server/purpur-patches/features/0004-Configurable-movement-speed-for-entities.patch b/divinemc-server/purpur-patches/features/0004-Configurable-movement-speed-for-entities.patch index 74e4aaa..47e6f43 100644 --- a/divinemc-server/purpur-patches/features/0004-Configurable-movement-speed-for-entities.patch +++ b/divinemc-server/purpur-patches/features/0004-Configurable-movement-speed-for-entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable movement speed for entities diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c68ccf6b3 100644 +index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d856bb592 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1751,6 +1751,7 @@ public class PurpurWorldConfig { +@@ -1753,6 +1753,7 @@ public class PurpurWorldConfig { public boolean drownedTakeDamageFromWater = false; public boolean drownedBreakDoors = false; public boolean drownedAlwaysDropExp = false; @@ -16,7 +16,7 @@ index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1769,6 +1770,7 @@ public class PurpurWorldConfig { +@@ -1771,6 +1772,7 @@ public class PurpurWorldConfig { drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors); drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp); @@ -24,7 +24,7 @@ index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c } public boolean elderGuardianRidable = false; -@@ -2196,6 +2198,7 @@ public class PurpurWorldConfig { +@@ -2198,6 +2200,7 @@ public class PurpurWorldConfig { public boolean huskJockeyTryExistingChickens = true; public boolean huskTakeDamageFromWater = false; public boolean huskAlwaysDropExp = false; @@ -32,7 +32,7 @@ index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -2213,6 +2216,7 @@ public class PurpurWorldConfig { +@@ -2215,6 +2218,7 @@ public class PurpurWorldConfig { huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater); huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp); @@ -40,7 +40,7 @@ index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c } public boolean illusionerRidable = false; -@@ -3606,6 +3610,7 @@ public class PurpurWorldConfig { +@@ -3608,6 +3612,7 @@ public class PurpurWorldConfig { public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; public double zombieHeadVisibilityPercent = 0.5D; @@ -48,7 +48,7 @@ index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -3631,6 +3636,7 @@ public class PurpurWorldConfig { +@@ -3633,6 +3638,7 @@ public class PurpurWorldConfig { zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp); zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent); @@ -56,7 +56,7 @@ index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c } public boolean zombieHorseRidable = false; -@@ -3680,6 +3686,7 @@ public class PurpurWorldConfig { +@@ -3682,6 +3688,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; public boolean zombieVillagerAlwaysDropExp = false; @@ -64,7 +64,7 @@ index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -3700,6 +3707,7 @@ public class PurpurWorldConfig { +@@ -3702,6 +3709,7 @@ public class PurpurWorldConfig { zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled); zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp); @@ -72,7 +72,7 @@ index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c } public boolean zombifiedPiglinRidable = false; -@@ -3714,6 +3722,7 @@ public class PurpurWorldConfig { +@@ -3716,6 +3724,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = false; public boolean zombifiedPiglinTakeDamageFromWater = false; public boolean zombifiedPiglinAlwaysDropExp = false; @@ -80,7 +80,7 @@ index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -3735,6 +3744,7 @@ public class PurpurWorldConfig { +@@ -3737,6 +3746,7 @@ public class PurpurWorldConfig { zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp); diff --git a/gradle.properties b/gradle.properties index c96f45e..9ba8bea 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.bxteam.divinemc version=1.21.10-R0.1-SNAPSHOT mcVersion=1.21.10 -purpurRef=95a466cf8e0085e1324ec5b6a7ea1ed13aebab5b +purpurRef=4b4636485ffaef0fc4b4c2606662b8af23fe64ee experimental=false org.gradle.configuration-cache=true