Skip to content

Commit c3bd0f7

Browse files
committed
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)
1 parent a928e52 commit c3bd0f7

25 files changed

+74
-71
lines changed

.idea/runConfigurations/Run_Purpur_Paperclip_Jar.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations/Upstream_Paper__createMojmapPaperclipJar_.xml renamed to .idea/runConfigurations/Upstream_Paper__createPaperclipJar_.xml

Lines changed: 5 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version=26.1-R0.1-SNAPSHOT
33

44
mcVersion=26.1
55
apiVersion = 26.1
6-
paperCommit = cca018fe7d089430807ad06c63a59ab0c612929e
6+
paperCommit = 03853ba2fc406fc5466f3e764beaac6a4826c601
77

88
org.gradle.configuration-cache = true
99
org.gradle.caching = true

purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
--- a/src/main/java/org/bukkit/entity/Player.java
22
+++ b/src/main/java/org/bukkit/entity/Player.java
3-
@@ -4011,4 +_,123 @@
3+
@@ -4012,4 +_,123 @@
44
*/
55
@ApiStatus.Experimental
66
PlayerGameConnection getConnection();

purpur-server/build.gradle.kts.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
idea {
114114
module {
115115
generatedSourceDirs.add(generatedDir.toFile())
116-
@@ -314,7 +_,7 @@
116+
@@ -315,7 +_,7 @@
117117
mainClass.set(null as String?)
118118
}
119119

@@ -122,7 +122,7 @@
122122
project("paper")
123123
versionFamily(paperweight.minecraftVersion.map { it.split(".", "-").takeWhile { part -> part.toIntOrNull() != null }.take(2).joinToString(".") })
124124
version(paperweight.minecraftVersion)
125-
@@ -329,4 +_,47 @@
125+
@@ -330,4 +_,47 @@
126126
}
127127
}
128128
}

