Update upstream

This commit is contained in:
Owen1212055 2024-04-23 19:31:55 -04:00
parent 487555b627
commit 0225537fd1
No known key found for this signature in database
GPG key ID: 2133292072886A30
18 changed files with 59 additions and 59 deletions

View file

@ -6359,7 +6359,7 @@ index 2119fc6f72461199ae8969ab0d9b8fab26d775a8..05f761913bc0c65f2b8ada5f90e322e1
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91bab3c7b33 100644
index 49fefb67a51ef4b27598ff15a30f24e511b49cc3..e53b68f91183c8abcc9a0f7d97adfc212aec02c6 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -171,6 +171,62 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@ -6425,7 +6425,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) {
super(new RegionStorageInfo(session.getLevelId(), world.dimension(), "chunk"), session.getDimensionPath(world.dimension()).resolve("region"), dataFixer, dsync);
this.visibleChunkMap = this.updatingChunkMap.clone();
@@ -222,7 +278,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -223,7 +279,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.poiManager = new PoiManager(new RegionStorageInfo(session.getLevelId(), world.dimension(), "poi"), path.resolve("poi"), dataFixer, dsync, iregistrycustom, world);
this.setServerViewDistance(viewDistance);
this.worldGenContext = new WorldGenContext(world, chunkGenerator, structureTemplateManager, this.lightEngine);
@ -6445,7 +6445,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
protected ChunkGenerator generator() {
return this.generator;
@@ -248,6 +316,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -249,6 +317,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
});
}
@ -6456,7 +6456,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
private static double euclideanDistanceSquared(ChunkPos pos, Entity entity) {
double d0 = (double) SectionPos.sectionToBlockCoord(pos.x, 8);
double d1 = (double) SectionPos.sectionToBlockCoord(pos.z, 8);
@@ -416,9 +488,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -417,9 +489,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
};
stringbuilder.append("Updating:").append(System.lineSeparator());
@ -6468,7 +6468,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
CrashReport crashreport = CrashReport.forThrowable(exception, "Chunk loading");
CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Chunk loading");
@@ -460,8 +532,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -461,8 +533,14 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
holder.setTicketLevel(level);
} else {
holder = new ChunkHolder(new ChunkPos(pos), level, this.level, this.lightEngine, this.queueSorter, this);
@ -6483,7 +6483,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
this.updatingChunkMap.put(pos, holder);
this.modified = true;
}
@@ -483,7 +561,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -484,7 +562,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
protected void saveAllChunks(boolean flush) {
if (flush) {
@ -6492,7 +6492,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
MutableBoolean mutableboolean = new MutableBoolean();
do {
@@ -512,7 +590,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -513,7 +591,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
});
this.flushWorker();
} else {
@ -6501,7 +6501,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
}
}
@@ -531,7 +609,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -532,7 +610,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public boolean hasWork() {
@ -6510,7 +6510,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
}
private void processUnloads(BooleanSupplier shouldKeepTicking) {
@@ -542,6 +620,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -543,6 +621,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
ChunkHolder playerchunk = (ChunkHolder) this.updatingChunkMap.remove(j);
if (playerchunk != null) {
@ -6518,7 +6518,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
this.pendingUnloads.put(j, playerchunk);
this.modified = true;
++i;
@@ -559,7 +638,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -560,7 +639,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
int l = 0;
@ -6527,7 +6527,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
while (l < 20 && shouldKeepTicking.getAsBoolean() && objectiterator.hasNext()) {
if (this.saveChunkIfNeeded((ChunkHolder) objectiterator.next())) {
@@ -577,7 +656,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -578,7 +657,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
if (completablefuture1 != completablefuture) {
this.scheduleUnload(pos, holder);
} else {
@ -6540,7 +6540,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
if (ichunkaccess instanceof LevelChunk) {
((LevelChunk) ichunkaccess).setLoaded(false);
}
@@ -593,7 +676,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -594,7 +677,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.lightEngine.tryScheduleUpdate();
this.progressListener.onStatusChange(ichunkaccess.getPos(), (ChunkStatus) null);
this.chunkSaveCooldowns.remove(ichunkaccess.getPos().toLong());
@ -6551,7 +6551,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
}
};
@@ -1015,7 +1100,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1016,7 +1101,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
}
@ -6560,7 +6560,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
int j = Mth.clamp(watchDistance, 2, 32);
if (j != this.serverViewDistance) {
@@ -1032,7 +1117,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1033,7 +1118,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
@ -6569,7 +6569,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
return Mth.clamp(player.requestedViewDistance(), 2, this.serverViewDistance);
}
@@ -1061,7 +1146,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1062,7 +1147,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public int size() {
@ -6578,7 +6578,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
}
public DistanceManager getDistanceManager() {
@@ -1069,19 +1154,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1070,19 +1155,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
protected Iterable<ChunkHolder> getChunks() {
@ -6603,7 +6603,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
Optional<ChunkAccess> optional = Optional.ofNullable(playerchunk.getLastAvailable());
Optional<LevelChunk> optional1 = optional.flatMap((ichunkaccess) -> {
return ichunkaccess instanceof LevelChunk ? Optional.of((LevelChunk) ichunkaccess) : Optional.empty();
@@ -1202,6 +1287,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1203,6 +1288,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
player.setChunkTrackingView(ChunkTrackingView.EMPTY);
this.updateChunkTracking(player);
@ -6611,7 +6611,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
} else {
SectionPos sectionposition = player.getLastSectionPos();
@@ -1210,6 +1296,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1211,6 +1297,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.distanceManager.removePlayer(sectionposition, player);
}
@ -6619,7 +6619,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
this.applyChunkTrackingView(player, ChunkTrackingView.EMPTY);
}
@@ -1261,6 +1348,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1262,6 +1349,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.updateChunkTracking(player);
}
@ -6627,7 +6627,7 @@ index 3c0bb7319858fedccee658ea48a25e0ea635dc3c..3eb7dfd79cdf2824b2155d02d1b4c91b
}
private void updateChunkTracking(ServerPlayer player) {
@@ -1504,10 +1592,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1505,10 +1593,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
});
}
@ -7845,10 +7845,10 @@ index 62ad3102e20415185b7dfa9effc305a5465252cc..a1b34778332472c09f3191bc72f9eb3d
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 13d3a8fa36455c99b99599eac93bc2462e82fd7a..a7a82910e42d7040901b38e3a9409bef1ca7b2a9 100644
index 02b217544d1237c78b1d754a4575665d7b6fd465..9d2af8b74e33888df33425627b286d32c95753d6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2403,4 +2403,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2404,4 +2404,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end