mirror of
https://github.com/SparklyPower/SparklyPaper.git
synced 2025-12-28 11:29:07 +00:00
Update Upstream (Paper)
This commit is contained in:
@@ -27,7 +27,7 @@ index d9cd497bc1b654030ff1a597f038b6a881df9f6b..5c70baf0113004e5c5cbc2fd6a6d34c7
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index c54df6e4aed9b7b46a41af4108a8e90d96c1fe1f..c856311f0f50d6e097b9acf27a630cae9fd855ba 100644
|
||||
index da63b4050be25dcb91d04df8c2fcc643cbb0751d..bd4ca61dd2bb238bb05a64724e9926ede7063eef 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -181,7 +181,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -39,7 +39,7 @@ index c54df6e4aed9b7b46a41af4108a8e90d96c1fe1f..c856311f0f50d6e097b9acf27a630cae
|
||||
private final Set<UUID> unlistedEntities = new HashSet<>(); // Paper
|
||||
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
|
||||
private int hash = 0;
|
||||
@@ -2091,9 +2091,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2138,9 +2138,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public boolean canSee(org.bukkit.entity.Entity entity) {
|
||||
|
||||
@@ -77,10 +77,10 @@ index f43060555bf02f13268b284606045fce2b3e911a..f34a9d3a255ee72e2c467376bd1f7bc2
|
||||
for (final io.papermc.paper.chunk.SingleThreadChunkRegionManager regionManager : worldserver.getChunkSource().chunkMap.regionManagers) {
|
||||
regionManager.recalculateRegions();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index b78a9628a88f2a495ef6de74446a02a14d41a1f6..094a6ddebf79aa49b3e3cd8a032db7b8d23607c4 100644
|
||||
index 676087c3addd712939c865b39ddb5d9f0bc7ce25..6999dde76bb98f9a1cb74a24fa518d705421e58e 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -687,6 +687,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -692,6 +692,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
// Paper end - optimise nearby player retrieval
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Parallel world ticking
|
||||
"mom can we have folia?" "we already have folia at home" folia at home:
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
index abd0217cf0bff183c8e262edc173a53403797c1a..1ef797d2c743077c40c7e1796d4afe324e162970 100644
|
||||
index 6bc7c6f16a1649fc9e24e7cf90fca401e5bd4875..a6082e925ad1e27d6a5089356af1840ee8852a9a 100644
|
||||
--- a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
@@ -1023,7 +1023,7 @@ public final class ChunkHolderManager {
|
||||
@@ -1024,7 +1024,7 @@ public final class ChunkHolderManager {
|
||||
if (changedFullStatus.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@@ -18,7 +18,7 @@ index abd0217cf0bff183c8e262edc173a53403797c1a..1ef797d2c743077c40c7e1796d4afe32
|
||||
this.taskScheduler.scheduleChunkTask(() -> {
|
||||
final ArrayDeque<NewChunkHolder> pendingFullLoadUpdate = ChunkHolderManager.this.pendingFullLoadUpdate;
|
||||
for (int i = 0, len = changedFullStatus.size(); i < len; ++i) {
|
||||
@@ -1052,7 +1052,7 @@ public final class ChunkHolderManager {
|
||||
@@ -1053,7 +1053,7 @@ public final class ChunkHolderManager {
|
||||
|
||||
// note: never call while inside the chunk system, this will absolutely break everything
|
||||
public void processUnloads() {
|
||||
@@ -27,7 +27,7 @@ index abd0217cf0bff183c8e262edc173a53403797c1a..1ef797d2c743077c40c7e1796d4afe32
|
||||
|
||||
if (BLOCK_TICKET_UPDATES.get() == Boolean.TRUE) {
|
||||
throw new IllegalStateException("Cannot unload chunks recursively");
|
||||
@@ -1327,14 +1327,14 @@ public final class ChunkHolderManager {
|
||||
@@ -1328,14 +1328,14 @@ public final class ChunkHolderManager {
|
||||
}
|
||||
|
||||
private boolean processTicketUpdates(final boolean checkLocks, final boolean processFullUpdates, List<ChunkProgressionTask> scheduledTasks) {
|
||||
@@ -45,10 +45,10 @@ index abd0217cf0bff183c8e262edc173a53403797c1a..1ef797d2c743077c40c7e1796d4afe32
|
||||
boolean ret = false;
|
||||
final boolean canProcessFullUpdates = processFullUpdates & isTickThread;
|
||||
diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkTaskScheduler.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkTaskScheduler.java
|
||||
index f975cb93716e137d973ff2f9011acdbef58859a2..cc510eea4b872e1238f97846db638b2a7028a66d 100644
|
||||
index 17ce14f2dcbf900890efbc2351782bc6f8867068..3d762963d9b7bbb355358ccdb453a32c3651bc51 100644
|
||||
--- a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkTaskScheduler.java
|
||||
+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkTaskScheduler.java
|
||||
@@ -327,7 +327,7 @@ public final class ChunkTaskScheduler {
|
||||
@@ -330,7 +330,7 @@ public final class ChunkTaskScheduler {
|
||||
public void scheduleTickingState(final int chunkX, final int chunkZ, final FullChunkStatus toStatus,
|
||||
final boolean addTicket, final PrioritisedExecutor.Priority priority,
|
||||
final Consumer<LevelChunk> onComplete) {
|
||||
@@ -57,7 +57,7 @@ index f975cb93716e137d973ff2f9011acdbef58859a2..cc510eea4b872e1238f97846db638b2a
|
||||
this.scheduleChunkTask(chunkX, chunkZ, () -> {
|
||||
ChunkTaskScheduler.this.scheduleTickingState(chunkX, chunkZ, toStatus, addTicket, priority, onComplete);
|
||||
}, priority);
|
||||
@@ -483,7 +483,7 @@ public final class ChunkTaskScheduler {
|
||||
@@ -486,7 +486,7 @@ public final class ChunkTaskScheduler {
|
||||
|
||||
public void scheduleChunkLoad(final int chunkX, final int chunkZ, final ChunkStatus toStatus, final boolean addTicket,
|
||||
final PrioritisedExecutor.Priority priority, final Consumer<ChunkAccess> onComplete) {
|
||||
@@ -381,7 +381,7 @@ index 6c78d90e73b47b62c4052727730850d4b67a9cd2..4c42889e680415caab304f230979f352
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
index e6ac20a38f31bb0cd6b8840b2518f6992ef7f518..a7b57fd309ca2db1e465062c991f15c1cb2ed7aa 100644
|
||||
index bf1c5834717758991c1520afd4b2a5c3fa68a558..c1387cd2726083b52f2ba51297072de3bb74281e 100644
|
||||
--- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
+++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
@@ -222,7 +222,7 @@ public interface DispenseItemBehavior {
|
||||
@@ -447,7 +447,7 @@ index e6ac20a38f31bb0cd6b8840b2518f6992ef7f518..a7b57fd309ca2db1e465062c991f15c1
|
||||
worldserver.getCraftServer().getPluginManager().callEvent(event);
|
||||
}
|
||||
|
||||
@@ -633,7 +633,7 @@ public interface DispenseItemBehavior {
|
||||
@@ -639,7 +639,7 @@ public interface DispenseItemBehavior {
|
||||
CraftItemStack craftItem = CraftItemStack.asCraftMirror(stack.copyWithCount(1)); // Paper - single item in event
|
||||
|
||||
BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(x, y, z));
|
||||
@@ -456,7 +456,7 @@ index e6ac20a38f31bb0cd6b8840b2518f6992ef7f518..a7b57fd309ca2db1e465062c991f15c1
|
||||
worldserver.getCraftServer().getPluginManager().callEvent(event);
|
||||
}
|
||||
|
||||
@@ -708,7 +708,7 @@ public interface DispenseItemBehavior {
|
||||
@@ -713,7 +713,7 @@ public interface DispenseItemBehavior {
|
||||
CraftItemStack craftItem = CraftItemStack.asCraftMirror(stack.copyWithCount(1)); // Paper - single item in event
|
||||
|
||||
BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(blockposition.getX(), blockposition.getY(), blockposition.getZ()));
|
||||
@@ -465,8 +465,8 @@ index e6ac20a38f31bb0cd6b8840b2518f6992ef7f518..a7b57fd309ca2db1e465062c991f15c1
|
||||
worldserver.getCraftServer().getPluginManager().callEvent(event);
|
||||
}
|
||||
|
||||
@@ -755,7 +755,7 @@ public interface DispenseItemBehavior {
|
||||
CraftItemStack craftItem = CraftItemStack.asCraftMirror(stack);
|
||||
@@ -760,7 +760,7 @@ public interface DispenseItemBehavior {
|
||||
CraftItemStack craftItem = CraftItemStack.asCraftMirror(stack); // Paper - ignore stack size on damageable items
|
||||
|
||||
BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(0, 0, 0));
|
||||
- if (!DispenserBlock.eventFired) {
|
||||
@@ -474,7 +474,7 @@ index e6ac20a38f31bb0cd6b8840b2518f6992ef7f518..a7b57fd309ca2db1e465062c991f15c1
|
||||
worldserver.getCraftServer().getPluginManager().callEvent(event);
|
||||
}
|
||||
|
||||
@@ -818,7 +818,7 @@ public interface DispenseItemBehavior {
|
||||
@@ -821,7 +821,7 @@ public interface DispenseItemBehavior {
|
||||
CraftItemStack craftItem = CraftItemStack.asCraftMirror(stack.copyWithCount(1)); // Paper - single item in event
|
||||
|
||||
BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(0, 0, 0));
|
||||
@@ -483,7 +483,7 @@ index e6ac20a38f31bb0cd6b8840b2518f6992ef7f518..a7b57fd309ca2db1e465062c991f15c1
|
||||
worldserver.getCraftServer().getPluginManager().callEvent(event);
|
||||
}
|
||||
|
||||
@@ -848,8 +848,8 @@ public interface DispenseItemBehavior {
|
||||
@@ -850,8 +850,8 @@ public interface DispenseItemBehavior {
|
||||
// CraftBukkit start
|
||||
worldserver.captureTreeGeneration = false;
|
||||
if (worldserver.capturedBlockStates.size() > 0) {
|
||||
@@ -494,7 +494,7 @@ index e6ac20a38f31bb0cd6b8840b2518f6992ef7f518..a7b57fd309ca2db1e465062c991f15c1
|
||||
Location location = CraftLocation.toBukkit(blockposition, worldserver.getWorld());
|
||||
List<org.bukkit.block.BlockState> blocks = new java.util.ArrayList<>(worldserver.capturedBlockStates.values());
|
||||
worldserver.capturedBlockStates.clear();
|
||||
@@ -888,7 +888,7 @@ public interface DispenseItemBehavior {
|
||||
@@ -890,7 +890,7 @@ public interface DispenseItemBehavior {
|
||||
CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1);
|
||||
|
||||
BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector((double) blockposition.getX() + 0.5D, (double) blockposition.getY(), (double) blockposition.getZ() + 0.5D));
|
||||
@@ -503,7 +503,7 @@ index e6ac20a38f31bb0cd6b8840b2518f6992ef7f518..a7b57fd309ca2db1e465062c991f15c1
|
||||
worldserver.getCraftServer().getPluginManager().callEvent(event);
|
||||
}
|
||||
|
||||
@@ -945,7 +945,7 @@ public interface DispenseItemBehavior {
|
||||
@@ -947,7 +947,7 @@ public interface DispenseItemBehavior {
|
||||
CraftItemStack craftItem = CraftItemStack.asCraftMirror(stack.copyWithCount(1)); // Paper - single item in event
|
||||
|
||||
BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(blockposition.getX(), blockposition.getY(), blockposition.getZ()));
|
||||
@@ -521,7 +521,7 @@ index e6ac20a38f31bb0cd6b8840b2518f6992ef7f518..a7b57fd309ca2db1e465062c991f15c1
|
||||
worldserver.getCraftServer().getPluginManager().callEvent(event);
|
||||
}
|
||||
|
||||
@@ -1070,7 +1070,7 @@ public interface DispenseItemBehavior {
|
||||
@@ -1069,7 +1069,7 @@ public interface DispenseItemBehavior {
|
||||
CraftItemStack craftItem = CraftItemStack.asCraftMirror(stack.copyWithCount(1)); // Paper - only single item in event
|
||||
|
||||
BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(blockposition.getX(), blockposition.getY(), blockposition.getZ()));
|
||||
@@ -531,11 +531,11 @@ index e6ac20a38f31bb0cd6b8840b2518f6992ef7f518..a7b57fd309ca2db1e465062c991f15c1
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||
index e17090003988ad2c890d48666c2234b14d511345..6b82ce7423fe08238bd9b44b442ca9b05a3101d8 100644
|
||||
index 887e75c940ab5089f4e42e4553ab95adf172df46..c477e31142be8ee20f1dbba7ad1f5b7baad7437d 100644
|
||||
--- a/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||
+++ b/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||
@@ -40,7 +40,7 @@ public class ShearsDispenseItemBehavior extends OptionalDispenseItemBehavior {
|
||||
CraftItemStack craftItem = CraftItemStack.asCraftMirror(stack);
|
||||
CraftItemStack craftItem = CraftItemStack.asCraftMirror(stack); // Paper - ignore stack size on damageable items
|
||||
|
||||
BlockDispenseEvent event = new BlockDispenseEvent(bukkitBlock, craftItem.clone(), new org.bukkit.util.Vector(0, 0, 0));
|
||||
- if (!DispenserBlock.eventFired) {
|
||||
@@ -841,7 +841,7 @@ index 22213a52c5d546145d8b8de929af61e49d40375d..40878c28fa1e383e88c7ce2dfa142ab0
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 094a6ddebf79aa49b3e3cd8a032db7b8d23607c4..e640ad5dd3f1caab04a8a99f967ef20b9c30c79e 100644
|
||||
index 6999dde76bb98f9a1cb74a24fa518d705421e58e..f53b7230a49678824039bea94fc5bd1501b38bf4 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -218,6 +218,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -852,7 +852,7 @@ index 094a6ddebf79aa49b3e3cd8a032db7b8d23607c4..e640ad5dd3f1caab04a8a99f967ef20b
|
||||
|
||||
// CraftBukkit start
|
||||
public final LevelStorageSource.LevelStorageAccess convertable;
|
||||
@@ -705,7 +706,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -710,7 +711,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile());
|
||||
// CraftBukkit end
|
||||
this.players = Lists.newArrayList();
|
||||
@@ -861,7 +861,7 @@ index 094a6ddebf79aa49b3e3cd8a032db7b8d23607c4..e640ad5dd3f1caab04a8a99f967ef20b
|
||||
this.blockTicks = new LevelTicks<>(this::isPositionTickingWithEntitiesLoaded, this.getProfilerSupplier());
|
||||
this.fluidTicks = new LevelTicks<>(this::isPositionTickingWithEntitiesLoaded, this.getProfilerSupplier());
|
||||
this.navigatingMobs = new ObjectOpenHashSet();
|
||||
@@ -776,6 +777,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -781,6 +782,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
this.chunkTaskScheduler = new io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler(this, io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.workerThreads); // Paper - rewrite chunk system
|
||||
this.entityLookup = new io.papermc.paper.chunk.system.entity.EntityLookup(this, new EntityCallbacks()); // Paper - rewrite chunk system
|
||||
@@ -869,7 +869,7 @@ index 094a6ddebf79aa49b3e3cd8a032db7b8d23607c4..e640ad5dd3f1caab04a8a99f967ef20b
|
||||
}
|
||||
|
||||
// Paper start
|
||||
@@ -1353,7 +1355,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1358,7 +1360,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
if (fluid1.is(fluid)) {
|
||||
fluid1.tick(this, pos);
|
||||
}
|
||||
@@ -878,7 +878,7 @@ index 094a6ddebf79aa49b3e3cd8a032db7b8d23607c4..e640ad5dd3f1caab04a8a99f967ef20b
|
||||
|
||||
}
|
||||
|
||||
@@ -1363,7 +1365,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1368,7 +1370,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
if (iblockdata.is(block)) {
|
||||
iblockdata.tick(this, pos, this.random);
|
||||
}
|
||||
@@ -887,7 +887,7 @@ index 094a6ddebf79aa49b3e3cd8a032db7b8d23607c4..e640ad5dd3f1caab04a8a99f967ef20b
|
||||
|
||||
}
|
||||
|
||||
@@ -1381,7 +1383,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1386,7 +1388,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
public void tickNonPassenger(Entity entity) {
|
||||
// Paper start - log detailed entity tick information
|
||||
@@ -896,7 +896,7 @@ index 094a6ddebf79aa49b3e3cd8a032db7b8d23607c4..e640ad5dd3f1caab04a8a99f967ef20b
|
||||
try {
|
||||
if (currentlyTickingEntity.get() == null) {
|
||||
currentlyTickingEntity.lazySet(entity);
|
||||
@@ -1669,6 +1671,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1674,6 +1676,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
|
||||
private void addPlayer(ServerPlayer player) {
|
||||
@@ -904,7 +904,7 @@ index 094a6ddebf79aa49b3e3cd8a032db7b8d23607c4..e640ad5dd3f1caab04a8a99f967ef20b
|
||||
Entity entity = (Entity) this.getEntities().get(player.getUUID());
|
||||
|
||||
if (entity != null) {
|
||||
@@ -1682,7 +1685,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1687,7 +1690,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
// CraftBukkit start
|
||||
private boolean addEntity(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
|
||||
@@ -913,7 +913,7 @@ index 094a6ddebf79aa49b3e3cd8a032db7b8d23607c4..e640ad5dd3f1caab04a8a99f967ef20b
|
||||
// Paper start
|
||||
if (entity.valid) {
|
||||
MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable());
|
||||
@@ -2667,6 +2670,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -2672,6 +2675,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
super.close();
|
||||
@@ -922,7 +922,7 @@ index 094a6ddebf79aa49b3e3cd8a032db7b8d23607c4..e640ad5dd3f1caab04a8a99f967ef20b
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 0eb3384df396508c3d26d1e155cd0e6d64251346..548bbf8bf3aa128c8b0e24a4f98e0f355fce7f6f 100644
|
||||
index be05a52be037042c6158100e2ce880b8ed415d53..0eda3d6699a35ffe320c7fc7b86e4573c9d4e6cd 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -17,6 +17,7 @@ import java.util.OptionalInt;
|
||||
@@ -979,7 +979,7 @@ index 0eb3384df396508c3d26d1e155cd0e6d64251346..548bbf8bf3aa128c8b0e24a4f98e0f35
|
||||
if (!this.level().isClientSide && this.containerMenu != this.inventoryMenu && (this.isImmobile() || !this.containerMenu.stillValid(this))) { // Paper - auto close while frozen
|
||||
this.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.CANT_USE); // Paper
|
||||
this.containerMenu = this.inventoryMenu;
|
||||
@@ -1184,6 +1182,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1185,6 +1183,7 @@ public class ServerPlayer extends Player {
|
||||
ResourceKey<LevelStem> resourcekey = worldserver1.getTypeKey(); // CraftBukkit
|
||||
|
||||
if (resourcekey == LevelStem.END && worldserver != null && worldserver.getTypeKey() == LevelStem.OVERWORLD) { // CraftBukkit
|
||||
@@ -987,7 +987,7 @@ index 0eb3384df396508c3d26d1e155cd0e6d64251346..548bbf8bf3aa128c8b0e24a4f98e0f35
|
||||
this.isChangingDimension = true; // CraftBukkit - Moved down from above
|
||||
this.unRide();
|
||||
this.serverLevel().removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
|
||||
@@ -1196,6 +1195,10 @@ public class ServerPlayer extends Player {
|
||||
@@ -1197,6 +1196,10 @@ public class ServerPlayer extends Player {
|
||||
|
||||
return this;
|
||||
} else {
|
||||
@@ -998,7 +998,7 @@ index 0eb3384df396508c3d26d1e155cd0e6d64251346..548bbf8bf3aa128c8b0e24a4f98e0f35
|
||||
// CraftBukkit start
|
||||
/*
|
||||
WorldData worlddata = worldserver.getLevelData();
|
||||
@@ -1604,6 +1607,12 @@ public class ServerPlayer extends Player {
|
||||
@@ -1605,6 +1608,12 @@ public class ServerPlayer extends Player {
|
||||
return OptionalInt.empty();
|
||||
} else {
|
||||
// CraftBukkit start
|
||||
@@ -1011,7 +1011,7 @@ index 0eb3384df396508c3d26d1e155cd0e6d64251346..548bbf8bf3aa128c8b0e24a4f98e0f35
|
||||
this.containerMenu = container;
|
||||
if (!this.isImmobile()) this.connection.send(new ClientboundOpenScreenPacket(container.containerId, container.getType(), Objects.requireNonNullElseGet(title, container::getTitle))); // Paper
|
||||
// CraftBukkit end
|
||||
@@ -1665,6 +1674,11 @@ public class ServerPlayer extends Player {
|
||||
@@ -1666,6 +1675,11 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
@Override
|
||||
public void closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason reason) {
|
||||
@@ -1024,7 +1024,7 @@ index 0eb3384df396508c3d26d1e155cd0e6d64251346..548bbf8bf3aa128c8b0e24a4f98e0f35
|
||||
// Paper end
|
||||
this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId));
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index a35638a92479b90afa89cf201fc45b49c9e767f3..b842dc3d286a98d40267bac141749c4aaf3f082d 100644
|
||||
index e98a455b6bca9d094d0da323bddd7b3f2c07bb23..7b82aae91fda6a73c2ca2e27a89a2ec34ba0fa3c 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -109,7 +109,6 @@ import org.bukkit.Location;
|
||||
@@ -1308,7 +1308,7 @@ index 9442f58dff89ec843c321533965fbee2727d02f8..ab30f345381e32a1751adbd2344d8f3c
|
||||
continue;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 608259c6092f5353e818b5fbeb0e1a5249ed136b..ed07b4a584f4b51b9156ec58a8963436cf229b0f 100644
|
||||
index 6aae2e409258607df170165c959a1cc7448c7f62..c74c8950058084a9d2dcd44b3d4941d5bdde75a9 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -15,6 +15,8 @@ import java.util.function.Consumer;
|
||||
@@ -1736,7 +1736,7 @@ index 4cdfc433df67afcd455422e9baf56f167dd712ae..f52b3740bd48f8527a36d48a0454e7d6
|
||||
// To ensure nothing weird happens with dimension travelling, do not iterate over new entries...
|
||||
// (by dfl iterator() is configured to not iterate over new entries)
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 03eab4e7c2648c722c25387ec9353e8dafc09618..c78f1d934d0209ee01303835be7c3287609754fc 100644
|
||||
index 38d842bc0fb7d9c39a3673983a643248e9563fe2..f6663c2a9984955057e5f070f31b4825d956cf60 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -434,7 +434,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -1812,7 +1812,7 @@ index 03eab4e7c2648c722c25387ec9353e8dafc09618..c78f1d934d0209ee01303835be7c3287
|
||||
if (this.world.hasChunkAt(pos)) {
|
||||
net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkAt(pos);
|
||||
|
||||
@@ -2359,6 +2365,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -2366,6 +2372,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public void sendGameEvent(Entity sourceEntity, org.bukkit.GameEvent gameEvent, Vector position) {
|
||||
@@ -1820,7 +1820,7 @@ index 03eab4e7c2648c722c25387ec9353e8dafc09618..c78f1d934d0209ee01303835be7c3287
|
||||
getHandle().gameEvent(sourceEntity != null ? ((CraftEntity) sourceEntity).getHandle(): null, net.minecraft.core.registries.BuiltInRegistries.GAME_EVENT.get(org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(gameEvent.getKey())), org.bukkit.craftbukkit.util.CraftVector.toBlockPos(position));
|
||||
}
|
||||
// Paper end
|
||||
@@ -2462,7 +2469,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -2469,7 +2476,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
// Paper start
|
||||
public java.util.concurrent.CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen, boolean urgent) {
|
||||
warnUnsafeChunk("getting a faraway chunk async", x, z); // Paper
|
||||
@@ -2073,7 +2073,7 @@ index 9271ff2a9ea05569e3c81886399aa7ab47efb05d..e5891ed14f688413dfe9ebd2b5af6d4b
|
||||
// Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index f67ec3f5f4b7e2f678609f2387cc8afa2adce161..5ab000311e2d93a0db6af5d77f33a3404168fe33 100644
|
||||
index 2aab68bac670dcd134d817940020214c7b0797f9..1bc112574337b262e88a8b30ed5b75d62d160db4 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -243,8 +243,8 @@ import org.bukkit.potion.PotionEffect;
|
||||
|
||||
Reference in New Issue
Block a user