Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@6fe7eb5a Load World Key when its instance is created (#13818)
PaperMC/Paper@944ce44a Fix CraftWorld identifier passing
PaperMC/Paper@aa6f09b0 Prevent Happy Ghast from playing mount/dismount noises when silenced (#13807)
PaperMC/Paper@7b31cc2b Make leaveMessage in PlayerKickEvent nullable (#13804)
PaperMC/Paper@65461225 Update health after setPlayerProfile() (#13717)
PaperMC/Paper@1a8417b1 [ci/skip] Add Javadocs for PotionEffect withX methods (#13723)
PaperMC/Paper@4af86ff3 Handle null ServerLevel in fromGlobalPos (#13703)
PaperMC/Paper@c39822ae reset pending keepalive state on listener handoff during reconfiguration (#13712)
PaperMC/Paper@dcf5577a Fix PlayerProfile applySkinToPlayerHeadContents (#13692)
PaperMC/Paper@dd203a27 chore: Don't log errors for accepting the EULA via the system property (#13681)
PaperMC/Paper@d74f6bc7 Support for Kill damageable entities (#13667)
PaperMC/Paper@90aee8e0 Update world methods to take in account environment attributes (#13543)
PaperMC/Paper@b2b1e177 Improvement to Vehicle damage events (#13572)
PaperMC/Paper@49daadd2 Fix insomniaStartTicks option being ignored for phantom spawning (#13609)
PaperMC/Paper@57d84f68 Prevent NPE on ThrownPotion#splash (#13683)
PaperMC/Paper@4f184db3 Fix memory leak on constantly damage (#13455)
PaperMC/Paper@60073714 Update MOJIRA reference in DeOp command response for multiple targets [ci/skip] (#13812)
PaperMC/Paper@4aef3f0a Remove already fixed vanilla bug MC-244739 (#13787)
PaperMC/Paper@945aea99 Fix Damager for HangingBreakByEntityEvent and minor improvements (#12615)
PaperMC/Paper@a8c05a35 Add an option to WorldCreator to avoid spawn location computation on world creation (#13407)
PaperMC/Paper@182b2f8a Add Point Of Interest API (#12117)
PaperMC/Paper@8021488e Disconnect State Fixes (#13616)
PaperMC/Paper@1f819732 Allow ServerboundChangeGameModePacket if player has /gamemode permissions (#13507)
PaperMC/Paper@a64ea13e Re-implement per-world and per-player time (#13814)
PaperMC/Paper@acfe105b Add options to disable chunk and block entity ticking (#13821)
PaperMC/Paper@651d8481 Finish world key initial migration (#13824)
PaperMC/Paper@f4e769a7 Improvements checks for arguments numbers (#13290)
PaperMC/Paper@5dc4afc1 Promote build channel to BETA
PaperMC/Paper@55be6c0e Fix boat and minecart inventories on region switch [ci/skip] (#13826)
PaperMC/Paper@7799bf28 Update Paperclip to v3.0.4
This commit is contained in:
granny
2026-04-27 00:53:47 -07:00
parent d05f412a97
commit d4d8f4bd90
23 changed files with 104 additions and 107 deletions

View File

@@ -1,20 +1,17 @@
--- a/net/minecraft/world/clock/ServerClockManager.java
+++ b/net/minecraft/world/clock/ServerClockManager.java
@@ -122,7 +_,7 @@
ServerClockManager.ClockInstance instance = this.getInstance(clock);
action.accept(instance);
Map<Holder<WorldClock>, ClockNetworkState> updates = Map.of(clock, instance.packNetworkState(this.server));
- this.server.getPlayerList().broadcastAll(new ClientboundSetTimePacket(this.getGameTime(), updates)); // TODO 26.1 per-player time
+ this.server.getPlayerList().broadcastAll(new ClientboundSetTimePacket(this.getGameTime(), updates)); // TODO 26.1 per-player time // Purpur - TODO: Configurable daylight cycle
this.setDirty();
for (ServerLevel level : this.server.getAllLevels()) {
@@ -151,7 +_,7 @@
// Paper end
@@ -149,12 +_,12 @@
public ClientboundSetTimePacket createFullSyncPacket() {
- // TODO - snapshot: 26.1 per-player time
+ // TODO - snapshot: 26.1 per-player time // Purpur - TODO: Configurable daylight cycle
return new ClientboundSetTimePacket(this.getGameTime(), Util.mapValues(this.clocks, clock -> clock.packNetworkState(this.server)));
// Paper start - per-player time
- return this.createFullSyncPacket(null);
+ return this.createFullSyncPacket(null); // Purpur - TODO: Configurable daylight cycle
}
public ClientboundSetTimePacket createFullSyncPacket(final net.minecraft.server.level.ServerPlayer player) {
final Map<Holder<WorldClock>, ClockNetworkState> updates = new HashMap<>(this.clocks.size());
- this.clocks.forEach((clock, instance) -> updates.put(clock, this.packNetworkState(clock, instance, player)));
+ this.clocks.forEach((clock, instance) -> updates.put(clock, this.packNetworkState(clock, instance, player))); // Purpur - TODO: Configurable daylight cycle
return new ClientboundSetTimePacket(this.getGameTime(), updates);
// Paper end - per-player time
}

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/world/damagesource/CombatTracker.java
+++ b/net/minecraft/world/damagesource/CombatTracker.java
@@ -66,7 +_,7 @@
@@ -75,7 +_,7 @@
final Entity attackerEntity, final Component attackerName, final String messageWithItem, final String messageWithoutItem
) {
ItemStack attackerItem = attackerEntity instanceof LivingEntity livingEntity ? livingEntity.getMainHandItem() : ItemStack.EMPTY;
@@ -9,7 +9,7 @@
? Component.translatable(messageWithItem, this.mob.getDisplayName(), attackerName, attackerItem.getDisplayName())
: Component.translatable(messageWithoutItem, this.mob.getDisplayName(), attackerName);
}
@@ -109,6 +_,15 @@
@@ -118,6 +_,15 @@
Component link = ComponentUtils.wrapInSquareBrackets(Component.translatable(deathMsg + ".link")).withStyle(INTENTIONAL_GAME_DESIGN_STYLE);
return Component.translatable(deathMsg + ".message", this.mob.getDisplayName(), link);
} else {

View File

@@ -137,7 +137,7 @@
}
}
}
@@ -4237,7 +_,7 @@
@@ -4236,7 +_,7 @@
}
public boolean canUsePortal(final boolean ignorePassenger) {
@@ -146,7 +146,7 @@
}
public boolean canTeleport(final Level from, final Level to) {
@@ -4787,6 +_,12 @@
@@ -4786,6 +_,12 @@
return Mth.lerp(partial, this.yRotO, this.yRot);
}
@@ -159,7 +159,7 @@
public boolean touchingUnloadedChunk() {
AABB box = this.getBoundingBox().inflate(1.0);
int x0 = Mth.floor(box.minX);
@@ -5090,7 +_,7 @@
@@ -5089,7 +_,7 @@
}
public float maxUpStep() {

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
@@ -363,6 +_,7 @@
@@ -362,6 +_,7 @@
// Paper start - Goat ram API
public void ram(net.minecraft.world.entity.LivingEntity entity) {

View File

@@ -55,16 +55,16 @@
public CraftWorld getWorld() {
return this.world;
}
@@ -851,6 +_,8 @@
// Paper end - getblock optimisations - cache world height/sections
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(bukkitName, CraftNamespacedKey.fromMinecraft(dimension.identifier())); // Spigot
@@ -852,6 +_,8 @@
final org.bukkit.NamespacedKey worldKey = CraftNamespacedKey.fromMinecraft(dimension.identifier()); // Paper
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(bukkitName, worldKey); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(bukkitName, environment, CraftNamespacedKey.fromMinecraft(dimension.identifier())); // Purpur - Purpur config files
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(bukkitName, environment, worldKey); // Purpur - Purpur config files
+ this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur - Add adjustable breeding cooldown to config
this.generator = generator;
this.world = new CraftWorld((ServerLevel) this, generator, biomeProvider, environment);
this.world = new CraftWorld((ServerLevel) this, worldKey, biomeProvider, environment);
@@ -2193,4 +_,14 @@
@@ -2194,4 +_,14 @@
return this.moonrise$getEntityLookup().getEntityCount(); // Paper - rewrite chunk system
}
// Paper end - allow patching this logic