diff --git a/PATCHES.md b/PATCHES.md index 8faa69e4..6315d2eb 100644 --- a/PATCHES.md +++ b/PATCHES.md @@ -41,6 +41,7 @@ # Patches | server | Configurable villager brain ticks | William Blake Galbreath | | | server | Cows eat mushrooms | William Blake Galbreath | | | api | Default permissions | William Blake Galbreath | | +| server | Despawn rate config options per projectile type | jmp | | | server | Disable the Snooper | Sotr | | | server | Don't load chunk with seed based feature search | Phoenix616 | | | server | Don't trigger Lootable Refresh for non player interaction | Aikar | | @@ -102,7 +103,6 @@ # Patches | server | Remove stream for ender teleport | Sotr | | | server | Remove vanilla profiler callers | Sotr | | | server | Respect PlayerKickEvent leaveMessage | Ivan Pekov | | -| server | Respect permissions when constructing InventoryEnderChest | Ivan Pekov | | | server | Send more packets immediately | MrIvanPlays | | | server | Skip events if there's no listeners | William Blake Galbreath | | | server | Snowman drop and put back pumpkin | William Blake Galbreath | | @@ -112,7 +112,6 @@ # Patches | server | Swaps the predicate order of collision | ㄗㄠˋ ㄑㄧˊ | | | server | Timings stuff | William Blake Galbreath | | | server | Tulips change fox type | William Blake Galbreath | | -| server | Use arrow despawn rate for all projectiles | William Blake Galbreath | | | server | Use block distance in portal search radius | Patrick Hemmer | | | server | Use offline uuids if we need to | Ivan Pekov | | | server | Villagers follow emerald blocks | William Blake Galbreath | | diff --git a/Purpur b/Purpur index 8726ad95..d4301d4a 160000 --- a/Purpur +++ b/Purpur @@ -1 +1 @@ -Subproject commit 8726ad9583aebc325bc5671e4b19db4ab5cefe67 +Subproject commit d4301d4a64847788e7d936fecd4dcf31f57ea330 diff --git a/Tuinity b/Tuinity index 5994cb01..c9cfdba3 160000 --- a/Tuinity +++ b/Tuinity @@ -1 +1 @@ -Subproject commit 5994cb01c1c6b133fe73b6bd55b2702181c6d046 +Subproject commit c9cfdba355539bad68508c4aed98bf5b3d8e0dec diff --git a/patches/Purpur/server.txt b/patches/Purpur/server.txt index fbf0ace9..e38d882b 100644 --- a/patches/Purpur/server.txt +++ b/patches/Purpur/server.txt @@ -1 +1 @@ -Purpur-config-files&Timings-stuff&Barrels-and-enderchests-6-rows&Lagging-threshold&Configurable-villager-brain-ticks&Alternative-Keepalive-Handling&MC-168772-Fix-Add-turtle-egg-block-options&MC-4-Fix-Item-position-desync&Giants-AI-settings&Illusioners-AI-settings&Zombie-horse-naturally-spawn&Charged-creeper-naturally-spawn&Rabbit-naturally-spawn-toast-and-killer&Fix-outdated-server-showing-in-ping-before-server-fu&Dont-send-useless-entity-packets&Tulips-change-fox-type&Breedable-Polar-Bears&Cows-eat-mushrooms&Snowman-drop-and-put-back-pumpkin&Allow-soil-to-moisten-from-water-directly-under-it&Option-to-toggle-milk-curing-bad-omen&Fix-the-dead-lagging-the-server&Skip-events-if-there-s-no-listeners&Add-permission-for-F3-N-debug&Configurable-TPS-Catchup&Villagers-follow-emerald-blocks&Allow-leashing-villagers&Add-option-to-disable-saving-projectiles-to-disk&Add-5-second-tps-average-in-tps&Phantoms-attracted-to-crystals-and-crystals-shoot-ph&Implement-bed-explosion-options&Implement-respawn-anchor-explosion-options&MC-171420-Fix-deop-kicking-non-whitelisted-player-wh&Entity-lifespan&Squid-EAR-immunity&Redstone-deactivates-spawners&Allow-anvil-colors&Add-no-tick-block-list&Add-option-to-disable-dolphin-treasure-searching&Stop-squids-floating-on-top-of-water&Use-arrow-despawn-rate-for-all-projectiles \ No newline at end of file +Purpur-config-files&Timings-stuff&Barrels-and-enderchests-6-rows&Lagging-threshold&Configurable-villager-brain-ticks&Alternative-Keepalive-Handling&MC-168772-Fix-Add-turtle-egg-block-options&MC-4-Fix-Item-position-desync&Giants-AI-settings&Illusioners-AI-settings&Zombie-horse-naturally-spawn&Charged-creeper-naturally-spawn&Rabbit-naturally-spawn-toast-and-killer&Fix-outdated-server-showing-in-ping-before-server-fu&Dont-send-useless-entity-packets&Tulips-change-fox-type&Breedable-Polar-Bears&Cows-eat-mushrooms&Snowman-drop-and-put-back-pumpkin&Allow-soil-to-moisten-from-water-directly-under-it&Option-to-toggle-milk-curing-bad-omen&Fix-the-dead-lagging-the-server&Skip-events-if-there-s-no-listeners&Add-permission-for-F3-N-debug&Configurable-TPS-Catchup&Villagers-follow-emerald-blocks&Allow-leashing-villagers&Add-option-to-disable-saving-projectiles-to-disk&Add-5-second-tps-average-in-tps&Phantoms-attracted-to-crystals-and-crystals-shoot-ph&Implement-bed-explosion-options&Implement-respawn-anchor-explosion-options&MC-171420-Fix-deop-kicking-non-whitelisted-player-wh&Entity-lifespan&Squid-EAR-immunity&Redstone-deactivates-spawners&Allow-anvil-colors&Add-no-tick-block-list&Add-option-to-disable-dolphin-treasure-searching&Stop-squids-floating-on-top-of-water&Despawn-rate-config-options-per-projectile-type \ No newline at end of file diff --git a/patches/server/0001-Yatopia-Server-Fixes.patch b/patches/server/0001-Yatopia-Server-Fixes.patch index 1a344476..057cc23e 100644 --- a/patches/server/0001-Yatopia-Server-Fixes.patch +++ b/patches/server/0001-Yatopia-Server-Fixes.patch @@ -1784,7 +1784,7 @@ index 98a910fa6bfc9542b1d1cb56b6621809acd6b279..00000000000000000000000000000000 - TileEntity tileentity = block.isTileEntity() ? this.world.getTileEntity(blockposition) : null; - LootTableInfo.Builder loottableinfo_builder = (new LootTableInfo.Builder((WorldServer) this.world)).a(this.world.random).set(LootContextParameters.POSITION, blockposition).set(LootContextParameters.TOOL, ItemStack.b).setOptional(LootContextParameters.BLOCK_ENTITY, tileentity).setOptional(LootContextParameters.THIS_ENTITY, this.source); diff --git a/src/main/java/net/minecraft/server/IProjectile.java b/src/main/java/net/minecraft/server/IProjectile.java -index 0bac6b0506dc35c5117f13db0e9c67b1a0d3154e..4a62043f9b2b9a3bf4ab9a18070a61124cb98348 100644 +index 0bac6b0506dc35c5117f13db0e9c67b1a0d3154e..8ebc3b133a37538d82af92046c3ab40473afcf3f 100644 --- a/src/main/java/net/minecraft/server/IProjectile.java +++ b/src/main/java/net/minecraft/server/IProjectile.java @@ -13,6 +13,7 @@ public abstract class IProjectile extends Entity { @@ -1795,7 +1795,7 @@ index 0bac6b0506dc35c5117f13db0e9c67b1a0d3154e..4a62043f9b2b9a3bf4ab9a18070a6112 IProjectile(EntityTypes entitytypes, World world) { super(entitytypes, world); -@@ -79,7 +80,22 @@ public abstract class IProjectile extends Entity { +@@ -79,8 +80,29 @@ public abstract class IProjectile extends Entity { } super.tick(); @@ -1807,23 +1807,30 @@ index 0bac6b0506dc35c5117f13db0e9c67b1a0d3154e..4a62043f9b2b9a3bf4ab9a18070a6112 + // Purpur end + } + -+ // Purpur start - copied from EntityArrow -+ protected void tickDespawnCounter() { -+ ++this.despawnCounter; -+ if (this.despawnCounter >= world.spigotConfig.arrowDespawnRate) { -+ this.die(); ++ // Purpur start ++ protected void tickDespawnCounter() { // Purpur - modified from EntityArrow ++ if (getPurpurDespawnRate() != -1) { ++ ++this.despawnCounter; ++ if (this.despawnCounter >= getPurpurDespawnRate()) { ++ this.die(); ++ } + } } -+ // Purpur end ++ protected int getPurpurDespawnRate() { ++ return -1; ++ } ++ // Purpur end ++ private boolean h() { Entity entity = this.getShooter(); + diff --git a/src/main/java/net/minecraft/server/IProjectile.java.rej b/src/main/java/net/minecraft/server/IProjectile.java.rej deleted file mode 100644 -index 33186fa6911f0396adfc5e650034daba5b950143..0000000000000000000000000000000000000000 +index c535c0f1c4c13b0ac0de806992778f602ea02675..0000000000000000000000000000000000000000 --- a/src/main/java/net/minecraft/server/IProjectile.java.rej +++ /dev/null -@@ -1,32 +0,0 @@ +@@ -1,39 +0,0 @@ -diff a/src/main/java/net/minecraft/server/IProjectile.java b/src/main/java/net/minecraft/server/IProjectile.java (rejected hunks) -@@ -13,6 +13,7 @@ public abstract class IProjectile extends Entity { - private UUID shooter; @@ -1833,7 +1840,7 @@ index 33186fa6911f0396adfc5e650034daba5b950143..00000000000000000000000000000000 - - IProjectile(EntityTypes entitytypes, World world) { - super(entitytypes, world); --@@ -79,7 +80,22 @@ public abstract class IProjectile extends Entity { +-@@ -79,8 +80,29 @@ public abstract class IProjectile extends Entity { - } - - super.tick(); @@ -1845,17 +1852,24 @@ index 33186fa6911f0396adfc5e650034daba5b950143..00000000000000000000000000000000 -+ // Purpur end -+ } -+ --+ // Purpur start - copied from EntityArrow --+ protected void tickDespawnCounter() { --+ ++this.despawnCounter; --+ if (this.despawnCounter >= world.spigotConfig.arrowDespawnRate) { --+ this.die(); +-+ // Purpur start +-+ protected void tickDespawnCounter() { // Purpur - modified from EntityArrow +-+ if (this.getPurpurDespawnRate() != -1) { +-+ ++this.despawnCounter; +-+ if (this.despawnCounter >= this.getPurpurDespawnRate()) { +-+ this.die(); +-+ } -+ } - } --+ // Purpur end - +-+ protected int getPurpurDespawnRate() { +-+ return -1; +-+ } +-+ // Purpur end +-+ - public boolean checkIfLeftOwner() { return this.h(); } // Purpur - OBFHELPER - private boolean h() { +- Entity entity = this.getShooter(); diff --git a/src/main/java/net/minecraft/server/LightEngineThreaded.java.rej b/src/main/java/net/minecraft/server/LightEngineThreaded.java.rej deleted file mode 100644 index 74d10212e547adf96762155adb03c0158df00a16..0000000000000000000000000000000000000000 @@ -2754,7 +2768,7 @@ index ff05ff6aef1e0f61eb4437253020632745ee2bd2..00000000000000000000000000000000 -+ } - } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 361f7857e461578e90cb71e15027dadaf794cb69..ba6969a1ac8506d230e468cb39586d199978871a 100644 +index 361f7857e461578e90cb71e15027dadaf794cb69..b3c31431afc34b249f88e5b3117b203c0e29a959 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1,7 +1,18 @@ @@ -2776,7 +2790,7 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..ba6969a1ac8506d230e468cb39586d19 import static net.pl3x.purpur.PurpurConfig.log; public class PurpurWorldConfig { -@@ -56,4 +67,189 @@ public class PurpurWorldConfig { +@@ -56,4 +67,214 @@ public class PurpurWorldConfig { PurpurConfig.config.addDefault("world-settings.default." + path, def); return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path)); } @@ -2964,31 +2978,77 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..ba6969a1ac8506d230e468cb39586d19 + turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs); + turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems); + turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); ++ } ++ ++ public int witherSkullDespawnRate = -1; ++ public int dragonFireballDespawnRate = -1; ++ public int largeFireballDespawnRate = -1; ++ public int smallFireballDespawnRate = -1; ++ public int eggDespawnRate = -1; ++ public int enderPearlDespawnRate = -1; ++ public int fireworksDespawnRate = -1; ++ public int fishingHookDespawnRate = -1; ++ public int potionDespawnRate = -1; ++ public int shulkerBulletDespawnRate = -1; ++ public int expBottleDespawnRate = -1; ++ private void projectileDespawnRateSettings() { ++ witherSkullDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.wither_skull", witherSkullDespawnRate); ++ dragonFireballDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.dragon_fireball", dragonFireballDespawnRate); ++ largeFireballDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.fireball", largeFireballDespawnRate); ++ smallFireballDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.small_fireball", smallFireballDespawnRate); ++ eggDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.egg", eggDespawnRate); ++ enderPearlDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.ender_pearl", enderPearlDespawnRate); ++ fireworksDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.fireworks_rocket", fireworksDespawnRate); ++ fishingHookDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.fishing_bobber", fishingHookDespawnRate); ++ potionDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.potion", potionDespawnRate); ++ shulkerBulletDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.shulker_bullet", shulkerBulletDespawnRate); ++ expBottleDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.experience_bottle", expBottleDespawnRate); + } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java.rej b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java.rej deleted file mode 100644 -index 12ee96c0bb54227dbfab7240d8b114577e0b78f3..0000000000000000000000000000000000000000 +index a3f632f03a8a32d4975e0c8179f17baa27c28766..0000000000000000000000000000000000000000 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java.rej +++ /dev/null -@@ -1,12 +0,0 @@ +@@ -1,33 +0,0 @@ -diff a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java (rejected hunks) --@@ -483,8 +483,10 @@ public class PurpurWorldConfig { +-@@ -145,6 +145,31 @@ public class PurpurWorldConfig { +- idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); - } - -- public boolean squidImmuneToEAR = true; --+ public double squidOffsetWaterCheck = 0.0D; -- private void squidSettings() { -- squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); --+ squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); -- } -- -- public int villagerBrainTicks = 1; +-+ public int witherSkullDespawnRate = -1; +-+ public int dragonFireballDespawnRate = -1; +-+ public int largeFireballDespawnRate = -1; +-+ public int smallFireballDespawnRate = -1; +-+ public int eggDespawnRate = -1; +-+ public int enderPearlDespawnRate = -1; +-+ public int fireworksDespawnRate = -1; +-+ public int fishingHookDespawnRate = -1; +-+ public int potionDespawnRate = -1; +-+ public int shulkerBulletDespawnRate = -1; +-+ public int expBottleDespawnRate = -1; +-+ private void projectileDespawnRateSettings() { +-+ witherSkullDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.wither_skull", witherSkullDespawnRate); +-+ dragonFireballDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.dragon_fireball", dragonFireballDespawnRate); +-+ largeFireballDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.fireball", largeFireballDespawnRate); +-+ smallFireballDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.small_fireball", smallFireballDespawnRate); +-+ eggDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.egg", eggDespawnRate); +-+ enderPearlDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.ender_pearl", enderPearlDespawnRate); +-+ fireworksDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.fireworks_rocket", fireworksDespawnRate); +-+ fishingHookDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.fishing_bobber", fishingHookDespawnRate); +-+ potionDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.potion", potionDespawnRate); +-+ shulkerBulletDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.shulker_bullet", shulkerBulletDespawnRate); +-+ expBottleDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.experience_bottle", expBottleDespawnRate); +-+ } +-+ +- public boolean useBetterMending = false; +- public boolean boatEjectPlayersOnLand = false; +- public boolean disableDropsOnCrammingDeath = false; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bae899f354afe1819c7850f30d827a33696b00fa..324b3c8f85801670d501e9c58585baa395232226 100644 +index 7d6e9e3b284b062db5ecf9fb9b1de31d2c0ba769..b07659d2df48f3d131c8ddf94ff2a1e12afc3d08 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -842,6 +842,7 @@ public final class CraftServer implements Server { +@@ -844,6 +844,7 @@ public final class CraftServer implements Server { com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur @@ -2996,7 +3056,7 @@ index bae899f354afe1819c7850f30d827a33696b00fa..324b3c8f85801670d501e9c58585baa3 for (WorldServer world : console.getWorlds()) { world.worldDataServer.setDifficulty(config.difficulty); world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals); -@@ -878,6 +879,7 @@ public final class CraftServer implements Server { +@@ -880,6 +881,7 @@ public final class CraftServer implements Server { world.paperConfig.init(); // Paper world.tuinityConfig.init(); // Tuinity - Server Config world.purpurConfig.init(); // Purpur @@ -3004,7 +3064,7 @@ index bae899f354afe1819c7850f30d827a33696b00fa..324b3c8f85801670d501e9c58585baa3 } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -2254,6 +2256,13 @@ public final class CraftServer implements Server { +@@ -2265,6 +2267,13 @@ public final class CraftServer implements Server { } // Purpur end @@ -3018,7 +3078,7 @@ index bae899f354afe1819c7850f30d827a33696b00fa..324b3c8f85801670d501e9c58585baa3 @Override public void restart() { org.spigotmc.RestartCommand.restart(); -@@ -2393,4 +2402,11 @@ public final class CraftServer implements Server { +@@ -2404,4 +2413,11 @@ public final class CraftServer implements Server { return mobGoals; } // Paper end @@ -3032,12 +3092,12 @@ index bae899f354afe1819c7850f30d827a33696b00fa..324b3c8f85801670d501e9c58585baa3 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java.rej b/src/main/java/org/bukkit/craftbukkit/CraftServer.java.rej deleted file mode 100644 -index 9e8af19858ff226ec9a7a82c118d592f23de281f..0000000000000000000000000000000000000000 +index 44b67715e6c1b113b4651a965e8006e9a10a05bf..0000000000000000000000000000000000000000 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java.rej +++ /dev/null @@ -1,12 +0,0 @@ -diff a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java (rejected hunks) --@@ -2410,5 +2410,10 @@ public final class CraftServer implements Server { +-@@ -2421,5 +2421,10 @@ public final class CraftServer implements Server { - public String getServerName() { - return getProperties().serverName; - } diff --git a/patches/server/0003-Brandings.patch b/patches/server/0003-Brandings.patch index 2e3c4f95..206c07b2 100644 --- a/patches/server/0003-Brandings.patch +++ b/patches/server/0003-Brandings.patch @@ -155,10 +155,10 @@ index 0000000000000000000000000000000000000000..fdfd1af1309df4a400b47768708bec7a +} \ No newline at end of file diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 324b3c8f85801670d501e9c58585baa395232226..23c3f04ea5b61ec403d70e221acb6120e7b4360c 100644 +index b07659d2df48f3d131c8ddf94ff2a1e12afc3d08..42628d6dbf54977d34442f46c89b771af3af5b11 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -216,7 +216,7 @@ import javax.annotation.Nullable; // Paper +@@ -218,7 +218,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { @@ -168,10 +168,10 @@ index 324b3c8f85801670d501e9c58585baa395232226..23c3f04ea5b61ec403d70e221acb6120 private final String bukkitVersion = Versioning.getBukkitVersion(); private final Logger logger = Logger.getLogger("Minecraft"); diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index b5ec7a161b22d0a0d39a6e60ce015cbf3520651a..7dae077f0e5f1658dfdc74cd4a391ee2eec88493 100644 +index 0b2bc20d1074757ab69eb6715d9b2d0d2065b2db..84b10757a72354023b5e79e5c63a3fdb9a7eb55b 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -327,7 +327,7 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -347,7 +347,7 @@ public final class CraftMagicNumbers implements UnsafeValues { @Override public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { diff --git a/patches/server/0005-Add-getLastTickMs-api.patch b/patches/server/0005-Add-getLastTickMs-api.patch index 6511fb79..abccec9e 100644 --- a/patches/server/0005-Add-getLastTickMs-api.patch +++ b/patches/server/0005-Add-getLastTickMs-api.patch @@ -28,10 +28,10 @@ index 323d489b1e690500986bc0cbb4c2c93cc193bf70..5274dcde8b06200357b11b77cc72ec41 this.X = true; // Purpur start - tps catchup diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 23c3f04ea5b61ec403d70e221acb6120e7b4360c..5c221dd6b6e318eaa876f6f3016c9d4d8ded13fb 100644 +index 42628d6dbf54977d34442f46c89b771af3af5b11..c80d47409fe02bc261d2dbb0569cdec979939655 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2409,4 +2409,11 @@ public final class CraftServer implements Server { +@@ -2420,4 +2420,11 @@ public final class CraftServer implements Server { return getServer().lagging; } // Purpur end diff --git a/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch b/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch index 6910b0df..472aed59 100644 --- a/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch +++ b/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch @@ -445,10 +445,10 @@ index 0000000000000000000000000000000000000000..f69be0c7eef07727028c14e5ad9c8593 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5c221dd6b6e318eaa876f6f3016c9d4d8ded13fb..3f02309c1ede76ed69c6a95ec5e9807715949146 100644 +index c80d47409fe02bc261d2dbb0569cdec979939655..fd8ffcc962d0391262d9f8b08f6ea2f84d65851a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -843,6 +843,7 @@ public final class CraftServer implements Server { +@@ -845,6 +845,7 @@ public final class CraftServer implements Server { com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur de.minebench.origami.OrigamiConfig.init((File) console.options.valueOf("origami-settings")); // Origami @@ -456,7 +456,7 @@ index 5c221dd6b6e318eaa876f6f3016c9d4d8ded13fb..3f02309c1ede76ed69c6a95ec5e98077 for (WorldServer world : console.getWorlds()) { world.worldDataServer.setDifficulty(config.difficulty); world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals); -@@ -2263,6 +2264,13 @@ public final class CraftServer implements Server { +@@ -2274,6 +2275,13 @@ public final class CraftServer implements Server { } // Origami end diff --git a/patches/server/0040-Nuke-streams-off-BlockPosition.patch b/patches/server/0040-Nuke-streams-off-BlockPosition.patch index 3682a743..4d1cca19 100644 --- a/patches/server/0040-Nuke-streams-off-BlockPosition.patch +++ b/patches/server/0040-Nuke-streams-off-BlockPosition.patch @@ -119,7 +119,7 @@ index 388be69fb55c6b1cfd5ccc7635b54aa648728768..71210cfb2079e92392323e9df945975f if (this.aF() && this.isBurning()) { this.playSound(SoundEffects.ENTITY_GENERIC_EXTINGUISH_FIRE, 0.7F, 1.6F + (this.random.nextFloat() - this.random.nextFloat()) * 0.4F); diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index b6cace72ab2f3389408a5e528981fcff3b511180..722e3536e1e0837de2b7c36c3371f68091f71554 100644 +index 24842902383820f3ec8dcd2ee57b3d4f2d2e952f..a2a9b6504831182c737143f43e8580919c2124c8 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -377,9 +377,24 @@ public class EntityFishingHook extends IProjectile { diff --git a/patches/server/0045-Fix-Unable-to-save-chunk-error.patch b/patches/server/0044-Fix-Unable-to-save-chunk-error.patch similarity index 100% rename from patches/server/0045-Fix-Unable-to-save-chunk-error.patch rename to patches/server/0044-Fix-Unable-to-save-chunk-error.patch diff --git a/patches/server/0044-Respect-permissions-when-constructing-InventoryEnder.patch b/patches/server/0044-Respect-permissions-when-constructing-InventoryEnder.patch deleted file mode 100644 index 3f1b6044..00000000 --- a/patches/server/0044-Respect-permissions-when-constructing-InventoryEnder.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ivan Pekov -Date: Thu, 10 Sep 2020 09:02:02 +0300 -Subject: [PATCH] Respect permissions when constructing InventoryEnderChest - -Fixes Purpur-46 - -diff --git a/src/main/java/net/minecraft/server/InventoryEnderChest.java b/src/main/java/net/minecraft/server/InventoryEnderChest.java -index d147377e5d2ee818f941f50f7392a1bc7f584ffb..fc83c50831feb73f5549ce709dc928a1047f87ab 100644 ---- a/src/main/java/net/minecraft/server/InventoryEnderChest.java -+++ b/src/main/java/net/minecraft/server/InventoryEnderChest.java -@@ -25,6 +25,32 @@ public class InventoryEnderChest extends InventorySubcontainer { - // CraftBukkit end - } - -+ // Yatopia start -+ @Override -+ public int getSize() { -+ if (owner != null && owner.getProfile() != null) { -+ if (net.pl3x.purpur.PurpurConfig.enderChestSixRows) { -+ if (net.pl3x.purpur.PurpurConfig.enderChestPermissionRows) { -+ org.bukkit.craftbukkit.entity.CraftHumanEntity bukkit = owner.getBukkitEntity(); -+ if (bukkit.hasPermission("purpur.enderchest.rows.six")) { -+ return 54; -+ } else if (bukkit.hasPermission("purpur.enderchest.rows.five")) { -+ return 45; -+ } else if (bukkit.hasPermission("purpur.enderchest.rows.four")) { -+ return 36; -+ } else if (bukkit.hasPermission("purpur.enderchest.rows.three")) { -+ return 27; -+ } else if (bukkit.hasPermission("purpur.enderchest.rows.two")) { -+ return 18; -+ } else if (bukkit.hasPermission("purpur.enderchest.rows.one")) { -+ return 9; -+ } else { /* prevent breakage */ return 54; } -+ } else { return 54; } -+ } else { return 27; } -+ } else { return net.pl3x.purpur.PurpurConfig.enderChestSixRows ? 54 : 27; } -+ } -+ // Yatopia end -+ - public void a(TileEntityEnderChest tileentityenderchest) { - this.a = tileentityenderchest; - } diff --git a/patches/server/0046-Give-them-items-motion.patch b/patches/server/0045-Give-them-items-motion.patch similarity index 100% rename from patches/server/0046-Give-them-items-motion.patch rename to patches/server/0045-Give-them-items-motion.patch diff --git a/patches/server/0047-Fix-LightEngineThreaded-memory-leak.patch b/patches/server/0046-Fix-LightEngineThreaded-memory-leak.patch similarity index 100% rename from patches/server/0047-Fix-LightEngineThreaded-memory-leak.patch rename to patches/server/0046-Fix-LightEngineThreaded-memory-leak.patch diff --git a/patches/server/0048-Respect-PlayerKickEvent-leaveMessage.patch b/patches/server/0047-Respect-PlayerKickEvent-leaveMessage.patch similarity index 100% rename from patches/server/0048-Respect-PlayerKickEvent-leaveMessage.patch rename to patches/server/0047-Respect-PlayerKickEvent-leaveMessage.patch diff --git a/patches/server/0049-Nuke-Bootstrap-thread-pool.patch b/patches/server/0048-Nuke-Bootstrap-thread-pool.patch similarity index 100% rename from patches/server/0049-Nuke-Bootstrap-thread-pool.patch rename to patches/server/0048-Nuke-Bootstrap-thread-pool.patch diff --git a/patches/server/0050-Optimize-Villagers.patch b/patches/server/0049-Optimize-Villagers.patch similarity index 100% rename from patches/server/0050-Optimize-Villagers.patch rename to patches/server/0049-Optimize-Villagers.patch diff --git a/patches/server/0051-Fix-villager-dupe.patch b/patches/server/0050-Fix-villager-dupe.patch similarity index 100% rename from patches/server/0051-Fix-villager-dupe.patch rename to patches/server/0050-Fix-villager-dupe.patch