purpur-server/minecraft-patches/features/0001-Ridables.patch

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ index 64a82b414afd093c010878c150592c681665b735..1db70e2397137158c3df9603ea90743e
1818
public boolean isClientAuthoritative() {
1919
return false;
2020
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
21-
index 8ac4752585f8869d0802a71419499c55c48ba583..0d5558444e9b775c015148d79eb4b04355671cf9 100644
21+
index e9b3c2a767dc6ecc5044e45c51e3231c68768316..50ac39c620aae79d9111089eb55d979d0ae3b5db 100644
2222
--- a/net/minecraft/server/MinecraftServer.java
2323
+++ b/net/minecraft/server/MinecraftServer.java
24-
@@ -1682,6 +1682,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
24+
@@ -1716,6 +1716,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
2525
for (ServerLevel level : this.getAllLevels()) {
2626
level.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - BlockPhysicsEvent
2727
level.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
@@ -30,10 +30,10 @@ index 8ac4752585f8869d0802a71419499c55c48ba583..0d5558444e9b775c015148d79eb4b043
3030
profiler.push(() -> level + " " + level.dimension().identifier());
3131
profiler.push("tick");
3232
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
33-
index c04d81aeafeb17458d73620770ca3ae2b40794fb..d2746087c0ab4d0f135dc7907b99a33e7ceb8f80 100644
33+
index 37dbb1724b63f266ced21be72f4b6429c239c9ef..2d74b41a44f65285a38d42a33a83177685601375 100644
3434
--- a/net/minecraft/server/level/ServerLevel.java
3535
+++ b/net/minecraft/server/level/ServerLevel.java
36-
@@ -234,6 +234,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
36+
@@ -235,6 +235,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ServerEntityGet
3737
public boolean hasPhysicsEvent = true; // Paper - BlockPhysicsEvent
3838
public boolean hasEntityMoveEvent; // Paper - Add EntityMoveEvent
3939
private final alternate.current.wire.WireHandler wireHandler = new alternate.current.wire.WireHandler(this); // Paper - optimize redstone (Alternate Current)
@@ -62,7 +62,7 @@ index 25e3229ba9ede30d125e566c06b58a36c96bc776..e5d9c8e6999f3b7a40269fc5b06da487
6262

6363
private void updatePlayerAttributes() {
6464
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
65-
index 28f8b8804890cc3607a12ac6c0bfcce1d74a1fd6..b8fb8bcfa15036e031e49e5b17e0aa6ab4a64ed4 100644
65+
index a81b553a209834883a99ae971fed18d3a6d2ff32..2162dc6a29d89193030d263c9f8104206e8720cc 100644
6666
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
6767
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
6868
@@ -2930,6 +2930,8 @@ public class ServerGamePacketListenerImpl
@@ -75,7 +75,7 @@ index 28f8b8804890cc3607a12ac6c0bfcce1d74a1fd6..b8fb8bcfa15036e031e49e5b17e0aa6a
7575
if (itemType == Items.WATER_BUCKET && target instanceof net.minecraft.world.entity.animal.Bucketable && target instanceof LivingEntity && resendData) {
7676
target.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
7777
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
78-
index 9afb6860a93c44ce508a9c1c5df4816d7feb2f4a..afcdf4aa479e27c858afab01191344e14a1f4ecc 100644
78+
index ce4d619ea9a5abb3f1bcbd4098a75c8d6155a7a7..65d63d55c74b1e336fc745e51ed2d6cf9f5747eb 100644
7979
--- a/net/minecraft/world/entity/Entity.java
8080
+++ b/net/minecraft/world/entity/Entity.java
8181
@@ -3159,6 +3159,13 @@ public abstract class Entity
@@ -107,7 +107,7 @@ index 9afb6860a93c44ce508a9c1c5df4816d7feb2f4a..afcdf4aa479e27c858afab01191344e1
107107
if (this.passengers.size() == 1 && this.passengers.get(0) == passenger) {
108108
this.passengers = ImmutableList.of();
109109
} else {
110-
@@ -5157,4 +5172,44 @@ public abstract class Entity
110+
@@ -5159,4 +5174,44 @@ public abstract class Entity
111111
return ((ServerLevel) this.level()).isPositionEntityTicking(this.blockPosition());
112112
}
113113
// Paper end - Expose entity id counter
@@ -153,7 +153,7 @@ index 9afb6860a93c44ce508a9c1c5df4816d7feb2f4a..afcdf4aa479e27c858afab01191344e1
153153
+ // Purpur end - Ridables
154154
}
155155
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
156-
index 61872c754fec8e93ebd187af2f0ebe7548b668d5..e19911cbf8abf29f8182755d96f10507bc3d757b 100644
156+
index dccca794a79665db0dedddc6a42885a5738abd42..5a14b813628c7656e2ab0497ed3e13a3bf45117b 100644
157157
--- a/net/minecraft/world/entity/LivingEntity.java
158158
+++ b/net/minecraft/world/entity/LivingEntity.java
159159
@@ -243,9 +243,9 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
@@ -2700,7 +2700,7 @@ index d03a219af35e3c577386b87d553cc53c1e922553..53fc1012d46e20b623246cecae87b3fe
27002700
this.turtle.setDeltaMovement(this.turtle.getDeltaMovement().add(0.0, this.turtle.getSpeed() * yd * 0.1, 0.0));
27012701
}
27022702
diff --git a/net/minecraft/world/entity/animal/wolf/Wolf.java b/net/minecraft/world/entity/animal/wolf/Wolf.java
2703-
index 96707c6f2375754d001eafbf4bd0773df6843b38..97cd55916166ffabdfdc50a493ff1642d952001e 100644
2703+
index c198c1787d94c8b82ba85bb62f5916f0c46639bd..59bb551c689a04486564d89b4912935acec644e2 100644
27042704
--- a/net/minecraft/world/entity/animal/wolf/Wolf.java
27052705
+++ b/net/minecraft/world/entity/animal/wolf/Wolf.java
27062706
@@ -183,9 +183,32 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -2745,7 +2745,7 @@ index 96707c6f2375754d001eafbf4bd0773df6843b38..97cd55916166ffabdfdc50a493ff1642
27452745
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
27462746
this.targetSelector.addGoal(3, new HurtByTargetGoal(this).setAlertOthers());
27472747
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
2748-
index 6f12d8dc51e1052abb9ce7d4170efda3fe9e05f9..366ca403757c274fadae2578772d97a903da3174 100644
2748+
index 4f17918b4248dc56fa3ce51e5f491e81198807bc..dcf88c6171655daec1f031e41d9eb8237744bfb3 100644
27492749
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
27502750
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
27512751
@@ -90,6 +90,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -4296,7 +4296,7 @@ index 95e5773fe060bdc42847fdf56801eb4fe1494c56..1a5e3a38671602e097e1e7f00d8f80e4
42964296
profiler.pop();
42974297
this.updateActivity();
42984298
diff --git a/net/minecraft/world/entity/monster/breeze/Breeze.java b/net/minecraft/world/entity/monster/breeze/Breeze.java
4299-
index c1e995f5605748a02e2725cb7340ae4f7b1182c2..a1f6bc282a20bf69955082632f560123edf7f791 100644
4299+
index a58ad6176864c299725f5d51b3c239259f3b9c20..ec4d124b6a714d6b57d006ba70d838a35e62df75 100644
43004300
--- a/net/minecraft/world/entity/monster/breeze/Breeze.java
43014301
+++ b/net/minecraft/world/entity/monster/breeze/Breeze.java
43024302
@@ -233,6 +233,7 @@ public class Breeze extends Monster {

purpur-server/minecraft-patches/features/0002-Configurable-entity-base-attributes.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
55

66

77
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
8-
index e19911cbf8abf29f8182755d96f10507bc3d757b..7119a83b5b9811ab3ef2622f91c966741818e48f 100644
8+
index 5a14b813628c7656e2ab0497ed3e13a3bf45117b..c1f19735220eac34ce48ffa22af8af90a0735ec9 100644
99
--- a/net/minecraft/world/entity/LivingEntity.java
1010
+++ b/net/minecraft/world/entity/LivingEntity.java
1111
@@ -296,6 +296,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
@@ -955,7 +955,7 @@ index 53fc1012d46e20b623246cecae87b3feb1a0fda6..2dfcf0c9f8eb762d1683d2841a05219c
955955
this.homePos = pos;
956956
}
957957
diff --git a/net/minecraft/world/entity/animal/wolf/Wolf.java b/net/minecraft/world/entity/animal/wolf/Wolf.java
958-
index 97cd55916166ffabdfdc50a493ff1642d952001e..5605c3ecb8ffaace4b21e3bd5bd3d7714b7ea83c 100644
958+
index 59bb551c689a04486564d89b4912935acec644e2..70e04817bc1e3cfacd9a6325918e7852cae0bd43 100644
959959
--- a/net/minecraft/world/entity/animal/wolf/Wolf.java
960960
+++ b/net/minecraft/world/entity/animal/wolf/Wolf.java
961961
@@ -205,6 +205,14 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -974,7 +974,7 @@ index 97cd55916166ffabdfdc50a493ff1642d952001e..5605c3ecb8ffaace4b21e3bd5bd3d771
974974
protected void registerGoals() {
975975
this.goalSelector.addGoal(1, new FloatGoal(this));
976976
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
977-
index 366ca403757c274fadae2578772d97a903da3174..7e39604a02561880a10d4bcebcd76135f9c1a122 100644
977+
index dcf88c6171655daec1f031e41d9eb8237744bfb3..671ad18c0d18f9773ef7b868a8d1d33d574986fb 100644
978978
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
979979
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
980980
@@ -163,6 +163,13 @@ public class EnderDragon extends Mob implements Enemy {
@@ -991,7 +991,7 @@ index 366ca403757c274fadae2578772d97a903da3174..7e39604a02561880a10d4bcebcd76135
991991
public static AttributeSupplier.Builder createAttributes() {
992992
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0).add(Attributes.CAMERA_DISTANCE, 16.0);
993993
}
994-
@@ -1065,7 +1072,7 @@ public class EnderDragon extends Mob implements Enemy {
994+
@@ -1066,7 +1073,7 @@ public class EnderDragon extends Mob implements Enemy {
995995

996996
@Override
997997
protected float sanitizeScale(final float scale) {

purpur-server/minecraft-patches/features/0020-Setting-to-reintroduce-end-void-rings.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ Subject: [PATCH] Setting to reintroduce end void rings
55

66

77
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
8-
index 0d5558444e9b775c015148d79eb4b04355671cf9..ffc75fc2b04088573877b95c948f457ee2458bd7 100644
8+
index 50ac39c620aae79d9111089eb55d979d0ae3b5db..e19b4e449abd213fce902feecec3c697114f573a 100644
99
--- a/net/minecraft/server/MinecraftServer.java
1010
+++ b/net/minecraft/server/MinecraftServer.java
11-
@@ -1205,6 +1205,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
11+
@@ -1225,6 +1225,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
1212
}
1313
}
1414
// Purpur end - config for startup commands

purpur-server/minecraft-patches/sources/net/minecraft/server/MinecraftServer.java.patch

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@
1717
// Paper start - improve tick loop
1818
public final ca.spottedleaf.moonrise.common.time.TickData tickTimes1s = new ca.spottedleaf.moonrise.common.time.TickData(java.util.concurrent.TimeUnit.SECONDS.toNanos(1L));
1919
public final ca.spottedleaf.moonrise.common.time.TickData tickTimes5s = new ca.spottedleaf.moonrise.common.time.TickData(java.util.concurrent.TimeUnit.SECONDS.toNanos(5L));
20-
@@ -404,6 +_,7 @@
20+
@@ -419,6 +_,7 @@
2121
public double[] computeTPS() {
2222
final long interval = this.tickRateManager().nanosecondsPerTick();
2323
return new double[] {
2424
+ getTPS(this.tickTimes5s, interval), // Purpur - Add 5 second tps average in /tps
2525
getTPS(this.tickTimes1m, interval),
2626
getTPS(this.tickTimes5m, interval),
2727
getTPS(this.tickTimes15m, interval)
28-
@@ -925,6 +_,15 @@
28+
@@ -941,6 +_,15 @@
2929

3030
LOGGER.info("Stopping server");
3131
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -41,7 +41,7 @@
4141
// CraftBukkit start
4242
if (this.server != null) {
4343
this.server.spark.disable(); // Paper - spark
44-
@@ -1014,6 +_,8 @@
44+
@@ -1030,6 +_,8 @@
4545
this.safeShutdown(wait, false);
4646
}
4747
public void safeShutdown(final boolean wait, final boolean isRestarting) {
@@ -50,7 +50,7 @@
5050
this.isRestarting = isRestarting;
5151
this.hasLoggedStop = true; // Paper - Debugging
5252
if (this.isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
53-
@@ -1176,11 +_,21 @@
53+
@@ -1196,11 +_,21 @@
5454
}
5555
// Paper end - Add onboarding message for initial server start
5656
// Paper start - Improve outdated version checking
@@ -73,7 +73,7 @@
7373
while (this.running) {
7474
final long tickStart = System.nanoTime(); // Paper - improve tick loop
7575
long thisTickNanos; // Paper - improve tick loop - diff on change, expect this to be tick interval
76-
@@ -1194,9 +_,11 @@
76+
@@ -1214,9 +_,11 @@
7777
final long ticksBehind = Math.max(1L, this.tickSchedule.getPeriodsAhead(thisTickNanos, tickStart));
7878
final long catchup = (long)Math.max(
7979
1,
@@ -84,9 +84,9 @@
8484
+ lagging = getTPS()[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur - Lagging threshold
8585
+
8686
// adjust ticksBehind so that it is not greater-than catchup
87-
if (ticksBehind > catchup) {
87+
if (ticksBehind - catchup > 0L) {
8888
final long difference = ticksBehind - catchup;
89-
@@ -1784,7 +_,7 @@
89+
@@ -1818,7 +_,7 @@
9090
}
9191

9292
public String getServerModName() {

0 commit comments

Comments
 (0)