diff --git a/patches/dashspigot/server/0014-Fix-MC-233-Portal-travel-sound-doesn-t-play.patch b/patches/dashspigot/server/0014-Fix-MC-233-Portal-travel-sound-doesn-t-play.patch index fb72333..2ce2d42 100644 --- a/patches/dashspigot/server/0014-Fix-MC-233-Portal-travel-sound-doesn-t-play.patch +++ b/patches/dashspigot/server/0014-Fix-MC-233-Portal-travel-sound-doesn-t-play.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix MC-233: Portal travel sound doesn't play diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index c4c5b16c42719c802c928c871858f2c99021c9db..e269df4726d977d7faf81a129fb8cff0a26158ac 100644 +index 9b6214d194cbd43bf14345610c360ae9f790bab2..55720c1d66923863c3af263482128f0d700c745b 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -719,6 +719,11 @@ public abstract class PlayerList { +@@ -724,6 +724,11 @@ public abstract class PlayerList { exitWorld.chunkProviderServer.forceChunkLoad = before; this.moveToWorld(entityplayer, exitWorld.dimension, true, exit, false); // Vanilla doesn't check for suffocation when handling portals, so neither should we diff --git a/patches/dashspigot/server/0016-Fix-MC-1555-Items-get-deleted-when-the-crafting-reci.patch b/patches/dashspigot/server/0015-Fix-MC-1555-Items-get-deleted-when-the-crafting-reci.patch similarity index 100% rename from patches/dashspigot/server/0016-Fix-MC-1555-Items-get-deleted-when-the-crafting-reci.patch rename to patches/dashspigot/server/0015-Fix-MC-1555-Items-get-deleted-when-the-crafting-reci.patch diff --git a/patches/dashspigot/server/0015-Fix-end-portal-logic.patch b/patches/dashspigot/server/0015-Fix-end-portal-logic.patch deleted file mode 100644 index 4a18b7d..0000000 --- a/patches/dashspigot/server/0015-Fix-end-portal-logic.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: MasterDash5 -Date: Mon, 20 Oct 2025 16:25:00 -0600 -Subject: [PATCH] Fix end portal logic - - -diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 7933d3191b9f61b4880d85ba99126bf9221a3dff..1e757c65426abf15428beb9b04c73fac2d48bbda 100644 ---- a/src/main/java/net/minecraft/server/EntityPlayer.java -+++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -86,22 +86,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { - this.viewDistance = world.spigotConfig.viewDistance; // PaperSpigot - Player view distance API - playerinteractmanager.player = this; - this.playerInteractManager = playerinteractmanager; -- BlockPosition blockposition = worldserver.getSpawn(); -- -- if (!worldserver.worldProvider.o() && worldserver.getWorldData().getGameType() != WorldSettings.EnumGamemode.ADVENTURE) { -- int i = Math.max(5, minecraftserver.getSpawnProtection() - 6); -- int j = MathHelper.floor(worldserver.getWorldBorder().b((double) blockposition.getX(), (double) blockposition.getZ())); -- -- if (j < i) { -- i = j; -- } -- -- if (j <= 1) { -- i = 1; -- } -- -- blockposition = worldserver.r(blockposition.a(this.random.nextInt(i * 2) - i, 0, this.random.nextInt(i * 2) - i)); -- } -+ BlockPosition blockposition = getSpawnPoint(minecraftserver, worldserver); // DashSpigot - Move spawn point logic - - this.server = minecraftserver; - this.bK = minecraftserver.getPlayerList().a((EntityHuman) this); -@@ -120,6 +105,29 @@ public class EntityPlayer extends EntityHuman implements ICrafting { - // CraftBukkit end - } - -+ // DashSpigot start - Move spawn point logic -+ public final BlockPosition getSpawnPoint(MinecraftServer minecraftserver, WorldServer worldserver) { -+ BlockPosition blockposition = worldserver.getSpawn(); -+ -+ if (!worldserver.worldProvider.o() && worldserver.getWorldData().getGameType() != WorldSettings.EnumGamemode.ADVENTURE) { -+ int i = Math.max(5, minecraftserver.getSpawnProtection() - 6); -+ int j = MathHelper.floor(worldserver.getWorldBorder().b(blockposition.getX(), blockposition.getZ())); -+ -+ if (j < i) { -+ i = j; -+ } -+ -+ if (j <= 1) { -+ i = 1; -+ } -+ -+ blockposition = worldserver.r(blockposition.a(this.random.nextInt(i * 2) - i, 0, this.random.nextInt(i * 2) - i)); -+ } -+ -+ return blockposition; -+ } -+ // DashSpigot end -+ - public void a(NBTTagCompound nbttagcompound) { - super.a(nbttagcompound); - if (nbttagcompound.hasKeyOfType("playerGameType", 99)) { -@@ -528,10 +536,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { - boolean endPortal = this.dimension == 1 && i == 1; - if (endPortal) { - this.b((Statistic) AchievementList.D); -+ this.world.kill(this); // DashSpigot - Fix end obsidian platform - if (!world.paperSpigotConfig.disableEndCredits) { -- this.world.kill(this); - this.viewingCredits = true; - this.playerConnection.sendPacket(new PacketPlayOutGameStateChange(4, 0.0F)); -+ // DashSpigot start - Fix end obsidian platform -+ } else { -+ this.server.getPlayerList().changeDimension(this, 0, TeleportCause.END_PORTAL); -+ // DashSpigot end - } - // PaperSpigot end - } else { -@@ -551,12 +563,16 @@ public class EntityPlayer extends EntityHuman implements ICrafting { - } else { - this.b((Statistic) AchievementList.y); - } -+ // DashSpigot start - Fix end obsidian platform -+ /* - } - - // PaperSpigot start - Allow configurable end portal credits - if (!endPortal || world.paperSpigotConfig.disableEndCredits) { -+ */ - // CraftBukkit start -- TeleportCause cause = (endPortal || (this.dimension == 1 || i == 1)) ? TeleportCause.END_PORTAL : TeleportCause.NETHER_PORTAL; -+ TeleportCause cause = (this.dimension == 1 || i == 1) ? TeleportCause.END_PORTAL : TeleportCause.NETHER_PORTAL; -+ // DashSpigot end - this.server.getPlayerList().changeDimension(this, i, cause); - // CraftBukkit end - this.lastSentExp = -1; -diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index e269df4726d977d7faf81a129fb8cff0a26158ac..fa741ef0c840d53670ea05742dc6ba79e70413a7 100644 ---- a/src/main/java/net/minecraft/server/PlayerList.java -+++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -583,7 +583,7 @@ public abstract class PlayerList { - - if (location == null) { - cworld = (CraftWorld) this.server.server.getWorlds().get(0); -- blockposition = cworld.getHandle().getSpawn(); -+ blockposition = entityplayer1.getSpawnPoint(this.server, cworld.getHandle()); // DashSpigot - Randomize spawn position - location = new Location(cworld, blockposition.getX() + 0.5, blockposition.getY(), blockposition.getZ() + 0.5); - } - -@@ -680,7 +680,12 @@ public abstract class PlayerList { - // THE_END -> NORMAL; use bed if available, otherwise default spawn - exit = ((org.bukkit.craftbukkit.entity.CraftPlayer) entityplayer.getBukkitEntity()).getBedSpawnLocation(); - if (exit == null || ((CraftWorld) exit.getWorld()).getHandle().dimension != 0) { -- exit = exitWorld.getWorld().getSpawnLocation(); -+ // DashSpigot start - Randomize spawn position & Fix bed position -+ BlockPosition randomSpawn = entityplayer.getSpawnPoint(this.server, exitWorld); -+ exit = new Location(exitWorld.getWorld(), randomSpawn.getX() + 0.5, randomSpawn.getY(), randomSpawn.getZ() + 0.5); -+ } else { -+ exit.add(0.5, 0.1, 0.5); -+ // DashSpigot end - } - } else { - // NORMAL <-> NETHER or NORMAL -> THE_END -@@ -690,7 +695,7 @@ public abstract class PlayerList { - } - - TravelAgent agent = exit != null ? (TravelAgent) ((CraftWorld) exit.getWorld()).getHandle().getTravelAgent() : org.bukkit.craftbukkit.CraftTravelAgent.DEFAULT; // return arbitrary TA to compensate for implementation dependent plugins -- agent.setCanCreatePortal(cause != TeleportCause.END_PORTAL); // PaperSpigot - Configurable end credits, don't allow End Portals to create portals -+ //agent.setCanCreatePortal(cause != TeleportCause.END_PORTAL || i == 1); // PaperSpigot - Configurable end credits, don't allow End Portals to create portals // DashSpigot - Fix end obsidian platform - - PlayerPortalEvent event = new PlayerPortalEvent(entityplayer.getBukkitEntity(), enter, exit, agent, cause); - event.useTravelAgent(useTravelAgent); -@@ -700,7 +705,7 @@ public abstract class PlayerList { - } - - // PaperSpigot - Configurable end credits, if a plugin sets to use a travel agent even if the cause is an end portal, ignore it -- exit = cause != TeleportCause.END_PORTAL && event.useTravelAgent() ? event.getPortalTravelAgent().findOrCreate(event.getTo()) : event.getTo(); -+ exit = (cause != TeleportCause.END_PORTAL || i == 1) && event.useTravelAgent() ? event.getPortalTravelAgent().findOrCreate(event.getTo()) : event.getTo(); // DashSpigot - Fix end obsidian platform - if (exit == null) { - return; - } -@@ -718,7 +723,7 @@ public abstract class PlayerList { - exitWorld.getTravelAgent().adjustExit(entityplayer, exit, velocity); - exitWorld.chunkProviderServer.forceChunkLoad = before; - -- this.moveToWorld(entityplayer, exitWorld.dimension, true, exit, false); // Vanilla doesn't check for suffocation when handling portals, so neither should we -+ this.moveToWorld(entityplayer, exitWorld.dimension, true, exit, cause == TeleportCause.END_PORTAL && i == 0); // Vanilla doesn't check for suffocation when handling portals, so neither should we // DashSpigot - Check for suffocation on THE_END -> NORMAL - // DashSpigot start - Fix MC-233: Portal travel sound doesn't play - if (xyz.dashnetwork.dashspigot.config.DashSpigotConfig.get().playPortalTravelSound && cause == TeleportCause.NETHER_PORTAL) { - entityplayer.playerConnection.sendPacket(new PacketPlayOutNamedSoundEffect("portal.travel", entityplayer.locX, entityplayer.locY, entityplayer.locZ, 0.25F, entityplayer.random.nextFloat() * 0.4F + 0.8F)); -@@ -779,7 +784,7 @@ public abstract class PlayerList { - if (i == 1) { - // use default NORMAL world spawn instead of target - worldserver1 = this.server.worlds.get(0); -- blockposition = worldserver1.getSpawn(); -+ blockposition = worldserver1.r(worldserver1.getSpawn()); // DashSpigot - Fix entity THE_END -> NORMAL location - } else { - blockposition = worldserver1.getDimensionSpawn(); - } diff --git a/patches/dashspigot/server/0017-Stuck-arrows-API.patch b/patches/dashspigot/server/0016-Stuck-arrows-API.patch similarity index 97% rename from patches/dashspigot/server/0017-Stuck-arrows-API.patch rename to patches/dashspigot/server/0016-Stuck-arrows-API.patch index bc22a6b..7c61130 100644 --- a/patches/dashspigot/server/0017-Stuck-arrows-API.patch +++ b/patches/dashspigot/server/0016-Stuck-arrows-API.patch @@ -43,10 +43,10 @@ index 32752dfad24bc7883b1ab52e29834f1aa6fa60c6..4a72830071791321a2670302747fb36a } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 1e757c65426abf15428beb9b04c73fac2d48bbda..46a90c5e43692bcfd30d007783a765eed6778fb3 100644 +index 52c944a21e305701aa256de56e2951604e28672a..9557f736e884fe1400e8ca98cbe63c58bf9e84e1 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1227,6 +1227,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1228,6 +1228,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.expTotal = this.newTotalExp; this.exp = 0; this.deathTicks = 0; diff --git a/patches/dashspigot/server/0018-Port-ArrowCollideEvent.patch b/patches/dashspigot/server/0017-Port-ArrowCollideEvent.patch similarity index 100% rename from patches/dashspigot/server/0018-Port-ArrowCollideEvent.patch rename to patches/dashspigot/server/0017-Port-ArrowCollideEvent.patch diff --git a/patches/dashspigot/server/0019-Update-Resource-Pack-API.patch b/patches/dashspigot/server/0018-Update-Resource-Pack-API.patch similarity index 100% rename from patches/dashspigot/server/0019-Update-Resource-Pack-API.patch rename to patches/dashspigot/server/0018-Update-Resource-Pack-API.patch diff --git a/patches/dashspigot/server/0020-Only-update-rotation-for-living-entities.patch b/patches/dashspigot/server/0019-Only-update-rotation-for-living-entities.patch similarity index 100% rename from patches/dashspigot/server/0020-Only-update-rotation-for-living-entities.patch rename to patches/dashspigot/server/0019-Only-update-rotation-for-living-entities.patch diff --git a/patches/dashspigot/server/0021-Share-PacketEncoder-instance.patch b/patches/dashspigot/server/0020-Share-PacketEncoder-instance.patch similarity index 100% rename from patches/dashspigot/server/0021-Share-PacketEncoder-instance.patch rename to patches/dashspigot/server/0020-Share-PacketEncoder-instance.patch diff --git a/patches/dashspigot/server/0022-Disable-snooper.patch b/patches/dashspigot/server/0021-Disable-snooper.patch similarity index 92% rename from patches/dashspigot/server/0022-Disable-snooper.patch rename to patches/dashspigot/server/0021-Disable-snooper.patch index 5d1c68f..a306dee 100644 --- a/patches/dashspigot/server/0022-Disable-snooper.patch +++ b/patches/dashspigot/server/0021-Disable-snooper.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Disable snooper diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b6609daaaa8fc378515e85d031bd0151c103e8f6..361469f257da487f5f708651865e8916c46ae017 100644 +index a76d3b9b73370568fbe34775ea7bcd8401f02d5c..55ae0803285dde275a0edd23e434b21c55da4a20 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -794,6 +794,8 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs diff --git a/patches/dashspigot/server/0023-Fix-MC-161754.patch b/patches/dashspigot/server/0022-Fix-MC-161754.patch similarity index 100% rename from patches/dashspigot/server/0023-Fix-MC-161754.patch rename to patches/dashspigot/server/0022-Fix-MC-161754.patch diff --git a/patches/dashspigot/server/0024-Fix-MC-101232-Big-tree-generator-causes-memory-leak.patch b/patches/dashspigot/server/0023-Fix-MC-101232-Big-tree-generator-causes-memory-leak.patch similarity index 100% rename from patches/dashspigot/server/0024-Fix-MC-101232-Big-tree-generator-causes-memory-leak.patch rename to patches/dashspigot/server/0023-Fix-MC-101232-Big-tree-generator-causes-memory-leak.patch diff --git a/patches/dashspigot/server/0025-Fix-MC-128547-World-stays-in-memory-if-player-has-hi.patch b/patches/dashspigot/server/0024-Fix-MC-128547-World-stays-in-memory-if-player-has-hi.patch similarity index 100% rename from patches/dashspigot/server/0025-Fix-MC-128547-World-stays-in-memory-if-player-has-hi.patch rename to patches/dashspigot/server/0024-Fix-MC-128547-World-stays-in-memory-if-player-has-hi.patch diff --git a/patches/dashspigot/server/0026-Fix-teleport-invisiblity.patch b/patches/dashspigot/server/0025-Fix-teleport-invisiblity.patch similarity index 100% rename from patches/dashspigot/server/0026-Fix-teleport-invisiblity.patch rename to patches/dashspigot/server/0025-Fix-teleport-invisiblity.patch diff --git a/patches/dashspigot/server/0027-Fix-MC-10657-Entering-portal-while-sneaking.patch b/patches/dashspigot/server/0026-Fix-MC-10657-Entering-portal-while-sneaking.patch similarity index 78% rename from patches/dashspigot/server/0027-Fix-MC-10657-Entering-portal-while-sneaking.patch rename to patches/dashspigot/server/0026-Fix-MC-10657-Entering-portal-while-sneaking.patch index 6cb7ed2..545595d 100644 --- a/patches/dashspigot/server/0027-Fix-MC-10657-Entering-portal-while-sneaking.patch +++ b/patches/dashspigot/server/0026-Fix-MC-10657-Entering-portal-while-sneaking.patch @@ -5,19 +5,19 @@ Subject: [PATCH] Fix MC-10657: Entering portal while sneaking diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 46a90c5e43692bcfd30d007783a765eed6778fb3..61e2032d62fee486b7195dd37d19bd0f9d846cfe 100644 +index 9557f736e884fe1400e8ca98cbe63c58bf9e84e1..8bb792b3a5e9fb1ee15f3cf37f96000c4bb0a74b 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -574,6 +574,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { - TeleportCause cause = (this.dimension == 1 || i == 1) ? TeleportCause.END_PORTAL : TeleportCause.NETHER_PORTAL; - // DashSpigot end +@@ -575,6 +575,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + TeleportCause cause = this.dimension == 1 || i == 1 ? TeleportCause.END_PORTAL : TeleportCause.NETHER_PORTAL; + // PandaSpigot end this.server.getPlayerList().changeDimension(this, i, cause); + this.setSneaking(false); // DashSpigot - Fix MC-10657: Entering portal while sneaking // CraftBukkit end this.lastSentExp = -1; this.bM = -1.0F; diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index fa741ef0c840d53670ea05742dc6ba79e70413a7..09195ab55ac0e77afedf5a5f0ba8426c2dea993a 100644 +index 55720c1d66923863c3af263482128f0d700c745b..ec4f637b1a0ae78048bba4ace61900a1a610a3a5 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -189,6 +189,7 @@ public abstract class PlayerList { diff --git a/patches/dashspigot/server/0028-Reset-airTicks-on-respawn.patch b/patches/dashspigot/server/0027-Reset-airTicks-on-respawn.patch similarity index 82% rename from patches/dashspigot/server/0028-Reset-airTicks-on-respawn.patch rename to patches/dashspigot/server/0027-Reset-airTicks-on-respawn.patch index 81b0f7c..7d5439e 100644 --- a/patches/dashspigot/server/0028-Reset-airTicks-on-respawn.patch +++ b/patches/dashspigot/server/0027-Reset-airTicks-on-respawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset airTicks on respawn diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 61e2032d62fee486b7195dd37d19bd0f9d846cfe..8bfab01628b210a2a46858c1c51f58637730ed9b 100644 +index 8bb792b3a5e9fb1ee15f3cf37f96000c4bb0a74b..ba48cefd38f8b5428c97006fba09e589cfd9c040 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1222,6 +1222,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1223,6 +1223,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.setHealth(this.getMaxHealth()); this.fireTicks = 0; diff --git a/patches/dashspigot/server/0029-Fix-MC-696-Cats-stand-when-player-is-attacked.patch b/patches/dashspigot/server/0028-Fix-MC-696-Cats-stand-when-player-is-attacked.patch similarity index 100% rename from patches/dashspigot/server/0029-Fix-MC-696-Cats-stand-when-player-is-attacked.patch rename to patches/dashspigot/server/0028-Fix-MC-696-Cats-stand-when-player-is-attacked.patch diff --git a/patches/dashspigot/server/0030-Fix-bottles-moving-slots-when-using-a-cauldron.patch b/patches/dashspigot/server/0029-Fix-bottles-moving-slots-when-using-a-cauldron.patch similarity index 100% rename from patches/dashspigot/server/0030-Fix-bottles-moving-slots-when-using-a-cauldron.patch rename to patches/dashspigot/server/0029-Fix-bottles-moving-slots-when-using-a-cauldron.patch diff --git a/patches/dashspigot/server/0031-Fix-missing-sound-when-an-anvil-breaks-as-a-falling-.patch b/patches/dashspigot/server/0030-Fix-missing-sound-when-an-anvil-breaks-as-a-falling-.patch similarity index 100% rename from patches/dashspigot/server/0031-Fix-missing-sound-when-an-anvil-breaks-as-a-falling-.patch rename to patches/dashspigot/server/0030-Fix-missing-sound-when-an-anvil-breaks-as-a-falling-.patch diff --git a/patches/dashspigot/server/0032-Fix-book-issues.patch b/patches/dashspigot/server/0031-Fix-book-issues.patch similarity index 100% rename from patches/dashspigot/server/0032-Fix-book-issues.patch rename to patches/dashspigot/server/0031-Fix-book-issues.patch diff --git a/patches/dashspigot/server/0033-use-valueOf-for-DataWatcher.patch b/patches/dashspigot/server/0032-use-valueOf-for-DataWatcher.patch similarity index 100% rename from patches/dashspigot/server/0033-use-valueOf-for-DataWatcher.patch rename to patches/dashspigot/server/0032-use-valueOf-for-DataWatcher.patch diff --git a/patches/pandaspigot/server/0034-Backport-PlayerProfile-API.patch b/patches/pandaspigot/server/0033-Backport-PlayerProfile-API.patch similarity index 99% rename from patches/pandaspigot/server/0034-Backport-PlayerProfile-API.patch rename to patches/pandaspigot/server/0033-Backport-PlayerProfile-API.patch index 2b5e6a3..598bc54 100644 --- a/patches/pandaspigot/server/0034-Backport-PlayerProfile-API.patch +++ b/patches/pandaspigot/server/0033-Backport-PlayerProfile-API.patch @@ -320,7 +320,7 @@ index 04916c6a8ee6446e786eb23c54ae78e8d2cba84d..8388bb5bae0c3b072b191b9d3655873f public EntityFishingHook hookedFish; public boolean affectsSpawning = true; // PaperSpigot diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9d2b4037119030eea027b7d79ab4f36f28af71ae..e613c8afd3b02b91f224dcdeab28277227fa2a84 100644 +index bed9076fc52dc7a4f2ee3fe28c2a3f72fb6b0293..e9550824b63f7c6fc211ecee2e5ec0a9131f57ad 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1536,6 +1536,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs diff --git a/patches/pandaspigot/server/0033-Optimize-Network-Queue.patch b/patches/pandaspigot/server/0033-Optimize-Network-Queue.patch deleted file mode 100644 index 2ce9ff9..0000000 --- a/patches/pandaspigot/server/0033-Optimize-Network-Queue.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: vemacs -Date: Thu, 4 Nov 2021 09:44:02 -0400 -Subject: [PATCH] Optimize Network Queue - -Makes the synchronous job queue's size() method constant-time by -utilizing a custom ConcurrentLinkedQueue implementation that -caches the queue's size. - -diff --git a/src/main/java/com/destroystokyo/paper/utils/CachedSizeConcurrentLinkedQueue.java b/src/main/java/com/destroystokyo/paper/utils/CachedSizeConcurrentLinkedQueue.java -new file mode 100644 -index 0000000000000000000000000000000000000000..c8540d16defdc633113b504616794f440ac1c160 ---- /dev/null -+++ b/src/main/java/com/destroystokyo/paper/utils/CachedSizeConcurrentLinkedQueue.java -@@ -0,0 +1,31 @@ -+package com.destroystokyo.paper.utils; -+ -+import java.util.concurrent.ConcurrentLinkedQueue; -+import java.util.concurrent.atomic.LongAdder; -+ -+public class CachedSizeConcurrentLinkedQueue extends ConcurrentLinkedQueue { -+ private final LongAdder cachedSize = new LongAdder(); -+ -+ @Override -+ public boolean add(E e) { -+ boolean result = super.add(e); -+ if (result) { -+ cachedSize.increment(); -+ } -+ return result; -+ } -+ -+ @Override -+ public E poll() { -+ E result = super.poll(); -+ if (result != null) { -+ cachedSize.decrement(); -+ } -+ return result; -+ } -+ -+ @Override -+ public int size() { -+ return cachedSize.intValue(); -+ } -+} -diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bed9076fc52dc7a4f2ee3fe28c2a3f72fb6b0293..9d2b4037119030eea027b7d79ab4f36f28af71ae 100644 ---- a/src/main/java/net/minecraft/server/MinecraftServer.java -+++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -100,7 +100,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs - private long X = 0L; - private final GameProfileRepository Y; - private final UserCache Z; -- protected final Queue> j = new java.util.concurrent.ConcurrentLinkedQueue>(); // Spigot, PAIL: Rename -+ protected final Queue> j = new com.destroystokyo.paper.utils.CachedSizeConcurrentLinkedQueue<>(); // Spigot, PAIL: Rename // PandaSpigot - Make size() constant-time - private Thread serverThread; - private long ab = az(); - diff --git a/patches/pandaspigot/server/0035-Sound-events.patch b/patches/pandaspigot/server/0034-Sound-events.patch similarity index 100% rename from patches/pandaspigot/server/0035-Sound-events.patch rename to patches/pandaspigot/server/0034-Sound-events.patch diff --git a/patches/pandaspigot/server/0036-Optimize-VarInt-reading-and-writing.patch b/patches/pandaspigot/server/0035-Optimize-VarInt-reading-and-writing.patch similarity index 100% rename from patches/pandaspigot/server/0036-Optimize-VarInt-reading-and-writing.patch rename to patches/pandaspigot/server/0035-Optimize-VarInt-reading-and-writing.patch diff --git a/patches/pandaspigot/server/0037-Various-micro-optimizations-for-PacketDataSerializer.patch b/patches/pandaspigot/server/0036-Various-micro-optimizations-for-PacketDataSerializer.patch similarity index 100% rename from patches/pandaspigot/server/0037-Various-micro-optimizations-for-PacketDataSerializer.patch rename to patches/pandaspigot/server/0036-Various-micro-optimizations-for-PacketDataSerializer.patch diff --git a/patches/pandaspigot/server/0038-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/pandaspigot/server/0037-Use-TerminalConsoleAppender-for-console-improvements.patch similarity index 99% rename from patches/pandaspigot/server/0038-Use-TerminalConsoleAppender-for-console-improvements.patch rename to patches/pandaspigot/server/0037-Use-TerminalConsoleAppender-for-console-improvements.patch index 655896e..08470bf 100644 --- a/patches/pandaspigot/server/0038-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/pandaspigot/server/0037-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -251,7 +251,7 @@ index 97699e7f86cef3ab8c4560066f0ef93c18a8f5ad..9bcfa3d9f26f88e704903d90695ab88b System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e613c8afd3b02b91f224dcdeab28277227fa2a84..0833bedc4efd3382e69bfe5fe371a81882ce8d1c 100644 +index e9550824b63f7c6fc211ecee2e5ec0a9131f57ad..82c7de05cb6af9e179da419eed0545c16592320b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -41,7 +41,7 @@ import org.apache.logging.log4j.Logger; diff --git a/patches/pandaspigot/server/0039-Lazily-track-plugin-scoreboards-by-default.patch b/patches/pandaspigot/server/0038-Lazily-track-plugin-scoreboards-by-default.patch similarity index 100% rename from patches/pandaspigot/server/0039-Lazily-track-plugin-scoreboards-by-default.patch rename to patches/pandaspigot/server/0038-Lazily-track-plugin-scoreboards-by-default.patch diff --git a/patches/pandaspigot/server/0040-Fix-sending-head-rotation-packet-to-all-viewers.patch b/patches/pandaspigot/server/0039-Fix-sending-head-rotation-packet-to-all-viewers.patch similarity index 100% rename from patches/pandaspigot/server/0040-Fix-sending-head-rotation-packet-to-all-viewers.patch rename to patches/pandaspigot/server/0039-Fix-sending-head-rotation-packet-to-all-viewers.patch diff --git a/patches/pandaspigot/server/0041-Add-Channel-initialization-listeners.patch b/patches/pandaspigot/server/0040-Add-Channel-initialization-listeners.patch similarity index 100% rename from patches/pandaspigot/server/0041-Add-Channel-initialization-listeners.patch rename to patches/pandaspigot/server/0040-Add-Channel-initialization-listeners.patch diff --git a/patches/pandaspigot/server/0042-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/patches/pandaspigot/server/0041-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch similarity index 100% rename from patches/pandaspigot/server/0042-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch rename to patches/pandaspigot/server/0041-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch diff --git a/patches/pandaspigot/server/0043-Performance-improvement-for-Chunk.getEntities.patch b/patches/pandaspigot/server/0042-Performance-improvement-for-Chunk.getEntities.patch similarity index 100% rename from patches/pandaspigot/server/0043-Performance-improvement-for-Chunk.getEntities.patch rename to patches/pandaspigot/server/0042-Performance-improvement-for-Chunk.getEntities.patch diff --git a/patches/pandaspigot/server/0044-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/pandaspigot/server/0043-Add-Raw-Byte-ItemStack-Serialization.patch similarity index 100% rename from patches/pandaspigot/server/0044-Add-Raw-Byte-ItemStack-Serialization.patch rename to patches/pandaspigot/server/0043-Add-Raw-Byte-ItemStack-Serialization.patch diff --git a/patches/pandaspigot/server/0045-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/pandaspigot/server/0044-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch similarity index 98% rename from patches/pandaspigot/server/0045-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch rename to patches/pandaspigot/server/0044-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index ad6b3d1..1b7414b 100644 --- a/patches/pandaspigot/server/0045-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/patches/pandaspigot/server/0044-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -26,7 +26,7 @@ index c1110242136e8fd98661886920b765bb5367c37d..558ab56e5f2e670dc17e8ffd39d8f09d this.b(world, blockposition, iblockdata, 0); world.setTypeAndData(blockposition, Blocks.AIR.getBlockData(), 3); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0833bedc4efd3382e69bfe5fe371a81882ce8d1c..afe357bef417fa542af2d022278d2b21c47fce4e 100644 +index 82c7de05cb6af9e179da419eed0545c16592320b..919871cc851bba4067c0e6627c7b70faa1c96782 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -831,6 +831,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs diff --git a/patches/pandaspigot/server/0046-Add-setting-for-proxy-online-mode-status.patch b/patches/pandaspigot/server/0045-Add-setting-for-proxy-online-mode-status.patch similarity index 100% rename from patches/pandaspigot/server/0046-Add-setting-for-proxy-online-mode-status.patch rename to patches/pandaspigot/server/0045-Add-setting-for-proxy-online-mode-status.patch diff --git a/patches/pandaspigot/server/0047-Metrics.patch b/patches/pandaspigot/server/0046-Metrics.patch similarity index 100% rename from patches/pandaspigot/server/0047-Metrics.patch rename to patches/pandaspigot/server/0046-Metrics.patch diff --git a/patches/pandaspigot/server/0048-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch b/patches/pandaspigot/server/0047-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch similarity index 100% rename from patches/pandaspigot/server/0048-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch rename to patches/pandaspigot/server/0047-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch diff --git a/patches/pandaspigot/server/0049-Limit-Book-Sizes.patch b/patches/pandaspigot/server/0048-Limit-Book-Sizes.patch similarity index 100% rename from patches/pandaspigot/server/0049-Limit-Book-Sizes.patch rename to patches/pandaspigot/server/0048-Limit-Book-Sizes.patch diff --git a/patches/pandaspigot/server/0050-Disconnect-for-payload-errors.patch b/patches/pandaspigot/server/0049-Disconnect-for-payload-errors.patch similarity index 100% rename from patches/pandaspigot/server/0050-Disconnect-for-payload-errors.patch rename to patches/pandaspigot/server/0049-Disconnect-for-payload-errors.patch diff --git a/patches/pandaspigot/server/0051-Add-packet-limiter-config.patch b/patches/pandaspigot/server/0050-Add-packet-limiter-config.patch similarity index 99% rename from patches/pandaspigot/server/0051-Add-packet-limiter-config.patch rename to patches/pandaspigot/server/0050-Add-packet-limiter-config.patch index 4f32d50..b27e516 100644 --- a/patches/pandaspigot/server/0051-Add-packet-limiter-config.patch +++ b/patches/pandaspigot/server/0050-Add-packet-limiter-config.patch @@ -290,7 +290,7 @@ index 0000000000000000000000000000000000000000..d61d44e8e1126ed3bea6e633cc0bdebb + } +} diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 22c0d4ee25fa7af7da46098d0f91ed697a9ea480..8ecfab0d739298a9f907bb2103f60cbf0cc4a84b 100644 +index a9e86cdaeb6924adf2886a4804d51a32cd99f13c..b6fc419a5a5503fd6548ab0033994553f11fb490 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -113,6 +113,23 @@ public class NetworkManager extends SimpleChannelInboundHandler { diff --git a/patches/pandaspigot/server/0052-Backport-ProjectileHitEvent-API-improvements.patch b/patches/pandaspigot/server/0051-Backport-ProjectileHitEvent-API-improvements.patch similarity index 100% rename from patches/pandaspigot/server/0052-Backport-ProjectileHitEvent-API-improvements.patch rename to patches/pandaspigot/server/0051-Backport-ProjectileHitEvent-API-improvements.patch diff --git a/patches/pandaspigot/server/0053-Faster-redstone-torch-rapid-clock-removal.patch b/patches/pandaspigot/server/0052-Faster-redstone-torch-rapid-clock-removal.patch similarity index 100% rename from patches/pandaspigot/server/0053-Faster-redstone-torch-rapid-clock-removal.patch rename to patches/pandaspigot/server/0052-Faster-redstone-torch-rapid-clock-removal.patch diff --git a/patches/pandaspigot/server/0054-Add-ProjectileCollideEvent.patch b/patches/pandaspigot/server/0053-Add-ProjectileCollideEvent.patch similarity index 100% rename from patches/pandaspigot/server/0054-Add-ProjectileCollideEvent.patch rename to patches/pandaspigot/server/0053-Add-ProjectileCollideEvent.patch diff --git a/patches/pandaspigot/server/0055-Implement-pre-spawn-API-to-allow-modifications-to-sp.patch b/patches/pandaspigot/server/0054-Implement-pre-spawn-API-to-allow-modifications-to-sp.patch similarity index 100% rename from patches/pandaspigot/server/0055-Implement-pre-spawn-API-to-allow-modifications-to-sp.patch rename to patches/pandaspigot/server/0054-Implement-pre-spawn-API-to-allow-modifications-to-sp.patch diff --git a/patches/pandaspigot/server/0056-Shame-on-you-Mojang.patch b/patches/pandaspigot/server/0055-Shame-on-you-Mojang.patch similarity index 100% rename from patches/pandaspigot/server/0056-Shame-on-you-Mojang.patch rename to patches/pandaspigot/server/0055-Shame-on-you-Mojang.patch diff --git a/patches/pandaspigot/server/0057-Optimise-removeQueue.patch b/patches/pandaspigot/server/0056-Optimise-removeQueue.patch similarity index 100% rename from patches/pandaspigot/server/0057-Optimise-removeQueue.patch rename to patches/pandaspigot/server/0056-Optimise-removeQueue.patch diff --git a/patches/pandaspigot/server/0058-Add-Player-sendEquipmentChange.patch b/patches/pandaspigot/server/0057-Add-Player-sendEquipmentChange.patch similarity index 100% rename from patches/pandaspigot/server/0058-Add-Player-sendEquipmentChange.patch rename to patches/pandaspigot/server/0057-Add-Player-sendEquipmentChange.patch diff --git a/patches/pandaspigot/server/0059-Cache-chunk-coordinations.patch b/patches/pandaspigot/server/0058-Cache-chunk-coordinations.patch similarity index 100% rename from patches/pandaspigot/server/0059-Cache-chunk-coordinations.patch rename to patches/pandaspigot/server/0058-Cache-chunk-coordinations.patch diff --git a/patches/pandaspigot/server/0060-Fix-Occasional-Client-Side-Unloading-of-Chunk-0-0.patch b/patches/pandaspigot/server/0059-Fix-Occasional-Client-Side-Unloading-of-Chunk-0-0.patch similarity index 100% rename from patches/pandaspigot/server/0060-Fix-Occasional-Client-Side-Unloading-of-Chunk-0-0.patch rename to patches/pandaspigot/server/0059-Fix-Occasional-Client-Side-Unloading-of-Chunk-0-0.patch diff --git a/patches/pandaspigot/server/0061-Backport-SPIGOT-5428-Better-handling-of-some-ItemMet.patch b/patches/pandaspigot/server/0060-Backport-SPIGOT-5428-Better-handling-of-some-ItemMet.patch similarity index 100% rename from patches/pandaspigot/server/0061-Backport-SPIGOT-5428-Better-handling-of-some-ItemMet.patch rename to patches/pandaspigot/server/0060-Backport-SPIGOT-5428-Better-handling-of-some-ItemMet.patch diff --git a/patches/pandaspigot/server/0062-MC-135506-Experience-should-save-as-Integers.patch b/patches/pandaspigot/server/0061-MC-135506-Experience-should-save-as-Integers.patch similarity index 100% rename from patches/pandaspigot/server/0062-MC-135506-Experience-should-save-as-Integers.patch rename to patches/pandaspigot/server/0061-MC-135506-Experience-should-save-as-Integers.patch diff --git a/patches/pandaspigot/server/0063-Backport-TabCompleteEvent-and-AsyncTabCompleteEvent.patch b/patches/pandaspigot/server/0062-Backport-TabCompleteEvent-and-AsyncTabCompleteEvent.patch similarity index 100% rename from patches/pandaspigot/server/0063-Backport-TabCompleteEvent-and-AsyncTabCompleteEvent.patch rename to patches/pandaspigot/server/0062-Backport-TabCompleteEvent-and-AsyncTabCompleteEvent.patch diff --git a/patches/pandaspigot/server/0064-Add-config-option-for-logging-player-ip-addresses.patch b/patches/pandaspigot/server/0063-Add-config-option-for-logging-player-ip-addresses.patch similarity index 100% rename from patches/pandaspigot/server/0064-Add-config-option-for-logging-player-ip-addresses.patch rename to patches/pandaspigot/server/0063-Add-config-option-for-logging-player-ip-addresses.patch diff --git a/patches/pandaspigot/server/0065-Fix-setFlying-Toggle.patch b/patches/pandaspigot/server/0064-Fix-setFlying-Toggle.patch similarity index 100% rename from patches/pandaspigot/server/0065-Fix-setFlying-Toggle.patch rename to patches/pandaspigot/server/0064-Fix-setFlying-Toggle.patch diff --git a/patches/pandaspigot/server/0066-Cache-block-break-animation-packet.patch b/patches/pandaspigot/server/0065-Cache-block-break-animation-packet.patch similarity index 100% rename from patches/pandaspigot/server/0066-Cache-block-break-animation-packet.patch rename to patches/pandaspigot/server/0065-Cache-block-break-animation-packet.patch diff --git a/patches/pandaspigot/server/0067-Skip-updating-entity-tracker-if-server-is-empty.patch b/patches/pandaspigot/server/0066-Skip-updating-entity-tracker-if-server-is-empty.patch similarity index 91% rename from patches/pandaspigot/server/0067-Skip-updating-entity-tracker-if-server-is-empty.patch rename to patches/pandaspigot/server/0066-Skip-updating-entity-tracker-if-server-is-empty.patch index bceb112..a3df01c 100644 --- a/patches/pandaspigot/server/0067-Skip-updating-entity-tracker-if-server-is-empty.patch +++ b/patches/pandaspigot/server/0066-Skip-updating-entity-tracker-if-server-is-empty.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Skip updating entity tracker if server is empty diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index afe357bef417fa542af2d022278d2b21c47fce4e..603ed21ed96261537de5c027715567f0a6e9bebc 100644 +index 919871cc851bba4067c0e6627c7b70faa1c96782..ef17d45eb60ea375aad19ccc31773fa3c2346841 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -893,7 +893,9 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs diff --git a/patches/pandaspigot/server/0068-Add-World-Util-Methods.patch b/patches/pandaspigot/server/0067-Add-World-Util-Methods.patch similarity index 100% rename from patches/pandaspigot/server/0068-Add-World-Util-Methods.patch rename to patches/pandaspigot/server/0067-Add-World-Util-Methods.patch diff --git a/patches/pandaspigot/server/0069-Avoid-loading-chunks-in-multiple-places.patch b/patches/pandaspigot/server/0068-Avoid-loading-chunks-in-multiple-places.patch similarity index 100% rename from patches/pandaspigot/server/0069-Avoid-loading-chunks-in-multiple-places.patch rename to patches/pandaspigot/server/0068-Avoid-loading-chunks-in-multiple-places.patch diff --git a/patches/pandaspigot/server/0070-Use-less-resources-for-collisions.patch b/patches/pandaspigot/server/0069-Use-less-resources-for-collisions.patch similarity index 100% rename from patches/pandaspigot/server/0070-Use-less-resources-for-collisions.patch rename to patches/pandaspigot/server/0069-Use-less-resources-for-collisions.patch diff --git a/patches/pandaspigot/server/0071-Use-LinkedHashMap-for-GameRules-map.patch b/patches/pandaspigot/server/0070-Use-LinkedHashMap-for-GameRules-map.patch similarity index 100% rename from patches/pandaspigot/server/0071-Use-LinkedHashMap-for-GameRules-map.patch rename to patches/pandaspigot/server/0070-Use-LinkedHashMap-for-GameRules-map.patch diff --git a/patches/pandaspigot/server/0072-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/patches/pandaspigot/server/0071-Fix-MC-117075-TE-Unload-Lag-Spike.patch similarity index 100% rename from patches/pandaspigot/server/0072-Fix-MC-117075-TE-Unload-Lag-Spike.patch rename to patches/pandaspigot/server/0071-Fix-MC-117075-TE-Unload-Lag-Spike.patch diff --git a/patches/pandaspigot/server/0073-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch b/patches/pandaspigot/server/0072-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch similarity index 100% rename from patches/pandaspigot/server/0073-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch rename to patches/pandaspigot/server/0072-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch diff --git a/patches/pandaspigot/server/0074-Optimize-tnt-entity-and-falling-block-movement.patch b/patches/pandaspigot/server/0073-Optimize-tnt-entity-and-falling-block-movement.patch similarity index 100% rename from patches/pandaspigot/server/0074-Optimize-tnt-entity-and-falling-block-movement.patch rename to patches/pandaspigot/server/0073-Optimize-tnt-entity-and-falling-block-movement.patch diff --git a/patches/pandaspigot/server/0075-Optimize-Captured-TileEntity-Lookup.patch b/patches/pandaspigot/server/0074-Optimize-Captured-TileEntity-Lookup.patch similarity index 100% rename from patches/pandaspigot/server/0075-Optimize-Captured-TileEntity-Lookup.patch rename to patches/pandaspigot/server/0074-Optimize-Captured-TileEntity-Lookup.patch diff --git a/patches/pandaspigot/server/0076-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/pandaspigot/server/0075-Add-command-line-option-to-load-extra-plugin-jars-no.patch similarity index 98% rename from patches/pandaspigot/server/0076-Add-command-line-option-to-load-extra-plugin-jars-no.patch rename to patches/pandaspigot/server/0075-Add-command-line-option-to-load-extra-plugin-jars-no.patch index 1cc94d7..c41af1c 100644 --- a/patches/pandaspigot/server/0076-Add-command-line-option-to-load-extra-plugin-jars-no.patch +++ b/patches/pandaspigot/server/0075-Add-command-line-option-to-load-extra-plugin-jars-no.patch @@ -75,7 +75,7 @@ index 81819bd334f06671f8091995350ea24450d2dfc7..8b8b19c8afa32af136733bd7f77ed941 if (type == PluginLoadOrder.STARTUP) { helpMap.clear(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index f842cb9505fcb93ad36ae925a65c245cfb674d1d..335727493ab37e8aa235936b12af0cce51967805 100644 +index 493aa08c0d6d92ff5fda076f317db748b0912381..3a11ad950018293c04a7279ed65502d897310070 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -139,6 +139,11 @@ public class Main { diff --git a/patches/pandaspigot/server/0077-Reduce-Chunk-Hashing.patch b/patches/pandaspigot/server/0076-Reduce-Chunk-Hashing.patch similarity index 100% rename from patches/pandaspigot/server/0077-Reduce-Chunk-Hashing.patch rename to patches/pandaspigot/server/0076-Reduce-Chunk-Hashing.patch diff --git a/patches/pandaspigot/server/0078-Book-security-improvements.patch b/patches/pandaspigot/server/0077-Book-security-improvements.patch similarity index 100% rename from patches/pandaspigot/server/0078-Book-security-improvements.patch rename to patches/pandaspigot/server/0077-Book-security-improvements.patch diff --git a/patches/pandaspigot/server/0079-Implement-SpawnerPreSpawnEvent.patch b/patches/pandaspigot/server/0078-Implement-SpawnerPreSpawnEvent.patch similarity index 100% rename from patches/pandaspigot/server/0079-Implement-SpawnerPreSpawnEvent.patch rename to patches/pandaspigot/server/0078-Implement-SpawnerPreSpawnEvent.patch diff --git a/patches/pandaspigot/server/0080-Remove-DataWatcher-Locking.patch b/patches/pandaspigot/server/0079-Remove-DataWatcher-Locking.patch similarity index 100% rename from patches/pandaspigot/server/0080-Remove-DataWatcher-Locking.patch rename to patches/pandaspigot/server/0079-Remove-DataWatcher-Locking.patch diff --git a/patches/pandaspigot/server/0081-Optimize-Light-Recalculations.patch b/patches/pandaspigot/server/0080-Optimize-Light-Recalculations.patch similarity index 100% rename from patches/pandaspigot/server/0081-Optimize-Light-Recalculations.patch rename to patches/pandaspigot/server/0080-Optimize-Light-Recalculations.patch diff --git a/patches/pandaspigot/server/0082-Optimize-armor-stands.patch b/patches/pandaspigot/server/0081-Optimize-armor-stands.patch similarity index 100% rename from patches/pandaspigot/server/0082-Optimize-armor-stands.patch rename to patches/pandaspigot/server/0081-Optimize-armor-stands.patch diff --git a/patches/pandaspigot/server/0083-Avoid-Looking-up-same-chunk-twice-in-EAR.patch b/patches/pandaspigot/server/0082-Avoid-Looking-up-same-chunk-twice-in-EAR.patch similarity index 100% rename from patches/pandaspigot/server/0083-Avoid-Looking-up-same-chunk-twice-in-EAR.patch rename to patches/pandaspigot/server/0082-Avoid-Looking-up-same-chunk-twice-in-EAR.patch diff --git a/patches/pandaspigot/server/0084-Backport-ArrowDMG-fix.patch b/patches/pandaspigot/server/0083-Backport-ArrowDMG-fix.patch similarity index 100% rename from patches/pandaspigot/server/0084-Backport-ArrowDMG-fix.patch rename to patches/pandaspigot/server/0083-Backport-ArrowDMG-fix.patch diff --git a/patches/pandaspigot/server/0085-Random-arrow-damage-toggle.patch b/patches/pandaspigot/server/0084-Random-arrow-damage-toggle.patch similarity index 100% rename from patches/pandaspigot/server/0085-Random-arrow-damage-toggle.patch rename to patches/pandaspigot/server/0084-Random-arrow-damage-toggle.patch diff --git a/patches/pandaspigot/server/0086-Disable-Vanilla-Chunk-GC.patch b/patches/pandaspigot/server/0085-Disable-Vanilla-Chunk-GC.patch similarity index 100% rename from patches/pandaspigot/server/0086-Disable-Vanilla-Chunk-GC.patch rename to patches/pandaspigot/server/0085-Disable-Vanilla-Chunk-GC.patch diff --git a/patches/pandaspigot/server/0087-Use-single-player-info-update-packet-on-join.patch b/patches/pandaspigot/server/0086-Use-single-player-info-update-packet-on-join.patch similarity index 100% rename from patches/pandaspigot/server/0087-Use-single-player-info-update-packet-on-join.patch rename to patches/pandaspigot/server/0086-Use-single-player-info-update-packet-on-join.patch diff --git a/patches/pandaspigot/server/0088-Improve-portal-search-logic.patch b/patches/pandaspigot/server/0087-Improve-portal-search-logic.patch similarity index 60% rename from patches/pandaspigot/server/0088-Improve-portal-search-logic.patch rename to patches/pandaspigot/server/0087-Improve-portal-search-logic.patch index 5faaa96..029969b 100644 --- a/patches/pandaspigot/server/0088-Improve-portal-search-logic.patch +++ b/patches/pandaspigot/server/0087-Improve-portal-search-logic.patch @@ -3,10 +3,9 @@ From: uRyanxD Date: Sat, 22 Jun 2024 15:56:45 -0300 Subject: [PATCH] Improve portal search logic -Co-authored-by: Poweruser diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java -index 72f3735b196cbd7d420c6338eb7aba01b40c7804..fa0ad789e58255d3faa01deb5bc15d517790e69a 100644 +index 72f3735b196cbd7d420c6338eb7aba01b40c7804..486796d47cce34c94046548eee11b715c64c3f1d 100644 --- a/src/main/java/net/minecraft/server/PortalTravelAgent.java +++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java @@ -13,7 +13,7 @@ import org.bukkit.util.Vector; @@ -18,18 +17,35 @@ index 72f3735b196cbd7d420c6338eb7aba01b40c7804..fa0ad789e58255d3faa01deb5bc15d51 private final Random b; private final LongHashMap c = new LongHashMap(); private final List d = Lists.newArrayList(); -@@ -94,7 +94,13 @@ public class PortalTravelAgent { +@@ -30,9 +30,13 @@ public class PortalTravelAgent { + this.b(entity, f); + } + } else { ++ // PandaSpigot start - Moved down ++ /* + int i = MathHelper.floor(entity.locX); + int j = MathHelper.floor(entity.locY) - 1; + int k = MathHelper.floor(entity.locZ); ++ */ ++ // PandaSpigot end + // CraftBukkit start - Modularize end portal creation + BlockPosition created = this.createEndPortal(entity.locX, entity.locY, entity.locZ); + entity.setPositionRotation((double) created.getX(), (double) created.getY(), (double) created.getZ(), entity.yaw, 0.0F); +@@ -63,7 +67,7 @@ public class PortalTravelAgent { + } + + // CraftBukkit start +- return new BlockPosition(i, k, k); ++ return new BlockPosition(i, j, k); // PandaSpigot - Fix createEndPortal locY + } + + // use logic based on creation to verify end portal +@@ -94,7 +98,7 @@ public class PortalTravelAgent { public boolean b(Entity entity, float f) { // CraftBukkit start - Modularize portal search process and entity teleportation - BlockPosition found = this.findPortal(entity.locX, entity.locY, entity.locZ, 128); -+ // PandaSpigot start - Search proximity first and then do the larger search if the proximity search fails -+ // TODO: If a player sets the portal search radius to some value equal to or less than 10 we can use normal logic -+ BlockPosition found = this.findPortal(entity.locX, entity.locY, entity.locZ, 10); -+ if (found == null) { -+ found = this.findPortal(entity.locX, entity.locY, entity.locZ, a.paperSpigotConfig.portalSearchRadius); // PandaSpigot - Respect the Paper portal search radius configuration -+ } -+ // PandaSpigot end ++ BlockPosition found = this.findPortal(entity.locX, entity.locY, entity.locZ, a.paperSpigotConfig.portalSearchRadius); // PandaSpigot - Respect the Paper portal search radius configuration if (found == null) { return false; } @@ -47,7 +63,7 @@ index d68deb81f9f7dfb82591d5876daaac9a3a258dc6..47af49c25e1ce57a93aa4797f833ef83 this.C(); this.getWorldBorder().a(minecraftserver.aI()); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftTravelAgent.java b/src/main/java/org/bukkit/craftbukkit/CraftTravelAgent.java -index cae65cf86fac24733b9732a6c66bed1e7b45a8a9..ba494d07d25ebb3296c0c0d8e2500c655d6c8288 100644 +index cae65cf86fac24733b9732a6c66bed1e7b45a8a9..a9bda3946cc4b2364f87364aadbdd227e14023b8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftTravelAgent.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftTravelAgent.java @@ -11,7 +11,7 @@ public class CraftTravelAgent extends PortalTravelAgent implements TravelAgent { @@ -59,18 +75,3 @@ index cae65cf86fac24733b9732a6c66bed1e7b45a8a9..ba494d07d25ebb3296c0c0d8e2500c65 private int creationRadius = 16; private boolean canCreatePortal = true; -@@ -44,7 +44,13 @@ public class CraftTravelAgent extends PortalTravelAgent implements TravelAgent { - @Override - public Location findPortal(Location location) { - PortalTravelAgent pta = ((CraftWorld) location.getWorld()).getHandle().getTravelAgent(); -- BlockPosition found = pta.findPortal(location.getX(), location.getY(), location.getZ(), this.getSearchRadius()); -+ // PandaSpigot start - Search proximity first and then do the larger search if the proximity search fails -+ // TODO: If a player sets the portal search radius to some value equal to or less than 10 we can use normal logic -+ BlockPosition found = pta.findPortal(location.getX(), location.getY(), location.getZ(), 10); -+ if (found == null) { -+ found = pta.findPortal(location.getX(), location.getY(), location.getZ(), this.getSearchRadius()); -+ } -+ // PandaSpigot end - return found != null ? new Location(location.getWorld(), found.getX(), found.getY(), found.getZ(), location.getYaw(), location.getPitch()) : null; - } - diff --git a/patches/pandaspigot/server/0089-Fix-Paper-hopper-patch.patch b/patches/pandaspigot/server/0088-Fix-Paper-hopper-patch.patch similarity index 100% rename from patches/pandaspigot/server/0089-Fix-Paper-hopper-patch.patch rename to patches/pandaspigot/server/0088-Fix-Paper-hopper-patch.patch diff --git a/patches/pandaspigot/server/0090-Fix-Paper-height-nerf-patch.patch b/patches/pandaspigot/server/0089-Fix-Paper-height-nerf-patch.patch similarity index 100% rename from patches/pandaspigot/server/0090-Fix-Paper-height-nerf-patch.patch rename to patches/pandaspigot/server/0089-Fix-Paper-height-nerf-patch.patch diff --git a/patches/pandaspigot/server/0091-Add-SLF4J-implementation.patch b/patches/pandaspigot/server/0090-Add-SLF4J-implementation.patch similarity index 88% rename from patches/pandaspigot/server/0091-Add-SLF4J-implementation.patch rename to patches/pandaspigot/server/0090-Add-SLF4J-implementation.patch index b94a7b6..24fea53 100644 --- a/patches/pandaspigot/server/0091-Add-SLF4J-implementation.patch +++ b/patches/pandaspigot/server/0090-Add-SLF4J-implementation.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add SLF4J implementation diff --git a/build.gradle.kts b/build.gradle.kts -index a4e94d3a91a747a562c91160201cb6075444c7f3..fb1f7c780b4897701e4a8e7d8fe1a61652830d85 100644 +index 5c2941d90c502980347413018ee0c74123118761..a084032f7c5048de756de16cd7dd34b5ea283b81 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -24,6 +24,7 @@ dependencies { diff --git a/patches/pandaspigot/server/0092-Add-PrePlayerAttackEntityEvent.patch b/patches/pandaspigot/server/0091-Add-PrePlayerAttackEntityEvent.patch similarity index 100% rename from patches/pandaspigot/server/0092-Add-PrePlayerAttackEntityEvent.patch rename to patches/pandaspigot/server/0091-Add-PrePlayerAttackEntityEvent.patch diff --git a/patches/pandaspigot/server/0093-Implement-EntityPickupItemEvent.patch b/patches/pandaspigot/server/0092-Implement-EntityPickupItemEvent.patch similarity index 100% rename from patches/pandaspigot/server/0093-Implement-EntityPickupItemEvent.patch rename to patches/pandaspigot/server/0092-Implement-EntityPickupItemEvent.patch diff --git a/patches/pandaspigot/server/0094-Add-Stricter-Client-Sign-limits.patch b/patches/pandaspigot/server/0093-Add-Stricter-Client-Sign-limits.patch similarity index 100% rename from patches/pandaspigot/server/0094-Add-Stricter-Client-Sign-limits.patch rename to patches/pandaspigot/server/0093-Add-Stricter-Client-Sign-limits.patch diff --git a/patches/pandaspigot/server/0095-Fix-Bukkit-Custom-Inventories.patch b/patches/pandaspigot/server/0094-Fix-Bukkit-Custom-Inventories.patch similarity index 100% rename from patches/pandaspigot/server/0095-Fix-Bukkit-Custom-Inventories.patch rename to patches/pandaspigot/server/0094-Fix-Bukkit-Custom-Inventories.patch diff --git a/patches/pandaspigot/server/0096-Fix-Timings.patch b/patches/pandaspigot/server/0095-Fix-Timings.patch similarity index 100% rename from patches/pandaspigot/server/0096-Fix-Timings.patch rename to patches/pandaspigot/server/0095-Fix-Timings.patch diff --git a/patches/pandaspigot/server/0097-Remove-unused-code-from-Spigot-tick-limiters.patch b/patches/pandaspigot/server/0096-Remove-unused-code-from-Spigot-tick-limiters.patch similarity index 100% rename from patches/pandaspigot/server/0097-Remove-unused-code-from-Spigot-tick-limiters.patch rename to patches/pandaspigot/server/0096-Remove-unused-code-from-Spigot-tick-limiters.patch diff --git a/patches/pandaspigot/server/0098-Fix-WorldBorder.isInBounds-checking-the-wrong-var.patch b/patches/pandaspigot/server/0097-Fix-WorldBorder.isInBounds-checking-the-wrong-var.patch similarity index 100% rename from patches/pandaspigot/server/0098-Fix-WorldBorder.isInBounds-checking-the-wrong-var.patch rename to patches/pandaspigot/server/0097-Fix-WorldBorder.isInBounds-checking-the-wrong-var.patch diff --git a/patches/pandaspigot/server/0099-Remove-unnecessary-permgen-size-check.patch b/patches/pandaspigot/server/0098-Remove-unnecessary-permgen-size-check.patch similarity index 100% rename from patches/pandaspigot/server/0099-Remove-unnecessary-permgen-size-check.patch rename to patches/pandaspigot/server/0098-Remove-unnecessary-permgen-size-check.patch diff --git a/patches/pandaspigot/server/0100-Optimized-Light-Level-Comparisons.patch b/patches/pandaspigot/server/0099-Optimized-Light-Level-Comparisons.patch similarity index 100% rename from patches/pandaspigot/server/0100-Optimized-Light-Level-Comparisons.patch rename to patches/pandaspigot/server/0099-Optimized-Light-Level-Comparisons.patch diff --git a/patches/pandaspigot/server/0101-Fix-n-not-working-in-configurable-messages.patch b/patches/pandaspigot/server/0100-Fix-n-not-working-in-configurable-messages.patch similarity index 100% rename from patches/pandaspigot/server/0101-Fix-n-not-working-in-configurable-messages.patch rename to patches/pandaspigot/server/0100-Fix-n-not-working-in-configurable-messages.patch diff --git a/patches/pandaspigot/server/0102-Add-additional-catch-to-handle-NPE-on-usercache-load.patch b/patches/pandaspigot/server/0101-Add-additional-catch-to-handle-NPE-on-usercache-load.patch similarity index 100% rename from patches/pandaspigot/server/0102-Add-additional-catch-to-handle-NPE-on-usercache-load.patch rename to patches/pandaspigot/server/0101-Add-additional-catch-to-handle-NPE-on-usercache-load.patch diff --git a/patches/pandaspigot/server/0103-Fix-GH-244-Hit-Registration-Bug.patch b/patches/pandaspigot/server/0102-Fix-GH-244-Hit-Registration-Bug.patch similarity index 100% rename from patches/pandaspigot/server/0103-Fix-GH-244-Hit-Registration-Bug.patch rename to patches/pandaspigot/server/0102-Fix-GH-244-Hit-Registration-Bug.patch diff --git a/patches/pandaspigot/server/0104-Proper-shutdown-when-restart-script-does-not-exist.patch b/patches/pandaspigot/server/0103-Proper-shutdown-when-restart-script-does-not-exist.patch similarity index 100% rename from patches/pandaspigot/server/0104-Proper-shutdown-when-restart-script-does-not-exist.patch rename to patches/pandaspigot/server/0103-Proper-shutdown-when-restart-script-does-not-exist.patch diff --git a/patches/pandaspigot/server/0105-Backport-modern-tick-loop-system.patch b/patches/pandaspigot/server/0104-Backport-modern-tick-loop-system.patch similarity index 98% rename from patches/pandaspigot/server/0105-Backport-modern-tick-loop-system.patch rename to patches/pandaspigot/server/0104-Backport-modern-tick-loop-system.patch index 4c743a5..7a1a31b 100644 --- a/patches/pandaspigot/server/0105-Backport-modern-tick-loop-system.patch +++ b/patches/pandaspigot/server/0104-Backport-modern-tick-loop-system.patch @@ -7,7 +7,7 @@ Also removes redundant empty list check before putting a task on the main thread diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 603ed21ed96261537de5c027715567f0a6e9bebc..34c1abced43dbcb9a97b3a4b0d9e2b94997cdb9c 100644 +index ef17d45eb60ea375aad19ccc31773fa3c2346841..ae0259e025d1121adb5d09cda05e84fe711d8a35 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -512,6 +512,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs diff --git a/patches/pandaspigot/server/0106-Fix-SPIGOT-2622-Only-one-player-receiving-the-server.patch b/patches/pandaspigot/server/0105-Fix-SPIGOT-2622-Only-one-player-receiving-the-server.patch similarity index 100% rename from patches/pandaspigot/server/0106-Fix-SPIGOT-2622-Only-one-player-receiving-the-server.patch rename to patches/pandaspigot/server/0105-Fix-SPIGOT-2622-Only-one-player-receiving-the-server.patch diff --git a/patches/pandaspigot/server/0107-Fix-wrong-handler-name-used-for-cast-to-PacketCompre.patch b/patches/pandaspigot/server/0106-Fix-wrong-handler-name-used-for-cast-to-PacketCompre.patch similarity index 91% rename from patches/pandaspigot/server/0107-Fix-wrong-handler-name-used-for-cast-to-PacketCompre.patch rename to patches/pandaspigot/server/0106-Fix-wrong-handler-name-used-for-cast-to-PacketCompre.patch index b5638da..4785b9a 100644 --- a/patches/pandaspigot/server/0107-Fix-wrong-handler-name-used-for-cast-to-PacketCompre.patch +++ b/patches/pandaspigot/server/0106-Fix-wrong-handler-name-used-for-cast-to-PacketCompre.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix wrong handler name used for cast to PacketCompressor diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 8ecfab0d739298a9f907bb2103f60cbf0cc4a84b..425938b0774182e8813f830c7a3e60635d885b7c 100644 +index b6fc419a5a5503fd6548ab0033994553f11fb490..349c97bf867f50b98d1c137407e04137cd1ef033 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -495,7 +495,7 @@ public class NetworkManager extends SimpleChannelInboundHandler { diff --git a/patches/pandaspigot/server/0108-Fix-GH-276-Item-durability-desync-when-some-events-a.patch b/patches/pandaspigot/server/0107-Fix-GH-276-Item-durability-desync-when-some-events-a.patch similarity index 100% rename from patches/pandaspigot/server/0108-Fix-GH-276-Item-durability-desync-when-some-events-a.patch rename to patches/pandaspigot/server/0107-Fix-GH-276-Item-durability-desync-when-some-events-a.patch diff --git a/patches/pandaspigot/server/0109-Fix-collision-detection-of-entities-with-blocks.patch b/patches/pandaspigot/server/0108-Fix-collision-detection-of-entities-with-blocks.patch similarity index 100% rename from patches/pandaspigot/server/0109-Fix-collision-detection-of-entities-with-blocks.patch rename to patches/pandaspigot/server/0108-Fix-collision-detection-of-entities-with-blocks.patch diff --git a/patches/pandaspigot/server/0110-Remove-duplicate-null-check-for-chunk-in-unloadChunk.patch b/patches/pandaspigot/server/0109-Remove-duplicate-null-check-for-chunk-in-unloadChunk.patch similarity index 100% rename from patches/pandaspigot/server/0110-Remove-duplicate-null-check-for-chunk-in-unloadChunk.patch rename to patches/pandaspigot/server/0109-Remove-duplicate-null-check-for-chunk-in-unloadChunk.patch diff --git a/patches/pandaspigot/server/0111-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch b/patches/pandaspigot/server/0110-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch similarity index 97% rename from patches/pandaspigot/server/0111-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch rename to patches/pandaspigot/server/0110-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch index f15c728..2d3ef6d 100644 --- a/patches/pandaspigot/server/0111-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch +++ b/patches/pandaspigot/server/0110-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch @@ -12,7 +12,7 @@ results in a separate line, even though it should not result in a line break. Log4j's implementation handles it correctly. diff --git a/build.gradle.kts b/build.gradle.kts -index fb1f7c780b4897701e4a8e7d8fe1a61652830d85..acb2eea3ec39a2505c90a526d2978daa695f19f9 100644 +index a084032f7c5048de756de16cd7dd34b5ea283b81..f5c5c322973966f781aa1b6ec32db7c070bf55b1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,6 +25,7 @@ dependencies { diff --git a/patches/pandaspigot/server/0112-Adventure-API.patch b/patches/pandaspigot/server/0111-Adventure-API.patch similarity index 100% rename from patches/pandaspigot/server/0112-Adventure-API.patch rename to patches/pandaspigot/server/0111-Adventure-API.patch diff --git a/patches/pandaspigot/server/0113-Fix-MC-120567-Bed-portal-crash.patch b/patches/pandaspigot/server/0112-Fix-MC-120567-Bed-portal-crash.patch similarity index 100% rename from patches/pandaspigot/server/0113-Fix-MC-120567-Bed-portal-crash.patch rename to patches/pandaspigot/server/0112-Fix-MC-120567-Bed-portal-crash.patch diff --git a/patches/pandaspigot/server/0114-Fix-various-issues-with-commands.patch b/patches/pandaspigot/server/0113-Fix-various-issues-with-commands.patch similarity index 100% rename from patches/pandaspigot/server/0114-Fix-various-issues-with-commands.patch rename to patches/pandaspigot/server/0113-Fix-various-issues-with-commands.patch diff --git a/patches/pandaspigot/server/0115-Check-for-insertion-in-ChatModifier.patch b/patches/pandaspigot/server/0114-Check-for-insertion-in-ChatModifier.patch similarity index 100% rename from patches/pandaspigot/server/0115-Check-for-insertion-in-ChatModifier.patch rename to patches/pandaspigot/server/0114-Check-for-insertion-in-ChatModifier.patch diff --git a/patches/pandaspigot/server/0116-Break-up-and-make-tab-spam-limits-configurable.patch b/patches/pandaspigot/server/0115-Break-up-and-make-tab-spam-limits-configurable.patch similarity index 100% rename from patches/pandaspigot/server/0116-Break-up-and-make-tab-spam-limits-configurable.patch rename to patches/pandaspigot/server/0115-Break-up-and-make-tab-spam-limits-configurable.patch diff --git a/patches/pandaspigot/server/0117-Backport-NetworkClient.patch b/patches/pandaspigot/server/0116-Backport-NetworkClient.patch similarity index 97% rename from patches/pandaspigot/server/0117-Backport-NetworkClient.patch rename to patches/pandaspigot/server/0116-Backport-NetworkClient.patch index 2057301..ae17e08 100644 --- a/patches/pandaspigot/server/0117-Backport-NetworkClient.patch +++ b/patches/pandaspigot/server/0116-Backport-NetworkClient.patch @@ -74,7 +74,7 @@ index 10a8c440f08535d90d8d1204a23c859ba296aa39..68041c3e97e9292c7f27dc21ae1c8c2d public void a(IChatBaseComponent ichatbasecomponent) {} diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 425938b0774182e8813f830c7a3e60635d885b7c..e7621c21bf50694f48b05a4a6fb44e39d80427e7 100644 +index 349c97bf867f50b98d1c137407e04137cd1ef033..9ff04c5016f1b8f339975559b8cf619f1841da82 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -74,6 +74,10 @@ public class NetworkManager extends SimpleChannelInboundHandler { diff --git a/patches/pandaspigot/server/0118-Backport-PaperServerListPingEvent.patch b/patches/pandaspigot/server/0117-Backport-PaperServerListPingEvent.patch similarity index 100% rename from patches/pandaspigot/server/0118-Backport-PaperServerListPingEvent.patch rename to patches/pandaspigot/server/0117-Backport-PaperServerListPingEvent.patch diff --git a/patches/pandaspigot/server/0119-Fix-SPIGOT-509-Negative-or-zero-quantity-items-made-.patch b/patches/pandaspigot/server/0118-Fix-SPIGOT-509-Negative-or-zero-quantity-items-made-.patch similarity index 100% rename from patches/pandaspigot/server/0119-Fix-SPIGOT-509-Negative-or-zero-quantity-items-made-.patch rename to patches/pandaspigot/server/0118-Fix-SPIGOT-509-Negative-or-zero-quantity-items-made-.patch diff --git a/patches/pandaspigot/server/0119-Fix-spawn-point-radius-on-respawn.patch b/patches/pandaspigot/server/0119-Fix-spawn-point-radius-on-respawn.patch new file mode 100644 index 0000000..5286c53 --- /dev/null +++ b/patches/pandaspigot/server/0119-Fix-spawn-point-radius-on-respawn.patch @@ -0,0 +1,76 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: md_5 +Date: Tue, 14 Apr 2026 18:26:28 -0300 +Subject: [PATCH] Fix spawn point radius on respawn + + +diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java +index 7933d3191b9f61b4880d85ba99126bf9221a3dff..e9b9b66e25e747634f82cdfbc0306d33335db6f6 100644 +--- a/src/main/java/net/minecraft/server/EntityPlayer.java ++++ b/src/main/java/net/minecraft/server/EntityPlayer.java +@@ -86,6 +86,27 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + this.viewDistance = world.spigotConfig.viewDistance; // PaperSpigot - Player view distance API + playerinteractmanager.player = this; + this.playerInteractManager = playerinteractmanager; ++ BlockPosition blockposition = getSpawnPoint(minecraftserver, worldserver); // PandaSpigot - Split spawn point logic ++ ++ this.server = minecraftserver; ++ this.bK = minecraftserver.getPlayerList().a((EntityHuman) this); ++ this.S = 0.0F; ++ this.setPositionRotation(blockposition, 0.0F, 0.0F); ++ ++ while (!worldserver.getCubes(this, this.getBoundingBox()).isEmpty() && this.locY < 255.0D) { ++ this.setPosition(this.locX, this.locY + 1.0D, this.locZ); ++ } ++ ++ // CraftBukkit start ++ this.displayName = this.getName(); ++ this.adventure$displayName = net.kyori.adventure.text.Component.text(this.getName()); // PandaSpigot - Adventure ++ // this.canPickUpLoot = true; TODO ++ this.maxHealthCache = this.getMaxHealth(); ++ // CraftBukkit end ++ } ++ ++ // PandaSpigot start - Split spawn point logic ++ public final BlockPosition getSpawnPoint(MinecraftServer minecraftserver, WorldServer worldserver) { + BlockPosition blockposition = worldserver.getSpawn(); + + if (!worldserver.worldProvider.o() && worldserver.getWorldData().getGameType() != WorldSettings.EnumGamemode.ADVENTURE) { +@@ -103,22 +124,9 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + blockposition = worldserver.r(blockposition.a(this.random.nextInt(i * 2) - i, 0, this.random.nextInt(i * 2) - i)); + } + +- this.server = minecraftserver; +- this.bK = minecraftserver.getPlayerList().a((EntityHuman) this); +- this.S = 0.0F; +- this.setPositionRotation(blockposition, 0.0F, 0.0F); +- +- while (!worldserver.getCubes(this, this.getBoundingBox()).isEmpty() && this.locY < 255.0D) { +- this.setPosition(this.locX, this.locY + 1.0D, this.locZ); +- } +- +- // CraftBukkit start +- this.displayName = this.getName(); +- this.adventure$displayName = net.kyori.adventure.text.Component.text(this.getName()); // PandaSpigot - Adventure +- // this.canPickUpLoot = true; TODO +- this.maxHealthCache = this.getMaxHealth(); +- // CraftBukkit end ++ return blockposition; + } ++ // PandaSpigot end + + public void a(NBTTagCompound nbttagcompound) { + super.a(nbttagcompound); +diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java +index c4c5b16c42719c802c928c871858f2c99021c9db..f61dce199e2d30d425e0d8af312406cc09baf018 100644 +--- a/src/main/java/net/minecraft/server/PlayerList.java ++++ b/src/main/java/net/minecraft/server/PlayerList.java +@@ -583,7 +583,7 @@ public abstract class PlayerList { + + if (location == null) { + cworld = (CraftWorld) this.server.server.getWorlds().get(0); +- blockposition = cworld.getHandle().getSpawn(); ++ blockposition = entityplayer1.getSpawnPoint(this.server, cworld.getHandle()); // PandaSpigot - Fix spawn point radius on respawn + location = new Location(cworld, blockposition.getX() + 0.5, blockposition.getY(), blockposition.getZ() + 0.5); + } + diff --git a/patches/pandaspigot/server/0120-Make-end-overworld-spawning-more-consistent-with-van.patch b/patches/pandaspigot/server/0120-Make-end-overworld-spawning-more-consistent-with-van.patch new file mode 100644 index 0000000..cabfa23 --- /dev/null +++ b/patches/pandaspigot/server/0120-Make-end-overworld-spawning-more-consistent-with-van.patch @@ -0,0 +1,24 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: md_5 +Date: Tue, 14 Apr 2026 18:33:56 -0300 +Subject: [PATCH] Make end->overworld spawning more consistent with vanilla + + +diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java +index f61dce199e2d30d425e0d8af312406cc09baf018..3cc5fcdf65dac0f2ecf20b464de22fe7ce3ce6ce 100644 +--- a/src/main/java/net/minecraft/server/PlayerList.java ++++ b/src/main/java/net/minecraft/server/PlayerList.java +@@ -680,7 +680,12 @@ public abstract class PlayerList { + // THE_END -> NORMAL; use bed if available, otherwise default spawn + exit = ((org.bukkit.craftbukkit.entity.CraftPlayer) entityplayer.getBukkitEntity()).getBedSpawnLocation(); + if (exit == null || ((CraftWorld) exit.getWorld()).getHandle().dimension != 0) { +- exit = exitWorld.getWorld().getSpawnLocation(); ++ // PandaSpigot start - Make end->overworld spawning more consistent with vanilla ++ BlockPosition randomSpawn = entityplayer.getSpawnPoint(server, exitWorld); ++ exit = new Location(exitWorld.getWorld(), randomSpawn.getX(), randomSpawn.getY(), randomSpawn.getZ()); ++ } else { ++ exit = exit.add(0.5F, 0.1F, 0.5F); ++ // PandaSpigot end + } + } else { + // NORMAL <-> NETHER or NORMAL -> THE_END diff --git a/patches/pandaspigot/server/0121-Fix-canBuild-radius-check.patch b/patches/pandaspigot/server/0121-Fix-canBuild-radius-check.patch new file mode 100644 index 0000000..b8726c1 --- /dev/null +++ b/patches/pandaspigot/server/0121-Fix-canBuild-radius-check.patch @@ -0,0 +1,19 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: md_5 +Date: Tue, 14 Apr 2026 18:38:08 -0300 +Subject: [PATCH] Fix canBuild radius check + + +diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +index 2b05648ba22a47f7579f64deabbf38132350c0fe..1705b5a51b37d45f3a6081f5e1f3688c436ce53d 100644 +--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java ++++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +@@ -79,7 +79,7 @@ public class CraftEventFactory { + + BlockPosition chunkcoordinates = worldServer.getSpawn(); + +- int distanceFromSpawn = Math.max(Math.abs(x - chunkcoordinates.getX()), Math.abs(z - chunkcoordinates.getY())); ++ int distanceFromSpawn = Math.max(Math.abs(x - chunkcoordinates.getX()), Math.abs(z - chunkcoordinates.getZ())); // PandaSpigot - Fix canBuild radius check + return distanceFromSpawn > spawnSize; + } + diff --git a/patches/pandaspigot/server/0122-Fix-end-obsidian-platform-generation.patch b/patches/pandaspigot/server/0122-Fix-end-obsidian-platform-generation.patch new file mode 100644 index 0000000..4533bf2 --- /dev/null +++ b/patches/pandaspigot/server/0122-Fix-end-obsidian-platform-generation.patch @@ -0,0 +1,67 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MasterDash5 +Date: Tue, 14 Apr 2026 22:33:24 -0600 +Subject: [PATCH] Fix end obsidian platform generation + + +diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java +index e9b9b66e25e747634f82cdfbc0306d33335db6f6..52c944a21e305701aa256de56e2951604e28672a 100644 +--- a/src/main/java/net/minecraft/server/EntityPlayer.java ++++ b/src/main/java/net/minecraft/server/EntityPlayer.java +@@ -536,10 +536,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + boolean endPortal = this.dimension == 1 && i == 1; + if (endPortal) { + this.b((Statistic) AchievementList.D); ++ this.world.kill(this); // PandaSpigot - From below. Always kill for correct end exit. + if (!world.paperSpigotConfig.disableEndCredits) { +- this.world.kill(this); ++ //this.world.kill(this); // PandaSpigot - Move above + this.viewingCredits = true; + this.playerConnection.sendPacket(new PacketPlayOutGameStateChange(4, 0.0F)); ++ // PandaSpigot start - Manually teleport because credits are skipped. ++ } else { ++ this.server.getPlayerList().changeDimension(this, 0, TeleportCause.END_PORTAL); ++ // PandaSpigot end + } + // PaperSpigot end + } else { +@@ -559,12 +564,16 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + } else { + this.b((Statistic) AchievementList.y); + } ++ // PandaSpigot start - Don't always run this with credits skipped. ++ /* + } + + // PaperSpigot start - Allow configurable end portal credits + if (!endPortal || world.paperSpigotConfig.disableEndCredits) { ++ */ + // CraftBukkit start +- TeleportCause cause = (endPortal || (this.dimension == 1 || i == 1)) ? TeleportCause.END_PORTAL : TeleportCause.NETHER_PORTAL; ++ TeleportCause cause = this.dimension == 1 || i == 1 ? TeleportCause.END_PORTAL : TeleportCause.NETHER_PORTAL; ++ // PandaSpigot end + this.server.getPlayerList().changeDimension(this, i, cause); + // CraftBukkit end + this.lastSentExp = -1; +diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java +index 3cc5fcdf65dac0f2ecf20b464de22fe7ce3ce6ce..9b6214d194cbd43bf14345610c360ae9f790bab2 100644 +--- a/src/main/java/net/minecraft/server/PlayerList.java ++++ b/src/main/java/net/minecraft/server/PlayerList.java +@@ -695,7 +695,7 @@ public abstract class PlayerList { + } + + TravelAgent agent = exit != null ? (TravelAgent) ((CraftWorld) exit.getWorld()).getHandle().getTravelAgent() : org.bukkit.craftbukkit.CraftTravelAgent.DEFAULT; // return arbitrary TA to compensate for implementation dependent plugins +- agent.setCanCreatePortal(cause != TeleportCause.END_PORTAL); // PaperSpigot - Configurable end credits, don't allow End Portals to create portals ++ //agent.setCanCreatePortal(cause != TeleportCause.END_PORTAL); // PaperSpigot - Configurable end credits, don't allow End Portals to create portals // PandaSpigot - The end obsidian platform is considered a "portal" and should be generated still. + + PlayerPortalEvent event = new PlayerPortalEvent(entityplayer.getBukkitEntity(), enter, exit, agent, cause); + event.useTravelAgent(useTravelAgent); +@@ -705,7 +705,7 @@ public abstract class PlayerList { + } + + // PaperSpigot - Configurable end credits, if a plugin sets to use a travel agent even if the cause is an end portal, ignore it +- exit = cause != TeleportCause.END_PORTAL && event.useTravelAgent() ? event.getPortalTravelAgent().findOrCreate(event.getTo()) : event.getTo(); ++ exit = (cause != TeleportCause.END_PORTAL || i == 1) && event.useTravelAgent() ? event.getPortalTravelAgent().findOrCreate(event.getTo()) : event.getTo(); // PandaSpigot - Use travel agent on overworld->end for platform generation + if (exit == null) { + return; + }