Updated Upstream(Folia)

This commit is contained in:
2026-07-18 19:48:30 +08:00
parent 9af4757cdb
commit 221b1474c5
29 changed files with 68 additions and 68 deletions
@@ -17,7 +17,7 @@ index a4d608d64b7d3477c9144d93547fd3b4f39a1b02..f588a46d019e205be0775f0fd59dea3a
Bootstrap.bootStrap();
Bootstrap.validate();
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index c6a4d52f76e10fcc57b2c49b07fbc2ef9bb90822..c18f60bac98b7838e5c5bd0eccc36be302f25cec 100644
index 6f13870a1b463049dd37cf1c65d0bdecfc35b5c4..9038249341851ed67ef8392b19d49d7fb70d4137 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1169,6 +1169,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -54,7 +54,7 @@ index 51c126735ace8fdde89ad97b5cab62f244212db0..a2816add1137b05cba8ba0f4581df959
+ public void moonrise$write(final io.nanachiyo0721.shiroha.data.RegionFile regionFile) throws IOException; // Shiroha - Configurable region file format
}
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index c18f60bac98b7838e5c5bd0eccc36be302f25cec..b2f1985608281fadaa079a443377cf6c3f11ef9c 100644
index 9038249341851ed67ef8392b19d49d7fb70d4137..bb40ee426b09b5cc60f83145858651770b83685f 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -986,10 +986,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity portal-teleport speed fix
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index 3db75ac3f7f111b94178cc29684f24dd55ac5847..ed4024b744f7913cfd423617936f9affe7c2c46e 100644
index c6434ff2e5c211887c2e98c8462a49e0e1cb5b21..d25b1c7d1347b2731cd12cdcea7190276913de49 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -1491,7 +1491,35 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -1492,7 +1492,35 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
foliaProfiler.startTimer(timerId);
try {
// Folia end - profiler
@@ -44,7 +44,7 @@ index 3db75ac3f7f111b94178cc29684f24dd55ac5847..ed4024b744f7913cfd423617936f9aff
entity.tick();
// Folia start - region threading
if (!ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(entity)) {
@@ -1502,6 +1530,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -1503,6 +1531,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
// portalled
return;
}
@@ -54,7 +54,7 @@ index 3db75ac3f7f111b94178cc29684f24dd55ac5847..ed4024b744f7913cfd423617936f9aff
} else {entity.inactiveTick();} // Paper - EAR 2
profiler.pop();
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 2a8a7aeddffdfed31cd6e1162c0756986049fbab..bc26de6e58d9d315122c7f8721ab30490f382c18 100644
index a2b57f62b745dd21e215f919d335f14f5cb1706f..af3a85087d292d3782acf4c7d15fbfb9f749868d 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -387,6 +387,7 @@ public abstract class Entity
@@ -19,7 +19,7 @@ index e66cfcaa92b90f6b0fd26fd3cec1a5cdbb025117..b08af3a31b80125d02a4f2ff85311d2f
int distance = Math.round((float)Math.sqrt(dx * dx + dy * dy + dz * dz) * 100.0F);
Entity vehicle = this.getVehicle();
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index bc26de6e58d9d315122c7f8721ab30490f382c18..7b8f88ed956b65bf7accfcfa57df4b51d8876ecd 100644
index af3a85087d292d3782acf4c7d15fbfb9f749868d..aa3ed23fbfd85117101e4ef15123b48d9673c5b0 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -4199,7 +4199,13 @@ public abstract class Entity
@@ -17,7 +17,7 @@ index b31b55f00e2ce1bd6c1011fe852bd1dbb37de524..772e07af051b0f88582434b4cfcba42a
}
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 7b8f88ed956b65bf7accfcfa57df4b51d8876ecd..52a570ff0c9b64ef69cb75bf72dc8a7c3f3fc425 100644
index aa3ed23fbfd85117101e4ef15123b48d9673c5b0..fee93b64bc42cd49ea9ff007e2fbd7d4ef80d58b 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -4459,6 +4459,7 @@ public abstract class Entity
@@ -8,7 +8,7 @@ On folia, entity usually cannot move out of the tickregion, but sometimes it act
Reference from : https://github.com/KaiijuMC/Kaiiju/blob/ver/1.20.1/patches/server/0040-Teleport-async-if-we-cannot-move-entity-off-main.patch
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 52a570ff0c9b64ef69cb75bf72dc8a7c3f3fc425..b37a6777b74e9405818479fbc6eb9a6cc279c4a7 100644
index fee93b64bc42cd49ea9ff007e2fbd7d4ef80d58b..375d4a504cd3f2f2495315cc7456dd245e9d2547 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -1163,6 +1163,19 @@ public abstract class Entity
@@ -6,7 +6,7 @@ Subject: [PATCH] Force disable builtin spark plugin
The spark passed down from paper has some memory leaking issue, so we fully removed it from the code to prevent that memory leaking issue.
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index b2f1985608281fadaa079a443377cf6c3f11ef9c..6630867aa639fc6b87bbf4103d3e9a313c6eb86a 100644
index bb40ee426b09b5cc60f83145858651770b83685f..3e62b4beb0e5ada82f83b0ebec35ca21a072a2e2 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -672,8 +672,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -65,7 +65,7 @@ index b2f1985608281fadaa079a443377cf6c3f11ef9c..6630867aa639fc6b87bbf4103d3e9a31
new com.destroystokyo.paper.event.server.ServerTickStartEvent((int)region.getCurrentTick()).callEvent(); // Paper - Server Tick Events // Folia - region threading
// Folia start - region threading
if (region != null) {
@@ -1773,7 +1773,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1783,7 +1783,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long remaining = scheduledEnd - endTime; // Folia - region ticking
new com.destroystokyo.paper.event.server.ServerTickEndEvent((int)io.papermc.paper.threadedregions.RegionizedServer.getCurrentTick(), ((double)(endTime - startTime) / 1000000D), remaining).callEvent(); // Folia - region ticking
// Paper end - Server Tick Events
@@ -171,10 +171,10 @@ index c62584e022260cf781a0414be04a3af4a70160ef..aff95d34d21dc69150f0402bae9b770c
@Override
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index eda7e765c7c2ffee305edc81e0c7a6b1e5bfa18d..96efb7e2e76e821dd68ce5d862e60bdda95a3de2 100644
index c1faaf7d514c23d756aa626fa93aabd8bb503463..6c2d75f312f970ab9d35f6e6b8a1fa3805ebc37c 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2884,7 +2884,13 @@ public class ServerGamePacketListenerImpl
@@ -2897,7 +2897,13 @@ public class ServerGamePacketListenerImpl
} // Folia end - rewrite login process - move connection ownership to global region
this.waitingForSwitchToConfig = true; // Folia - rewrite login process - fix bad ordering of this field write - moved down
this.send(ClientboundStartConfigurationPacket.INSTANCE);
@@ -188,7 +188,7 @@ index eda7e765c7c2ffee305edc81e0c7a6b1e5bfa18d..96efb7e2e76e821dd68ce5d862e60bdd
}
@Override
@@ -3769,12 +3775,26 @@ public class ServerGamePacketListenerImpl
@@ -3782,12 +3788,26 @@ public class ServerGamePacketListenerImpl
}
final ServerConfigurationPacketListenerImpl listener = new ServerConfigurationPacketListenerImpl(this.server, this.connection, this.createCookie(this.player.clientInformation())); // Paper
@@ -20,10 +20,10 @@ index cb15cfbc684ae9e9d9634886f707c2df10063139..f32d118e1e925b2155cef3fcdcb1e194
// block ticking
private final ObjectLinkedOpenHashSet<BlockEventData> blockEvents = new ObjectLinkedOpenHashSet<>();
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index ed4024b744f7913cfd423617936f9affe7c2c46e..d348fa43e6703dbe461eabbab29699ed24957198 100644
index d25b1c7d1347b2731cd12cdcea7190276913de49..5668f80c2ac1fcf2ac0e1e5378c789d7fce655f3 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -910,6 +910,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -911,6 +911,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
}
foliaProfiler.startTimer(ca.spottedleaf.leafprofiler.LProfilerRegistry.ACTIVATE_ENTITIES); try { // Folia - profiler
@@ -31,7 +31,7 @@ index ed4024b744f7913cfd423617936f9affe7c2c46e..d348fa43e6703dbe461eabbab29699ed
io.papermc.paper.entity.activation.ActivationRange.activateEntities(this); // Paper - EAR
} finally { foliaProfiler.stopTimer(ca.spottedleaf.leafprofiler.LProfilerRegistry.ACTIVATE_ENTITIES); } // Folia - profiler
foliaProfiler.startTimer(ca.spottedleaf.leafprofiler.LProfilerRegistry.ENTITY_TICK); try { // Folia - profiler
@@ -931,6 +932,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -932,6 +933,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
entity.stopRiding();
}
@@ -45,7 +45,7 @@ index ed4024b744f7913cfd423617936f9affe7c2c46e..d348fa43e6703dbe461eabbab29699ed
profiler.push("tick");
this.guardEntityTick(this::tickNonPassenger, entity);
@@ -940,6 +948,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -941,6 +949,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
}
}
);
@@ -8,7 +8,7 @@ As part of: Kaiiju (https://github.com/KaiijuMC/Kaiiju/blob/c2b7aec8f7b418a39a2e
Licensed under: GPL-3.0 (https://github.com/KaiijuMC/Kaiiju/blob/c2b7aec8f7b418a39a2ec408e6411e6f752379da/LICENSE)
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index b37a6777b74e9405818479fbc6eb9a6cc279c4a7..f02768ae8fdc0e048720b839ae9f851e9395b6a8 100644
index 375d4a504cd3f2f2495315cc7456dd245e9d2547..319997dca2b461b41b02ca2d9b0e3ed9fd05ac88 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -4640,14 +4640,18 @@ public abstract class Entity
@@ -5,10 +5,10 @@ Subject: [PATCH] Add config for server mod name
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 6630867aa639fc6b87bbf4103d3e9a313c6eb86a..ddc34c954d7cd941d41f26ca00209509d1d96159 100644
index 3e62b4beb0e5ada82f83b0ebec35ca21a072a2e2..6025675b7004c9700ddc26638761f76d64ecc026 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -2060,7 +2060,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2070,7 +2070,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public String getServerModName() {
@@ -8,10 +8,10 @@ is for Anarchy servers or Crystal PVP servers this allows them to pvp
without stopping the item mid animation.
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 96efb7e2e76e821dd68ce5d862e60bdda95a3de2..f5b581fe9ed5ef9212d60732ea59dfa0f7dbcb64 100644
index 6c2d75f312f970ab9d35f6e6b8a1fa3805ebc37c..392c4b39a9c31be4b5b1fa61f6836920b43e58a3 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2169,7 +2169,9 @@ public class ServerGamePacketListenerImpl
@@ -2182,7 +2182,9 @@ public class ServerGamePacketListenerImpl
this.player.sendSpawnProtectionMessage(pos);
} else if (this.awaitingPositionFromClient == null && (level.mayInteract(this.player, pos) || passthroughSignInteraction)) {
// Paper end - Allow using signs inside spawn protection
@@ -21,7 +21,7 @@ index 96efb7e2e76e821dd68ce5d862e60bdda95a3de2..f5b581fe9ed5ef9212d60732ea59dfa0
InteractionResult interactionResult = this.player.gameMode.useItemOn(this.player, level, itemStack, hand, blockHit);
if (interactionResult.consumesAction()) {
CriteriaTriggers.ANY_BLOCK_USE.trigger(this.player, blockHit.getBlockPos(), itemStack);
@@ -2368,9 +2370,13 @@ public class ServerGamePacketListenerImpl
@@ -2381,9 +2383,13 @@ public class ServerGamePacketListenerImpl
return;
}
// CraftBukkit end
@@ -69,10 +69,10 @@ index f32d118e1e925b2155cef3fcdcb1e194c541e242..eef3f6b5d13d8a5ba3d66f5fe297b431
// this is copy on write to allow packet processing to iterate safely
private final CopyOnWriteArrayList<ServerPlayer> localPlayers = new CopyOnWriteArrayList<>();
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index ddc34c954d7cd941d41f26ca00209509d1d96159..a3ff96cc86bd68dddabd4c49d990e1dce304268f 100644
index 6025675b7004c9700ddc26638761f76d64ecc026..5be3e493f1638cc0befe5530c58ea15467a3a7ac 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1922,6 +1922,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1932,6 +1932,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = level.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers // Folia - region threading
profiler.push(() -> level + " " + level.dimension().identifier());
profiler.push("tick");
@@ -82,7 +82,7 @@ index ddc34c954d7cd941d41f26ca00209509d1d96159..a3ff96cc86bd68dddabd4c49d990e1dc
try {
foliaProfiler.startTimer(level.tickTimerId); try { // Folia - profiler
@@ -1936,6 +1939,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1946,6 +1949,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
profiler.pop();
profiler.pop();
regionizedWorldData.explosionDensityCache.clear(); // Paper - Optimize explosions // Folia - region threading
@@ -93,10 +93,10 @@ index ddc34c954d7cd941d41f26ca00209509d1d96159..a3ff96cc86bd68dddabd4c49d990e1dc
//this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked // Folia - region threading
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index d348fa43e6703dbe461eabbab29699ed24957198..5cbe42636a3fd19d4e9b56fb3200e7d17b81bdad 100644
index 5668f80c2ac1fcf2ac0e1e5378c789d7fce655f3..ecb1b98723e78e9d2f3ce182be8f78f8f32a52da 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -1535,8 +1535,15 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -1536,8 +1536,15 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
// removed from region while ticking
return;
}
@@ -112,7 +112,7 @@ index d348fa43e6703dbe461eabbab29699ed24957198..5cbe42636a3fd19d4e9b56fb3200e7d1
return;
}
}
@@ -1580,8 +1587,15 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -1581,8 +1588,15 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
// removed from region while ticking
return;
}
@@ -17,10 +17,10 @@ index 52dcbcf64c3a510d4a4524b7d0ee226d9a73511d..051d601e7e809518e8d82ae4ae325905
}
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index a3ff96cc86bd68dddabd4c49d990e1dce304268f..3466634dd5305657534b3e80ca25b016a4b40dee 100644
index 5be3e493f1638cc0befe5530c58ea15467a3a7ac..15e7d8f1fbc950f79486704f2133a7b10e303a8a 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1731,7 +1731,46 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1741,7 +1741,46 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Folia end - region threading
//this.tickCount++; // Folia - region threading
//this.tickRateManager.tick(); // Folia - region threading
@@ -68,10 +68,10 @@ index a3ff96cc86bd68dddabd4c49d990e1dce304268f..3466634dd5305657534b3e80ca25b016
this.lastServerStatus = nano;
this.status = this.buildServerStatus();
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index 5cbe42636a3fd19d4e9b56fb3200e7d17b81bdad..b29c64a57dada886e43a6da7c68ab8655dbf4224 100644
index ecb1b98723e78e9d2f3ce182be8f78f8f32a52da..ce0dca54b551c67797e197f848334f34e1fb3da7 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -1484,6 +1484,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -1485,6 +1485,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
public void tickNonPassenger(final Entity entity) {
// Paper start - log detailed entity tick information
ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread("Cannot tick an entity off-main");
@@ -80,7 +80,7 @@ index 5cbe42636a3fd19d4e9b56fb3200e7d17b81bdad..b29c64a57dada886e43a6da7c68ab865
try {
// Folia - region threading
// Paper end - log detailed entity tick information
@@ -1560,6 +1562,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -1561,6 +1563,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
} finally {
// Folia - region threading
}
@@ -88,7 +88,7 @@ index 5cbe42636a3fd19d4e9b56fb3200e7d17b81bdad..b29c64a57dada886e43a6da7c68ab865
// Paper end - log detailed entity tick information
}
@@ -1571,6 +1574,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -1572,6 +1575,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
final int timerId = isActive ? entity.getType().tickTimerId : entity.getType().inactiveTickTimerId;
final ca.spottedleaf.leafprofiler.RegionizedProfiler.Handle foliaProfiler = io.papermc.paper.threadedregions.TickRegionScheduler.getProfiler();
foliaProfiler.startTimer(timerId);
@@ -97,7 +97,7 @@ index 5cbe42636a3fd19d4e9b56fb3200e7d17b81bdad..b29c64a57dada886e43a6da7c68ab865
try {
// Folia end - profiler
entity.setOldPosAndRot();
@@ -1612,6 +1617,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -1613,6 +1618,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
this.tickPassenger(entity, passenger, isActive); // Paper - EAR 2
}
} finally { foliaProfiler.stopTimer(timerId); } // Folia - profiler
@@ -171,10 +171,10 @@ index f03fa06c0ba56f7f5e1e45bc1568a490751efde3..eee1c14249addbf4714df733870da974
+ // KioCG end
}
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index f02768ae8fdc0e048720b839ae9f851e9395b6a8..15d3a39795b6505ba96c27f591d58001e2a73db1 100644
index 319997dca2b461b41b02ca2d9b0e3ed9fd05ac88..d03267acc5209512e15065fcfb2dd32e9eb2f878 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -6347,4 +6347,6 @@ public abstract class Entity
@@ -6421,4 +6421,6 @@ public abstract class Entity
return ((ServerLevel) this.level()).isPositionEntityTicking(this.blockPosition());
}
// Paper end
@@ -240,7 +240,7 @@ index 6e08d50794c4af4405f3e164a3fd46f376b3f78f..dd2d0940eece3e85078e574f66f71a4c
int getContainerSize();
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 15d3a39795b6505ba96c27f591d58001e2a73db1..baacd1713177e96a19ecdbf7ba3a95898a791d2f 100644
index d03267acc5209512e15065fcfb2dd32e9eb2f878..17129f6c094b976a209e25773bef24d4b38f4156 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -324,7 +324,7 @@ public abstract class Entity
@@ -266,7 +266,7 @@ index 15d3a39795b6505ba96c27f591d58001e2a73db1..baacd1713177e96a19ecdbf7ba3a9589
if (copy instanceof net.minecraft.world.entity.boss.enderdragon.EnderDragon dragon) dragon.syncDragonPartsAfterTeleportTransform(); // Shiroha - Fix dragon part desync
// vanilla code used to call remove _after_ copying, and some stuff is required to be after copy - so add hook here
// for example, clearing of inventory after switching dimensions
@@ -5953,8 +5955,29 @@ public abstract class Entity
@@ -6027,8 +6029,29 @@ public abstract class Entity
this.setBoundingBox(this.makeBoundingBox());
}
// Paper end - Block invalid positions and bounding box
@@ -51,7 +51,7 @@ index 639a5400499266f83cf8b7c1251483cd8fb699a4..3231e20e6da2b3e47c54fbef0b07dff6
this.get("generator-settings", s -> GsonHelper.parse(!s.isEmpty() ? s : "{}"), new JsonObject()),
this.get("level-type", v -> v.toLowerCase(Locale.ROOT), WorldPresets.NORMAL.identifier().toString())
diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java
index b71c16640b1a2495e61480e9eb752fafbada7c44..0011653c857ee82f86355cc49b170120d9f96cfd 100644
index 7927769cf9bccb892745f4d1390eb83b2861d1bb..414c21345879f589fb61130180d0ca606e37a454 100644
--- a/net/minecraft/server/level/ServerChunkCache.java
+++ b/net/minecraft/server/level/ServerChunkCache.java
@@ -671,6 +671,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -63,7 +63,7 @@ index b71c16640b1a2495e61480e9eb752fafbada7c44..0011653c857ee82f86355cc49b170120
}
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index b29c64a57dada886e43a6da7c68ab8655dbf4224..be73e56e15b0d3b10946e1d5eb3b2d7d2784f45b 100644
index ce0dca54b551c67797e197f848334f34e1fb3da7..8634e0b6d280e2c5900197420ad457f778245087 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -633,6 +633,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -8,7 +8,7 @@ A part of Leaf(https://github.com/Winds-Studio/Leaf/blob/edb0504069139beaa6f39ef
License: https://github.com/Winds-Studio/Leaf/blob/edb0504069139beaa6f39efa4702370c2576b3fc/LICENSE.md
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 3466634dd5305657534b3e80ca25b016a4b40dee..68d2fce6ab5565a0ad671d97e5732c29feacda66 100644
index 15e7d8f1fbc950f79486704f2133a7b10e303a8a..95ae9d9882b27fa1e7df13002e793f27a8d86c09 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -217,7 +217,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -21,10 +21,10 @@ index d3fb20f465c0b69662d81b53201963634d8b53d2..4e557a304e2c1c6d581fdf4a8d30c6a2
synchronized (PACKET_LIMIT_LOCK) {
if (this.allPacketCounts != null) {
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f5b581fe9ed5ef9212d60732ea59dfa0f7dbcb64..1961096606df6f7b14a48ecbf4be96c335eebbb5 100644
index 392c4b39a9c31be4b5b1fa61f6836920b43e58a3..9ed70554904b90fc686a6cf9039a7d24b6b040e1 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -877,7 +877,7 @@ public class ServerGamePacketListenerImpl
@@ -890,7 +890,7 @@ public class ServerGamePacketListenerImpl
public void handleCustomCommandSuggestions(final ServerboundCommandSuggestionPacket packet) {
// PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level()); // Paper - AsyncTabCompleteEvent; run this async
// CraftBukkit start
@@ -33,7 +33,7 @@ index f5b581fe9ed5ef9212d60732ea59dfa0f7dbcb64..1961096606df6f7b14a48ecbf4be96c3
this.disconnectAsync(Component.translatable("disconnect.spam"), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM); // Paper - Kick event cause // Paper - add proper async disconnect
return;
}
@@ -2111,6 +2111,7 @@ public class ServerGamePacketListenerImpl
@@ -2124,6 +2124,7 @@ public class ServerGamePacketListenerImpl
private long lastLimitedPacket = -1;
private boolean checkLimit(long timestamp) {
@@ -41,7 +41,7 @@ index f5b581fe9ed5ef9212d60732ea59dfa0f7dbcb64..1961096606df6f7b14a48ecbf4be96c3
if (!io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.incomingPacketThreshold.enabled()) {
return true;
}
@@ -2677,6 +2678,8 @@ public class ServerGamePacketListenerImpl
@@ -2690,6 +2691,8 @@ public class ServerGamePacketListenerImpl
// Spigot start - spam exclusions
private void detectRateSpam(final TickThrottler throttler, final String message) {
@@ -50,7 +50,7 @@ index f5b581fe9ed5ef9212d60732ea59dfa0f7dbcb64..1961096606df6f7b14a48ecbf4be96c3
if (org.spigotmc.SpigotConfig.enableSpamExclusions) {
for (String exclude : org.spigotmc.SpigotConfig.spamExclusions) {
if (exclude != null && message.startsWith(exclude)) {
@@ -3475,7 +3478,7 @@ public class ServerGamePacketListenerImpl
@@ -3488,7 +3491,7 @@ public class ServerGamePacketListenerImpl
@Override
public void handlePlaceRecipe(final ServerboundPlaceRecipePacket packet) {
// Paper start - auto recipe limit
@@ -10,7 +10,7 @@ VMP (https://github.com/RelativityMC/VMP-fabric)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index baacd1713177e96a19ecdbf7ba3a95898a791d2f..24e517ab0cc94ed24535361fc262a2344f38d691 100644
index 17129f6c094b976a209e25773bef24d4b38f4156..5d52a4e0a9d32957bb74472fa385d9fab8c241f1 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -1152,8 +1152,14 @@ public abstract class Entity
@@ -28,7 +28,7 @@ index baacd1713177e96a19ecdbf7ba3a95898a791d2f..24e517ab0cc94ed24535361fc262a234
final Vec3 originalMovement = delta; // Paper - Expose pre-collision velocity
// Paper start - detailed watchdog information
ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread("Cannot move an entity off-main");
@@ -5447,6 +5453,11 @@ public abstract class Entity
@@ -5521,6 +5527,11 @@ public abstract class Entity
}
public final void setBoundingBox(final AABB bb) {
@@ -57,10 +57,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index be73e56e15b0d3b10946e1d5eb3b2d7d2784f45b..858e674a2cfc7b8a0510d074c4c6514a1223ebc9 100644
index 8634e0b6d280e2c5900197420ad457f778245087..05aa5cd8869d4997da137661dcdc9f2f61c6e438 100644
--- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java
@@ -1051,7 +1051,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -1052,7 +1052,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
}
// Paper start - optimise random ticking
@@ -69,7 +69,7 @@ index be73e56e15b0d3b10946e1d5eb3b2d7d2784f45b..858e674a2cfc7b8a0510d074c4c6514a
private void optimiseRandomTick(final LevelChunk chunk, final int tickSpeed) {
final LevelChunkSection[] sections = chunk.getSections();
@@ -1133,7 +1133,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
@@ -1134,7 +1134,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
int minZ = chunkPos.getMinBlockZ();
ProfilerFiller profiler = Profiler.get();
profiler.push("thunder");
@@ -20,7 +20,7 @@ As part of: Akarin (https://github.com/Akarin-project/Akarin)
Licensed under: GPL-3.0-only (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 24e517ab0cc94ed24535361fc262a2344f38d691..37256a1323fdaea201330c18c29faee3274796e1 100644
index 5d52a4e0a9d32957bb74472fa385d9fab8c241f1..2e07b56b94aaf9026320a11105caa892a943879c 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -2438,8 +2438,8 @@ public abstract class Entity
@@ -7,7 +7,7 @@ License: GPL-3.0-only (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://github.com/GaleMC/Gale
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 37256a1323fdaea201330c18c29faee3274796e1..86988fed583f560b470b707446770de844e8a1a0 100644
index 2e07b56b94aaf9026320a11105caa892a943879c..14edc8947cf728e0e668ac20c2b9cd53fdaa387d 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -1299,8 +1299,17 @@ public abstract class Entity
@@ -150,10 +150,10 @@ index 421882473989084d387f7fc1c2fc6d1ad570f18c..116568953a244b6d97935089a0b7e895
this.getInventory().equipment.set(value, net.minecraft.world.item.ItemStack.EMPTY);
}
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 1961096606df6f7b14a48ecbf4be96c335eebbb5..140f00a1ff4b488ec08e8fad59d67a13e0f9e0bf 100644
index 9ed70554904b90fc686a6cf9039a7d24b6b040e1..c3fe81c7116a249a19a893e1b15214377f65b703 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3009,7 +3009,7 @@ public class ServerGamePacketListenerImpl
@@ -3022,7 +3022,7 @@ public class ServerGamePacketListenerImpl
// SPIGOT-7136 - Allays
if (target instanceof net.minecraft.world.entity.animal.allay.Allay || target instanceof net.minecraft.world.entity.animal.equine.AbstractHorse) { // Paper - Fix horse armor desync
ServerGamePacketListenerImpl.this.send(new net.minecraft.network.protocol.game.ClientboundSetEquipmentPacket(
@@ -5,10 +5,10 @@ Subject: [PATCH] Frustum filtering tracker
diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java
index 849ad46b2941ebba91b428846b3b20d11ee5e1c9..c4692448f52db9cf3968ed82df97506a9959a17a 100644
index 163999d50213e0167eb09f0eae883388849f28fa..6059aa66b779d625ad1a4d4bdfe444a46cd9f3ab 100644
--- a/net/minecraft/server/level/ChunkMap.java
+++ b/net/minecraft/server/level/ChunkMap.java
@@ -932,6 +932,7 @@ public class ChunkMap extends SimpleRegionStorage implements ChunkHolder.PlayerP
@@ -933,6 +933,7 @@ public class ChunkMap extends SimpleRegionStorage implements ChunkHolder.PlayerP
public void move(final ServerPlayer player) {
// Paper - optimise entity tracker
@@ -16,7 +16,7 @@ index 849ad46b2941ebba91b428846b3b20d11ee5e1c9..c4692448f52db9cf3968ed82df97506a
SectionPos oldSection = player.getLastSectionPos();
SectionPos newSection = SectionPos.of(player);
//boolean wasIgnored = this.playerMap.ignored(player); // Folia - region threading
@@ -1054,6 +1055,11 @@ public class ChunkMap extends SimpleRegionStorage implements ChunkHolder.PlayerP
@@ -1055,6 +1056,11 @@ public class ChunkMap extends SimpleRegionStorage implements ChunkHolder.PlayerP
final ca.spottedleaf.moonrise.patches.chunk_system.level.entity.server.ServerEntityLookup entityLookup = (ca.spottedleaf.moonrise.patches.chunk_system.level.entity.server.ServerEntityLookup)((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemServerLevel)this.level).moonrise$getEntityLookup();;
final ca.spottedleaf.moonrise.common.misc.NearbyPlayers nearbyPlayers = this.level.moonrise$getNearbyPlayers(); // Folia - region threading
@@ -28,7 +28,7 @@ index 849ad46b2941ebba91b428846b3b20d11ee5e1c9..c4692448f52db9cf3968ed82df97506a
final ca.spottedleaf.moonrise.common.list.ReferenceList<net.minecraft.world.entity.Entity> trackerEntities = worldData.trackerEntities; // Folia - region threading
final Entity[] trackerEntitiesRaw = trackerEntities.getRawDataUnchecked();
for (int i = 0, len = totalEntities = trackerEntities.size(); i < len; ++i) { // Folia - region threading
@@ -1371,6 +1377,15 @@ public class ChunkMap extends SimpleRegionStorage implements ChunkHolder.PlayerP
@@ -1372,6 +1378,15 @@ public class ChunkMap extends SimpleRegionStorage implements ChunkHolder.PlayerP
if (visibleToPlayer && (!ca.spottedleaf.moonrise.common.util.TickThread.isTickThreadFor(player) || !player.getBukkitEntity().canSee(this.entity.getBukkitEntity()))) { // Paper - only consider hits // Folia - region threading
visibleToPlayer = false;
}