Update Paper

This commit is contained in:
Spottedleaf 2025-08-21 18:57:52 -07:00
parent 4ed5b66263
commit 890349d47e
4 changed files with 56 additions and 56 deletions

View File

@ -12755,7 +12755,7 @@ index 11fed81a4696ba18440e755c3b8a5ca39ed8a6b1..45d6a95196a791d366791e02d23c53b8
public boolean isOldChunkAround(ChunkPos pos, int radius) {
diff --git a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 08c59d603fca038fc2dde36384eea1b6c971e659..714813cba67da4a737682fe9276cb0d96fea336d 100644
index f02800e4e941b05bde6f0d5fac76e2b6ec5b9832..8150b16c196edcb226be9268ea6e0012e44517fa 100644
--- a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -85,8 +85,19 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@ -16410,7 +16410,7 @@ index 73ec34b43f3fb2aa3edc3f1cb48a923d1fa32036..07dd05ceb9700e91088326290d211d94
if (chicken instanceof Chicken realChicken) {
Optional.ofNullable(this.getItem().get(DataComponents.CHICKEN_VARIANT))
diff --git a/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
index 4b04ca7d50d7a85827bd89fff24434e603e99579..bded685ed1653e9a1e2d7d4a9c4f68da58a6b06e 100644
index 5aa63c90e1c0605faef76588efdc7c3903be4605..a2b3a744acca66c1d4b2b73512b69e411c2580e4 100644
--- a/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
+++ b/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
@@ -52,15 +52,11 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
@ -16534,7 +16534,7 @@ index 4b04ca7d50d7a85827bd89fff24434e603e99579..bded685ed1653e9a1e2d7d4a9c4f68da
Entity owner = this.getOwner();
if (owner != null && isAllowedToTeleportOwner(owner, serverLevel)) {
Vec3 vec3 = this.oldPosition();
@@ -205,7 +290,15 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
@@ -208,7 +293,15 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
}
}
@ -19070,7 +19070,7 @@ index e04d3479383cd480cf35ed7ac3c82e7f6fb69e28..b80433ebfd9a7a50eccaa4b4905f7913
.map(list3 -> list3 != null ? new ShortArrayList(list3) : null)
.toArray(ShortList[]::new);
diff --git a/net/minecraft/world/level/dimension/end/EndDragonFight.java b/net/minecraft/world/level/dimension/end/EndDragonFight.java
index 8ccd40c70e150bd5a8d89818c229258642f2349e..4fa8371c212dcc02b8cf5fd267b736e1cf3f50c1 100644
index 7f9bd256da15da915db1c45099572d9eb3286166..23072c9ced73311954863592b0458c9662a551aa 100644
--- a/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -76,7 +76,7 @@ public class EndDragonFight {
@ -19188,7 +19188,7 @@ index c2e37714bae008087b0b5086e51d675beb672ca4..4b8b71f07096b27f3508b637eedcf2be
if (days >= level.paperConfig().entities.behavior.pillagerPatrols.start.day && level.isBrightOutside()) {
diff --git a/net/minecraft/world/level/levelgen/PhantomSpawner.java b/net/minecraft/world/level/levelgen/PhantomSpawner.java
index d2e674b046bcf82a239b4706c3b89197ec6749c8..0cafe46e9a1b053c5e70f20a26b4402632d0f8bf 100644
index b3cfab9c82fe12694f5d2f56bd922828e51df680..ecfd6a04ea1bac75bbb7e88554b73fc67e7f7358 100644
--- a/net/minecraft/world/level/levelgen/PhantomSpawner.java
+++ b/net/minecraft/world/level/levelgen/PhantomSpawner.java
@@ -19,7 +19,7 @@ import net.minecraft.world.level.block.state.BlockState;

View File

@ -434,7 +434,7 @@ index 3f5e76e4df8ff8152060449f89b522910adee834..04826c91b624cf6e3c8f762a17de52f3
+ // Folia end - threaded regions
}
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
index a457584fcdc062d16414973228f0f0ef387dfb6e..eed1c7a7d36e74f5f35d918c7c0b8fb72f56d615 100644
index 4a974026967fb09a28812575c9d6166eec2560ae..e9594279677040d4860683a1475c269871b211ff 100644
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
@@ -497,6 +497,7 @@ public class WorldConfiguration extends ConfigurationPart {
@ -922,10 +922,10 @@ index 32fe51b19323e3c4c56e7f9e621e6e808ee5fe38..9b182315682b5795b2cb6438ea440591
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da3712617d 100644
index ee7a4169003b23766b5d2e6edf9221375d80d83c..db04ba86306d8f1e157141fdeda5547f81faff54 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -238,7 +238,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -239,7 +239,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public int getTickableTileEntityCount() {
@ -934,7 +934,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
}
@Override
@@ -305,7 +305,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -306,7 +306,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Paper start - per world spawn limits
for (SpawnCategory spawnCategory : SpawnCategory.values()) {
if (CraftSpawnCategory.isValidForLimits(spawnCategory)) {
@ -943,7 +943,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
}
}
// Paper end - per world spawn limits
@@ -376,6 +376,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -377,6 +377,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Chunk getChunkAt(int x, int z) {
@ -951,7 +951,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
warnUnsafeChunk("getting a faraway chunk", x, z); // Paper
net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) this.world.getChunk(x, z, ChunkStatus.FULL, true);
return new CraftChunk(chunk);
@@ -406,10 +407,10 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -407,10 +408,10 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean isChunkGenerated(int x, int z) {
// Paper start - Fix this method
@ -964,7 +964,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
}
ChunkAccess chunk = world.getChunkSource().getChunkAtImmediately(x, z);
if (chunk != null) {
@@ -479,7 +480,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -480,7 +481,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
private boolean unloadChunk0(int x, int z, boolean save) {
@ -973,7 +973,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
if (!this.isChunkLoaded(x, z)) {
return true;
}
@@ -496,6 +497,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -497,6 +498,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean refreshChunk(int x, int z) {
@ -981,7 +981,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z));
if (playerChunk == null) return false;
@@ -546,7 +548,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -547,7 +549,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
@ -990,7 +990,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
warnUnsafeChunk("loading a faraway chunk", x, z); // Paper
ChunkAccess chunk = this.world.getChunkSource().getChunk(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); // Paper
@@ -586,7 +588,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -587,7 +589,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
final DistanceManager distanceManager = this.world.getChunkSource().chunkMap.distanceManager;
if (distanceManager.ticketStorage.addPluginRegionTicket(new ChunkPos(x, z), plugin)) {
@ -999,7 +999,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
return true;
}
@@ -640,17 +642,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -641,17 +643,20 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean isChunkForceLoaded(int x, int z) {
@ -1020,7 +1020,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
Set<Chunk> chunks = new HashSet<>();
for (long coord : this.getHandle().getForceLoadedChunks()) {
@@ -774,13 +779,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -775,13 +780,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean generateTree(Location loc, TreeType type, BlockChangeDelegate delegate) {
@ -1041,7 +1041,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
BlockPos position = ((CraftBlockState) blockstate).getPosition();
net.minecraft.world.level.block.state.BlockState oldBlock = this.world.getBlockState(position);
int flags = ((CraftBlockState) blockstate).getFlags();
@@ -788,10 +795,10 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -789,10 +796,10 @@ public class CraftWorld extends CraftRegionAccessor implements World {
net.minecraft.world.level.block.state.BlockState newBlock = this.world.getBlockState(position);
this.world.notifyAndUpdatePhysics(position, null, oldBlock, newBlock, newBlock, flags, net.minecraft.world.level.block.Block.UPDATE_LIMIT);
}
@ -1054,7 +1054,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
return false;
}
}
@@ -825,6 +832,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -826,6 +833,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setTime(long time) {
@ -1062,7 +1062,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
long margin = (time - this.getFullTime()) % Level.TICKS_PER_DAY;
if (margin < 0) margin += Level.TICKS_PER_DAY;
this.setFullTime(this.getFullTime() + margin);
@@ -837,6 +845,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -838,6 +846,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setFullTime(long time) {
@ -1070,7 +1070,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
// Notify anyone who's listening
TimeSkipEvent event = new TimeSkipEvent(this, TimeSkipEvent.SkipReason.CUSTOM, time - this.world.getDayTime());
this.server.getPluginManager().callEvent(event);
@@ -864,7 +873,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -865,7 +874,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public long getGameTime() {
@ -1079,7 +1079,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
}
@Override
@@ -889,6 +898,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -890,6 +899,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source, Consumer<net.minecraft.world.level.ServerExplosion> configurator) {
// Paper end - expand explosion API
@ -1087,7 +1087,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
net.minecraft.world.level.Level.ExplosionInteraction explosionType;
if (!breakBlocks) {
explosionType = net.minecraft.world.level.Level.ExplosionInteraction.NONE; // Don't break blocks
@@ -898,6 +908,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -899,6 +909,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
explosionType = net.minecraft.world.level.Level.ExplosionInteraction.MOB; // Respect mobGriefing gamerule
}
@ -1095,7 +1095,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
net.minecraft.world.entity.Entity entity = (source == null) ? null : ((CraftEntity) source).getHandle();
return !this.world.explode0(entity, Explosion.getDefaultDamageSource(this.world, entity), null, x, y, z, power, setFire, explosionType, ParticleTypes.EXPLOSION, ParticleTypes.EXPLOSION_EMITTER, SoundEvents.GENERIC_EXPLODE, configurator).wasCanceled; // Paper - expand explosion API
}
@@ -980,6 +991,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -981,6 +992,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) {
@ -1103,7 +1103,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
warnUnsafeChunk("getting a faraway chunk", x >> 4, z >> 4); // Paper
// Transient load for this tick
return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z);
@@ -1010,6 +1022,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1011,6 +1023,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setBiome(int x, int y, int z, Holder<net.minecraft.world.level.biome.Biome> bb) {
BlockPos pos = new BlockPos(x, 0, z);
@ -1111,7 +1111,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
if (this.world.hasChunkAt(pos)) {
net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkAt(pos);
@@ -1340,6 +1353,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1341,6 +1354,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setStorm(boolean hasStorm) {
@ -1119,7 +1119,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.world.serverLevelData.setRaining(hasStorm, org.bukkit.event.weather.WeatherChangeEvent.Cause.PLUGIN); // Paper - Add cause to Weather/ThunderChangeEvents
this.setWeatherDuration(0); // Reset weather duration (legacy behaviour)
this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands)
@@ -1352,6 +1366,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1353,6 +1367,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setWeatherDuration(int duration) {
@ -1127,7 +1127,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.world.serverLevelData.setRainTime(duration);
}
@@ -1362,6 +1377,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1363,6 +1378,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setThundering(boolean thundering) {
@ -1135,7 +1135,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.world.serverLevelData.setThundering(thundering, org.bukkit.event.weather.ThunderChangeEvent.Cause.PLUGIN); // Paper - Add cause to Weather/ThunderChangeEvents
this.setThunderDuration(0); // Reset weather duration (legacy behaviour)
this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands)
@@ -1374,6 +1390,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1375,6 +1391,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setThunderDuration(int duration) {
@ -1143,7 +1143,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.world.serverLevelData.setThunderTime(duration);
}
@@ -1384,6 +1401,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1385,6 +1402,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setClearWeatherDuration(int duration) {
@ -1151,7 +1151,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.world.serverLevelData.setClearWeatherTime(duration);
}
@@ -1582,6 +1600,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1583,6 +1601,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setKeepSpawnInMemory(boolean keepLoaded) {
@ -1159,7 +1159,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
if (keepLoaded) {
this.setGameRule(GameRule.SPAWN_CHUNK_RADIUS, this.getGameRuleDefault(GameRule.SPAWN_CHUNK_RADIUS));
} else {
@@ -1655,6 +1674,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1656,6 +1675,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setHardcore(boolean hardcore) {
@ -1167,7 +1167,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.world.serverLevelData.settings.hardcore = hardcore;
}
@@ -1667,6 +1687,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1668,6 +1688,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setTicksPerAnimalSpawns(int ticksPerAnimalSpawns) {
@ -1175,7 +1175,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setTicksPerSpawns(SpawnCategory.ANIMAL, ticksPerAnimalSpawns);
}
@@ -1679,6 +1700,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1680,6 +1701,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setTicksPerMonsterSpawns(int ticksPerMonsterSpawns) {
@ -1183,7 +1183,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setTicksPerSpawns(SpawnCategory.MONSTER, ticksPerMonsterSpawns);
}
@@ -1691,6 +1713,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1692,6 +1714,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setTicksPerWaterSpawns(int ticksPerWaterSpawns) {
@ -1191,7 +1191,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setTicksPerSpawns(SpawnCategory.WATER_ANIMAL, ticksPerWaterSpawns);
}
@@ -1703,6 +1726,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1704,6 +1727,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setTicksPerWaterAmbientSpawns(int ticksPerWaterAmbientSpawns) {
@ -1199,7 +1199,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setTicksPerSpawns(SpawnCategory.WATER_AMBIENT, ticksPerWaterAmbientSpawns);
}
@@ -1715,6 +1739,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1716,6 +1740,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setTicksPerWaterUndergroundCreatureSpawns(int ticksPerWaterUndergroundCreatureSpawns) {
@ -1207,7 +1207,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setTicksPerSpawns(SpawnCategory.WATER_UNDERGROUND_CREATURE, ticksPerWaterUndergroundCreatureSpawns);
}
@@ -1727,11 +1752,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1728,11 +1753,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setTicksPerAmbientSpawns(int ticksPerAmbientSpawns) {
@ -1221,7 +1221,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
Preconditions.checkArgument(spawnCategory != null, "SpawnCategory cannot be null");
Preconditions.checkArgument(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory.%s are not supported", spawnCategory);
@@ -1748,21 +1775,25 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1749,21 +1776,25 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setMetadata(String metadataKey, MetadataValue newMetadataValue) {
@ -1247,7 +1247,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.server.getWorldMetadata().removeMetadata(this, metadataKey, owningPlugin);
}
@@ -1775,6 +1806,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1776,6 +1807,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setMonsterSpawnLimit(int limit) {
@ -1255,7 +1255,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setSpawnLimit(SpawnCategory.MONSTER, limit);
}
@@ -1787,6 +1819,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1788,6 +1820,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setAnimalSpawnLimit(int limit) {
@ -1263,7 +1263,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setSpawnLimit(SpawnCategory.ANIMAL, limit);
}
@@ -1799,6 +1832,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1800,6 +1833,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setWaterAnimalSpawnLimit(int limit) {
@ -1271,7 +1271,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setSpawnLimit(SpawnCategory.WATER_ANIMAL, limit);
}
@@ -1811,6 +1845,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1812,6 +1846,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setWaterAmbientSpawnLimit(int limit) {
@ -1279,7 +1279,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setSpawnLimit(SpawnCategory.WATER_AMBIENT, limit);
}
@@ -1823,6 +1858,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1824,6 +1859,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setWaterUndergroundCreatureSpawnLimit(int limit) {
@ -1287,7 +1287,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setSpawnLimit(SpawnCategory.WATER_UNDERGROUND_CREATURE, limit);
}
@@ -1835,6 +1871,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1836,6 +1872,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
@Deprecated
public void setAmbientSpawnLimit(int limit) {
@ -1295,7 +1295,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
this.setSpawnLimit(SpawnCategory.AMBIENT, limit);
}
@@ -1857,6 +1894,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1858,6 +1895,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void setSpawnLimit(SpawnCategory spawnCategory, int limit) {
@ -1303,7 +1303,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
Preconditions.checkArgument(spawnCategory != null, "SpawnCategory cannot be null");
Preconditions.checkArgument(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory.%s are not supported", spawnCategory);
@@ -1939,7 +1977,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1940,7 +1978,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!(entity instanceof CraftEntity craftEntity) || entity.getWorld() != this || sound == null || category == null) return;
ClientboundSoundEntityPacket packet = new ClientboundSoundEntityPacket(CraftSound.bukkitToMinecraftHolder(sound), net.minecraft.sounds.SoundSource.valueOf(category.name()), craftEntity.getHandle(), volume, pitch, seed);
@ -1312,7 +1312,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
if (entityTracker != null) {
entityTracker.broadcastAndSend(packet);
}
@@ -1960,7 +1998,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1961,7 +1999,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
if (!(entity instanceof CraftEntity craftEntity) || entity.getWorld() != this || sound == null || category == null) return;
ClientboundSoundEntityPacket packet = new ClientboundSoundEntityPacket(Holder.direct(SoundEvent.createVariableRangeEvent(ResourceLocation.parse(sound))), net.minecraft.sounds.SoundSource.valueOf(category.name()), craftEntity.getHandle(), volume, pitch, seed);
@ -1321,7 +1321,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
if (entityTracker != null) {
entityTracker.broadcastAndSend(packet);
}
@@ -2043,6 +2081,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -2044,6 +2082,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean setGameRuleValue(String rule, String value) {
@ -1329,7 +1329,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
// No null values allowed
if (rule == null || value == null) return false;
@@ -2091,6 +2130,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -2092,6 +2131,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public <T> boolean setGameRule(GameRule<T> rule, T newValue) {
@ -1337,7 +1337,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
Preconditions.checkArgument(rule != null, "GameRule cannot be null");
Preconditions.checkArgument(newValue != null, "GameRule value cannot be null");
@@ -2318,6 +2358,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -2319,6 +2359,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void sendGameEvent(Entity sourceEntity, org.bukkit.GameEvent gameEvent, Vector position) {
@ -1350,7 +1350,7 @@ index aa0a61d7f3128543b698647663fa4a9af2a8255a..0fd2ab4b469372ea85ef68e2710fa6da
getHandle().gameEvent(sourceEntity != null ? ((CraftEntity) sourceEntity).getHandle(): null, net.minecraft.core.registries.BuiltInRegistries.GAME_EVENT.get(org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(gameEvent.getKey())).orElseThrow(), org.bukkit.craftbukkit.util.CraftVector.toBlockPos(position));
}
// Paper end
@@ -2352,7 +2398,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -2353,7 +2399,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
Preconditions.checkArgument(radius >= 0, "Radius value (%s) cannot be negative", radius);
Raids persistentRaid = this.world.getRaids();
@ -1670,7 +1670,7 @@ index 46902cbbaa9e7a8aa86c0b00cde36bd813733008..5ade012f48db8e1126c18b801ec6f788
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractArrow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractArrow.java
index b8bfb6636bca7167b02e5b793b2045de2d8c0251..6877fbe99fcdcc45443d38f12add1975bdaae54f 100644
index 227f203901139a38ab9938f6120e75a030339b27..2bbdff00eb8867fb8844f29749a7f12ed17a7db7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractArrow.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractArrow.java
@@ -23,6 +23,7 @@ public abstract class CraftAbstractArrow extends AbstractProjectile implements A
@ -3774,7 +3774,7 @@ index 9851c3890c9377d9fd1813f82766c2841ae48fd4..034b210ca024dcb3d9f59f1cdeef8c16
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 183d83f023644c9c5dba0702ba2464566e74ad32..e1aa4ce0cda19547ef396b89dc0c90c1018fee31 100644
index 08db922da37984b82f57c210f6613543d32303bc..c586e42c5056fddb7641d5105950c0565030a983 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -819,7 +819,7 @@ public class CraftEventFactory {

View File

@ -2,7 +2,7 @@ group=dev.folia
version=1.21.8-R0.1-SNAPSHOT
mcVersion=1.21.8
paperRef=bf465e002971815f08326af18efd9974056dd8f2
paperRef=38fe16b5f274068df445ce89d84cd39492d1c5da
org.gradle.configuration-cache=true
org.gradle.caching=true

View File

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME