Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
2780e94 Fix PaperTickList (#6241)
b854e7e Drop unneeded patch (#6240)
2961b2a Fix various mob drops being captured as death drops (#5675)
3801a39 Add ItemRarity test (#6247)
170382f Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6245)
This commit is contained in:
William Blake Galbreath
2021-07-23 10:55:13 -05:00
parent 0dad40ac19
commit dd259870b0
24 changed files with 172 additions and 170 deletions

View File

@@ -11364,7 +11364,7 @@ index 7b6c547e71230fbb3733f99a4597b3f5b51547b8..1b324839e37d510552f5f5497de009ad
this.setPvpAllowed(dedicatedserverproperties.pvp);
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/net/minecraft/server/level/ChunkHolder.java b/src/main/java/net/minecraft/server/level/ChunkHolder.java
index f542998d3aac3b5f3039b906b8dadd636c1fb164..6c32e2922b0d0b4df3fe79b5558c134647c34a6c 100644
index 574434760cb91234b994f101a5ddef595337b42e..fd24a282d28254182cdb88cb500b3f3c32ce958e 100644
--- a/src/main/java/net/minecraft/server/level/ChunkHolder.java
+++ b/src/main/java/net/minecraft/server/level/ChunkHolder.java
@@ -41,6 +41,8 @@ import net.minecraft.world.level.lighting.LevelLightEngine;
@@ -11530,9 +11530,9 @@ index f542998d3aac3b5f3039b906b8dadd636c1fb164..6c32e2922b0d0b4df3fe79b5558c1346
either.ifLeft(chunk -> {
// note: Here is a very good place to add callbacks to logic waiting on this.
ChunkHolder.this.isTickingReady = true;
@@ -720,6 +768,9 @@ public class ChunkHolder {
// Paper start - rewrite ticklistserver
ChunkHolder.this.chunkMap.level.onChunkSetTicking(ChunkHolder.this.pos.x, ChunkHolder.this.pos.z);
@@ -722,6 +770,9 @@ public class ChunkHolder {
ChunkHolder.this.chunkMap.level.onChunkSetTicking(ChunkHolder.this.pos.x, ChunkHolder.this.pos.z);
}
// Paper end - rewrite ticklistserver
+ // Tuinity start - ticking chunk set
+ ChunkHolder.this.chunkMap.level.getChunkSource().tickingChunks.add(chunk);
@@ -11540,7 +11540,7 @@ index f542998d3aac3b5f3039b906b8dadd636c1fb164..6c32e2922b0d0b4df3fe79b5558c1346
});
});
// Paper end
@@ -729,6 +780,12 @@ public class ChunkHolder {
@@ -731,6 +782,12 @@ public class ChunkHolder {
if (flag4 && !flag5) {
this.tickingChunkFuture.complete(ChunkHolder.UNLOADED_LEVEL_CHUNK); this.isTickingReady = false; // Paper - cache chunk ticking stage
this.tickingChunkFuture = ChunkHolder.UNLOADED_LEVEL_CHUNK_FUTURE;
@@ -11553,7 +11553,7 @@ index f542998d3aac3b5f3039b906b8dadd636c1fb164..6c32e2922b0d0b4df3fe79b5558c1346
}
boolean flag6 = playerchunk_state.isOrAfter(ChunkHolder.FullChunkStatus.ENTITY_TICKING);
@@ -742,9 +799,13 @@ public class ChunkHolder {
@@ -744,9 +801,13 @@ public class ChunkHolder {
this.entityTickingChunkFuture = chunkStorage.prepareEntityTickingChunk(this.pos);
this.scheduleFullChunkPromotion(chunkStorage, this.entityTickingChunkFuture, executor, ChunkHolder.FullChunkStatus.ENTITY_TICKING);
// Paper start - cache ticking ready status
@@ -11568,7 +11568,7 @@ index f542998d3aac3b5f3039b906b8dadd636c1fb164..6c32e2922b0d0b4df3fe79b5558c1346
});
});
// Paper end
@@ -754,6 +815,12 @@ public class ChunkHolder {
@@ -756,6 +817,12 @@ public class ChunkHolder {
if (flag6 && !flag7) {
this.entityTickingChunkFuture.complete(ChunkHolder.UNLOADED_LEVEL_CHUNK); this.isEntityTickingReady = false; // Paper - cache chunk ticking stage
this.entityTickingChunkFuture = ChunkHolder.UNLOADED_LEVEL_CHUNK_FUTURE;
@@ -11581,7 +11581,7 @@ index f542998d3aac3b5f3039b906b8dadd636c1fb164..6c32e2922b0d0b4df3fe79b5558c1346
}
if (!playerchunk_state1.isOrAfter(playerchunk_state)) {
@@ -784,11 +851,19 @@ public class ChunkHolder {
@@ -786,11 +853,19 @@ public class ChunkHolder {
// CraftBukkit start
// ChunkLoadEvent: Called after the chunk is loaded: isChunkLoaded returns true and chunk is ready to be modified by plugins.
if (!playerchunk_state.isOrAfter(ChunkHolder.FullChunkStatus.BORDER) && playerchunk_state1.isOrAfter(ChunkHolder.FullChunkStatus.BORDER)) {
@@ -12667,7 +12667,7 @@ index 1cc4e0a1f3d8235ef88b48e01ca8b78a263d2676..428d94c60b826ddf3797d6713661dff1
+ */ // Tuinity - replace old loader system
}
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f0313b96fae9 100644
index 1043577580bee20a46ae4b2c9e7cef27d45568ad..3f0168a9edfa67f99e6fe9ce161878034e57c3f4 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -47,6 +47,7 @@ import net.minecraft.world.level.storage.LevelStorageSource;
@@ -12699,7 +12699,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
}
} catch (Throwable thr) {
if (thr instanceof ThreadDeath) {
@@ -227,6 +228,166 @@ public class ServerChunkCache extends ChunkSource {
@@ -232,6 +233,166 @@ public class ServerChunkCache extends ChunkSource {
}
// Paper end - rewrite ticklistserver
@@ -12866,7 +12866,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
public ServerChunkCache(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureManager structureManager, Executor workerExecutor, ChunkGenerator chunkGenerator, int viewDistance, boolean flag, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkstatusupdatelistener, Supplier<DimensionDataStorage> supplier) {
this.level = world;
this.mainThreadProcessor = new ServerChunkCache.MainThreadExecutor(world);
@@ -570,6 +731,8 @@ public class ServerChunkCache extends ChunkSource {
@@ -575,6 +736,8 @@ public class ServerChunkCache extends ChunkSource {
return completablefuture;
}
@@ -12875,7 +12875,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
private CompletableFuture<Either<ChunkAccess, ChunkHolder.ChunkLoadingFailure>> getChunkFutureMainThread(int i, int j, ChunkStatus chunkstatus, boolean flag) {
// Paper start - add isUrgent - old sig left in place for dirty nms plugins
return getChunkFutureMainThread(i, j, chunkstatus, flag, false);
@@ -588,9 +751,12 @@ public class ServerChunkCache extends ChunkSource {
@@ -593,9 +756,12 @@ public class ServerChunkCache extends ChunkSource {
ChunkHolder.FullChunkStatus currentChunkState = ChunkHolder.getFullChunkStatus(playerchunk.getTicketLevel());
currentlyUnloading = (oldChunkState.isOrAfter(ChunkHolder.FullChunkStatus.BORDER) && !currentChunkState.isOrAfter(ChunkHolder.FullChunkStatus.BORDER));
}
@@ -12888,7 +12888,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
if (isUrgent) this.distanceManager.markUrgent(chunkcoordintpair); // Paper - Chunk priority
if (this.chunkAbsent(playerchunk, l)) {
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
@@ -601,12 +767,20 @@ public class ServerChunkCache extends ChunkSource {
@@ -606,12 +772,20 @@ public class ServerChunkCache extends ChunkSource {
playerchunk = this.getVisibleChunkIfPresent(k);
gameprofilerfiller.pop();
if (this.chunkAbsent(playerchunk, l)) {
@@ -12910,7 +12910,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
if (isUrgent) {
future.thenAccept(either -> this.distanceManager.clearUrgent(chunkcoordintpair));
}
@@ -664,6 +838,8 @@ public class ServerChunkCache extends ChunkSource {
@@ -669,6 +843,8 @@ public class ServerChunkCache extends ChunkSource {
public boolean runDistanceManagerUpdates() {
if (distanceManager.delayDistanceManagerTick) return false; // Paper - Chunk priority
@@ -12919,7 +12919,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
boolean flag = this.distanceManager.runAllUpdates(this.chunkMap);
boolean flag1 = this.chunkMap.promoteChunkMap();
@@ -673,6 +849,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -678,6 +854,7 @@ public class ServerChunkCache extends ChunkSource {
this.clearCache();
return true;
}
@@ -12927,7 +12927,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
}
// Paper start - helper
@@ -730,6 +907,7 @@ public class ServerChunkCache extends ChunkSource {
@@ -735,6 +912,7 @@ public class ServerChunkCache extends ChunkSource {
// CraftBukkit start - modelled on below
public void purgeUnload() {
@@ -12935,7 +12935,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
this.level.getProfiler().push("purge");
this.distanceManager.purgeStaleTickets();
this.runDistanceManagerUpdates();
@@ -745,17 +923,18 @@ public class ServerChunkCache extends ChunkSource {
@@ -750,17 +928,18 @@ public class ServerChunkCache extends ChunkSource {
this.level.getProfiler().push("purge");
this.level.timings.doChunkMap.startTiming(); // Spigot
this.distanceManager.purgeStaleTickets();
@@ -12956,7 +12956,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
this.level.timings.doChunkUnload.stopTiming(); // Spigot
this.level.getProfiler().pop();
this.clearCache();
@@ -833,18 +1012,26 @@ public class ServerChunkCache extends ChunkSource {
@@ -838,18 +1017,26 @@ public class ServerChunkCache extends ChunkSource {
//Collections.shuffle(list); // Paper
// Paper - moved up
this.level.timings.chunkTicks.startTiming(); // Paper
@@ -12990,7 +12990,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
}
// this.level.timings.doTickTiles.startTiming(); // Spigot // Paper
@@ -852,7 +1039,11 @@ public class ServerChunkCache extends ChunkSource {
@@ -857,7 +1044,11 @@ public class ServerChunkCache extends ChunkSource {
// this.level.timings.doTickTiles.stopTiming(); // Spigot // Paper
}
}
@@ -13003,7 +13003,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
this.level.timings.chunkTicks.stopTiming(); // Paper
this.level.getProfiler().push("customSpawners");
if (flag1) {
@@ -861,25 +1052,28 @@ public class ServerChunkCache extends ChunkSource {
@@ -866,25 +1057,28 @@ public class ServerChunkCache extends ChunkSource {
} // Paper - timings
}
@@ -13047,7 +13047,7 @@ index 6daf49a951fe7fdb04e8b71f00922e1d457b4e84..e87203a01937967f348297a8c924f031
}
private void getFullChunk(long pos, Consumer<LevelChunk> chunkConsumer) {
@@ -1026,46 +1220,14 @@ public class ServerChunkCache extends ChunkSource {
@@ -1031,46 +1225,14 @@ public class ServerChunkCache extends ChunkSource {
super.doRunTask(task);
}
@@ -13110,7 +13110,7 @@ index 2f3e69ad809199ffc2661d524bb627ec8dbc2e80..0fcd6a9162f5bddb3c4fc42b3a64efde
if (flag2) {
packet1 = new ClientboundMoveEntityPacket.Pos(this.entity.getId(), (short) ((int) k), (short) ((int) l), (short) ((int) i1), this.entity.isOnGround());
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index c2e0417ee15018ec31c4aa8eec3dff7a0d16aa9e..631bc406d9bb193ac2d1d433519c2c3a7f4589e4 100644
index baa25df9f446c8edea9666983425df31c32a13ff..f9ed48f5bbde84fd1804e482f2777b516cc3a1ef 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -114,6 +114,7 @@ import net.minecraft.world.level.block.Block;
@@ -14574,7 +14574,7 @@ index 020a19cd683dd3779c5116d12b3cdcd3b3ca69b4..17d209c347b07acef451180c97835f41
public static final Codec<IntProvider> POSITIVE_CODEC = codec(1, Integer.MAX_VALUE);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a11507c630248b98153275f78c15ebee59a6b0a3..d9265426ddb91a6cff634b8fcc3ed26072379f43 100644
index 896d892237b29eb404398db07264eb6f04786754..2453492429a743677db07e31d575c1473fedf4ad 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -356,8 +356,27 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -14937,10 +14937,10 @@ index a11507c630248b98153275f78c15ebee59a6b0a3..d9265426ddb91a6cff634b8fcc3ed260
int j = Mth.floor(y);
int k = Mth.floor(z);
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 0ce0e7a923da812a02d9ab83607d3cc9c87047df..f8c6d88d6bf71e7bc46b5f44e688229da5fd3da2 100644
index a8e5be1c941755b3e5b335d8211ca70a6c6fc32f..5eb93bacd303ebed0a702221f8ae31631d42f45d 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -785,7 +785,12 @@ public abstract class Mob extends LivingEntity {
@@ -789,7 +789,12 @@ public abstract class Mob extends LivingEntity {
if (this.level.getDifficulty() == Difficulty.PEACEFUL && this.shouldDespawnInPeaceful()) {
this.discard();
} else if (!this.isPersistenceRequired() && !this.requiresCustomPersistence()) {
@@ -17885,7 +17885,7 @@ index f01182a0ac8a14bcd5b1deb778306e7bf1bf70ed..6ba8b50b59d3f81ec4c974defc319b1b
}
}
diff --git a/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java b/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java
index 5a0a1b01e89b122811b0b567e1ee27081953e638..3cb190d38eeb978a7c7ebc37259be0c56d07823d 100644
index d1428fe87ec3be070d9a125a1774ea758d4cd74b..a7079aa957646410b43ebce5f0b55dfb05c792b1 100644
--- a/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java
+++ b/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java
@@ -41,8 +41,10 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
@@ -17984,7 +17984,7 @@ index 5a0a1b01e89b122811b0b567e1ee27081953e638..3cb190d38eeb978a7c7ebc37259be0c5
this.updateChunkStatus(chunkPos, visibility);
}
@@ -382,18 +446,38 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
@@ -388,18 +452,38 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
@Override
public void onMove() {
BlockPos blockPos = this.entity.blockPosition();
@@ -18026,7 +18026,7 @@ index 5a0a1b01e89b122811b0b567e1ee27081953e638..3cb190d38eeb978a7c7ebc37259be0c5
this.updateStatus(visibility, entitySection.getStatus());
}
@@ -427,6 +511,7 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
@@ -433,6 +517,7 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
if (!this.currentSection.remove(this.entity)) {
PersistentEntitySectionManager.LOGGER.warn("Entity {} wasn't found in section {} (destroying due to {})", this.entity, SectionPos.of(this.currentSectionKey), reason);
}
@@ -18595,10 +18595,10 @@ index 40d6dfe30e8f388fb2014ba81f9ea4a986354b88..9de4b1c9402e78c661b4d2dc7d70439e
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index dd435909ad16a7f732fd0a2056f986dd9b24c0d5..f243dbdf7673c06b0e2d36fe9af43234a5304ed6 100644
index 9954e45c32a4b6d80fe912ed9d55cd4fc8c4e98b..1ec307d705087eec9d867f9f8e8858ac388f3846 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -230,7 +230,7 @@ import javax.annotation.Nullable; // Paper
@@ -239,7 +239,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {
@@ -18607,7 +18607,7 @@ index dd435909ad16a7f732fd0a2056f986dd9b24c0d5..f243dbdf7673c06b0e2d36fe9af43234
private final String serverVersion;
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
@@ -875,6 +875,7 @@ public final class CraftServer implements Server {
@@ -884,6 +884,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
@@ -18615,7 +18615,7 @@ index dd435909ad16a7f732fd0a2056f986dd9b24c0d5..f243dbdf7673c06b0e2d36fe9af43234
for (ServerLevel world : this.console.getAllLevels()) {
world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
@@ -909,6 +910,7 @@ public final class CraftServer implements Server {
@@ -918,6 +919,7 @@ public final class CraftServer implements Server {
}
world.spigotConfig.init(); // Spigot
world.paperConfig.init(); // Paper
@@ -18623,7 +18623,7 @@ index dd435909ad16a7f732fd0a2056f986dd9b24c0d5..f243dbdf7673c06b0e2d36fe9af43234
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -2374,6 +2376,14 @@ public final class CraftServer implements Server {
@@ -2451,6 +2453,14 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.config;
}
@@ -18801,7 +18801,7 @@ index ea7df53656766a8dc4ab5fe66de894301db634e1..b153a8c9e7fdf5560148f02ba2f52c37
//Thread.sleep(TimeUnit.SECONDS.toMillis(20));
// Paper End
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 3acb5f8a1f863b5ba47eac4190be8228324fc8e7..68cacecde84a592839b738723fb0b73fcb958080 100644
index 85ca30aef0703db6859e66c62781ecfd334426e7..8ce49478441e77cedf5148ecb81d78b32660329e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -519,27 +519,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -18860,7 +18860,7 @@ index 3acb5f8a1f863b5ba47eac4190be8228324fc8e7..68cacecde84a592839b738723fb0b73f
@Override
public boolean teleport(Location location) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 9f8f3ad5fd2c9e43a5b99804e404f11e5056897f..538beaedac3f8fe85fe5125cce1043706a295f89 100644
index 9e8918d03b8213e5f6689fc93030138fd704aca9..5038bd2d0920ffc37a33d0c971cf28c330e58e06 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -517,15 +517,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player {