Updated Upstream (Paper & Pufferfish)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@990be16 Iterate over entity array copy for entity scheduler
PaperMC/Paper@3f6c4b0 Add event for player editing sign (#9300)
PaperMC/Paper@7103f81 Only tick item frames if players can see it (#9377)
PaperMC/Paper@cf0f013 Avoid duplicate death event call for armorstands (#9223)
PaperMC/Paper@8582999 Deprecate duplicate chat completion methods (#9401)
PaperMC/Paper@e4b40dd Fix entity selectors while spectating (#9402)
PaperMC/Paper@82cd69f [ci skip] Update Repo style and change project url in README (#9407)
PaperMC/Paper@2c9c5e4 Fix replenishable container entities save/load existing contents (#9417)
PaperMC/Paper@437e8da Improve command function perm level checks (#9411)
PaperMC/Paper@225c950 Hotfix double entity removal making entity scheduler retire call
PaperMC/Paper@fead63e Add option to disable NoteBlock and Tripwire updates (#9368)

Pufferfish Changes:
pufferfish-gg/Pufferfish@50f3124 Updated Upstream (Paper)
pufferfish-gg/Pufferfish@5673490 Add option to suppress null ID disconnections in logs
pufferfish-gg/Pufferfish@1e911fb Fix issue with that last patch
This commit is contained in:
granny
2023-06-30 12:36:38 -07:00
parent db86b6ea98
commit 028d47bf9f
32 changed files with 113 additions and 136 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 06f00d016f1e46edb8f4fe0c14eb8b364900c3ef..d5b3e7aa3182ea9efc7e5ab68b37da76528c7a54 100644
index 0b4f9dee48f8d49977dc9a5f104ee062ca2cbfae..82b91f7c5c853d467d64d2c7ec1c61296b4ccd4a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3117,4 +3117,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3121,4 +3121,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index d5b3e7aa3182ea9efc7e5ab68b37da76528c7a54..8dd2560b643097f1b071f8a47827b88c68481d80 100644
index 82b91f7c5c853d467d64d2c7ec1c61296b4ccd4a..c78517538d9ec1706f90e25fc20af06bc9b2679a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3125,5 +3125,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3129,5 +3129,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return True if Player uses Purpur Client
*/
public boolean usesPurpurClient();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 8dd2560b643097f1b071f8a47827b88c68481d80..e97435f6f4686f443509990ed240164362af499d 100644
index c78517538d9ec1706f90e25fc20af06bc9b2679a..4a0b01b068a32e00d1244bfabde202330218b237 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3144,5 +3144,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3148,5 +3148,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Reset the idle timer back to 0
*/
void resetIdleTimer();

View File

@@ -260,10 +260,10 @@ index 1fba792419ea6b5e8c640a2599e4b2dd16ee87d0..bf39c6602cfca70a6352519fa26059cd
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index e97435f6f4686f443509990ed240164362af499d..1596666b4db8b1a88ab722685360b91388d1817e 100644
index 4a0b01b068a32e00d1244bfabde202330218b237..3dd1cde47e7d3ed0cb5b6c06c071a827b4175359 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3165,5 +3165,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3169,5 +3169,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param invulnerableTicks Invulnerable ticks remaining
*/
void setSpawnInvulnerableTicks(int invulnerableTicks);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 1596666b4db8b1a88ab722685360b91388d1817e..c6a8068fc9c2a2b9b53363578c2c57abc4f8abb2 100644
index 3dd1cde47e7d3ed0cb5b6c06c071a827b4175359..5b0035bf5edf15a5ee4528d0933f78d9d586fa2f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3235,5 +3235,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3239,5 +3239,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Clears all debug block highlights
*/
void clearBlockHighlights();

View File

@@ -616,10 +616,10 @@ index 0000000000000000000000000000000000000000..020368da69b9a492155f6de6297f7473
+}
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..0dd3374468e05f7a312ba5856b9cf8a4787dfa59
index 0000000000000000000000000000000000000000..95d1a8a5b349f7849c040026bfa3469d03d92bfd
--- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
@@ -0,0 +1,293 @@
@@ -0,0 +1,295 @@
+package gg.pufferfish.pufferfish;
+
+import gg.pufferfish.pufferfish.simd.SIMDDetection;
@@ -906,9 +906,11 @@ index 0000000000000000000000000000000000000000..0dd3374468e05f7a312ba5856b9cf8a4
+
+ public static boolean disableMethodProfiler;
+ public static boolean disableOutOfOrderChat;
+ public static boolean suppressNullIdDisconnections;
+ private static void miscSettings() {
+ disableMethodProfiler = getBoolean("misc.disable-method-profiler", true);
+ disableOutOfOrderChat = getBoolean("misc.disable-out-of-order-chat", false);
+ suppressNullIdDisconnections = getBoolean("misc.suppress-null-id-disconnections", false);
+ setComment("misc", "Settings for things that don't belong elsewhere");
+ }
+
@@ -1467,7 +1469,7 @@ index 2d11a67bdc82088abf0b3ca134f352f155c8eb1f..8bd24c8eef3169a765d42a6769034460
public static long getCoordinateKey(final ChunkPos pair) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 912affb0ab1c4c40f7a655194e95ec6f0ebf1fcd..7f391d66796952e8af6b29b71cf3a91641aeacea 100644
index 3238cbcba567b1242c77e41f6b6f19a8d157fb4e..7ca6c81afc99d42d2f39b4b6d7f5e8a18b58fba3 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -311,6 +311,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1479,7 +1481,7 @@ index 912affb0ab1c4c40f7a655194e95ec6f0ebf1fcd..7f391d66796952e8af6b29b71cf3a916
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
AtomicReference<S> atomicreference = new AtomicReference();
@@ -1691,7 +1693,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1693,7 +1695,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@@ -1488,7 +1490,7 @@ index 912affb0ab1c4c40f7a655194e95ec6f0ebf1fcd..7f391d66796952e8af6b29b71cf3a916
}
public SystemReport fillSystemReport(SystemReport details) {
@@ -2270,6 +2272,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2272,6 +2274,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
@@ -1666,18 +1668,9 @@ index 488a253e218409b5f0b4a872cee0928578fa7582..6e3b2863f04419ee6914ac3fd4f12a4f
private void getFullChunk(long pos, Consumer<LevelChunk> chunkConsumer) {
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 6670e657e08e130f7e0368f418379fd1ece00cdf..4c5f90fdb534d8aeb7dd077a13b1ebed016e4947 100644
index acaf9f392660d618472aea7bce967d374eb5d549..4c5f90fdb534d8aeb7dd077a13b1ebed016e4947 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -108,7 +108,7 @@ public class ServerEntity {
Entity entity = this.entity;
- if (entity instanceof ItemFrame) {
+ if (!this.trackedPlayers.isEmpty() && entity instanceof ItemFrame) { // Paper - Only tick item frames if players can see it
ItemFrame entityitemframe = (ItemFrame) entity;
if (true || this.tickCount % 10 == 0) { // CraftBukkit - Moved below, should always enter this block
@@ -180,7 +180,8 @@ public class ServerEntity {
long i1 = this.positionCodec.encodeZ(vec3d);
boolean flag6 = k < -32768L || k > 32767L || l < -32768L || l > 32767L || i1 < -32768L || i1 > 32767L;
@@ -1817,6 +1810,18 @@ index 2a609e43370e68943c580083f7f7d8c9b0972955..309a3e42ec48a1a7684b62ea372bfa98
Instant instant1;
do {
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 2ff578e4a953ffcf5176815ba8e3f06f73499989..878001928327d92423d5f7f6d5ce8772d6fa477f 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -204,6 +204,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
@Override
public void onDisconnect(Component reason) {
+ if (gg.pufferfish.pufferfish.PufferfishConfig.suppressNullIdDisconnections && this.gameProfile != null && this.gameProfile.getId() == null && "Disconnected".equals(reason.getString())) return; // Pufferfish
ServerLoginPacketListenerImpl.LOGGER.info("{} lost connection: {}", this.getUserName(), reason.getString());
}
diff --git a/src/main/java/net/minecraft/world/CompoundContainer.java b/src/main/java/net/minecraft/world/CompoundContainer.java
index 241fec02e6869c638d3a160819b32173a081467b..6a8f9e8f5bf108674c47018def28906e2d0a729c 100644
--- a/src/main/java/net/minecraft/world/CompoundContainer.java
@@ -1930,7 +1935,7 @@ index 04b1531572e8fff1e46fe1c94e7fc863841e0f66..47ddc42f2b63d9d3fae5ae6ea93d4183
int LARGE_MAX_STACK_SIZE = 64;
int DEFAULT_DISTANCE_LIMIT = 8;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 513c34aa02d63f7e3c178eade818e156af4541db..1aa184cf7a97364d7b9e4d628c0a6c1dc769ba6e 100644
index 6abaf7ef99800a238b29dbbb85de8c970c0806a7..e4beab69b116874baf29cfbbad6b9cd102ad92c4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -177,7 +177,7 @@ index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438
stringbuilder.append(CrashReport.getErrorComment());
stringbuilder.append("\n\n");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7f391d66796952e8af6b29b71cf3a91641aeacea..7d66cdd30b85b457083220ac3ed05cac605cb959 100644
index 7ca6c81afc99d42d2f39b4b6d7f5e8a18b58fba3..34737c730d724d4be67d480587a17792fd3a11f0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -923,7 +923,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -189,7 +189,7 @@ index 7f391d66796952e8af6b29b71cf3a91641aeacea..7d66cdd30b85b457083220ac3ed05cac
while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop();
try {
@@ -1693,7 +1693,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1695,7 +1695,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@@ -37,10 +37,10 @@ index 692c962193cf9fcc6801fc93f3220bdc673d527b..8cde30544e14f8fc2dac32966ae3c21f
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
Map<String, Map<String, Integer>> map = new HashMap<>();
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index 22884a2b148b9a5af8655bb754ebe73618218a83..4d9a796422ab595acc8b0158cf9dcd5b1d0c9a75 100644
index 0de2eae2d448ac9e269a4edf48406d5ea8af8059..f03fd95412883a3a5bbe2b91c603874bf147e6cb 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
@@ -330,6 +330,30 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
@@ -336,6 +336,30 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
}
}

View File

@@ -22,10 +22,10 @@ index 83cab746d1d6fe25c043c8aee28c39412b90c127..ec6b58dae525c81bbb1c0e2d96fbded6
super(x, y, z);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7d66cdd30b85b457083220ac3ed05cac605cb959..1b07b0834834ac532636ba2cd151ab153fcd2b5e 100644
index 34737c730d724d4be67d480587a17792fd3a11f0..da825e7667032cb656585367bf4b96bc18f57aa6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1538,6 +1538,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1540,6 +1540,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
@@ -46,7 +46,7 @@ index dbb59969cf55eda997588f4c3ef7dc899ea619bb..4c3b5a26a6b04afff3a707929ced3c62
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr);
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 41698264b3155f20f7a7d473a43aa2dab7ca61bb..77c38ea427dac0176941f8bc26ebe540c0dd4c02 100644
index a0577dcae567230c12b52ed02072745513c7a4d5..23235b98907ff26afb22d37326b072ba56728ddd 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -751,6 +751,15 @@ public class ServerPlayer extends Player {
@@ -79,7 +79,7 @@ index 9c5a1d58acd782658a5239b324806e0ca2f969e3..3c1afd3fc37ad0540beb07798f8ecf0c
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 4096eb61cbc70679ba15215c725b3262f428c03d..18f8fdc2ab2c27efcf01be3869072159e91ade4d 100644
index 3caebf722bf8ebadf49da7c36170e245600ea7b5..25c190ac148ccc37904346cca859ba10f17c878c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -376,7 +376,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -120,7 +120,7 @@ index 4096eb61cbc70679ba15215c725b3262f428c03d..18f8fdc2ab2c27efcf01be3869072159
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of();
} else {
@@ -4905,4 +4920,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -4906,4 +4921,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
}
// Paper end
@@ -5226,7 +5226,7 @@ index fc0dc8e607cc24020106ea1af92b4421a5f9393d..7d744d5b6a9e593e657233b2192f2837
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 621b6a1cacb17fff578855cf2dab8142a5f321ed..420ba2f8adcf15a32598c39c88439a4bd55c89fc 100644
index c1583340ecaedab0af44501213b2d24f8ad71e0c..58d4b678daa94d3f5da0589b41129ca8a3c7f851 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -560,6 +560,15 @@ public class CraftEventFactory {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1b07b0834834ac532636ba2cd151ab153fcd2b5e..a2b85017236f95b97d5d8017b0ff52db7537f090 100644
index da825e7667032cb656585367bf4b96bc18f57aa6..80c085498d9b61bae2e06df873c1ad66cc7d8ae5 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1694,7 +1694,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1696,7 +1696,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to set armorstand step height
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index f54290965187661ac5ba5cc8fe90e873e71fe66d..000cd8cfab7b298feaf6cf00b29f5e65b0c7a2bd 100644
index edada4644b22c00b62402558712f84ec7503548d..1024334860d70ab10b4774daed003a4c0a9db1eb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -334,7 +334,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -18,10 +18,10 @@ index f54290965187661ac5ba5cc8fe90e873e71fe66d..000cd8cfab7b298feaf6cf00b29f5e65
protected final RandomSource random;
public int tickCount;
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 8a8b9e8983be1acad66ad875c901be5bbdeabb1f..09912c11bad7dc639b8afe8b0041a5fbc3189d7f 100644
index 5c6e060a54ffb13c37ff5711992e964bdd59643d..5524a69952130ec38e151509ba7733459146d1b0 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -679,6 +679,7 @@ public class ArmorStand extends LivingEntity {
@@ -682,6 +682,7 @@ public class ArmorStand extends LivingEntity {
@Override
public void tick() {

View File

@@ -98,46 +98,18 @@ index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..b456cb8efd8f0be8a6860c82462ce9bd
}
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/NoteBlock.java b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
index 910864cfeac085648e6c671b0f9480417324d36e..6bc29eeb5771a3dc9aa23c7d184c895717797b36 100644
--- a/src/main/java/net/minecraft/world/level/block/NoteBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
@@ -58,11 +58,13 @@ public class NoteBlock extends Block {
@Override
public BlockState getStateForPlacement(BlockPlaceContext ctx) {
+ if (org.purpurmc.purpur.PurpurConfig.disableNoteBlockUpdates) return this.defaultBlockState(); // Purpur
return this.setInstrument(ctx.getLevel(), ctx.getClickedPos(), this.defaultBlockState());
}
@Override
public BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
+ if (org.purpurmc.purpur.PurpurConfig.disableNoteBlockUpdates) return state; // Purpur
boolean flag = direction.getAxis() == Direction.Axis.Y;
return flag ? this.setInstrument(world, pos, state) : super.updateShape(state, direction, neighborState, world, pos, neighborPos);
@@ -78,6 +80,7 @@ public class NoteBlock extends Block {
state = world.getBlockState(pos); // CraftBukkit - SPIGOT-5617: update in case changed in event
}
+ if (!org.purpurmc.purpur.PurpurConfig.disableNoteBlockUpdates) // Purpur
world.setBlock(pos, (BlockState) state.setValue(NoteBlock.POWERED, flag1), 3);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 8575753af39d19e485f915e3e12e377c325b4751..e829e215d1fe80cdaf9162268011912081f4c5ee 100644
index 8575753af39d19e485f915e3e12e377c325b4751..17270d303cc41822ca4073ea0bb23c05b0409121 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -249,6 +249,15 @@ public class PurpurConfig {
@@ -249,6 +249,13 @@ public class PurpurConfig {
allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd);
}
+ public static boolean disableMushroomBlockUpdates = false;
+ public static boolean disableNoteBlockUpdates = false;
+ public static boolean disableChorusPlantUpdates = false;
+ private static void blockUpdatesSettings() {
+ disableMushroomBlockUpdates = getBoolean("settings.blocks.disable-mushroom-updates", disableMushroomBlockUpdates);
+ disableNoteBlockUpdates = getBoolean("settings.blocks.disable-note-block-updates", disableNoteBlockUpdates);
+ disableChorusPlantUpdates = getBoolean("settings.blocks.disable-chorus-plant-updates", disableChorusPlantUpdates);
+ }
+

View File

@@ -18,10 +18,10 @@ index 9ec6145fe04ec64bbee8ec6a837719caebdbc6f5..358d610ad020cada1bb83e393deeeaae
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6e37a7b628466397b6b29b507f7aff555a2063b2..33db30876d45adabec7e3535ddb688659eee8d6e 100644
index 977dd212701e981a92b6c72f31fdc590ff38633f..883619fc309917d0094905f91c400e4e8a8722b2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1531,7 +1531,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1533,7 +1533,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = level.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : level.players()) {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Apply display names from item forms of entities to entities
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 09912c11bad7dc639b8afe8b0041a5fbc3189d7f..9eb196ee4061bb4c5713f33e8b16d91ec52711cd 100644
index 5524a69952130ec38e151509ba7733459146d1b0..76222084727c269d376d0df5702204c0bdf59d81 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -603,7 +603,7 @@ public class ArmorStand extends LivingEntity {
@@ -606,7 +606,7 @@ public class ArmorStand extends LivingEntity {
private org.bukkit.event.entity.EntityDeathEvent brokenByPlayer(DamageSource damageSource) { // Paper
ItemStack itemstack = new ItemStack(Items.ARMOR_STAND);

View File

@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 625cee30e80123d502851bbfb30c89903c2d0fbb..5aaf8ffac3695f090b739d3f05847a37b58140b5 100644
index cc9b15d907b2035cd12de7fcc7f9f5317a7eac17..d31fd0ab9d0d206ba3628d6671686007e2ae4f59 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1875,7 +1875,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -30,7 +30,7 @@ index 625cee30e80123d502851bbfb30c89903c2d0fbb..5aaf8ffac3695f090b739d3f05847a37
if (entity instanceof Boat) {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 9eb196ee4061bb4c5713f33e8b16d91ec52711cd..ffb3ae1d36dda5f521cf3b292d819cb354844806 100644
index 76222084727c269d376d0df5702204c0bdf59d81..b48a3d318a14889c68a1de5c1997b1090aab4029 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -99,10 +99,12 @@ public class ArmorStand extends LivingEntity {
@@ -46,7 +46,7 @@ index 9eb196ee4061bb4c5713f33e8b16d91ec52711cd..ffb3ae1d36dda5f521cf3b292d819cb3
this.handItems = NonNullList.withSize(2, ItemStack.EMPTY);
this.armorItems = NonNullList.withSize(4, ItemStack.EMPTY);
this.headPose = ArmorStand.DEFAULT_HEAD_POSE;
@@ -1006,4 +1008,18 @@ public class ArmorStand extends LivingEntity {
@@ -1017,4 +1019,18 @@ public class ArmorStand extends LivingEntity {
}
// Paper end
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Gamemode extra permissions
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index 4d9a796422ab595acc8b0158cf9dcd5b1d0c9a75..5737fe8c23b46b37cea86524613dd3c32f4ca9cf 100644
index f03fd95412883a3a5bbe2b91c603874bf147e6cb..431ad4151023a9fc8549fbd485018457b7efa2e0 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
@@ -221,6 +221,21 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
@@ -227,6 +227,21 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
}
// CraftBukkit end
@@ -75,7 +75,7 @@ index 55695044da8363c8da040d922fa033c917f341d0..0617b9e067ce6a42209e1c4735b7a491
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands);
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 606b5842888a0089103a36367664533fbfedd8f9..dd741a961e3cfdbe81aa087ef983d1fb4dc94cc2 100644
index 3fd5c979e8f416146b2649a52076cca1f62694e3..afae2931a7371037d192135b0d279e756640056f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -233,6 +233,7 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for unverified username message
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 2ff578e4a953ffcf5176815ba8e3f06f73499989..af3ef12851cbfca13ad3316214bd53f2359e2078 100644
index 878001928327d92423d5f7f6d5ce8772d6fa477f..b4b88a3d4dc66c44ca8f3bad1025c17a9993ac1d 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -339,7 +339,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
@@ -340,7 +340,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
ServerLoginPacketListenerImpl.this.gameProfile = gameprofile;
ServerLoginPacketListenerImpl.this.state = ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT;
} else {
@@ -18,7 +18,7 @@ index 2ff578e4a953ffcf5176815ba8e3f06f73499989..af3ef12851cbfca13ad3316214bd53f2
}
} catch (AuthenticationUnavailableException authenticationunavailableexception) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index f3ddb65684a2cf7776c6e0137cb7acc7f36eb493..3e3a1e859e78d295388706d175dded5dbc41336e 100644
index 3a328537042c3db3cb540b3d0c07a4ea1053f22d..968655055d534f35169dea50d540245e1b1c37cc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -184,6 +184,7 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ee822fadef35f45effa08c552b35a274599f11ce..922373558de4ee1492335711c07494a59227b626 100644
index 7d3ef7134a30a646f17978aee2b61a11e14b53b6..7746e968094f3238b8cb76062ae40a8b0363c5b9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -309,6 +309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -67,10 +67,10 @@ index 012c990efb2647b0a3e983b23fed98c6e3f2224b..62c437f5618032b78d1b68c5c2490d4d
// CraftBukkit start
// this.setPlayerList(new DedicatedPlayerList(this, this.registries(), this.playerDataStorage)); // Spigot - moved up
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index ec519c0e6388eac27f9eb6fcd85713763206d71e..1c277fca191df2ed3cc397ec247a7d785d97a894 100644
index 1c84ec21bcd7b121a0107294a3c781c6b6cabeaa..4822aa7c084fd975759a3e0395e17b4e381c6404 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -424,4 +424,9 @@ public class PurpurConfig {
@@ -422,4 +422,9 @@ public class PurpurConfig {
private static void tpsCatchup() {
tpsCatchup = getBoolean("settings.tps-catchup", tpsCatchup);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable valid characters for usernames
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index af3ef12851cbfca13ad3316214bd53f2359e2078..f719f8aafe7c75e2ef8fcb05f556a8d6bd94b9a0 100644
index b4b88a3d4dc66c44ca8f3bad1025c17a9993ac1d..01d5fa265fb2818465b5a71a2e2efeec751a7a05 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -220,6 +220,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
@@ -221,6 +221,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
return false;
}
@@ -18,10 +18,10 @@ index af3ef12851cbfca13ad3316214bd53f2359e2078..f719f8aafe7c75e2ef8fcb05f556a8d6
char c = in.charAt(i);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 7467d3738b1159323606f08e7086dba653063211..1429ff6e89efd58a618c1b1bbeea567466f5f397 100644
index c85e7c7f672508f4ca8152e6823b715e64802d51..1b5f88da5c2a8702c268bee9691f4f5c92d5aeaa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -457,4 +457,11 @@ public class PurpurConfig {
@@ -455,4 +455,11 @@ public class PurpurConfig {
private static void networkSettings() {
useUPnP = getBoolean("settings.network.upnp-port-forwarding", useUPnP);
}

View File

@@ -69,10 +69,10 @@ index 31f5ed9dd1727eee24804a384817d2b76a45676b..5fbb13ebef0ca66419f3e5006d19e4a5
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index eb5747485a43bc5c5574cfc539bdc98bee045e9f..a64cd03bd7b7855330eedfd37f7528e0b61107bc 100644
index fb029141ff0b12ca21d49769dc3a890787b630e9..81d672b7f3cdae0f887fb978327573285f326e8e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -466,4 +466,56 @@ public class PurpurConfig {
@@ -464,4 +464,56 @@ public class PurpurConfig {
String setPattern = getString("settings.username-valid-characters", defaultPattern);
usernameValidCharactersPattern = java.util.regex.Pattern.compile(setPattern == null || setPattern.isBlank() ? defaultPattern : setPattern);
}

View File

@@ -31,10 +31,10 @@ index cf20f0983fc25b26cf92b9d3a28746b1909fc56b..89c1b69ddeb420c2fbda5f588e7c9a46
}
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index a64cd03bd7b7855330eedfd37f7528e0b61107bc..3db04bc9611a76b939758ebaac8596e05860f365 100644
index 81d672b7f3cdae0f887fb978327573285f326e8e..97e9621b52a6620b1768807c3352d2ef0d2f29a8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -456,8 +456,10 @@ public class PurpurConfig {
@@ -454,8 +454,10 @@ public class PurpurConfig {
}
public static boolean useUPnP = false;

View File

@@ -18,10 +18,10 @@ index 8fd95b7986a63e4b784c0c361687d05a9f648a13..24c93583ce1c0b58e434345974c9fd02
} while (!this.lastChatTimeStamp.compareAndSet(instant1, timestamp));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 15ed564a579237dd1f5d6ce56ccb473f038a8c13..9e87afb01e569e6d5c2846b931440c4ce395adae 100644
index 7de15635c9b63215771e75ee4840b99a7afbf731..b6128702e5d1f6633824cd1a2edfc8f9b477e8ea 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -461,9 +461,11 @@ public class PurpurConfig {
@@ -459,9 +459,11 @@ public class PurpurConfig {
public static boolean useUPnP = false;
public static boolean maxJoinsPerSecond = false;

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Allow custom ChatDecorators
Requires NMS to utilize. I'll write an API for this once our upstreams calm down with the changes.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cb579a3167518e96e40ba0203f85aad10064e8d5..b6abc36cd0209ebdd6deb233bbe7b16dd139c91b 100644
index 11bb87a0800e6d1f36be55b91869794e5eef2cd3..8e2c4828b205ca203d8cff21445f53365bb4650a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2670,6 +2670,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2672,6 +2672,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
new com.google.common.util.concurrent.ThreadFactoryBuilder().setDaemon(true).setNameFormat("Async Chat Thread - #%d").setUncaughtExceptionHandler(new net.minecraft.DefaultUncaughtExceptionHandlerWithName(net.minecraft.server.MinecraftServer.LOGGER)).build()); // Paper
public ChatDecorator getChatDecorator() {

View File

@@ -56,7 +56,7 @@ index d2f0a0755317f5fa9a1ccf7db346aa77fd287d80..03852e7d21d9470a4469676367463fef
} catch (Exception exception) {
if (listener.shouldPropagateHandlingExceptions()) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b6abc36cd0209ebdd6deb233bbe7b16dd139c91b..3a8eeacc042f5af41c6c87169a50009b72045150 100644
index 8e2c4828b205ca203d8cff21445f53365bb4650a..770deb3363282b93508fd9a6365fb5a79dc811be 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -314,7 +314,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -119,8 +119,8 @@ index b6abc36cd0209ebdd6deb233bbe7b16dd139c91b..3a8eeacc042f5af41c6c87169a50009b
+ //MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper // Purpur
// Paper start - Folia scheduler API
((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
getAllLevels().forEach(level -> level.getAllEntities().forEach(entity -> {
@@ -1520,21 +1520,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
getAllLevels().forEach(level -> {
@@ -1522,21 +1522,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
this.profiler.push("commandFunctions");
@@ -147,7 +147,7 @@ index b6abc36cd0209ebdd6deb233bbe7b16dd139c91b..3a8eeacc042f5af41c6c87169a50009b
// Send time updates to everyone, it will get the right time from the world the player is in.
// Paper start - optimize time updates
for (final ServerLevel level : this.getAllLevels()) {
@@ -1554,7 +1554,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1556,7 +1556,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
// Paper end
@@ -156,7 +156,7 @@ index b6abc36cd0209ebdd6deb233bbe7b16dd139c91b..3a8eeacc042f5af41c6c87169a50009b
this.isIteratingOverLevels = true; // Paper
Iterator iterator = this.getAllLevels().iterator(); // Paper - move down
@@ -1579,14 +1579,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1581,14 +1581,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.push("tick");
try {
@@ -173,7 +173,7 @@ index b6abc36cd0209ebdd6deb233bbe7b16dd139c91b..3a8eeacc042f5af41c6c87169a50009b
} catch (Throwable throwable) {
// Spigot Start
CrashReport crashreport;
@@ -1609,24 +1609,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1611,24 +1611,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isIteratingOverLevels = false; // Paper
this.profiler.popPush("connection");
@@ -204,7 +204,7 @@ index b6abc36cd0209ebdd6deb233bbe7b16dd139c91b..3a8eeacc042f5af41c6c87169a50009b
this.profiler.pop();
}
@@ -2813,7 +2813,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2815,7 +2815,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return;
}
@@ -213,7 +213,7 @@ index b6abc36cd0209ebdd6deb233bbe7b16dd139c91b..3a8eeacc042f5af41c6c87169a50009b
try {
for (;;) {
boolean moreTasks = this.tickMidTickTasks();
@@ -2840,7 +2840,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2842,7 +2842,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
} finally {

View File

@@ -39,7 +39,7 @@ index 5f6cc8b16af6dce3b74f0c2c662b0ecf84ae8d36..52b06c34d9d3ffb8844556e7b0eaed5a
return b0;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed043e9c2940 100644
index 770deb3363282b93508fd9a6365fb5a79dc811be..5e4486c4b273b26afb82a97f914358b6a6c18229 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -341,13 +341,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -154,8 +154,8 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
org.spigotmc.WatchdogThread.tick(); // Spigot
//co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
}
@@ -1519,11 +1519,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}));
@@ -1521,11 +1521,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
});
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
- this.profiler.push("commandFunctions");
@@ -168,7 +168,7 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
//Iterator iterator = this.getAllLevels().iterator(); // Paper - moved down
// CraftBukkit start
@@ -1565,18 +1565,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1567,18 +1567,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
@@ -192,7 +192,7 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1602,17 +1602,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1604,17 +1604,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport);
}
@@ -214,7 +214,7 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick();
//MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -1620,7 +1620,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1622,7 +1622,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick();
}
@@ -223,7 +223,7 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) {
@@ -1628,7 +1628,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1630,7 +1630,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -232,7 +232,7 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
}
private void synchronizeTime(ServerLevel world) {
@@ -1636,7 +1636,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1638,7 +1638,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void forceTimeSynchronization() {
@@ -241,7 +241,7 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) {
@@ -1645,7 +1645,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1647,7 +1647,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver);
}
@@ -250,7 +250,7 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
}
public boolean isNetherEnabled() {
@@ -2298,7 +2298,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2300,7 +2300,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
@@ -259,7 +259,7 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
return this.profiler;
}
@@ -2538,7 +2538,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2540,7 +2540,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end
private void startMetricsRecordingTick() {
@@ -268,7 +268,7 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
this.metricsRecorder = ActiveMetricsRecorder.createStarted(new ServerMetricsSamplersProvider(Util.timeSource, this.isDedicatedServer()), Util.timeSource, Util.ioPool(), new MetricsPersister("server"), this.onMetricsRecordingStopped, (path) -> {
this.executeBlocking(() -> {
this.saveDebugReport(path.resolve("server"));
@@ -2548,40 +2548,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2550,40 +2550,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false;
}
@@ -321,7 +321,7 @@ index 3a8eeacc042f5af41c6c87169a50009b72045150..b1bbe7bb30ae786ea09ef0e9d949ed04
}
public Path getWorldPath(LevelResource worldSavePath) {
@@ -2630,15 +2630,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2632,15 +2632,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public boolean isTimeProfilerRunning() {
@@ -1045,7 +1045,7 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47
};
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index d8d847e08bb94880171ea495e3344afc3d0558d6..f88f85f0697d8251d4565e3e41928e5bfe6ef68f 100644
index 6234c23572fd3b4bd0dbd0991d7e6904c54809ff..86eead008cc45e3603021de79dfa48bb865a332a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -438,7 +438,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -36,10 +36,10 @@ index 9938bb90bef84cf784f9a1ceb02a1a45aa8b48a1..1f4b64a5f812376c499c98cb4be62469
this.writeId(BuiltInRegistries.ITEM, item);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b1bbe7bb30ae786ea09ef0e9d949ed043e9c2940..1143e2e76ef896ecf54fa0296c66815b6f856740 100644
index 5e4486c4b273b26afb82a97f914358b6a6c18229..6afdf37406d7dae04a7fec94e0c39d5136521730 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1557,6 +1557,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1559,6 +1559,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper // Purpur
this.isIteratingOverLevels = true; // Paper
@@ -65,10 +65,10 @@ index 8aae0eed53b2c4a2f64884876eaf2ad59fc2249b..754063cc43d8adca0f70d76d8a75ec82
boolean flag1 = packet.getSlotNum() >= 1 && packet.getSlotNum() <= 45;
boolean flag2 = itemstack.isEmpty() || itemstack.getDamageValue() >= 0 && itemstack.getCount() <= 64 && !itemstack.isEmpty();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 4142820c3053d77d4ae7186fec968d624f893056..7a02cecaaef511c0db4708a1ce9eb885c1cfe028 100644
index 14d7a9eca55160290644bbf840665a94441ca4b4..ef338c778a483355ff59d1f36ce2ccb85b93ae93 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -549,4 +549,9 @@ public class PurpurConfig {
@@ -547,4 +547,9 @@ public class PurpurConfig {
}
});
}

View File

@@ -104,10 +104,10 @@ index 31918fa2eb38e42a5ea5366e559f25ea9d7d59ae..15d8e9261a89da30529ac347462c5209
if (context.hasParam(LootContextParams.LOOTING_MOD)) {
i = context.getParamOrNull(LootContextParams.LOOTING_MOD);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 7a02cecaaef511c0db4708a1ce9eb885c1cfe028..af875d966081b6e9f0d6a2680cff7f843c8dea05 100644
index ef338c778a483355ff59d1f36ce2ccb85b93ae93..736768330a0c45051a20a039d4de35cb260e7611 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -554,4 +554,9 @@ public class PurpurConfig {
@@ -552,4 +552,9 @@ public class PurpurConfig {
private static void fixNetworkSerializedCreativeItems() {
fixNetworkSerializedItemsInCreative = getBoolean("settings.fix-network-serialized-items-in-creative", fixNetworkSerializedItemsInCreative);
}

View File

@@ -44,10 +44,10 @@ index ec6c63075306f9e5389e83641d2c8a82369ddc6b..0f16deddd8cbb506ef7886f57ae640a4
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index af875d966081b6e9f0d6a2680cff7f843c8dea05..8972bbbaca23f771fb5e10ee4099a420a0ec3ccd 100644
index 736768330a0c45051a20a039d4de35cb260e7611..a3ffc1b8bd8f471c088d1d8256d67a6e2048b065 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -559,4 +559,19 @@ public class PurpurConfig {
@@ -557,4 +557,19 @@ public class PurpurConfig {
private static void fixProjectileLootingTransfer() {
fixProjectileLootingTransfer = getBoolean("settings.fix-projectile-looting-transfer", fixProjectileLootingTransfer);
}

View File

@@ -54,10 +54,10 @@ index cfbe1dae76db76cf54a4f5d72aca72d5e893859e..74cb10230d459ac9f300a9d59af504d2
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 8972bbbaca23f771fb5e10ee4099a420a0ec3ccd..290a66b51dc6b86b006b577754d1030def288cf7 100644
index a3ffc1b8bd8f471c088d1d8256d67a6e2048b065..ac85d0b2a836d44ebadd50b3c80de95a85ff7f61 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -574,4 +574,50 @@ public class PurpurConfig {
@@ -572,4 +572,50 @@ public class PurpurConfig {
block.explosionResistance = blastResistance.floatValue();
});
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add log suppression for LibraryLoader
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 290a66b51dc6b86b006b577754d1030def288cf7..c3878aed434bdf490cbaf45064fa5a6c5814476f 100644
index ac85d0b2a836d44ebadd50b3c80de95a85ff7f61..96d21b8600b31b955dcc47823688425a5b1ec624 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -470,11 +470,14 @@ public class PurpurConfig {
@@ -468,11 +468,14 @@ public class PurpurConfig {
public static boolean loggerSuppressIgnoredAdvancementWarnings = false;
public static boolean loggerSuppressUnrecognizedRecipeErrors = false;
public static boolean loggerSuppressSetBlockFarChunk = false;

View File

@@ -36,10 +36,10 @@ index f0703302e7dbbda88de8c648d20d87c55ed9b1e0..a913ebabaa5f443afa987b972355a8f8
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index c3878aed434bdf490cbaf45064fa5a6c5814476f..06fa43b469aea15dc64ce1866d08843327a34965 100644
index 96d21b8600b31b955dcc47823688425a5b1ec624..b974b59d421cf97bc9547ea75fe4643d89639bc1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -563,6 +563,16 @@ public class PurpurConfig {
@@ -561,6 +561,16 @@ public class PurpurConfig {
fixProjectileLootingTransfer = getBoolean("settings.fix-projectile-looting-transfer", fixProjectileLootingTransfer);
}