Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@04a97aac more renames
PaperMC/Paper@bc310d25 fix wrong absorb
PaperMC/Paper@546acb55 fix debug pathfinding flag
PaperMC/Paper@dfa3e44f Reorganize level storage layout to closer mirror 26.1 vanilla with CB per-level 'world container' behavior.
PaperMC/Paper@b50fa5ca Call BlockDispenseEvent for SpawnEggItem
PaperMC/Paper@15af4554 Cleanup final CombatTracker diff
PaperMC/Paper@439972cd Readd BlockGrowEvent for cactus flower
PaperMC/Paper@57e26551 Correctly replace setBlock in TripWireHookBlock
PaperMC/Paper@c20b0909 Skip villager treasure map trade if disabled
PaperMC/Paper@fd22888e Get MapData from server data storage
PaperMC/Paper@17e063ac cleanup block data
PaperMC/Paper@c7003253 [ci/skip] revert command size limit to vanilla for test server
PaperMC/Paper@3ed80980 Adjust tick loop logic
PaperMC/Paper@af7555e5 Fix block entity ticking list (#13724)
PaperMC/Paper@062aadc6 remove type id from note block instruments
PaperMC/Paper@6a08bca0 finish TagKey -> HolderSet migration
PaperMC/Paper@fe91bd9e fix SO error for breeze target
PaperMC/Paper@a12cd1a5 update crystal proximity checks for new range
PaperMC/Paper@a44c689a Reduce diff in VineBlock.java
PaperMC/Paper@b3fabd13 Correctly move FarmlandBlock#fallOn super call
PaperMC/Paper@4932672f Simplify diff in AbstractPiglin
PaperMC/Paper@71497253 Readd dropped StemBlock BlockGrowEvent hunk
PaperMC/Paper@0110d9fe Simplify diff in DoublePlantBlock
PaperMC/Paper@5b507f54 Readd dropped isInWorldBounds "inline"
PaperMC/Paper@63078f4b Simplify diff in ConduitBlockEntity
PaperMC/Paper@fd98513c fix provides_banner_patterns component type
PaperMC/Paper@6a154f13 fix some client desync
PaperMC/Paper@d6b3a3f3 missed one case
PaperMC/Paper@d957fb49 Call WorldGameRuleChangeEvent for World Options Menu (#13720)
PaperMC/Paper@03853ba2 Skip transient components in dumpitem command (#13689)
This commit is contained in:
granny
2026-03-28 16:39:36 -07:00
parent a928e52fca
commit c3bd0f73fc
25 changed files with 74 additions and 71 deletions

View File

@@ -17,7 +17,7 @@
// Paper start - improve tick loop
public final ca.spottedleaf.moonrise.common.time.TickData tickTimes1s = new ca.spottedleaf.moonrise.common.time.TickData(java.util.concurrent.TimeUnit.SECONDS.toNanos(1L));
public final ca.spottedleaf.moonrise.common.time.TickData tickTimes5s = new ca.spottedleaf.moonrise.common.time.TickData(java.util.concurrent.TimeUnit.SECONDS.toNanos(5L));
@@ -404,6 +_,7 @@
@@ -419,6 +_,7 @@
public double[] computeTPS() {
final long interval = this.tickRateManager().nanosecondsPerTick();
return new double[] {
@@ -25,7 +25,7 @@
getTPS(this.tickTimes1m, interval),
getTPS(this.tickTimes5m, interval),
getTPS(this.tickTimes15m, interval)
@@ -925,6 +_,15 @@
@@ -941,6 +_,15 @@
LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -41,7 +41,7 @@
// CraftBukkit start
if (this.server != null) {
this.server.spark.disable(); // Paper - spark
@@ -1014,6 +_,8 @@
@@ -1030,6 +_,8 @@
this.safeShutdown(wait, false);
}
public void safeShutdown(final boolean wait, final boolean isRestarting) {
@@ -50,7 +50,7 @@
this.isRestarting = isRestarting;
this.hasLoggedStop = true; // Paper - Debugging
if (this.isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
@@ -1176,11 +_,21 @@
@@ -1196,11 +_,21 @@
}
// Paper end - Add onboarding message for initial server start
// Paper start - Improve outdated version checking
@@ -73,7 +73,7 @@
while (this.running) {
final long tickStart = System.nanoTime(); // Paper - improve tick loop
long thisTickNanos; // Paper - improve tick loop - diff on change, expect this to be tick interval
@@ -1194,9 +_,11 @@
@@ -1214,9 +_,11 @@
final long ticksBehind = Math.max(1L, this.tickSchedule.getPeriodsAhead(thisTickNanos, tickStart));
final long catchup = (long)Math.max(
1,
@@ -84,9 +84,9 @@
+ lagging = getTPS()[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur - Lagging threshold
+
// adjust ticksBehind so that it is not greater-than catchup
if (ticksBehind > catchup) {
if (ticksBehind - catchup > 0L) {
final long difference = ticksBehind - catchup;
@@ -1784,7 +_,7 @@
@@ -1818,7 +_,7 @@
}
public String getServerModName() {

View File

@@ -9,7 +9,7 @@
private final LevelDebugSynchronizers debugSynchronizers = new LevelDebugSynchronizers(this);
// CraftBukkit start
@@ -378,8 +_,25 @@
@@ -380,8 +_,25 @@
// CraftBukkit end
this.tickTime = tickTime;
this.server = server;
@@ -36,7 +36,7 @@
ChunkGenerator generator = levelStem.generator();
// CraftBukkit start
this.serverLevelData.setWorld(this);
@@ -464,6 +_,7 @@
@@ -465,6 +_,7 @@
this.environmentAttributes = EnvironmentAttributeSystem.builder().addDefaultLayers(this).build();
this.updateSkyBrightness();
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
@@ -44,7 +44,7 @@
}
// Paper start
@@ -520,7 +_,7 @@
@@ -521,7 +_,7 @@
}
int percentage = this.getGameRules().get(GameRules.PLAYERS_SLEEPING_PERCENTAGE);
@@ -53,7 +53,7 @@
Optional<Holder<WorldClock>> defaultClock = this.dimensionType().defaultClock();
org.bukkit.event.world.TimeSkipEvent event = null; // Paper - time skip event
if (this.getGameRules().get(GameRules.ADVANCE_TIME) && defaultClock.isPresent()) {
@@ -728,9 +_,18 @@
@@ -729,9 +_,18 @@
&& this.random.nextDouble() < difficulty.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01) // Paper - Configurable spawn chances for skeleton horses
&& !this.getBlockState(pos.below()).is(BlockTags.LIGHTNING_RODS);
if (isTrap) {
@@ -73,7 +73,7 @@
horse.setAge(0);
horse.setPos(pos.getX(), pos.getY(), pos.getZ());
this.addFreshEntity(horse, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
@@ -765,9 +_,35 @@
@@ -766,9 +_,35 @@
if (state.is(Blocks.SNOW)) {
int currentLayers = state.getValue(SnowLayerBlock.LAYERS);
if (currentLayers < Math.min(maxHeight, 8)) {
@@ -109,7 +109,7 @@
}
} else {
org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockFormEvent(this, topPos, Blocks.SNOW.defaultBlockState(), Block.UPDATE_ALL, null); // CraftBukkit
@@ -788,7 +_,7 @@
@@ -789,7 +_,7 @@
p -> p.is(PoiTypes.LIGHTNING_ROD),
lightningRodPos -> lightningRodPos.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, lightningRodPos.getX(), lightningRodPos.getZ()) - 1,
center,
@@ -118,7 +118,7 @@
PoiManager.Occupancy.ANY
);
return nearbyLightningRod.map(blockPos -> blockPos.above(1));
@@ -836,8 +_,26 @@
@@ -837,8 +_,26 @@
int percentage = this.getGameRules().get(GameRules.PLAYERS_SLEEPING_PERCENTAGE);
Component message;
if (this.sleepStatus.areEnoughSleeping(percentage)) {
@@ -145,7 +145,7 @@
message = Component.translatable("sleep.players_sleeping", this.sleepStatus.amountSleeping(), this.sleepStatus.sleepersNeeded(percentage));
}
@@ -1003,6 +_,7 @@
@@ -1004,6 +_,7 @@
public void resetWeatherCycle() {
WeatherData weatherData = this.getWeatherData();
// CraftBukkit start
@@ -153,7 +153,7 @@
weatherData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
// Not that everyone ever manages to get the whole server to sleep at the same time....
@@ -1010,6 +_,7 @@
@@ -1011,6 +_,7 @@
weatherData.setRainTime(0);
}
// CraftBukkit end
@@ -161,7 +161,7 @@
weatherData.setThundering(false, org.bukkit.event.weather.ThunderChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents
// CraftBukkit start
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
@@ -1655,7 +_,7 @@
@@ -1662,7 +_,7 @@
Explosion.BlockInteraction blockInteraction = switch (interactionType) {
case NONE -> Explosion.BlockInteraction.KEEP;
case BLOCK -> this.getDestroyType(GameRules.BLOCK_EXPLOSION_DROP_DECAY);
@@ -170,7 +170,7 @@
? this.getDestroyType(GameRules.MOB_EXPLOSION_DROP_DECAY)
: Explosion.BlockInteraction.KEEP;
case TNT -> this.getDestroyType(GameRules.TNT_EXPLOSION_DROP_DECAY);
@@ -2561,7 +_,7 @@
@@ -2569,7 +_,7 @@
// Spigot start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
// Paper start - Fix merchant inventory not closing on entity removal