9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2026-01-04 15:41:40 +00:00

Updated Upstream (Paper/Gale)

Upstream has released updates that appear to apply and compile correctly

Gale Changes:
Dreeam-qwq/Gale@bf80567 Updated Upstream (Paper)
Dreeam-qwq/Gale@eb399bb Remove eobf-mappings-patch.tiny

Paper Changes:
PaperMC/Paper@7f7bc17 Fix inactive item ticking and remove active tick skipping; fix quit event leave message
PaperMC/Paper@4d2672e Fix the fix
PaperMC/Paper@84281ce Don't count mobs twice in per-player-mob-spawns
This commit is contained in:
Dreeam
2024-11-01 05:34:09 -04:00
parent 4cbc1af547
commit 64e3cd9fd8
7 changed files with 26 additions and 24 deletions

View File

@@ -1787,7 +1787,7 @@ index 4e4f14ba35a1a5944c605dfd1784047d43e559ce..fac4130957d35609ea9d281866f95f36
}
} catch (AuthenticationUnavailableException authenticationunavailableexception) {
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 4ca84c81612d864be5dc90ab7a0feb9f1660731a..b2c3ef601df19c00d3a8a24c4be281ccc1fdb007 100644
index 2ce40c153a3b08c5c5f1d7743d0135237e4a4d36..eb7c945c5a7fb91a72ac5c980a03e6dc3fbff091 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -494,6 +494,7 @@ public abstract class PlayerList {
@@ -14538,10 +14538,10 @@ index a28385bbc885f2103093a80066c89f09b650484a..f00e11d9be2f95aecaecd7f69dbad9ad
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 2c992661d4864cf826464f840c9d13c09b26f86f..1da91797ddbaf2cee7124b3dbd0970acb1a23073 100644
index f636037bb443e35872fcd50483e88b3597b6ad67..7dd99267ad2071b7537c46de3d1dc234384f593a 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -251,7 +251,7 @@ public final class NaturalSpawner {
@@ -250,7 +250,7 @@ public final class NaturalSpawner {
blockposition_mutableblockposition.set(l, i, i1);
double d0 = (double) l + 0.5D;
double d1 = (double) i1 + 0.5D;
@@ -24824,7 +24824,7 @@ index 0000000000000000000000000000000000000000..129acb8ad139decc6b1c023cb10bc32d
+ // Paper end - lifecycle events
+}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index e469b2782932275caa4bb760eefff82916c47d3a..92a8d0a44a3e8b955807fc6b94564b6660bd94ad 100644
index 17fe0c5661671a5d7ba7627c41f8e3f6662878b7..5e00b8bfd99680b6a6d48d85e272f62bb61811eb 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -215,6 +215,8 @@ public class ActivationRange

View File

@@ -1325,7 +1325,7 @@ index d2cbf34389a1b56c442c6ce08f55f1174a9d9f0b..70b247cd559cb9814fbf8e3ab7839a40
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index b2c3ef601df19c00d3a8a24c4be281ccc1fdb007..90d8d4e2b46ae8a29557dfedbeba1cfb9117dcfe 100644
index eb7c945c5a7fb91a72ac5c980a03e6dc3fbff091..2cd697a292d27a8905a6c1010f6f662ffc00d7ae 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1,6 +1,5 @@
@@ -1538,7 +1538,7 @@ index f00e11d9be2f95aecaecd7f69dbad9ad70193ab4..79360f7494c5f83b49d054ba65495d8d
}
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 1da91797ddbaf2cee7124b3dbd0970acb1a23073..e33b39d369386d677cc15247846790b498e37a82 100644
index 7dd99267ad2071b7537c46de3d1dc234384f593a..88d68784dd1dcf9e67fd596cab4e83ebeada8e45 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -127,7 +127,6 @@ public final class NaturalSpawner {
@@ -1549,7 +1549,7 @@ index 1da91797ddbaf2cee7124b3dbd0970acb1a23073..e33b39d369386d677cc15247846790b4
MobCategory[] aenumcreaturetype = NaturalSpawner.SPAWNING_CATEGORIES;
int i = aenumcreaturetype.length;
@@ -179,8 +178,6 @@ public final class NaturalSpawner {
@@ -178,8 +177,6 @@ public final class NaturalSpawner {
// Paper end - Optional per player mob spawns
}
}
@@ -1838,7 +1838,7 @@ index 579c2e69d8f6ce8398eb1297d1d1ead98c9068a5..00000000000000000000000000000000
-
-}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 92a8d0a44a3e8b955807fc6b94564b6660bd94ad..dae16e2c3cc0f154dbe3a62e3050548fb649c3c2 100644
index 5e00b8bfd99680b6a6d48d85e272f62bb61811eb..ebcecc78c475ba9436b894be971c3771ffc80caf 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -34,7 +34,6 @@ import net.minecraft.world.entity.projectile.FireworkRocketEntity;

View File

@@ -22,7 +22,7 @@ index 9c6f5b55b1f1376fa75e216cd366ee47c79fafc4..67d94b649148b3165f09d75d8c9db10d
static RandomSource createThreadSafe() {
return new ThreadSafeLegacyRandomSource(RandomSupport.generateUniqueSeed());
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 83fcdd4d090bfc8801a640b2a5645313aa946343..41dd7129fcb1b4aa06f3d51b3fb809d6ff0eb370 100644
index 2eb42ce9d1eb8852e563b707a47bad1d5e7d8f2d..a40aec3a8adf39a94d62b776e845cfc193084bbb 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -128,6 +128,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -34,10 +34,10 @@ index 83fcdd4d090bfc8801a640b2a5645313aa946343..41dd7129fcb1b4aa06f3d51b3fb809d6
@Deprecated
private final RandomSource threadSafeRandom = RandomSource.createThreadSafe();
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index e33b39d369386d677cc15247846790b498e37a82..cf715114f0ebba449d7bd663445baec699d97537 100644
index 88d68784dd1dcf9e67fd596cab4e83ebeada8e45..4d009e649fedd4fc2fbbd4856cad33cdd38ff1eb 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -405,10 +405,12 @@ public final class NaturalSpawner {
@@ -404,10 +404,12 @@ public final class NaturalSpawner {
private static BlockPos getRandomPosWithin(Level world, LevelChunk chunk) {
ChunkPos chunkcoordintpair = chunk.getPos();

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable connection message
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 34b70d75295c4c7551ddd3569e3961d80e679a46..2614933317f102a0f559374d2bb8efc70b230e85 100644
index c24c4de08fa2b787eba3417c20904d0fe1357688..08008d10efc88b0f152c3b2c82562c41d6bd38cb 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -455,7 +455,7 @@ public abstract class PlayerList {
@@ -30,8 +30,8 @@ index 34b70d75295c4c7551ddd3569e3961d80e679a46..2614933317f102a0f559374d2bb8efc7
entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper - Inventory close reason
}
- PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(entityplayer.getBukkitEntity(), net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(entityplayer.getDisplayName())), entityplayer.quitReason); // Paper - Adventure & Add API for quit reason
+ PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(entityplayer.getBukkitEntity(), getQuitMsg(net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(entityplayer.getDisplayName())), entityplayer.getBukkitEntity()), entityplayer.quitReason); // Paper - Adventure & Add API for quit reason // Leaf - Configurable connection message - quit message
- PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(entityplayer.getBukkitEntity(), leaveMessage, entityplayer.quitReason); // Paper - Adventure & Add API for quit reason
+ PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(entityplayer.getBukkitEntity(), getQuitMsg(leaveMessage, entityplayer.getBukkitEntity()), entityplayer.quitReason); // Paper - Adventure & Add API for quit reason // Leaf - Configurable connection message - quit message
this.cserver.getPluginManager().callEvent(playerQuitEvent);
entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());

View File

@@ -47,10 +47,10 @@ index 967af8771ff8564c715d89f4b4b69b16c25add59..e7fafb3f919a7275212896c65a6eff68
);
if (!event.callEvent()) {
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index cf715114f0ebba449d7bd663445baec699d97537..7e1a007ed2f2c625f01fea210c9935cb02d119e0 100644
index 4d009e649fedd4fc2fbbd4856cad33cdd38ff1eb..95a000dbf1a05cfd8182f15c0e0bbf7023578974 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -344,7 +344,7 @@ public final class NaturalSpawner {
@@ -343,7 +343,7 @@ public final class NaturalSpawner {
// Paper start - PreCreatureSpawnEvent
com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event = new com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent(
io.papermc.paper.util.MCUtil.toLocation(world, pos),

View File

@@ -51,7 +51,7 @@ index c867796f625813797f167610ad443c4be5a7561e..04d13abd8d98f4e72732afbdbb9719d8
public record DespawnRangePair(@Required DespawnRange hard, @Required DespawnRange soft) {
public static DespawnRangePair createDefault() {
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 7e1a007ed2f2c625f01fea210c9935cb02d119e0..8e9ada03e5134d2f776bbbf872087121f649c19d 100644
index 95a000dbf1a05cfd8182f15c0e0bbf7023578974..455c7e66fc1ff28c4f720a01ff11aa408446b42e 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -138,8 +138,14 @@ public final class NaturalSpawner {
@@ -70,20 +70,22 @@ index 7e1a007ed2f2c625f01fea210c9935cb02d119e0..8e9ada03e5134d2f776bbbf872087121
limit = world.getWorld().getSpawnLimit(spawnCategory);
}
@@ -176,6 +182,13 @@ public final class NaturalSpawner {
difference, world.paperConfig().entities.spawning.perPlayerMobSpawns ? world.getChunkSource().chunkMap::updatePlayerMobTypeMap : null);
info.mobCategoryCounts.mergeInt(enumcreaturetype, spawnCount, Integer::sum);
// Paper end - Optional per player mob spawns
@@ -172,8 +178,13 @@ public final class NaturalSpawner {
Objects.requireNonNull(info);
// Paper start - Optional per player mob spawns
- NaturalSpawner.spawnCategoryForChunk(enumcreaturetype, world, chunk, spawnercreature_c, info::afterSpawn,
- difference, world.paperConfig().entities.spawning.perPlayerMobSpawns ? world.getChunkSource().chunkMap::updatePlayerMobTypeMap : null);
+ // Paper start - throttle failed spawn attempts
+ if (spawnCount == 0) {
+ if (NaturalSpawner.spawnCategoryForChunk(enumcreaturetype, world, chunk, spawnercreature_c, info::afterSpawn, difference, world.paperConfig().entities.spawning.perPlayerMobSpawns ? world.getChunkSource().chunkMap::updatePlayerMobTypeMap : null) == 0) {
+ chunk.failedSpawnAttempts[enumcreaturetype.ordinal()]++;
+ } else {
+ chunk.failedSpawnAttempts[enumcreaturetype.ordinal()] = 0;
+ }
+ // Paper end - throttle failed spawn attempts
// Paper end - Optional per player mob spawns
}
}
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
index 5bb8fe022f580a626a99324f53515890a99b798d..5cee82d3d17739858e47f24ec5340233f09d0713 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java