Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@bcf52fe Delete some old patches
PaperMC/Paper@348c855 Readd last API patch (with TODO)
PaperMC/Paper@b630564 More patches
PaperMC/Paper@3cb16c9 Add back per player mob spawning
PaperMC/Paper@fe7b741 Another one
PaperMC/Paper@12ed021 Update material tags and entity effect
PaperMC/Paper@02bca1e Remove timings impl
PaperMC/Paper@4d87302 Fix NPE and StackOverflowError for dispensers
PaperMC/Paper@f8f230a Remove unnecessary AT
PaperMC/Paper@29bf7be Fix unused parameter in PlayerList#remove
PaperMC/Paper@9e35192 Execute spark tasks during tick sleep (#11525)
PaperMC/Paper@e35f199 Use declaration order for state holder property iteration
PaperMC/Paper@6288adb Remove leftover missed timings calls (#11527)
This commit is contained in:
granny
2024-10-28 00:04:05 -07:00
parent 10cf69623e
commit 89e388c3a2
109 changed files with 427 additions and 1177 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 20750c09d819d62f32491db8672936b929e1098e..959d6ec728ac6cb4d0b8e31056ab3a417c684a92 100644
index 6246251caf2c6f025c824b8e7a944b8d48751fa1..5dc0529a49d67e6f3ebb89edb3b5798b2bc5fb49 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2214,6 +2214,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2265,6 +2265,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
}
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 2d466b308b2f8bd31c50f5d05416eadf20c9cb71..1f60816b6cd7a7bde13a49a0440ece2eb531fcd0 100644
index e20e4239a5a1f952e1c70e899549989d5e42f73c..f34df50f0e3ab8b986354476037c22fa953141c2 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2869,4 +2869,15 @@ public final class Bukkit {
@@ -2921,4 +2921,15 @@ public final class Bukkit {
public static Server.Spigot spigot() {
return server.spigot();
}
@@ -25,10 +25,10 @@ index 2d466b308b2f8bd31c50f5d05416eadf20c9cb71..1f60816b6cd7a7bde13a49a0440ece2e
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 959d6ec728ac6cb4d0b8e31056ab3a417c684a92..a300a50fc32497d9a33e3caa8142fb1f52d71afc 100644
index 5dc0529a49d67e6f3ebb89edb3b5798b2bc5fb49..f1aa030319ed85607d74a80519f2eadde508ae46 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2515,4 +2515,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2566,4 +2566,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
boolean isOwnedByCurrentRegion(@NotNull Entity entity);
// Paper end - Folia region threading API

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 1f60816b6cd7a7bde13a49a0440ece2eb531fcd0..5fe1896c9d8c5848b1ba1220e52cbe4cfae75603 100644
index f34df50f0e3ab8b986354476037c22fa953141c2..8613a8c752d1e38e53582462c7b1fd137f2093b2 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2879,5 +2879,14 @@ public final class Bukkit {
@@ -2931,5 +2931,14 @@ public final class Bukkit {
public static String getServerName() {
return server.getServerName();
}
@@ -24,10 +24,10 @@ index 1f60816b6cd7a7bde13a49a0440ece2eb531fcd0..5fe1896c9d8c5848b1ba1220e52cbe4c
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index a300a50fc32497d9a33e3caa8142fb1f52d71afc..7bef0845de3a3e51b375df735520ac8cc0f08636 100644
index f1aa030319ed85607d74a80519f2eadde508ae46..ce85e1fd5ae1403a043d9482b3ed4b8cce5baff9 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2523,5 +2523,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2574,5 +2574,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
String getServerName();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Added the ability to add combustible items
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 5fe1896c9d8c5848b1ba1220e52cbe4cfae75603..676cddfc8ae317ed750701af06964a22a0c03e10 100644
index 8613a8c752d1e38e53582462c7b1fd137f2093b2..b08482b4e9f5d62882512eada787e876c4c21746 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2888,5 +2888,24 @@ public final class Bukkit {
@@ -2940,5 +2940,24 @@ public final class Bukkit {
public static boolean isLagging() {
return server.isLagging();
}
@@ -34,10 +34,10 @@ index 5fe1896c9d8c5848b1ba1220e52cbe4cfae75603..676cddfc8ae317ed750701af06964a22
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 7bef0845de3a3e51b375df735520ac8cc0f08636..dd90bdfdf82073f87a9dfda92f743b6682d4a1b8 100644
index ce85e1fd5ae1403a043d9482b3ed4b8cce5baff9..5c0dbd534aaab560a4f327f48e1359de0bf7d3c9 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2530,5 +2530,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2581,5 +2581,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return True if lagging
*/
boolean isLagging();

View File

@@ -71,7 +71,7 @@ index 4195efcfe044618052bb03dea34a4fb2ca7c44f0..8709c955bac34bc546a8e022cfac808b
void close();
}
diff --git a/src/main/java/co/aikar/timings/Timings.java b/src/main/java/co/aikar/timings/Timings.java
index e81d0bc309de877ed2b5da6122f55c162e9b5f10..3d663104c8e3089abdb9dc4d7309f873ac182e98 100644
index 95b7cdf0677ef71e6885fa78aa5c75bb500f5f53..27a02f0c3261067d8e4ee6169c62cecbbfe50d42 100644
--- a/src/main/java/co/aikar/timings/Timings.java
+++ b/src/main/java/co/aikar/timings/Timings.java
@@ -124,7 +124,7 @@ public final class Timings {
@@ -83,23 +83,17 @@ index e81d0bc309de877ed2b5da6122f55c162e9b5f10..3d663104c8e3089abdb9dc4d7309f873
return timing;
}
@@ -145,9 +145,11 @@ public final class Timings {
* @param enabled Should timings be reported
@@ -146,7 +146,7 @@ public final class Timings {
*/
public static void setTimingsEnabled(boolean enabled) {
- timingsEnabled = enabled;
- warnAboutDeprecationOnEnable();
- reset();
+ // Purpur start - we don't do that here...
+ timingsEnabled = false;
+ //warnAboutDeprecationOnEnable();
+ //reset();
+ // Purpur end
if (enabled && !warnedAboutDeprecationOnEnable) {
- Bukkit.getLogger().severe(PlainTextComponentSerializer.plainText().serialize(deprecationMessage()));
+ //Bukkit.getLogger().severe(PlainTextComponentSerializer.plainText().serialize(deprecationMessage()));
warnedAboutDeprecationOnEnable = true;
}
}
private static void warnAboutDeprecationOnEnable() {
diff --git a/src/main/java/co/aikar/timings/TimingsCommand.java b/src/main/java/co/aikar/timings/TimingsCommand.java
index 95d87c9dbf2b237787294dfbe7fed87a36e6dedf..9e165525c4c4c07c783ae2899e07c37ae49ec2de 100644
index b83e5ff7ada8771fdf27ba9807c77ba6a4ce12da..f28eec202237461cb489a2b13289d813381a25bc 100644
--- a/src/main/java/co/aikar/timings/TimingsCommand.java
+++ b/src/main/java/co/aikar/timings/TimingsCommand.java
@@ -47,7 +47,7 @@ public class TimingsCommand extends BukkitCommand {
@@ -111,24 +105,19 @@ index 95d87c9dbf2b237787294dfbe7fed87a36e6dedf..9e165525c4c4c07c783ae2899e07c37a
this.setPermission("bukkit.command.timings");
}
@@ -56,8 +56,14 @@ public class TimingsCommand extends BukkitCommand {
if (!testPermission(sender)) {
@@ -57,7 +57,10 @@ public class TimingsCommand extends BukkitCommand {
return true;
}
- if (false) {
if (true) {
- sender.sendMessage(Timings.deprecationMessage());
+ // Purpur start
+ if (true) {
+ net.kyori.adventure.text.minimessage.MiniMessage mm = net.kyori.adventure.text.minimessage.MiniMessage.miniMessage();
+ sender.sendMessage(mm.deserialize("<gold>Purpur has removed timings to save your performance. Please use <click:suggest_command:'/spark'><grey>/spark</grey></click> instead"));
+ sender.sendMessage(mm.deserialize("<gold>For more information, view its documentation at"));
+ sender.sendMessage(mm.deserialize("<gold><click:open_url:'https://spark.lucko.me/docs/Command-Usage'>https://spark.lucko.me/docs/Command-Usage</click>"));
+ return true;
+ // Purpur end
+ sender.sendMessage(mm.deserialize("<gold><click:open_url:'https://spark.lucko.me/docs/Command-Usage'>https://spark.lucko.me/docs/Command-Usage</click>")); // Purpur
return true;
}
if (args.length < 1) {
sender.sendMessage(text("Usage: " + this.usageMessage, NamedTextColor.RED));
@@ -117,7 +123,7 @@ public class TimingsCommand extends BukkitCommand {
@@ -118,7 +121,7 @@ public class TimingsCommand extends BukkitCommand {
Preconditions.checkNotNull(args, "Arguments cannot be null");
Preconditions.checkNotNull(alias, "Alias cannot be null");

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 676cddfc8ae317ed750701af06964a22a0c03e10..b3667b1699f6ec23697a65cd8c0cb18b07e6675f 100644
index b08482b4e9f5d62882512eada787e876c4c21746..3a71f8fe73a2309f57cb06dedf204d3e37b46b03 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2907,5 +2907,89 @@ public final class Bukkit {
@@ -2959,5 +2959,89 @@ public final class Bukkit {
public static void removeFuel(@NotNull Material material) {
server.removeFuel(material);
}
@@ -99,10 +99,10 @@ index 676cddfc8ae317ed750701af06964a22a0c03e10..b3667b1699f6ec23697a65cd8c0cb18b
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index dd90bdfdf82073f87a9dfda92f743b6682d4a1b8..bda870841507e3ce728064e446cf92caa2d803a1 100644
index 5c0dbd534aaab560a4f327f48e1359de0bf7d3c9..eb29794f6ca2efc9cde4dd1685822f9a3a73f3b9 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2545,5 +2545,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2596,5 +2596,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @param material The material that will no longer be a fuel
*/
public void removeFuel(@NotNull Material material);

View File

@@ -254,10 +254,10 @@ index 4e56018b64d11f76c8da43fd8f85c6de72204e36..9607675e6c5bff2183c4420d11fc63ee
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
index 5fc88196b2c873427c817e9802ad3b12009f265f..4178f48c1614af8e6796cf07fd018b9c6e67dcd0 100644
index 6fef86e47e37eab6721cfd67d494afb25a2ded68..c914e1e13c4f64f24efa5f825e58efb69632bfa6 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -492,7 +492,7 @@ public class CraftScheduler implements BukkitScheduler {
@@ -491,7 +491,7 @@ public class CraftScheduler implements BukkitScheduler {
this.parsePending();
} else {
// this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(this.currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper
@@ -267,11 +267,11 @@ index 5fc88196b2c873427c817e9802ad3b12009f265f..4178f48c1614af8e6796cf07fd018b9c
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index bc53c263682ada9eebcaccc13e741844d310a7a6..8a96f77d16eb0c977fd6212bece419ef4860e95e 100644
index 05a62b2cf9ca8e0141274bd7f44ef8fb703466d1..fcb5bc76955edd773488dd3e476ea5e6fd09ca9b 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -489,7 +489,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -494,7 +494,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
// Paper start
@Override
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
- return new com.destroystokyo.paper.PaperVersionFetcher();

View File

@@ -72,10 +72,10 @@ index 13bd145b1e8006a53c22f5dc0c78f29b540c7663..ae2d9c91afe13d07fd0de6d455b90a2a
boolean flag1 = this.source.acceptsSuccess() && !this.silent;
boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index f8ee4b6c481d3fe15f48bf4a93696dd23e4f01a4..7bd2c48cecfc07b95798f09d8f8b3e1e826651ea 100644
index 17a158ff6ce6520b69a5a0032ba4c05449dd0cf8..c4d6ffd9b1afee8405914bda5834bb3e7d909811 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -237,6 +237,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -235,6 +235,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
io.papermc.paper.command.PaperCommands.registerCommands(this); // Paper - setup /paper command
this.server.spark.registerCommandBeforePlugins(this.server); // Paper - spark
com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); // Paper - start metrics
@@ -92,7 +92,7 @@ index f8ee4b6c481d3fe15f48bf4a93696dd23e4f01a4..7bd2c48cecfc07b95798f09d8f8b3e1e
this.setPvpAllowed(dedicatedserverproperties.pvp);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 044985030607bc20a61666dee7dd2659ae4553b5..580ddacce37e50e392999d45fdfa9f42f555aa6a 100644
index 022de445bbbb869c38be4972c98dcf1c665539ec..eff31601c2fd692a129b6990d9f3d2969ea8bbdb 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -174,6 +174,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -100,10 +100,10 @@ index 044985030607bc20a61666dee7dd2659ae4553b5..580ddacce37e50e392999d45fdfa9f42
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
+ public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
@@ -843,6 +844,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
private org.spigotmc.TickLimiter tileLimiter;
@@ -842,6 +843,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
// Paper end - getblock optimisations - cache world height/sections
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
@@ -112,10 +112,10 @@ index 044985030607bc20a61666dee7dd2659ae4553b5..580ddacce37e50e392999d45fdfa9f42
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 742d4cd3b42c1f4807c8ecb27ffa6df905d7f0ac..db8f42d4b9f434641df67c6f6cc272a8820a8094 100644
index 9f9eefc7346838a9effcda861cecd098092efb0f..95946df639196063e0f9ac6788a8a5c7050e13d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1075,6 +1075,7 @@ public final class CraftServer implements Server {
@@ -1074,6 +1074,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
@@ -123,7 +123,7 @@ index 742d4cd3b42c1f4807c8ecb27ffa6df905d7f0ac..db8f42d4b9f434641df67c6f6cc272a8
for (ServerLevel world : this.console.getAllLevels()) {
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
@@ -1090,6 +1091,7 @@ public final class CraftServer implements Server {
@@ -1089,6 +1090,7 @@ public final class CraftServer implements Server {
}
}
world.spigotConfig.init(); // Spigot
@@ -131,7 +131,7 @@ index 742d4cd3b42c1f4807c8ecb27ffa6df905d7f0ac..db8f42d4b9f434641df67c6f6cc272a8
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -1107,6 +1109,7 @@ public final class CraftServer implements Server {
@@ -1106,6 +1108,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
this.spark.registerCommandBeforePlugins(this); // Paper - spark
@@ -139,7 +139,7 @@ index 742d4cd3b42c1f4807c8ecb27ffa6df905d7f0ac..db8f42d4b9f434641df67c6f6cc272a8
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2972,6 +2975,18 @@ public final class CraftServer implements Server {
@@ -3009,6 +3012,18 @@ public final class CraftServer implements Server {
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8ceeebb561046933cba0725e15732fa074226884..eb6f95a37b26ac077423accc93492d9957456a1a 100644
index 4e4e5b7e8c387cf13cf5bc5e39d334c3222c9103..8640965d238d2983942ba3a3f08b048e84656cdd 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -323,6 +323,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -329,6 +329,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - PlayerNaturallySpawnCreaturesEvent
public @Nullable String clientBrandName = null; // Paper - Brand support
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index eb6f95a37b26ac077423accc93492d9957456a1a..894f330399282c9db0b5c5dadc1d8502a06bac3e 100644
index 8640965d238d2983942ba3a3f08b048e84656cdd..2de732451096f13d5df160500267cb2db0101c63 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2246,6 +2246,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -2252,6 +2252,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.lastSentExp = -1; // CraftBukkit - Added to reset
}
@@ -35,7 +35,7 @@ index eb6f95a37b26ac077423accc93492d9957456a1a..894f330399282c9db0b5c5dadc1d8502
@Override
public void displayClientMessage(Component message, boolean overlay) {
this.sendSystemMessage(message, overlay);
@@ -2470,6 +2490,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -2476,6 +2496,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
return new CommandSourceStack(this.commandSource(), this.position(), this.getRotationVector(), this.serverLevel(), this.getPermissionLevel(), this.getName().getString(), this.getDisplayName(), this.server, this);
}
@@ -57,7 +57,7 @@ index eb6f95a37b26ac077423accc93492d9957456a1a..894f330399282c9db0b5c5dadc1d8502
this.sendSystemMessage(message, false);
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 511e7254d938733aca508efd5de82e61678c7620..75e5e540f03d28b64fa5fef1f342a157598c3fa7 100644
index cf42042c754b30e41c0ec8a6a15195369bdbd199..0423eb224f21ad482d7bc9916f8f7597d80060d4 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -985,6 +985,20 @@ public abstract class PlayerList {

View File

@@ -22,22 +22,22 @@ index f58a94efafbc01d402cd03a108bb90f60930a316..21ea63da99c5b3e2e1ab9cc1049c903b
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 de80ac827c8ac3630d68b73cb425d4b56f7d2cd7..42b18348a27fa74f042f906eb58785b1b6c5ae23 100644
index af7c6f56444c0e495fd39da872f8030199afc634..02220b87234d32518daffca6c76db7d5a8c13464 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1854,6 +1854,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - BlockPhysicsEvent
@@ -1844,6 +1844,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
worldserver.updateLagCompensationTick(); // Paper - lag compensation
+ worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
gameprofilerfiller.push(() -> {
String s = String.valueOf(worldserver);
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index a7420e4522e0dff72ce7f8a791b9cd4bfa270106..0fa5e0c80ad09e03452c4d412390cb8f52060c01 100644
index e65cfb1132f5f0c9e1fa5ae4a46a8abed0c56be1..43c976c5b61f26662d6e57b5cd39c3e153985db3 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -231,6 +231,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -230,6 +230,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
public final UUID uuid;
public boolean hasPhysicsEvent = true; // Paper - BlockPhysicsEvent
public boolean hasEntityMoveEvent; // Paper - Add EntityMoveEvent
@@ -46,10 +46,10 @@ index a7420e4522e0dff72ce7f8a791b9cd4bfa270106..0fa5e0c80ad09e03452c4d412390cb8f
public LevelChunk getChunkIfLoaded(int x, int z) {
return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 894f330399282c9db0b5c5dadc1d8502a06bac3e..d7b828937e58eea5f095863129a0844f25a25336 100644
index 2de732451096f13d5df160500267cb2db0101c63..b345e0eb7145b5a3800dc9c73508e53d83ea0171 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1026,6 +1026,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1032,6 +1032,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.trackEnteredOrExitedLavaOnVehicle();
this.updatePlayerAttributes();
this.advancements.flushDirty(this);
@@ -66,10 +66,10 @@ index 894f330399282c9db0b5c5dadc1d8502a06bac3e..d7b828937e58eea5f095863129a0844f
private void updatePlayerAttributes() {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index eef96e946b80064fe211039a65db4192ea7a52d3..352ade7acc9052e4d74ef840e085a86f24c66c00 100644
index c4b016a2fb5c79fb3f191e243712bee7cbe5cd2c..e670a3d04fca7bea2bc732d10e7865b76e396586 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2748,6 +2748,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2820,6 +2820,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
@@ -190,10 +190,10 @@ index b851c3ee1426bc0a259bf6c4a662af0c9883dd71..7c11b5e73d4f3c0be7c467f7522c2d97
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 22b3d3d945cbddae25abfca7d900324c79d32293..7f896777fcff72230142fbe231471782eed4b6c7 100644
index 0831d69d6ac1aa112dfe8243b01adcf5e8eba6a0..56613c25850f89d125cb213d37fd5fed9deee7f7 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -250,9 +250,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -248,9 +248,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected int deathScore;
public float lastHurt;
public boolean jumping;
@@ -206,7 +206,7 @@ index 22b3d3d945cbddae25abfca7d900324c79d32293..7f896777fcff72230142fbe231471782
protected int lerpSteps;
protected double lerpX;
protected double lerpY;
@@ -327,7 +327,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -325,7 +325,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.lastClimbablePos = Optional.empty();
this.activeLocationDependentEnchantments = new EnumMap(EquipmentSlot.class);
this.appliedScale = 1.0F;
@@ -215,7 +215,7 @@ index 22b3d3d945cbddae25abfca7d900324c79d32293..7f896777fcff72230142fbe231471782
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
@@ -377,6 +377,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -375,6 +375,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public static AttributeSupplier.Builder createLivingAttributes() {
return AttributeSupplier.builder().add(Attributes.MAX_HEALTH).add(Attributes.KNOCKBACK_RESISTANCE).add(Attributes.MOVEMENT_SPEED).add(Attributes.ARMOR).add(Attributes.ARMOR_TOUGHNESS).add(Attributes.MAX_ABSORPTION).add(Attributes.STEP_HEIGHT).add(Attributes.SCALE).add(Attributes.GRAVITY).add(Attributes.SAFE_FALL_DISTANCE).add(Attributes.FALL_DAMAGE_MULTIPLIER).add(Attributes.JUMP_STRENGTH).add(Attributes.OXYGEN_BONUS).add(Attributes.BURNING_TIME).add(Attributes.EXPLOSION_KNOCKBACK_RESISTANCE).add(Attributes.WATER_MOVEMENT_EFFICIENCY).add(Attributes.MOVEMENT_EFFICIENCY).add(Attributes.ATTACK_KNOCKBACK);
}
@@ -223,7 +223,7 @@ index 22b3d3d945cbddae25abfca7d900324c79d32293..7f896777fcff72230142fbe231471782
@Override
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
@@ -3671,8 +3672,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3669,8 +3670,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.pushEntities();
gameprofilerfiller.pop();
// Paper start - Add EntityMoveEvent
@@ -236,7 +236,7 @@ index 22b3d3d945cbddae25abfca7d900324c79d32293..7f896777fcff72230142fbe231471782
Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
@@ -3682,6 +3685,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3680,6 +3683,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
}
}
@@ -5112,7 +5112,7 @@ index 179886dcbda29c5cdb7dbd43e44951ae38d9df96..cf1797c6ba877c510bba5c8016e57003
+ // 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 6c60bb4f4d1133844a4232df518c062216847fdc..c9f5047bfa48c12a9090cb8da4bb9045e38e8f89 100644
index 1e98f68e51618606f1178c12be77c1a945362630..4046f911b1f0da909dbb4d8ff856fb869f61a0f8 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -602,6 +602,15 @@ public class CraftEventFactory {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a897a9f371d44cc6d1fcc19f2da5450e61858527..e8f21091fe1d6043dcc4588d571f20f7bbda0901 100644
index aa73875d8cb701d233ffa79c9bda4b7b474ba667..90434afec7a896473624901c6b00bf7c81572930 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -176,7 +176,7 @@ import org.bukkit.plugin.PluginManager;
@@ -34,10 +34,10 @@ index 7c11b5e73d4f3c0be7c467f7522c2d974ab330f3..27aee968718af1ae78e2076ddc890114
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 7f896777fcff72230142fbe231471782eed4b6c7..2e6701b5dc8bd67cf018b65a7ce5cb2ed6925aa0 100644
index 56613c25850f89d125cb213d37fd5fed9deee7f7..0b1d31bcbe398ecd2e1ddd881c2f602a1a4f73d9 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -328,6 +328,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -326,6 +326,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.activeLocationDependentEnchantments = new EnumMap(EquipmentSlot.class);
this.appliedScale = 1.0F;
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur
@@ -45,7 +45,7 @@ index 7f896777fcff72230142fbe231471782eed4b6c7..2e6701b5dc8bd67cf018b65a7ce5cb2e
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
@@ -342,6 +343,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -340,6 +341,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap()))));
}
@@ -411,7 +411,7 @@ index 3a0b71cad2c68e972c5989bd37de83953335e324..607c6c5fa38892d8c1d1f9fffc9ccc86
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index 93c16d7522d76f35de2c87cab0e7db3d6f7ab6c7..db0d03fe2d2891efb3284d5c597d7c8279f2db94 100644
index 4144d82ca0a9c5b5384d4ab080013ad76014199b..6275cb4ca2b06d8b1b3d53a2b79115bd36da4129 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -72,6 +72,12 @@ public class Squid extends AgeableWaterCreature {
@@ -667,7 +667,7 @@ index 0ec18aecb7774db219a8ca5ed60ae999b4b588a9..b0392780b35866bf1903f49cb16c4ab7
protected void randomizeAttributes(RandomSource random) {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index f373728d357faf68a576dc2f6363e36f5ac2a4b4..eab57ab99168b1b9ae8df6c8b2b6dd623b1871fb 100644
index 29b4c4ba7e80fe58a005064da4b0479e367d90b0..f9774491bd49bb37d3581cebbcedfc1878cf15b5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -123,6 +123,21 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -915,7 +915,7 @@ index 86a14550482438bfaad47f9bf96d336a4a3a92aa..c1d1a589a6f83e524cc799187d557b50
public boolean doHurtTarget(ServerLevel world, Entity target) {
if (super.doHurtTarget(world, target)) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 6d5ad18bc85769737060b5dff520fc4a87e30e57..d985f86d320770e73be32740f8f2e874ab08666f 100644
index 7e5f447c23c817bf89508dc4049df2b6b7efbab9..3ea4763a34447761e73d8643dce8c386fa7501c3 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -251,6 +251,12 @@ public class Creeper extends Monster {
@@ -971,7 +971,7 @@ index 4364ac531826524fc3c099b9900406b2bc3a5540..1cfb85a72e270a953c13102490dc38f3
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 9e90b2c3474bb6c4ea6caf3f060dcb668c4bd15b..5caee77e2516afa4edc463e5a8a6b6e610cc04c5 100644
index bd08a90aa9128d7d31dbbe7e075d32a8b8aad724..4265dc40f7337e565d236eb3c04847a87494fc86 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -112,6 +112,12 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -1393,7 +1393,7 @@ index 2214e3e473214a8e8340c4ded0e2c797adde0815..6a45a62c578f033558c26935681f7de7
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
index 06269780121424129be777e83e2ad4ca3e616b23..4306deb77e4bea5e8e8d39cc4d094ecafab12af2 100644
index 3452623771ba6856e5c4049a0c932440b93db412..d889c245c495e9f3e128aec1d3c2094dfc3ec507 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
@@ -101,6 +101,12 @@ public class Vex extends Monster implements TraceableEntity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index d7b828937e58eea5f095863129a0844f25a25336..f0a2c618fb2040282406af90ff0d2ac5a63b0c35 100644
index b345e0eb7145b5a3800dc9c73508e53d83ea0171..3403d74ec3ef30ec110031f3972a8482eea0bf41 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2637,8 +2637,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -2643,8 +2643,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public void resetLastActionTime() {
this.lastActionTime = Util.getMillis();
@@ -78,7 +78,7 @@ index d7b828937e58eea5f095863129a0844f25a25336..f0a2c618fb2040282406af90ff0d2ac5
return this.stats;
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 352ade7acc9052e4d74ef840e085a86f24c66c00..0ffad0fee921ac302f31894766594921751fbff9 100644
index e670a3d04fca7bea2bc732d10e7865b76e396586..c65c924f739b1c2ed328c936ec1854e0bc1d5b84 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -342,6 +342,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -115,7 +115,7 @@ index 352ade7acc9052e4d74ef840e085a86f24c66c00..0ffad0fee921ac302f31894766594921
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
this.disconnect((Component) Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
}
@@ -654,6 +674,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -663,6 +683,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -124,7 +124,7 @@ index 352ade7acc9052e4d74ef840e085a86f24c66c00..0ffad0fee921ac302f31894766594921
Location oldTo = to.clone();
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
this.cserver.getPluginManager().callEvent(event);
@@ -1465,7 +1487,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1500,7 +1522,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
movedWrongly = true;
if (event.getLogWarning())
// Paper end
@@ -133,7 +133,7 @@ index 352ade7acc9052e4d74ef840e085a86f24c66c00..0ffad0fee921ac302f31894766594921
} // Paper
}
@@ -1523,6 +1545,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1568,6 +1590,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -317,10 +317,10 @@ index 65cbd35892ab48fccda9bccf2b4dd66be5c84a0d..42bff6f2d864a31dcb1c0087a4e0c902
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index e4252c5a6aec351a4a0a8be372d3b63f7fb771e7..bcb591ba54522ed70ca051429363f3a5517460af 100644
index 6ffe86aa887ebf96f21114a468e16376c2449911..64cf620bde9807d77658c9f17015445070a3e634 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -201,6 +201,8 @@ public class ActivationRange
@@ -198,6 +198,8 @@ public class ActivationRange
continue;
}

View File

@@ -17,10 +17,10 @@ index 52e61f75f922a075ccc745198f4ba6ad8fa58ea2..b97d8f43f24baf36eca9064b2b48bf6c
public final boolean allowFlight = this.get("allow-flight", false);
public final String motd = this.get("motd", "A Minecraft Server");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index db8f42d4b9f434641df67c6f6cc272a8820a8094..bf757970ccfa46a1a88673016fa87a97029b42ac 100644
index 95946df639196063e0f9ac6788a8a5c7050e13d8..2f81978ec902f87da751debf5f6991ae26c9d1b6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3214,4 +3214,11 @@ public final class CraftServer implements Server {
@@ -3251,4 +3251,11 @@ public final class CraftServer implements Server {
return this.potionBrewer;
}
// Paper end

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 42b18348a27fa74f042f906eb58785b1b6c5ae23..606971e6f7a3356ad99263ebf46efdf4c562616a 100644
index 02220b87234d32518daffca6c76db7d5a8c13464..ea9947022e036a3e32eca7325bb71380c58533f9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2017,7 +2017,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1999,7 +1999,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 606971e6f7a3356ad99263ebf46efdf4c562616a..f702adb26c19a91b3874c773d540973296b97a97 100644
index ea9947022e036a3e32eca7325bb71380c58533f9..941463daa771010031765818fcec4fe541b96659 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -329,6 +329,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -328,6 +328,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Spigot end
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
@@ -16,7 +16,7 @@ index 606971e6f7a3356ad99263ebf46efdf4c562616a..f702adb26c19a91b3874c773d5409732
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
@@ -1303,6 +1304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1302,6 +1303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[0] = tps1.getAverage();
this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage();
@@ -25,10 +25,10 @@ index 606971e6f7a3356ad99263ebf46efdf4c562616a..f702adb26c19a91b3874c773d5409732
}
// Paper end - further improve server tick loop
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index bf757970ccfa46a1a88673016fa87a97029b42ac..3089564b9bab5eb9f1a06dd2c45737cd62795fe4 100644
index 2f81978ec902f87da751debf5f6991ae26c9d1b6..db68e166c7d320d843112dba5a689654be88c278 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3220,5 +3220,10 @@ public final class CraftServer implements Server {
@@ -3257,5 +3257,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return this.getProperties().serverName;
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index e56050bef4a5aaa0fca17192dab4cf5e6a55fbae..d0efef43b71298491b2e03b9ce5505729c3c4afc 100644
index c8c2394558952d7ca57d29874485251b8f2b3400..48386124487a1f0fdc1d476895fa118102fb4003 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -404,6 +404,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
@@ -25,7 +25,7 @@ index e56050bef4a5aaa0fca17192dab4cf5e6a55fbae..d0efef43b71298491b2e03b9ce550572
public static ResourceLocation getKey(EntityType<?> type) {
return BuiltInRegistries.ENTITY_TYPE.getKey(type);
}
@@ -613,6 +623,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
@@ -604,6 +614,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
return this.category;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index fc400624a9896f8fd29984c21df70e67b0c32c1d..c4d8ef23a5e384ce554cc3e63e7be3e027d60e44 100644
index 43c976c5b61f26662d6e57b5cd39c3e153985db3..943ef063efa000da0810b079b47ec18ed2aa5a63 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -934,10 +934,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -932,10 +932,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper - Configurable spawn chances for skeleton horses
if (flag1) {
@@ -30,7 +30,7 @@ index fc400624a9896f8fd29984c21df70e67b0c32c1d..c4d8ef23a5e384ce554cc3e63e7be3e0
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 22248cd0752812739df8e7ab911ef04b3d2ed458..3b6089eaf8a9af932c7bcc9a37fc7c077eb79870 100644
index 0fe6b4e57a57388df51893f22c8e8cb1be633623..80eb2df74d226f7419354e73b6350f5444c8ae0b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1644,6 +1644,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index f0a2c618fb2040282406af90ff0d2ac5a63b0c35..9b7cbd9ece37d7a5f5532861c1b226ca75eb2345 100644
index 3403d74ec3ef30ec110031f3972a8482eea0bf41..cc586ae7c58ff5a662c572af47e22468fe301152 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1435,6 +1435,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1441,6 +1441,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
if (this.isInvulnerableTo(world, source)) {
return false;
} else {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2e6701b5dc8bd67cf018b65a7ce5cb2ed6925aa0..8ebd43c8088523396a4f46b8b0083f91e2b55e27 100644
index 0b1d31bcbe398ecd2e1ddd881c2f602a1a4f73d9..4fc0aa48e4e0e291ba3f8291a2dfa671fbe553e5 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1910,6 +1910,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1908,6 +1908,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.dropEquipment(world); // CraftBukkit - from below
if (this.shouldDropLoot() && world.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
@@ -16,7 +16,7 @@ index 2e6701b5dc8bd67cf018b65a7ce5cb2ed6925aa0..8ebd43c8088523396a4f46b8b0083f91
this.dropFromLootTable(world, damageSource, flag);
// Paper start
final boolean prev = this.clearEquipmentSlots;
@@ -1918,6 +1919,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1916,6 +1917,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Paper end
this.dropCustomDeathLoot(world, damageSource, flag);
this.clearEquipmentSlots = prev; // Paper
@@ -25,7 +25,7 @@ index 2e6701b5dc8bd67cf018b65a7ce5cb2ed6925aa0..8ebd43c8088523396a4f46b8b0083f91
// CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, damageSource, this.drops, () -> {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2591b4f0d0e4e4d9e77efb821c9ae775182713b6..830ba18f1695bbf4099a9579166e29618206ba83 100644
index a97dadd4c0b04833282f9fc484ef760da712974d..03f5aea7bc98984ced82c7dce93cc4ea4c48179f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -96,6 +96,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f702adb26c19a91b3874c773d540973296b97a97..8b92b8543eba058a86ca21024b7a95a607f753c3 100644
index 941463daa771010031765818fcec4fe541b96659..a1ba1896963ab0127de00f5906351872760e5439 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1343,6 +1343,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1342,6 +1342,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
gameprofilerfiller.popPush("nextTickWait");
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);

View File

@@ -41,10 +41,10 @@ index a81a332ffb80e67d7f886295099b5cd2ae8994c5..1d18cad6c32815854ff8dace256b5902
public class FrostedIce extends ConfigurationPart {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 8b92b8543eba058a86ca21024b7a95a607f753c3..b3fd8afe889b3eff5b2065de031f0852763250cd 100644
index a1ba1896963ab0127de00f5906351872760e5439..5b917da2009c31f62a21b3064c865dc181986843 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1269,7 +1269,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1268,7 +1268,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
LOGGER.info("*************************************************************************************");
}
// Paper end - Add onboarding message for initial server start
@@ -62,10 +62,10 @@ index 8b92b8543eba058a86ca21024b7a95a607f753c3..b3fd8afe889b3eff5b2065de031f0852
long i;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 7bd2c48cecfc07b95798f09d8f8b3e1e826651ea..0ccda6c505c82dd816a31eb4dfb1c7517b172a6a 100644
index c4d6ffd9b1afee8405914bda5834bb3e7d909811..de6f842349dee273eb84b2f12ea6a41d43f17fb1 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -221,6 +221,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -219,6 +219,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
org.spigotmc.SpigotConfig.registerCommands();
// Spigot end
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // Paper - load mappings for stacktrace deobf and etc.
@@ -81,7 +81,7 @@ index 7bd2c48cecfc07b95798f09d8f8b3e1e826651ea..0ccda6c505c82dd816a31eb4dfb1c751
// Paper start - initialize global and world-defaults configuration
this.paperConfigurations.initializeGlobalConfiguration(this.registryAccess());
this.paperConfigurations.initializeWorldDefaultsConfiguration(this.registryAccess());
@@ -237,15 +246,6 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -235,15 +244,6 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
io.papermc.paper.command.PaperCommands.registerCommands(this); // Paper - setup /paper command
this.server.spark.registerCommandBeforePlugins(this.server); // Paper - spark
com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); // Paper - start metrics

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
diff --git a/src/main/java/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.java
index 036dd3b15dfee4cd079710eba1255d2bdb4d7220..3fb385329d20ab26ea48fa33f35295115914e4a5 100644
index a43ea83dbbd5946096cdde31af766674bda6c3be..8077334c24c3bf17404f24a8c5f22134ea01274d 100644
--- a/src/main/java/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.java
+++ b/src/main/java/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.java
@@ -41,7 +41,7 @@ public class EquipmentDispenseItemBehavior extends DefaultDispenseItemBehavior {
@@ -18,10 +18,10 @@ index 036dd3b15dfee4cd079710eba1255d2bdb4d7220..3fb385329d20ab26ea48fa33f3529511
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 8ebd43c8088523396a4f46b8b0083f91e2b55e27..2e955dc3299062c2564eac0de43d5f1b78f5897c 100644
index 4fc0aa48e4e0e291ba3f8291a2dfa671fbe553e5..bc21cac3af01dd2cca1d4431a1b651e8c71accae 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -4653,7 +4653,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -4669,7 +4669,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (equippable != null && equippable.dispensable()) {
EquipmentSlot enumitemslot = equippable.slot();
@@ -30,7 +30,7 @@ index 8ebd43c8088523396a4f46b8b0083f91e2b55e27..2e955dc3299062c2564eac0de43d5f1b
} else {
return false;
}
@@ -4678,6 +4678,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -4694,6 +4694,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
return equippable == null ? slot == EquipmentSlot.MAINHAND && this.canUseSlot(EquipmentSlot.MAINHAND) : slot == equippable.slot() && this.canUseSlot(equippable.slot()) && equippable.canBeEquippedBy(this.getType());
}
@@ -44,7 +44,7 @@ index 8ebd43c8088523396a4f46b8b0083f91e2b55e27..2e955dc3299062c2564eac0de43d5f1b
return slot != EquipmentSlot.HEAD && slot != EquipmentSlot.MAINHAND && slot != EquipmentSlot.OFFHAND ? SlotAccess.forEquipmentSlot(entity, slot, (itemstack) -> {
return itemstack.isEmpty() || entity.getEquipmentSlotForItem(itemstack) == slot;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 364321ea60e256edb10fea8efe4bfb3cdf33f3fb..4b3727f9c4e4f1de2745e4984ad660b6a0ac7797 100644
index cd90555354713be9a26c0a0abed43535a61281e8..680a89bff31861c25d76bf7ab59d87232228b34c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -219,6 +219,11 @@ public class PurpurWorldConfig {

View File

@@ -26,10 +26,10 @@ index 12b327eea95e0de9e9c39b7d039badee8ec46508..849ecc5af70901f1e40cb6c419f33f1c
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b3fd8afe889b3eff5b2065de031f0852763250cd..498849b2efec782fed822dc3e6685f5e903fa828 100644
index 5b917da2009c31f62a21b3064c865dc181986843..49ed4f9d930b50bb11a9ecbfff0b99ea2ccd29c7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -325,7 +325,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -324,7 +324,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS;
private static final int SAMPLE_INTERVAL = 20; // Paper - improve server tick loop
@Deprecated(forRemoval = true) // Paper
@@ -38,7 +38,7 @@ index b3fd8afe889b3eff5b2065de031f0852763250cd..498849b2efec782fed822dc3e6685f5e
// Spigot end
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
@@ -1183,6 +1183,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1182,6 +1182,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0;
private long catchupTime = 0;
@@ -46,7 +46,7 @@ index b3fd8afe889b3eff5b2065de031f0852763250cd..498849b2efec782fed822dc3e6685f5e
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1304,14 +1305,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1303,14 +1304,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
final long diff = currentTime - tickSection;
final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
@@ -82,10 +82,10 @@ index 096c89bd01cec2abd151bf6fffc4847d1bcd548f..cd0a8a6a1be75cab8bbb8ee3ac17bb73
this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
this.repaint();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 3089564b9bab5eb9f1a06dd2c45737cd62795fe4..a6f937cf8d536eb401f3bb10d0f161b33d7d2740 100644
index db68e166c7d320d843112dba5a689654be88c278..6e92cc1832510a9ed776f54e43d596fe4f8831d9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3016,6 +3016,7 @@ public final class CraftServer implements Server {
@@ -3053,6 +3053,7 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {
return new double[] {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2e955dc3299062c2564eac0de43d5f1b78f5897c..a58c8ed64eab56c4a4a0688e0731a232fb5f7269 100644
index bc21cac3af01dd2cca1d4431a1b651e8c71accae..e49b530e8bdcff5aacc693f6e859c9c98fd50a19 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3740,7 +3740,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3738,7 +3738,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
}).toList();
EquipmentSlot enumitemslot = (EquipmentSlot) Util.getRandom(list, this.random);
@@ -27,7 +27,7 @@ index 2e955dc3299062c2564eac0de43d5f1b78f5897c..a58c8ed64eab56c4a4a0688e0731a232
}
this.gameEvent(GameEvent.ELYTRA_GLIDE);
@@ -3749,7 +3759,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3747,7 +3757,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
@@ -111,7 +111,7 @@ index 8b9a93ef71164cce8a616735b71d96d37e83b1a8..24b97c8e2758e4a991dbbbf5276580e1
entityhuman.startAutoSpinAttack(20, 8.0F, stack);
if (entityhuman.onGround()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 49efe798ae09c000c708001ca896620c468933d5..33aa446dc0cb834e027c45e8392cf007f62f629d 100644
index 9de89f7d5609748eaf188f4666120a4502a32b57..95a7e0870e45004523278ae78c25b9db80882630 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -107,6 +107,17 @@ public class PurpurWorldConfig {

View File

@@ -27,10 +27,10 @@ index 3bddfb6f7412ab86e0c090d0cbc6cf254b3f891c..6aa8ee091d3a7d2826d08ab9a03f970e
return true;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 580ddacce37e50e392999d45fdfa9f42f555aa6a..bea79e136847bfb3282b3c801b2641a109dcb682 100644
index eff31601c2fd692a129b6990d9f3d2969ea8bbdb..6847be7f95dc37e6259d6903798e6db20702cea8 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -2040,4 +2040,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -2033,4 +2033,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
return this.id;
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 0ffad0fee921ac302f31894766594921751fbff9..62fdb1e8b84facec3ce69d5001e7d626d74a37ce 100644
index c65c924f739b1c2ed328c936ec1854e0bc1d5b84..fc3eda4b692482d95aade888e624ba0343a541f8 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1214,10 +1214,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1248,10 +1248,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
Objects.requireNonNull(list);
optional.ifPresent(list::add);
list.addAll(packet.pages());
@@ -25,7 +25,7 @@ index 0ffad0fee921ac302f31894766594921751fbff9..62fdb1e8b84facec3ce69d5001e7d626
};
this.filterTextPacket((List) list).thenAcceptAsync(consumer, this.server);
@@ -1225,13 +1229,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1259,13 +1263,18 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
private void updateBookContents(List<FilteredText> pages, int slotId) {
@@ -45,7 +45,7 @@ index 0ffad0fee921ac302f31894766594921751fbff9..62fdb1e8b84facec3ce69d5001e7d626
itemstack.set(DataComponents.WRITABLE_BOOK_CONTENT, new WritableBookContent(list1));
this.player.getInventory().setItem(slotId, CraftEventFactory.handleEditBookEvent(this.player, slotId, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent)
@@ -1239,6 +1248,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1273,6 +1282,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
private void signBook(FilteredText title, List<FilteredText> pages, int slotId) {
@@ -57,7 +57,7 @@ index 0ffad0fee921ac302f31894766594921751fbff9..62fdb1e8b84facec3ce69d5001e7d626
ItemStack itemstack = this.player.getInventory().getItem(slotId);
if (itemstack.has(DataComponents.WRITABLE_BOOK_CONTENT)) {
@@ -1246,10 +1260,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1280,10 +1294,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
itemstack1.remove(DataComponents.WRITABLE_BOOK_CONTENT);
List<Filterable<Component>> list1 = (List<Filterable<Component>>) (List) pages.stream().map((filteredtext1) -> { // CraftBukkit - decompile error
@@ -70,7 +70,7 @@ index 0ffad0fee921ac302f31894766594921751fbff9..62fdb1e8b84facec3ce69d5001e7d626
CraftEventFactory.handleEditBookEvent(this.player, slotId, itemstack, itemstack1); // CraftBukkit
this.player.getInventory().setItem(slotId, itemstack); // CraftBukkit - event factory updates the hand book
}
@@ -1259,6 +1273,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1293,6 +1307,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
return this.player.isTextFilteringEnabled() ? Filterable.passThrough(message.filteredOrEmpty()) : Filterable.from(message);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 62fdb1e8b84facec3ce69d5001e7d626d74a37ce..8c1f21892a96ed1cf1ef8b76ff8a52f1a8caca6e 100644
index fc3eda4b692482d95aade888e624ba0343a541f8..d6ba87cd80abe6126a21df0aafc208a8a2260322 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2783,6 +2783,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2855,6 +2855,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
AABB axisalignedbb = entity.getBoundingBox();
if (this.player.canInteractWithEntity(axisalignedbb, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0D))) { // Paper - configurable lenience value for interact range
@@ -17,7 +17,7 @@ index 62fdb1e8b84facec3ce69d5001e7d626d74a37ce..8c1f21892a96ed1cf1ef8b76ff8a52f1
private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit
ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand);
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index cd456edd2caf087d1dbeb97d3373bd2bf9112fc2..17e6e4a858d3a2332c14d2860d2f5d1e87e1c629 100644
index bc2380a71aa65c40f326c1f6bdf15ee25346ffee..8ce316292850353231e529f75630d3fde290a161 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -148,6 +148,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
@@ -94,7 +94,7 @@ index cd456edd2caf087d1dbeb97d3373bd2bf9112fc2..17e6e4a858d3a2332c14d2860d2f5d1e
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a168eb5c1f08ad4def8421e298512c532ec06988..8832a5491303d4189155ec56f81e37f99efaa28e 100644
index cc890a4ac7cb6fc24f5903538d0f002e1df09d37..1bf4fa7b9652347a48010a0713190aec9a5fc166 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -118,6 +118,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 9b7cbd9ece37d7a5f5532861c1b226ca75eb2345..76a4ccf07791a16abdc4396e8a91a93957e0b293 100644
index cc586ae7c58ff5a662c572af47e22468fe301152..a0f3371520702a3a1643abd45bf6754336385397 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -3406,4 +3406,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -3412,4 +3412,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
return (CraftPlayer) super.getBukkitEntity();
}
// CraftBukkit end
@@ -36,10 +36,10 @@ index 9b7cbd9ece37d7a5f5532861c1b226ca75eb2345..76a4ccf07791a16abdc4396e8a91a939
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index a58c8ed64eab56c4a4a0688e0731a232fb5f7269..c0ac2801321ca1813804214cc0ceecc1b557865e 100644
index e49b530e8bdcff5aacc693f6e859c9c98fd50a19..418456bb08e00c6a9af492bda4f0600921fc5b77 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -481,6 +481,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -479,6 +479,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (d1 < 0.0D) {
d0 = this.level().getWorldBorder().getDamagePerBlock();
if (d0 > 0.0D) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 20242b58cc3af8d58c51919d637ec258df308a60..5f686584f2f9205c3594daa52c4b3daf32f8e57b 100644
index 0111b9e3484df5958ed5dee55a9b510ef4a1f35e..c0cb7399a1a8753bd5a5c390cb6f334d5aaf3907 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1571,6 +1571,7 @@ public class PurpurWorldConfig {
@@ -25,10 +25,10 @@ index 20242b58cc3af8d58c51919d637ec258df308a60..5f686584f2f9205c3594daa52c4b3daf
public boolean spiderRidable = false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index bcb591ba54522ed70ca051429363f3a5517460af..ca05c37dad39808683429276d85d970b7cc63f82 100644
index 64cf620bde9807d77658c9f17015445070a3e634..813b8aeb7bf39e03346fd9ca63c4c6498e162965 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -381,6 +381,7 @@ public class ActivationRange
@@ -377,6 +377,7 @@ public class ActivationRange
*/
public static boolean checkIfActive(Entity entity)
{

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index c0ac2801321ca1813804214cc0ceecc1b557865e..06ccf6daaf5e7affe505c75cdbf85c1c29c3ebf9 100644
index 418456bb08e00c6a9af492bda4f0600921fc5b77..cccd99d642ea14eb175946656d4dead436268d01 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1709,6 +1709,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1707,6 +1707,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
}
@@ -28,7 +28,7 @@ index c0ac2801321ca1813804214cc0ceecc1b557865e..06ccf6daaf5e7affe505c75cdbf85c1c
EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
event.setCancelled(itemstack == null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0c8ec8f1f6a79a0764ff05d34b40cf18c5590862..bd3c6364051419544cc1c5db110920ad51c1dbc7 100644
index dc158fefad2a9d0b9be693ba892ddd1fa5189e8e..c03ded82f52f53e8d0e7b138e2fa34f86f46f180 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -236,6 +236,7 @@ public class PurpurWorldConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index c4d8ef23a5e384ce554cc3e63e7be3e027d60e44..9538510ac96d97b8e3cdfcc9873bb3d274c351ad 100644
index 943ef063efa000da0810b079b47ec18ed2aa5a63..54f7545f35ba615ac942c82a2602b9466646f012 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -588,7 +588,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -598,7 +598,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// CraftBukkit end
this.tickTime = flag1;
this.server = minecraftserver;
@@ -59,7 +59,7 @@ index a728dcbf956f108f01c966c7531449a506a14a87..4c1378132201c1e5d1bc01f8c0cbba91
if (spawnplacementtype.isSpawnPositionOk(world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 119904f2c4e9f8c4b3596a26220833d457bb60df..668ea98aee2f74ff6ac961b61360fb2e48513ebf 100644
index f82f5405f3ff0bc91806da3b1ffdeb30206b6297..9ddd1796c83a68e1837cbdfe8db0baf9e3b1fdfa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -70,6 +70,12 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable daylight cycle
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 498849b2efec782fed822dc3e6685f5e903fa828..b201fb88391a12a5bd569457cf25734d320bf2cb 100644
index 49ed4f9d930b50bb11a9ecbfff0b99ea2ccd29c7..3c901f5597e4bb2a77168eb5ad1d14e13142983f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1853,7 +1853,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1843,7 +1843,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()) {
@@ -18,10 +18,10 @@ index 498849b2efec782fed822dc3e6685f5e903fa828..b201fb88391a12a5bd569457cf25734d
}
ServerPlayer entityplayer = (ServerPlayer) entityhuman;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index e47f9fb98d94b7165feba4261b0600648f7a0142..f03de2bf7a02d1eb687401002acb3a45a7b7dd18 100644
index 54f7545f35ba615ac942c82a2602b9466646f012..7715ecbe45e82079f5e2b2ad2bdf15a58f9a529c 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -224,6 +224,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -223,6 +223,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
private final StructureManager structureManager;
private final StructureCheck structureCheck;
private final boolean tickTime;
@@ -30,7 +30,7 @@ index e47f9fb98d94b7165feba4261b0600648f7a0142..f03de2bf7a02d1eb687401002acb3a45
private final RandomSequences randomSequences;
// CraftBukkit start
@@ -677,6 +679,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -687,6 +689,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.chunkDataController = new ca.spottedleaf.moonrise.patches.chunk_system.io.datacontroller.ChunkDataController((ServerLevel)(Object)this, this.chunkTaskScheduler);
// Paper end - rewrite chunk system
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
@@ -38,7 +38,7 @@ index e47f9fb98d94b7165feba4261b0600648f7a0142..f03de2bf7a02d1eb687401002acb3a45
}
// Paper start
@@ -854,6 +857,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -852,6 +855,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.serverLevelData.getScheduledEvents().tick(this.server, i);
Profiler.get().pop();
if (this.serverLevelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
@@ -52,7 +52,7 @@ index e47f9fb98d94b7165feba4261b0600648f7a0142..f03de2bf7a02d1eb687401002acb3a45
this.setDayTime(this.levelData.getDayTime() + 1L);
}
@@ -862,7 +872,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -860,7 +870,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
public void setDayTime(long timeOfDay) {
this.serverLevelData.setDayTime(timeOfDay);

View File

@@ -42,10 +42,10 @@ index 5677dc97ed83652f261100cf391883cfac7d16fe..4637d062b6a4c4d6de2ef54ec3cfdeb4
EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience);
if (entityBreedEvent.isCancelled()) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 82025f6dd73366a259418c2039638a6dcc6d4fc1..85ae5c9c873dab19f897fe50b70c62e3c094bd42 100644
index 6847be7f95dc37e6259d6903798e6db20702cea8..c2aff2f03451b97f1ec6bd4ee987bb729177320a 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -183,6 +183,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -182,6 +182,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public final Map<ServerExplosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
public java.util.ArrayDeque<net.minecraft.world.level.block.RedstoneTorchBlock.Toggle> redstoneUpdateInfos; // Paper - Faster redstone torch rapid clock removal; Move from Map in BlockRedstoneTorch to here
@@ -95,7 +95,7 @@ index 82025f6dd73366a259418c2039638a6dcc6d4fc1..85ae5c9c873dab19f897fe50b70c62e3
public CraftWorld getWorld() {
return this.world;
}
@@ -845,6 +888,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -844,6 +887,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
@@ -104,7 +104,7 @@ index 82025f6dd73366a259418c2039638a6dcc6d4fc1..85ae5c9c873dab19f897fe50b70c62e3
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0e05ebe9ee52033d86373bd2ad1c6f12503b3128..c02b8212cb56912e0eb244f47aa094c7879be89b 100644
index c2d7b2787704614d2e3a3a8512a994e5434c093f..2640c1f0079f7f340e57d8f9e75f04185da064e7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -113,6 +113,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 5f86f0b46e91ac41820931a9d64a7240d3ddd8d4..14640ed95dbbf99150ef1f41ff1046c2c034e552 100644
index a0f3371520702a3a1643abd45bf6754336385397..0823fd91cbee711847c4a3d06f46c7d3b694833c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1435,7 +1435,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1441,7 +1441,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
if (this.isInvulnerableTo(world, source)) {
return false;
} else {
@@ -27,7 +27,7 @@ index 5f86f0b46e91ac41820931a9d64a7240d3ddd8d4..14640ed95dbbf99150ef1f41ff1046c2
if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a5f51c2dff32452ad5dda0623dda90da358fe322..d5a546191014dc1cc9ed8b314c67983b0401d37b 100644
index 0ac20878dfa363c3a28b784e3cba8cba8874a105..13107decd92901bae038ca5bfa69a83adabd3e3d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -113,6 +113,7 @@ public class PurpurWorldConfig {

View File

@@ -17,10 +17,10 @@ index 24c2568db30f970aed1a4897cfbc7d07297047d3..5d94b71bd54f99040b76cca74964a32d
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b201fb88391a12a5bd569457cf25734d320bf2cb..4f639042a3036b3cba23052f4be66db0e1dd62b5 100644
index 3c901f5597e4bb2a77168eb5ad1d14e13142983f..3c28590feaec355d94b1a8c7228c3b62e9d815ad 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1157,6 +1157,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1156,6 +1156,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.safeShutdown(waitForShutdown, false);
}
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
@@ -29,10 +29,10 @@ index b201fb88391a12a5bd569457cf25734d320bf2cb..4f639042a3036b3cba23052f4be66db0
this.hasLoggedStop = true; // Paper - Debugging
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 0ccda6c505c82dd816a31eb4dfb1c7517b172a6a..9d38c3a3940b59c37efd90e4657991fe62eaeee0 100644
index de6f842349dee273eb84b2f12ea6a41d43f17fb1..94d292b97ca2404fa1ae8ceec7c4854091e2842d 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -367,6 +367,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -365,6 +365,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
DedicatedServer.LOGGER.info("JMX monitoring enabled");
}
@@ -41,10 +41,10 @@ index 0ccda6c505c82dd816a31eb4dfb1c7517b172a6a..9d38c3a3940b59c37efd90e4657991fe
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 60641d8810514aca09b2854e9254b18c07df9ce6..f375f32a323d6f4a540da566fe25b47cc6658791 100644
index 0823fd91cbee711847c4a3d06f46c7d3b694833c..a3d163500999dae1552da9cccea06d58f735c9cf 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -324,6 +324,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -330,6 +330,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public @Nullable String clientBrandName = null; // Paper - Brand support
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event
public boolean purpurClient = false; // Purpur
@@ -52,7 +52,7 @@ index 60641d8810514aca09b2854e9254b18c07df9ce6..f375f32a323d6f4a540da566fe25b47c
// Paper start - rewrite chunk system
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -686,6 +687,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -692,6 +693,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
});
}
@@ -60,7 +60,7 @@ index 60641d8810514aca09b2854e9254b18c07df9ce6..f375f32a323d6f4a540da566fe25b47c
}
@Override
@@ -738,6 +740,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -744,6 +746,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
}
this.saveEnderPearls(nbt);
@@ -68,7 +68,7 @@ index 60641d8810514aca09b2854e9254b18c07df9ce6..f375f32a323d6f4a540da566fe25b47c
}
private void saveParentVehicle(CompoundTag nbt) {
@@ -3436,5 +3439,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -3442,5 +3445,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.server.getPlayerList().respawn(this, true, RemovalReason.KILLED, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH, to);
}
}
@@ -83,10 +83,10 @@ index 60641d8810514aca09b2854e9254b18c07df9ce6..f375f32a323d6f4a540da566fe25b47c
// Purpur end
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index ca11a05c0ba7f963c7d848a11557fd81baf6b34f..78a061dc5d7141ce4e4efca5a478e559b1d935c0 100644
index ca793a3275cbfe46cf95813020a991993d356aca..c41cd92990db562ddd204c8eb8a03e803ed747ff 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -420,6 +420,7 @@ public abstract class PlayerList {
@@ -419,6 +419,7 @@ public abstract class PlayerList {
scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam);
}
// Paper end - Configurable player collision

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 8c1f21892a96ed1cf1ef8b76ff8a52f1a8caca6e..d61c4cc0a4f957ef4bf2f7124644c63380e28473 100644
index d6ba87cd80abe6126a21df0aafc208a8a2260322..a29a06a11fd44219742ee621fcd090e9cc710012 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1168,6 +1168,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1202,6 +1202,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
final int maxBookPageSize = pageMax.intValue();
final double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
long byteAllowed = maxBookPageSize;
@@ -19,7 +19,7 @@ index 8c1f21892a96ed1cf1ef8b76ff8a52f1a8caca6e..d61c4cc0a4f957ef4bf2f7124644c633
for (final String page : pageList) {
final int byteLength = page.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
byteTotal += byteLength;
@@ -1192,7 +1196,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1226,7 +1230,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
if (byteTotal > byteAllowed) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 06ccf6daaf5e7affe505c75cdbf85c1c29c3ebf9..7c60a938850e5db62022217168a075e2b88fa22d 100644
index cccd99d642ea14eb175946656d4dead436268d01..beb573d8fdc5f9e07146a7bd4d7c51d596a791a1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1886,7 +1886,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1884,7 +1884,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
boolean flag = false;
if (this.dead && adversary instanceof WitherBoss) { // Paper

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index d1a4eca112ad8698aa9025cec1b38bca01805e3f..c64b2386f35c55e3484df2d193f712a1728dc745 100644
index a3d163500999dae1552da9cccea06d58f735c9cf..ddce8eb3ac5962c0e93c879ede1bbb34f7b72166 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1680,6 +1680,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1686,6 +1686,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
this.unsetRemoved();
// CraftBukkit end
@@ -17,7 +17,7 @@ index d1a4eca112ad8698aa9025cec1b38bca01805e3f..c64b2386f35c55e3484df2d193f712a1
this.connection.internalTeleport(PositionMoveRotation.of(teleportTarget), teleportTarget.relatives()); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 89d4d749336b2947b0ac12d7df140c0240f67636..a942f6b9404f72c1c0af1bfc2325ddbfd5e6f255 100644
index ba080a23e88d6eafc2af97acef415c736eb1cc28..f90e6a515a0d614f0b784c4ee37819bc14bf3af3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3470,14 +3470,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -39,7 +39,7 @@ index 89d4d749336b2947b0ac12d7df140c0240f67636..a942f6b9404f72c1c0af1bfc2325ddbf
} else {
this.portalProcess = new PortalProcessor(portal, pos.immutable());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 63b38c9c0862a5bd00468024015e62d0485b2619..b700c52f74cbae8f99bc721b9b594845a1c1ee6d 100644
index b1c53b3f490ee39184ce868bdb38eaa69e35e7f2..f9fde0c0cdc14cf5427df3c8ecfa8d407233cdc3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -325,6 +325,7 @@ public class PurpurWorldConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Dont run with scissors!
inspired by https://modrinth.com/mod/dont-run-with-scissors
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index d61c4cc0a4f957ef4bf2f7124644c63380e28473..c3fd22396eaf85ac4d7a0aeba67b5c26a748be4c 100644
index a29a06a11fd44219742ee621fcd090e9cc710012..e3a67829d6d3e2594387e7e02ad619dc373f305a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1621,6 +1621,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1666,6 +1666,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.tryResetCurrentImpulseContext();
}
@@ -23,7 +23,7 @@ index d61c4cc0a4f957ef4bf2f7124644c63380e28473..c3fd22396eaf85ac4d7a0aeba67b5c26
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
this.lastGoodX = this.player.getX();
this.lastGoodY = this.player.getY();
@@ -1660,6 +1667,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1705,6 +1712,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
@@ -35,9 +35,9 @@ index d61c4cc0a4f957ef4bf2f7124644c63380e28473..c3fd22396eaf85ac4d7a0aeba67b5c26
+ }
+ // Purpur end
+
private boolean isPlayerCollidingWithAnythingNew(LevelReader world, AABB box, double newX, double newY, double newZ) {
AABB axisalignedbb1 = this.player.getBoundingBox().move(newX - this.player.getX(), newY - this.player.getY(), newZ - this.player.getZ());
Iterable<VoxelShape> iterable = world.getCollisions(this.player, axisalignedbb1.deflate(9.999999747378752E-6D));
// Paper start - optimise out extra getCubes
private boolean hasNewCollision(final ServerLevel world, final Entity entity, final AABB oldBox, final AABB newBox) {
final List<AABB> collisionsBB = new java.util.ArrayList<>();
diff --git a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
index 99a7e9eb75231c15bd8bb24fbb4e296bc9fdedff..a375d40ec6365ba8704ba3ece22dd5b2de9857b5 100644
--- a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] One Punch Man!
inspired by https://modrinth.com/mod/creative-one-punch
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 7c60a938850e5db62022217168a075e2b88fa22d..698340b3934a500ebd2cc50bc8818914d53af92d 100644
index beb573d8fdc5f9e07146a7bd4d7c51d596a791a1..42755171ccaf9cb23494d3bd53154d934fe68a77 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1457,6 +1457,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1455,6 +1455,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.stopSleeping();
}
@@ -35,7 +35,7 @@ index 7c60a938850e5db62022217168a075e2b88fa22d..698340b3934a500ebd2cc50bc8818914
if (amount < 0.0F) {
amount = 0.0F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 77e6729051509bdf6d226206578a813b3e80cedc..bdf8bdf14cc54ddb44c6e6f7bc1572bb7920dd45 100644
index dfea07d861779bc6f8c6041ac57bde1596a65e92..69f59d4d1cf30358f26f11e9c4cb9b8e2e6ce486 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -336,6 +336,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index c64b2386f35c55e3484df2d193f712a1728dc745..8d4e50aade704403cd713506268a1711080f72a3 100644
index ddce8eb3ac5962c0e93c879ede1bbb34f7b72166..813192b363dc59e2afa2289414726edf40123370 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1791,7 +1791,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1797,7 +1797,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
return entitymonster.isPreventingPlayerRest(this.serverLevel(), this);
});
@@ -18,7 +18,7 @@ index c64b2386f35c55e3484df2d193f712a1728dc745..8d4e50aade704403cd713506268a1711
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 428fd6150856e3f247c37779891c5ccc92dddcc1..f032d27542b26797126a9b060fa52237349dbca5 100644
index a53b1209743fc1944764436255bb1c8a195303d1..c3343c0ffcee58b8dffeef4f6ff14be2701df443 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -345,6 +345,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for skipping night
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 8dd211d20a695164c2086c03c8b0237ba109fda4..29b8a57477032c85bc498e90af4bfb739926d03c 100644
index 7715ecbe45e82079f5e2b2ad2bdf15a58f9a529c..bd2001cbc8aac2f00f643f1b98a42c4a0d0ec720 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -731,7 +731,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -741,7 +741,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
long j;
@@ -18,7 +18,7 @@ index 8dd211d20a695164c2086c03c8b0237ba109fda4..29b8a57477032c85bc498e90af4bfb73
j = this.levelData.getDayTime() + 24000L;
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3740c1390debbc660ecf31dee0dc7e58096bf1ba..c0341b91afa7eda863caec0395db2129dba59450 100644
index fcadb8cd76d29c121c464ec8e712227034e770f6..25ab893d5c0e1fbe4260e980ba1f440f13b27bd3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -347,6 +347,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a942f6b9404f72c1c0af1bfc2325ddbfd5e6f255..58d9ad22790664d425d26b53f70fbc19e3963f65 100644
index f90e6a515a0d614f0b784c4ee37819bc14bf3af3..ed34d94af712c945a35145bcb2d9603e5e6db1da 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3697,7 +3697,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -18,10 +18,10 @@ index a942f6b9404f72c1c0af1bfc2325ddbfd5e6f255..58d9ad22790664d425d26b53f70fbc19
public int getAirSupply() {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 698340b3934a500ebd2cc50bc8818914d53af92d..64e30f4b32484da95a5eb6d5556fdc8f66727410 100644
index 42755171ccaf9cb23494d3bd53154d934fe68a77..86b964c6f3c2b259765feb9823701d9b04cd39d8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -493,7 +493,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -491,7 +491,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (flag1) {
this.setAirSupply(this.decreaseAirSupply(this.getAirSupply()));
@@ -30,7 +30,7 @@ index 698340b3934a500ebd2cc50bc8818914d53af92d..64e30f4b32484da95a5eb6d5556fdc8f
this.setAirSupply(0);
Vec3 vec3d = this.getDeltaMovement();
@@ -505,7 +505,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -503,7 +503,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.level().addParticle(ParticleTypes.BUBBLE, this.getX() + d0, this.getY() + d2, this.getZ() + d3, vec3d.x, vec3d.y, vec3d.z);
}
@@ -40,7 +40,7 @@ index 698340b3934a500ebd2cc50bc8818914d53af92d..64e30f4b32484da95a5eb6d5556fdc8f
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dbaff51304eb9830ae2740e2274d7a5036880482..c0084a992ae74365e4da842795adee98ebd99a09 100644
index f0e913ebf9903c54b8223e9082617a0f9a1ef5df..7115291fec1874558ab6cf3c520edeb6aef75b42 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -163,6 +163,15 @@ public class PurpurWorldConfig {

View File

@@ -17,10 +17,10 @@ index 0a16aa193ef24aa8f1716f9e089b8027fa3c0a3c..1e85c9318ede93b8e9fe548a8945324b
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index a706fd393962973af8f0a88edd98deea235b8404..a3074c439b3255d2cfc174dbc7c5b01ef418a602 100644
index 813192b363dc59e2afa2289414726edf40123370..2300d1e1b283efb897afba4cccd1d697400677a1 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1335,6 +1335,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1341,6 +1341,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
}));
PlayerTeam scoreboardteam = this.getTeam();

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable mob blindness
Ported from https://github.com/raltsmc/mobblindness
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 64e30f4b32484da95a5eb6d5556fdc8f66727410..e937eb4e89bf08e3fee8ea2ca0643b0206964de1 100644
index 86b964c6f3c2b259765feb9823701d9b04cd39d8..0665b87872b8f5284d5947d68ca04a0850768a90 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1067,6 +1067,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1065,6 +1065,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.PIGLIN && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.PIGLIN_BRUTE && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) {
d0 *= 0.5D;
}
@@ -28,7 +28,7 @@ index 64e30f4b32484da95a5eb6d5556fdc8f66727410..e937eb4e89bf08e3fee8ea2ca0643b02
return d0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b7ea3706aa0a339c4197cbf6f62f1b9b7499002f..9ba71358ef10fcaf5339b7341483b037537a0f01 100644
index f017a147789532dc4d8d2d6e4b4f4293d5c507b8..8be5ff1862e6681161d865a54addb1bdd9bd0425 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -137,6 +137,7 @@ public class PurpurWorldConfig {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index f3769da2422d98dec32ba252bde5d9467f1bd84f..d2f2301cff71b8ce64b803dadcb09610e8a2a289 100644
index ed34d94af712c945a35145bcb2d9603e5e6db1da..01e3da9e5e6a27b3ee54f0b28b67637d8f9271d7 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -617,6 +617,22 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -33,10 +33,10 @@ index f3769da2422d98dec32ba252bde5d9467f1bd84f..d2f2301cff71b8ce64b803dadcb09610
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
this.passengers = ImmutableList.of();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index e937eb4e89bf08e3fee8ea2ca0643b0206964de1..5bc3556d437670801f5afda368c5d0e334869f33 100644
index 0665b87872b8f5284d5947d68ca04a0850768a90..3177c786e927b8979da74c3144bee9d523155bc1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -299,6 +299,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -297,6 +297,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
@@ -44,7 +44,7 @@ index e937eb4e89bf08e3fee8ea2ca0643b0206964de1..5bc3556d437670801f5afda368c5d0e3
@Override
public float getBukkitYaw() {
@@ -841,6 +842,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -839,6 +840,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> {
nbt.put("Brain", nbtbase);
});
@@ -52,7 +52,7 @@ index e937eb4e89bf08e3fee8ea2ca0643b0206964de1..5bc3556d437670801f5afda368c5d0e3
}
@Override
@@ -929,6 +931,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -927,6 +929,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain")));
}
@@ -64,7 +64,7 @@ index e937eb4e89bf08e3fee8ea2ca0643b0206964de1..5bc3556d437670801f5afda368c5d0e3
}
// CraftBukkit start
@@ -3756,6 +3763,34 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3754,6 +3761,34 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
}
@@ -100,7 +100,7 @@ index e937eb4e89bf08e3fee8ea2ca0643b0206964de1..5bc3556d437670801f5afda368c5d0e3
public boolean isSensitiveToWater() {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index bc2beee267f535e23bd804d415019bab5ee2fd88..da1aefc4cdf2bca8e91c6c7833c24f3f0923f552 100644
index 2ececba4f225589c5a38eaa24daf2481ad44a648..7978e307e7bb7f80993c49dcc5ada319a907c648 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1770,17 +1770,8 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
@@ -215,7 +215,7 @@ index 78e95f15de02cc0b2f2c6d71bf6c10828986c6f4..324fca775bacd06dcd521ce4b33d4f7d
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 2dc44d3b2609fef26925f2a4a21e0a8bdd14d24a..8f3408b60fce19680e3848b448a7eaddf96e91da 100644
index 6e665d75f2c3a6cec6307a2befb07e73e48da5eb..cc84fbab113f5633df274deb48de2484b05bb3ff 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -60,6 +60,7 @@ public class Phantom extends FlyingMob implements Enemy {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 51494dc0cca0819ee8df61144e70450facbba727..8d6a3309b6d20e51b056fbf030f27aa4f92640d7 100644
index bd2001cbc8aac2f00f643f1b98a42c4a0d0ec720..3f43f52a977b4e7908021dd820fb1f818a4614a9 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1069,7 +1069,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1065,7 +1065,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return holder.is(PoiTypes.LIGHTNING_ROD);
}, (blockposition1) -> {
return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;

View File

@@ -17,10 +17,10 @@ index 5d94b71bd54f99040b76cca74964a32d55339767..0090243f7e1a966534e489cebb88d71d
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 874535bf55b76ca2df482a191d66924f8f228c97..e1cabc6af43e4342e8215a774483d5cd0db0aba8 100644
index 3c28590feaec355d94b1a8c7228c3b62e9d815ad..ec8af36c230e36a59fe8a02a868fb36a8212cd8b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -315,6 +315,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -314,6 +314,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public OptionSet options;
public org.bukkit.command.ConsoleCommandSender console;
public static int currentTick; // Paper - improve tick loop

View File

@@ -25,10 +25,10 @@ index d644d02b039ca918391a32a04549f7a34386b3f9..42b259c3878bd34b8e7cb768887fd145
world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point
}
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
index fa19720fbb911842db42a4eb0ccf8406cb27c137..135e59e549cbcb3806574f964947b6ff3ea517d1 100644
index b6d6c2cb9b227a17fb4ce42bc75f92206fbea043..c35513d05bd70e296a0e5ffe92c36016a13173b4 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -440,7 +440,17 @@ public class Block extends BlockBehaviour implements ItemLike {
@@ -433,7 +433,17 @@ public class Block extends BlockBehaviour implements ItemLike {
} // Paper - fix drops not preventing stats/food exhaustion
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 8d6a3309b6d20e51b056fbf030f27aa4f92640d7..be11f61e35bccd87ce627c16a520ef8986fdb28e 100644
index 3f43f52a977b4e7908021dd820fb1f818a4614a9..70484e722a1cccb626edc55addc302b587c25c8e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1118,11 +1118,27 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1114,11 +1114,27 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (this.canSleepThroughNights()) {
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
@@ -38,10 +38,10 @@ index 8d6a3309b6d20e51b056fbf030f27aa4f92640d7..be11f61e35bccd87ce627c16a520ef89
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index a3074c439b3255d2cfc174dbc7c5b01ef418a602..77f81e323c6aa805ed30ef171d20f05d0597b3d5 100644
index 2300d1e1b283efb897afba4cccd1d697400677a1..40181213c200d2180f3001061358730298f64b7f 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1832,7 +1832,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1838,7 +1838,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
});
if (!this.serverLevel().canSleepThroughNights()) {

View File

@@ -17,10 +17,10 @@ index 0090243f7e1a966534e489cebb88d71d9cbab7bb..d8ee4422a13c7f09b84e9bbe8b57f0c1
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 77f81e323c6aa805ed30ef171d20f05d0597b3d5..9a84a81891dc48fa7c005c13cab0eb6effaa624e 100644
index 40181213c200d2180f3001061358730298f64b7f..5bbf3bb49d47b5b4acce00af4b9cdcffaa3be383 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -325,6 +325,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -331,6 +331,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event
public boolean purpurClient = false; // Purpur
private boolean tpsBar = false; // Purpur
@@ -28,7 +28,7 @@ index 77f81e323c6aa805ed30ef171d20f05d0597b3d5..9a84a81891dc48fa7c005c13cab0eb6e
// Paper start - rewrite chunk system
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -688,6 +689,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -694,6 +695,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
}
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
@@ -36,7 +36,7 @@ index 77f81e323c6aa805ed30ef171d20f05d0597b3d5..9a84a81891dc48fa7c005c13cab0eb6e
}
@Override
@@ -741,6 +743,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -747,6 +749,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.saveEnderPearls(nbt);
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
@@ -44,7 +44,7 @@ index 77f81e323c6aa805ed30ef171d20f05d0597b3d5..9a84a81891dc48fa7c005c13cab0eb6e
}
private void saveParentVehicle(CompoundTag nbt) {
@@ -3461,5 +3464,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -3467,5 +3470,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public void tpsBar(boolean tpsBar) {
this.tpsBar = tpsBar;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 5bc3556d437670801f5afda368c5d0e334869f33..fcb024cc70c750887e6d6ce19692385ab5ac9d01 100644
index 3177c786e927b8979da74c3144bee9d523155bc1..125b55068d017b96aa8410bf1936e71b593ce43f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3180,6 +3180,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3178,6 +3178,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (f > 0.0F) {
this.playSound(this.getFallDamageSound((int) f), 1.0F, 1.0F);
@@ -17,7 +17,7 @@ index 5bc3556d437670801f5afda368c5d0e334869f33..fcb024cc70c750887e6d6ce19692385a
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 75d5e129e9fb74181aed9d5bd57f19aea67dcfd2..35796c711fa4aaf2cd456b3f90cfafba1a27f886 100644
index a563b33677d3067030d733aa5d66fc3f39eab782..70bedb84753cf404631a8747f06758ba1fa93e81 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -180,11 +180,13 @@ public class PurpurWorldConfig {

View File

@@ -37,10 +37,10 @@ index 61ef08ac941b1e8988d001241780d3a1582f7a2d..2eab5b43ab654966d26424597c1f3baa
FuelValues(Object2IntSortedMap<Item> fuelValues) {
this.values = fuelValues;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index a6f937cf8d536eb401f3bb10d0f161b33d7d2740..0dd2f6c53047f122c769f8615fbaad692ffada29 100644
index 6e92cc1832510a9ed776f54e43d596fe4f8831d9..7bc58c693db720ca75dc4925bfb8d41aa69f5b90 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1594,6 +1594,22 @@ public final class CraftServer implements Server {
@@ -1617,6 +1617,22 @@ public final class CraftServer implements Server {
return true;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index c70a1ca4ed978df1b54363e966a8344a2fe6f277..de24307e48e7bc6cc39234fae55ddb404df243b3 100644
index 70484e722a1cccb626edc55addc302b587c25c8e..adfd2ef5688049d039faa47b1616f1b382428d5b 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1278,6 +1278,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1274,6 +1274,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@VisibleForTesting
public void resetWeatherCycle() {
// CraftBukkit start
@@ -16,7 +16,7 @@ index c70a1ca4ed978df1b54363e966a8344a2fe6f277..de24307e48e7bc6cc39234fae55ddb40
this.serverLevelData.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....
@@ -1285,6 +1286,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1281,6 +1282,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.serverLevelData.setRainTime(0);
}
// CraftBukkit end
@@ -25,7 +25,7 @@ index c70a1ca4ed978df1b54363e966a8344a2fe6f277..de24307e48e7bc6cc39234fae55ddb40
// CraftBukkit start
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cce5813f0624fabf8a9e38d2eb9d1d1d63f15b70..91debf506c8f1ece992586a1d0328304e358d88a 100644
index 1894c6c3b2949d8d7d3bf537750c57fcc44168c2..45cd8aa8f659538020980ba35c8126279cc3a775 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -139,6 +139,8 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Shift right click to use exp for mending
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 8ad07b6939831f57469bb6ad7c78b2c7e3b17fea..0f3dbe848ad923733e356c344a00667c6da0ab83 100644
index 7315e604a2f9cb068eb5bbca744e44eeabac09c9..88eb3774f688bcff383efa7f113bd0b1b97d8a11 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -524,6 +524,7 @@ public class ServerPlayerGameMode {
@@ -36,10 +36,10 @@ index 8ad07b6939831f57469bb6ad7c78b2c7e3b17fea..0f3dbe848ad923733e356c344a00667c
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index c3fd22396eaf85ac4d7a0aeba67b5c26a748be4c..8da850ab34e576caf89681171124f617f57d00a7 100644
index e3a67829d6d3e2594387e7e02ad619dc373f305a..ec0849f3b26a8571323d1aa2be5357d00e45a63a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2020,6 +2020,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2092,6 +2092,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
boolean cancelled;
if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {
@@ -48,7 +48,7 @@ index c3fd22396eaf85ac4d7a0aeba67b5c26a748be4c..8da850ab34e576caf89681171124f617
cancelled = event.useItemInHand() == Event.Result.DENY;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0a4626ea59c854d072972e78f06df3808797503f..025982aac35116320ff41203645e606504640940 100644
index feabdb3fec0a8bb16cfe09e5f857d7b86211b234..7f9b948191a2160b8e1b11ff04468f47bf1a498e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -402,6 +402,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ 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 a097b6e5ec9c340f0bb822e5d65c4951ba4caa88..ded4e4d120b4f0f803f48f590a6d9e39e8c210cf 100644
index ec8af36c230e36a59fe8a02a868fb36a8212cd8b..95e1dbd7a423d57c2cfc8546aa6f5741f00e31bb 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -331,6 +331,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -330,6 +330,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
public boolean lagging = false; // Purpur
@@ -16,9 +16,9 @@ index a097b6e5ec9c340f0bb822e5d65c4951ba4caa88..ded4e4d120b4f0f803f48f590a6d9e39
public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper
@@ -1057,6 +1058,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1056,6 +1057,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
MinecraftTimings.stopServer(); // Paper
this.server.spark.disable(); // Paper - spark
+ // Purpur start
+ if (upnp) {
@@ -33,10 +33,10 @@ index a097b6e5ec9c340f0bb822e5d65c4951ba4caa88..ded4e4d120b4f0f803f48f590a6d9e39
if (this.server != null) {
this.server.disablePlugins();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 9d38c3a3940b59c37efd90e4657991fe62eaeee0..4c1cbceedd1e6ca4045a54754b5c66f4830d7b13 100644
index 94d292b97ca2404fa1ae8ceec7c4854091e2842d..b9b49e6faa529e543bdaad34b3e169dfb7c0a680 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -294,6 +294,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -292,6 +292,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
if (true) throw new IllegalStateException("Failed to bind to port", ioexception); // Paper - Propagate failed to bind to port error
return false;
}

View File

@@ -29,10 +29,10 @@ index 33d9b5fb6897fefb0f7b9009df7339341cb42317..d58619d1d63a03598b8740dd789d4b6f
@Nullable
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
index 135e59e549cbcb3806574f964947b6ff3ea517d1..e8c649d1db3dd82bb544aa6e96b6a19e96559b09 100644
index c35513d05bd70e296a0e5ffe92c36016a13173b4..d324eefa500c528776df698e7f9dcdeab76da167 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -310,7 +310,7 @@ public class Block extends BlockBehaviour implements ItemLike {
@@ -303,7 +303,7 @@ public class Block extends BlockBehaviour implements ItemLike {
public static void dropResources(BlockState state, LevelAccessor world, BlockPos pos, @Nullable BlockEntity blockEntity) {
if (world instanceof ServerLevel) {
Block.getDrops(state, (ServerLevel) world, pos, blockEntity).forEach((itemstack) -> {
@@ -41,7 +41,7 @@ index 135e59e549cbcb3806574f964947b6ff3ea517d1..e8c649d1db3dd82bb544aa6e96b6a19e
});
state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY, true);
}
@@ -329,7 +329,7 @@ public class Block extends BlockBehaviour implements ItemLike {
@@ -322,7 +322,7 @@ public class Block extends BlockBehaviour implements ItemLike {
event.setExpToDrop(block.getExpDrop(state, serverLevel, pos, net.minecraft.world.item.ItemStack.EMPTY, true)); // Paper - Properly handle xp dropping
event.callEvent();
for (org.bukkit.inventory.ItemStack drop : event.getDrops()) {
@@ -50,7 +50,7 @@ index 135e59e549cbcb3806574f964947b6ff3ea517d1..e8c649d1db3dd82bb544aa6e96b6a19e
}
state.spawnAfterBreak(serverLevel, pos, ItemStack.EMPTY, false); // Paper - Properly handle xp dropping
block.popExperience(serverLevel, pos, event.getExpToDrop()); // Paper - Properly handle xp dropping
@@ -346,13 +346,32 @@ public class Block extends BlockBehaviour implements ItemLike {
@@ -339,13 +339,32 @@ public class Block extends BlockBehaviour implements ItemLike {
// Paper end - Properly handle xp dropping
if (world instanceof ServerLevel) {
Block.getDrops(state, (ServerLevel) world, pos, blockEntity, entity, tool).forEach((itemstack1) -> {
@@ -85,10 +85,10 @@ index 135e59e549cbcb3806574f964947b6ff3ea517d1..e8c649d1db3dd82bb544aa6e96b6a19e
double d0 = (double) EntityType.ITEM.getHeight() / 2.0D;
double d1 = (double) pos.getX() + 0.5D + Mth.nextDouble(world.random, -0.25D, 0.25D);
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
index fb00e5a02bb8c64e27d6d009068ba041098951d6..62b9e41cc35714428d7701d019b45c6ee429400c 100644
index 1f929b467a0ece3143af58a657cf5983c07a8d51..eaa6ece956f90632831f0558924eaf18680a252b 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
@@ -100,6 +100,12 @@ public abstract class BlockEntity {
@@ -95,6 +95,12 @@ public abstract class BlockEntity {
if (persistentDataTag instanceof CompoundTag) {
this.persistentDataContainer.putAll((CompoundTag) persistentDataTag);
}
@@ -101,7 +101,7 @@ index fb00e5a02bb8c64e27d6d009068ba041098951d6..62b9e41cc35714428d7701d019b45c6e
}
// CraftBukkit end
@@ -116,6 +122,15 @@ public abstract class BlockEntity {
@@ -111,6 +117,15 @@ public abstract class BlockEntity {
this.loadAdditional(nbt, registries);
}
@@ -117,7 +117,7 @@ index fb00e5a02bb8c64e27d6d009068ba041098951d6..62b9e41cc35714428d7701d019b45c6e
protected void saveAdditional(CompoundTag nbt, HolderLookup.Provider registries) {}
public final CompoundTag saveWithFullMetadata(HolderLookup.Provider registries) {
@@ -424,4 +439,16 @@ public abstract class BlockEntity {
@@ -419,4 +434,16 @@ public abstract class BlockEntity {
<T> T getOrDefault(DataComponentType<? extends T> type, T fallback);
}
@@ -135,7 +135,7 @@ index fb00e5a02bb8c64e27d6d009068ba041098951d6..62b9e41cc35714428d7701d019b45c6e
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4bd07e6ef30f6ff3e026492f36b0b3e8de363088..420b086c27f4c0d977f2fdaead4e45fc989bc9f8 100644
index 56591fdf3bd5a407d938bcac243be0f03672bc06..340f1cde7eafdc3b6e2e2a4e84b54e93ff15eb1d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -141,6 +141,8 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 101f2db7d6e7eec85b21c576768224d6c3bba7e7..3f804ddb25aa03bdd964d390a1a1aab4d09abfde 100644
index 5bbf3bb49d47b5b4acce00af4b9cdcffaa3be383..51229d600ea8a58e5c75bd97a1926f5cdf3704d4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1969,6 +1969,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1975,6 +1975,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@Override
public void openTextEdit(SignBlockEntity sign, boolean front) {
@@ -84,7 +84,7 @@ index 8ac19e1e052e73ff3fd09089bb8e3fd687390ee4..6da1eec98c08e4909ecbd48fe90b3fd6
public ClientboundBlockEntityDataPacket getUpdatePacket() {
return ClientboundBlockEntityDataPacket.create(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 420b086c27f4c0d977f2fdaead4e45fc989bc9f8..9cfee77da2b368c2be4a91902df8e9085d07974b 100644
index 340f1cde7eafdc3b6e2e2a4e84b54e93ff15eb1d..b571a7224f91fe2fd3eeaca48939b7a9b373a4d9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -998,6 +998,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Mob head visibility percent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index fcb024cc70c750887e6d6ce19692385ab5ac9d01..090f259115573f0ed2fb7ed79d191b3f09ac27cd 100644
index 125b55068d017b96aa8410bf1936e71b593ce43f..c09ef8271f45e62629bcdca1b3885334fdb79211 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1071,9 +1071,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1069,9 +1069,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD);
EntityType<?> entitytypes = entity.getType();
@@ -32,7 +32,7 @@ index fcb024cc70c750887e6d6ce19692385ab5ac9d01..090f259115573f0ed2fb7ed79d191b3f
// Purpur start
if (entity instanceof LivingEntity entityliving) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 16fecadf20523f2a2bf72082bd558e59805e02ca..8e9c7d1d913e3ed5015f4016c96e56942ce07f5e 100644
index eaa909e9d1923fac9cb7ab6de228df48519c7fcf..a4f0aba3f0ecf59fa915ef3b6c537e3eb8ab18fc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1377,6 +1377,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ded4e4d120b4f0f803f48f590a6d9e39e8c210cf..f3b8478c29aec79cfc6fc7d0799b6147ad52f718 100644
index 95e1dbd7a423d57c2cfc8546aa6f5741f00e31bb..9d2ece075144b036304025354e65d2cdcf5301fe 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1169,6 +1169,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1168,6 +1168,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur
@@ -17,10 +17,10 @@ index ded4e4d120b4f0f803f48f590a6d9e39e8c210cf..f3b8478c29aec79cfc6fc7d0799b6147
this.hasLoggedStop = true; // Paper - Debugging
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 4c1cbceedd1e6ca4045a54754b5c66f4830d7b13..465238411137cd2dfa68e18a6b4d14d1b4688b7b 100644
index b9b49e6faa529e543bdaad34b3e169dfb7c0a680..3ddc5f213954f181e0e3b8d44808ea12765e8e55 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -392,6 +392,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -390,6 +390,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
}
org.purpurmc.purpur.task.BossBarTask.startAll(); // Purpur

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 78e1f0f9bbe861bf3986cea5074c6c49d8fb6510..f598939777eb4ee2d8aff851e1a20a033d8aa02b 100644
index adfd2ef5688049d039faa47b1616f1b382428d5b..a8650040b69fe92f18606e5029ecd881961b39e7 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2795,7 +2795,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -2802,7 +2802,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// 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
@@ -18,7 +18,7 @@ index 78e1f0f9bbe861bf3986cea5074c6c49d8fb6510..f598939777eb4ee2d8aff851e1a20a03
}
// Paper end - Fix merchant inventory not closing on entity removal
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 74b5d04cf6880f30f8f36ea0414e0ae5542c34b7..17f43806df5c8c14a7c90f02e8519e6786700859 100644
index d7f8bf20eba76b8eea60e6483308e8b76430dd56..f85d56434ac6d1daadbf23f5f59303de0b627cf5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -420,6 +420,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for mob last hurt by player time
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 090f259115573f0ed2fb7ed79d191b3f09ac27cd..60b0cf7cd5e4bcbe882590b79a70dafb23e6772f 100644
index c09ef8271f45e62629bcdca1b3885334fdb79211..e2a5d66e4b945f69d9f2b538b95aa0b187749d8b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1603,13 +1603,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1601,13 +1601,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (entity1 instanceof net.minecraft.world.entity.player.Player) {
net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1;
@@ -38,7 +38,7 @@ index bf84c9664ca6d6c3d862e592c39bcc59374b63fe..051ffc663317fe5a4fafe0750c89fafd
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1426f0f6246c4e57a66e25365609c36991a72059..bd48ba4acf41ec77f542ca7e8dfe6280bb2fbed1 100644
index 1a4a756943a1ba888b85b8896db0942dce19ab8d..9fd228060bd31deee69c0b76aba11883140a7d0b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -143,6 +143,7 @@ public class PurpurWorldConfig {

View File

@@ -83,7 +83,7 @@ index e9775b4506909bee65a74964f0d5391a0513de1d..684f7f202305c09b1037c5d38a52a5ea
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c57181957dd0746c 100644
index 9d2ece075144b036304025354e65d2cdcf5301fe..940a2aa8bd85d037792bc0ecb0d1f1a9e5456f0d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -431,12 +431,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -116,7 +116,7 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -1338,22 +1338,22 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1337,22 +1337,22 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
boolean flag = i == 0L;
@@ -144,7 +144,7 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
this.tickFrame.start();
this.tickServer(flag ? () -> {
return false;
@@ -1366,7 +1366,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1365,7 +1365,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Paper end - rewrite chunk system
this.tickFrame.end();
@@ -153,7 +153,7 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
if (!org.purpurmc.purpur.PurpurConfig.tpsCatchup /*|| !gg.pufferfish.pufferfish.PufferfishConfig.tpsCatchup*/) { // Purpur // Purpur - TODO: Pufferfish
@@ -1380,23 +1380,23 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1379,23 +1379,23 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickRateManager.endTickWork();
}
@@ -182,7 +182,7 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
} finally {
this.endMetricsRecordingTick();
}
@@ -1618,7 +1618,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1605,7 +1605,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error
@@ -191,16 +191,16 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
super.doRunTask(ticktask);
}
@@ -1712,7 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.autoSave();
}
@@ -1713,7 +1713,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
profiler.pop();
// Paper end - Incremental chunk and player saving
- ProfilerFiller gameprofilerfiller = Profiler.get();
+ //ProfilerFiller gameprofilerfiller = Profiler.get(); // Purpur
// Paper start - move executeAll() into full server tick timing
//try (co.aikar.timings.Timing ignored = MinecraftTimings.processTasksTimer.startTiming()) { // Purpur
@@ -1725,7 +1725,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.runAllTasks(); // Paper - move runAllTasks() into full server tick (previously for timings)
this.server.spark.executeMainThreadTasks(); // Paper - spark
@@ -1723,7 +1723,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent();
// Paper end - Server Tick Events
this.server.spark.tickEnd(((double)(endTime - lastTick) / 1000000D)); // Paper - spark
@@ -209,31 +209,29 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
long k = Util.getNanos() - i;
int l = this.tickCount % 100;
@@ -1739,7 +1739,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1737,7 +1737,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickTimes60s.add(this.tickCount, k);
// Paper end - Add tick times API and /mspt command
this.logTickMethodTime(i);
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
//co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
}
@@ -1842,11 +1842,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private void autoSave() {
@@ -1837,9 +1837,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
});
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
- gameprofilerfiller.push("commandFunctions");
+ //gameprofilerfiller.push("commandFunctions"); // Purpur
//MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper // Purpur
this.getFunctions().tick();
//MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper // Purpur
- gameprofilerfiller.popPush("levels");
+ //gameprofilerfiller.popPush("levels"); // Purpur
//Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; moved down
// CraftBukkit start
@@ -1888,20 +1888,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
@@ -1878,20 +1878,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.updateLagCompensationTick(); // Paper - lag compensation
worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
- gameprofilerfiller.push(() -> {
@@ -257,8 +255,8 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
+ //gameprofilerfiller.push("tick"); // Purpur
try {
//worldserver.timings.doTick.startTiming(); // Spigot // Purpur
@@ -1914,16 +1914,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.tick(shouldKeepTicking);
@@ -1902,26 +1902,26 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport);
}
@@ -271,33 +269,27 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
- gameprofilerfiller.popPush("connection");
+ //gameprofilerfiller.popPush("connection"); // Purpur
// MinecraftTimings.connectionTimer.startTiming(); // Spigot // Paper // Purpur
this.tickConnection();
// MinecraftTimings.connectionTimer.stopTiming(); // Spigot // Paper // Purpur
- gameprofilerfiller.popPush("players");
+ //gameprofilerfiller.popPush("players"); // Purpur
//MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick();
//MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
@@ -1931,7 +1931,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (SharedConstants.IS_RUNNING_IN_IDE && this.tickRateManager.runsNormally()) {
GameTestTicker.SINGLETON.tick();
}
- gameprofilerfiller.popPush("server gui refresh");
+ //gameprofilerfiller.popPush("server gui refresh"); // Purpur
//MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) {
@@ -1939,7 +1939,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
((Runnable) this.tickables.get(i)).run();
}
//MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
- gameprofilerfiller.popPush("send chunks");
+ //gameprofilerfiller.popPush("send chunks"); // Purpur
iterator = this.playerList.getPlayers().iterator();
while (iterator.hasNext()) {
@@ -1949,7 +1949,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1931,7 +1931,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.resumeFlushing();
}
@@ -306,7 +298,7 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
}
public void tickConnection() {
@@ -1961,9 +1961,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1943,9 +1943,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void forceTimeSynchronization() {
@@ -318,7 +310,7 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) {
@@ -1972,7 +1972,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1954,7 +1954,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver);
}
@@ -327,7 +319,7 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
}
public boolean isLevelEnabled(Level world) {
@@ -2925,7 +2925,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2907,7 +2907,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// CraftBukkit end
private ProfilerFiller createProfiler() {
@@ -336,7 +328,7 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
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"));
@@ -2935,37 +2935,38 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2917,37 +2917,38 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.willStartRecordingMetrics = false;
}
@@ -384,7 +376,7 @@ index af8c8d3d2c92bede02fca6bebd05c4f5c1a98583..733020a0339129cf4bbe64e0c5718195
}
public Path getWorldPath(LevelResource worldSavePath) {
@@ -3018,15 +3019,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -3000,15 +3001,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public boolean isTimeProfilerRunning() {
@@ -489,10 +481,10 @@ index 8c587f829c5e8c6b6df3150024c4ae704988c47b..8ac4d5dbe7f8febf4226f26a6b035282
String string = String.format(
Locale.ROOT, "%s-%s-%s", Util.getFilenameFormattedDateTime(), server.getWorldData().getLevelName(), SharedConstants.getCurrentVersion().getId()
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 987d8567034e06bfb916d3e0a4a87f6c9169bccf..fdc7cb58a5f106646448e4898dc03d473be8042d 100644
index f4b578c7f839f58da265f2cbcb53e5654ca3edc8..214c38ff42075003fc0063ef46ad0d14557d2082 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -373,16 +373,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -406,16 +406,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
protected void tick(BooleanSupplier shouldKeepTicking) {
@@ -514,10 +506,10 @@ index 987d8567034e06bfb916d3e0a4a87f6c9169bccf..fdc7cb58a5f106646448e4898dc03d47
public boolean hasWork() {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 96f9d18eb22380cccd35b486713583d6dfa46646..1961b18a2b5e5985181f0ca930ab14ba1d168c44 100644
index 3c711e1df57ac5b0f8795ebb12299d275792b1d4..bb168636cbf23b5b0c7232529e390f434546dc37 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -444,30 +444,30 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -442,38 +442,38 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
// CraftBukkit start - modelled on below
public void purgeUnload() {
if (true) return; // Paper - rewrite chunk system
@@ -544,31 +536,28 @@ index 96f9d18eb22380cccd35b486713583d6dfa46646..1961b18a2b5e5985181f0ca930ab14ba
- gameprofilerfiller.push("purge");
+ //gameprofilerfiller.push("purge"); // Purpur
//this.level.timings.doChunkMap.startTiming(); // Spigot // Purpur
if (this.level.tickRateManager().runsNormally() || !tickChunks || this.level.spigotConfig.unloadFrozenChunks) { // Spigot
this.distanceManager.purgeStaleTickets();
}
this.runDistanceManagerUpdates();
//this.level.timings.doChunkMap.stopTiming(); // Spigot // Purpur
- gameprofilerfiller.popPush("chunks");
+ //gameprofilerfiller.popPush("chunks"); // Purpur
if (tickChunks) {
//this.level.timings.chunks.startTiming(); // Paper - timings // Purpur
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemServerLevel)this.level).moonrise$getPlayerChunkLoader().tick(); // Paper - rewrite chunk system
@@ -477,10 +477,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
this.tickChunks();
this.chunkMap.tick();
}
//this.level.timings.doChunkUnload.startTiming(); // Spigot // Purpur
- gameprofilerfiller.popPush("unload");
+ //gameprofilerfiller.popPush("unload"); // Purpur
this.chunkMap.tick(shouldKeepTicking);
//this.level.timings.doChunkUnload.stopTiming(); // Spigot // Purpur
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
this.clearCache();
}
@@ -490,34 +490,34 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -483,34 +483,34 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
this.lastInhabitedUpdate = i;
if (!this.level.isDebug()) {
@@ -588,7 +577,7 @@ index 96f9d18eb22380cccd35b486713583d6dfa46646..1961b18a2b5e5985181f0ca930ab14ba
+ //gameprofilerfiller.popPush("shuffleChunks"); // Purpur
// Paper start - chunk tick iteration optimisation
this.shuffleRandom.setSeed(this.level.random.nextLong());
Util.shuffle(list, this.shuffleRandom);
if (!this.level.paperConfig().entities.spawning.perPlayerMobSpawns) Util.shuffle(list, this.shuffleRandom); // Paper - Optional per player mob spawns; do not need this when per-player is enabled
// Paper end - chunk tick iteration optimisation
- this.tickChunks(gameprofilerfiller, j, list);
- gameprofilerfiller.pop();
@@ -613,7 +602,7 @@ index 96f9d18eb22380cccd35b486713583d6dfa46646..1961b18a2b5e5985181f0ca930ab14ba
Iterator iterator = this.chunkHoldersToBroadcast.iterator();
while (iterator.hasNext()) {
@@ -532,7 +532,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -523,7 +523,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
}
this.chunkHoldersToBroadcast.clear();
@@ -622,18 +611,17 @@ index 96f9d18eb22380cccd35b486713583d6dfa46646..1961b18a2b5e5985181f0ca930ab14ba
}
private void collectTickingChunks(List<LevelChunk> chunks) {
@@ -558,15 +558,15 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
// Paper end - chunk tick iteration optimisation
@@ -550,7 +550,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
}
- private void tickChunks(ProfilerFiller profiler, long timeDelta, List<LevelChunk> chunks) {
private void tickChunks(ProfilerFiller profiler, long timeDelta, List<LevelChunk> chunks) {
- profiler.popPush("naturalSpawnCount");
+ private void tickChunks(ProfilerFiller profiler, long timeDelta, List<LevelChunk> chunks) { // Purpur
+ //profiler.popPush("naturalSpawnCount"); // Purpur
//this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur
int j = this.distanceManager.getNaturalSpawnChunkCount();
NaturalSpawner.SpawnState spawnercreature_d = NaturalSpawner.createState(j, this.level.getAllEntities(), this::getFullChunk, new LocalMobCapCalculator(this.chunkMap));
// this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings // Purpur
// Paper start - Optional per player mob spawns
final int naturalSpawnChunkCount = j;
@@ -577,7 +577,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
// Paper end - Optional per player mob spawns
this.lastSpawnState = spawnercreature_d;
- profiler.popPush("spawnAndTick");
@@ -641,16 +629,16 @@ index 96f9d18eb22380cccd35b486713583d6dfa46646..1961b18a2b5e5985181f0ca930ab14ba
boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit
int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
List list1;
@@ -606,7 +606,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
//this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur
@@ -615,7 +615,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
}
}
- profiler.popPush("customSpawners");
+ //profiler.popPush("customSpawners"); // Purpur
if (flag) {
//try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings // Purpur
this.level.tickCustomSpawners(this.spawnEnemies, this.spawnFriendlies);
@@ -806,7 +806,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
}
@@ -813,7 +813,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@Override
protected void doRunTask(Runnable task) {
@@ -660,10 +648,10 @@ index 96f9d18eb22380cccd35b486713583d6dfa46646..1961b18a2b5e5985181f0ca930ab14ba
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d9884cbd8 100644
index a8650040b69fe92f18606e5029ecd881961b39e7..4c11f0a23ee897691d8a8022baa134ef6f5e3d89 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -714,18 +714,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -724,18 +724,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
public void tick(BooleanSupplier shouldKeepTicking) {
@@ -686,13 +674,12 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
}
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
@@ -756,30 +756,30 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -766,30 +766,30 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.tickTime();
}
- gameprofilerfiller.push("tickPending");
+ //gameprofilerfiller.push("tickPending"); // Purpur
//this.timings.scheduledBlocks.startTiming(); // Paper // Purpur
if (!this.isDebug() && flag) {
j = this.getGameTime();
- gameprofilerfiller.push("blockTicks");
@@ -704,27 +691,20 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
}
//this.timings.scheduledBlocks.stopTiming(); // Paper // Purpur
- gameprofilerfiller.popPush("raid");
+ //gameprofilerfiller.popPush("raid"); // Purpur
if (flag) {
// this.timings.raids.startTiming(); // Paper - timings // Purpur
this.raids.tick();
// this.timings.raids.stopTiming(); // Paper - timings // Purpur
}
- gameprofilerfiller.popPush("chunkSource");
+ //gameprofilerfiller.popPush("chunkSource"); // Purpur
//this.timings.chunkProviderTick.startTiming(); // Paper - timings // Purpur
this.getChunkSource().tick(shouldKeepTicking, true);
//this.timings.chunkProviderTick.stopTiming(); // Paper - timings // Purpur
- gameprofilerfiller.popPush("blockEvents");
+ //gameprofilerfiller.popPush("blockEvents"); // Purpur
if (flag) {
// this.timings.doSounds.startTiming(); // Spigot // Purpur
this.runBlockEvents();
@@ -787,7 +787,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
this.handlingTick = false;
@@ -733,13 +713,12 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
boolean flag1 = !paperConfig().unsupportedSettings.disableWorldTickingWhenEmpty || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players // Paper - restore this
if (flag1) {
@@ -795,12 +795,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -797,20 +797,20 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
if (flag1 || this.emptyTime++ < 300) {
- gameprofilerfiller.push("entities");
+ //gameprofilerfiller.push("entities"); // Purpur
//this.timings.tickEntities.startTiming(); // Spigot // Purpur
if (this.dragonFight != null && flag) {
- gameprofilerfiller.push("dragonFight");
+ //gameprofilerfiller.push("dragonFight"); // Purpur
@@ -749,7 +728,6 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -808,9 +808,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) {
if (!tickratemanager.isEntityFrozen(entity)) {
@@ -761,7 +739,7 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
if (true) { // Paper - rewrite chunk system
Entity entity1 = entity.getVehicle();
@@ -822,22 +822,22 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -822,20 +822,20 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
entity.stopRiding();
}
@@ -774,8 +752,6 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
}
}
});
//this.timings.entityTick.stopTiming(); // Spigot // Purpur
//this.timings.tickEntities.stopTiming(); // Spigot // Purpur
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
this.tickBlockEntities();
@@ -789,7 +765,7 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
}
@Override
@@ -964,9 +964,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -962,9 +962,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
boolean flag = this.isRaining();
int j = chunkcoordintpair.getMinBlockX();
int k = chunkcoordintpair.getMinBlockZ();
@@ -801,7 +777,7 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && simpleRandom.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - Option to disable thunder // Paper - optimise random ticking
BlockPos blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15));
@@ -1003,7 +1003,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1001,7 +1001,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
}
@@ -810,26 +786,24 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
if (!this.paperConfig().environment.disableIceAndSnow) { // Paper - Option to disable ice and snow
for (int l = 0; l < randomTickSpeed; ++l) {
@@ -1013,14 +1013,14 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1011,12 +1011,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
} // Paper - Option to disable ice and snow
- gameprofilerfiller.popPush("tickBlocks");
+ //gameprofilerfiller.popPush("tickBlocks"); // Purpur
//timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
if (randomTickSpeed > 0) {
this.optimiseRandomTick(chunk, randomTickSpeed); // Paper - optimise random ticking
}
//timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
}
@VisibleForTesting
@@ -1367,18 +1367,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
//try { // Purpur
// Paper end - timings
@@ -1355,18 +1355,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Spigot end
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity); // Paper - EAR 2
entity.setOldPosAndRot();
- ProfilerFiller gameprofilerfiller = Profiler.get();
+ //ProfilerFiller gameprofilerfiller = Profiler.get(); // Purpur
@@ -848,10 +822,10 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
} else { entity.inactiveTick(); } // Paper - EAR 2
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
//} finally { timer.stopTiming(); } // Paper - timings // EAR 2 // Purpur
Iterator iterator = entity.getPassengers().iterator();
@@ -1402,12 +1402,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
while (iterator.hasNext()) {
@@ -1389,12 +1389,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (passenger instanceof Player || this.entityTickList.contains(passenger)) {
passenger.setOldPosAndRot();
++passenger.tickCount;
@@ -868,7 +842,7 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
// Paper start - EAR 2
if (isActive) {
passenger.rideTick();
@@ -1419,7 +1419,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -1406,7 +1406,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
vehicle.positionRider(passenger);
}
// Paper end - EAR 2
@@ -878,10 +852,10 @@ index 47ae7af2a0ff8ab4181cf447c58410ccb0f37371..3083f3e0a17efc3a1dc7f50493ec646d
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index ce8b5dd01359344300d1a1a06e8207a768a846ce..2518ad5af51b944393e53508010a18df111c5c83 100644
index 51229d600ea8a58e5c75bd97a1926f5cdf3704d4..0286b1bd461a5050cb78b9485bac84909ae91150 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1663,15 +1663,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1669,15 +1669,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.unsetRemoved();
*/
// CraftBukkit end
@@ -901,7 +875,7 @@ index ce8b5dd01359344300d1a1a06e8207a768a846ce..2518ad5af51b944393e53508010a18df
// CraftBukkit start
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
LevelData worlddata = worldserver.getLevelData();
@@ -1689,7 +1689,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1695,7 +1695,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.connection.internalTeleport(PositionMoveRotation.of(teleportTarget), teleportTarget.relatives()); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
worldserver.addDuringTeleport(this);
@@ -1304,10 +1278,10 @@ index cb123001b08c0772bacce87d022d236bc7eaa1d1..6474b375c05eebc1fa3468f2963770df
}
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 60b0cf7cd5e4bcbe882590b79a70dafb23e6772f..38a7bde1bc2836352a62dfe1dd3b9a60877c20e2 100644
index e2a5d66e4b945f69d9f2b538b95aa0b187749d8b..cd2fd85178acdfffc07b72bc0419a73e1d1bef64 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -459,9 +459,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -457,9 +457,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
super.baseTick();
@@ -1319,7 +1293,7 @@ index 60b0cf7cd5e4bcbe882590b79a70dafb23e6772f..38a7bde1bc2836352a62dfe1dd3b9a60
if (this.fireImmune() || this.level().isClientSide) {
this.clearFire();
}
@@ -569,7 +569,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -567,7 +567,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.yHeadRotO = this.yHeadRot;
this.yRotO = this.getYRot();
this.xRotO = this.getXRot();
@@ -1328,7 +1302,7 @@ index 60b0cf7cd5e4bcbe882590b79a70dafb23e6772f..38a7bde1bc2836352a62dfe1dd3b9a60
}
@Override
@@ -3384,12 +3384,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3382,12 +3382,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.run += (f3 - this.run) * 0.3F;
@@ -1345,7 +1319,7 @@ index 60b0cf7cd5e4bcbe882590b79a70dafb23e6772f..38a7bde1bc2836352a62dfe1dd3b9a60
// Paper start - stop large pitch and yaw changes from crashing the server
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
@@ -3401,7 +3401,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3399,7 +3399,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
// Paper end
@@ -1354,7 +1328,7 @@ index 60b0cf7cd5e4bcbe882590b79a70dafb23e6772f..38a7bde1bc2836352a62dfe1dd3b9a60
this.animStep += f2;
if (this.isFallFlying()) {
++this.fallFlyTicks;
@@ -3631,21 +3631,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3629,21 +3629,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.setDeltaMovement(d0, d1, d2);
@@ -1382,7 +1356,7 @@ index 60b0cf7cd5e4bcbe882590b79a70dafb23e6772f..38a7bde1bc2836352a62dfe1dd3b9a60
if (this.jumping && this.isAffectedByFluids()) {
double d3;
@@ -3672,8 +3672,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3670,8 +3670,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.noJumpDelay = 0;
}
@@ -1393,7 +1367,7 @@ index 60b0cf7cd5e4bcbe882590b79a70dafb23e6772f..38a7bde1bc2836352a62dfe1dd3b9a60
this.xxa *= 0.98F;
this.zza *= 0.98F;
if (this.isFallFlying()) {
@@ -3706,8 +3706,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3704,8 +3704,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.calculateEntityAnimation(this instanceof FlyingAnimal);
@@ -1404,7 +1378,7 @@ index 60b0cf7cd5e4bcbe882590b79a70dafb23e6772f..38a7bde1bc2836352a62dfe1dd3b9a60
if (!this.level().isClientSide && !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API
int i = this.getTicksFrozen();
@@ -3728,15 +3728,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3726,15 +3726,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
}
@@ -1960,10 +1934,10 @@ index c885b214f4d7d91627e98d8779aab8515f205636..b4ffad429ace965f16ebf47119c880b7
this.assignProfessionWhenSpawned = false;
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index e14e9ae4f16dff8486c98f391c27ead816c2a080..224ad8e6553f019d5717d3bf70d11b034147fbdc 100644
index c2aff2f03451b97f1ec6bd4ee987bb729177320a..7493262c2879af196e5585b15faad69ae42764e3 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -271,7 +271,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -270,7 +270,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@Override
public final <T extends Entity> List<T> getEntitiesOfClass(final Class<T> entityClass, final AABB boundingBox, final Predicate<? super T> predicate) {
@@ -1972,7 +1946,7 @@ index e14e9ae4f16dff8486c98f391c27ead816c2a080..224ad8e6553f019d5717d3bf70d11b03
final List<T> ret = new java.util.ArrayList<>();
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getEntities(entityClass, null, boundingBox, ret, predicate);
@@ -281,7 +281,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -280,7 +280,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@Override
public final List<Entity> moonrise$getHardCollidingEntities(final Entity entity, final AABB box, final Predicate<? super Entity> predicate) {
@@ -1981,7 +1955,7 @@ index e14e9ae4f16dff8486c98f391c27ead816c2a080..224ad8e6553f019d5717d3bf70d11b03
final List<Entity> ret = new java.util.ArrayList<>();
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getHardCollidingEntities(entity, box, ret, predicate);
@@ -1488,9 +1488,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1486,9 +1486,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
protected void tickBlockEntities() {
@@ -1990,19 +1964,19 @@ index e14e9ae4f16dff8486c98f391c27ead816c2a080..224ad8e6553f019d5717d3bf70d11b03
- gameprofilerfiller.push("blockEntities");
+ //gameprofilerfiller.push("blockEntities"); // Purpur
//this.timings.tileEntityPending.startTiming(); // Spigot // Purpur
this.tickingBlockEntities = true;
if (!this.pendingBlockEntityTickers.isEmpty()) {
@@ -1533,7 +1533,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
//this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur
this.blockEntityTickers.addAll(this.pendingBlockEntityTickers);
@@ -1526,7 +1526,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075
this.tickingBlockEntities = false;
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
this.spigotConfig.currentPrimedTnt = 0; // Spigot
}
@@ -1703,7 +1703,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1696,7 +1696,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@Override
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
@@ -2011,7 +1985,7 @@ index e14e9ae4f16dff8486c98f391c27ead816c2a080..224ad8e6553f019d5717d3bf70d11b03
List<Entity> list = Lists.newArrayList();
// Paper start - rewrite chunk system
@@ -1733,7 +1733,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1726,7 +1726,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public <T extends Entity> void getEntities(final EntityTypeTest<Entity, T> entityTypeTest,
final AABB boundingBox, final Predicate<? super T> predicate,
final List<? super T> into, final int maxCount) {
@@ -2021,20 +1995,20 @@ index e14e9ae4f16dff8486c98f391c27ead816c2a080..224ad8e6553f019d5717d3bf70d11b03
if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) {
if (maxCount != Integer.MAX_VALUE) {
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index f6fb4892c95f9716628ed8a90d1560b7c0a2e032..4bdfba6dbe88dbc7ce901b235a524ba28027f203 100644
index 5297798c2be1ba85569c2b92ed221956bf75477a..fa47d14e17d9e7d1b62de7990c875245c3a445a3 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -171,7 +171,7 @@ public final class NaturalSpawner {
@@ -211,7 +211,7 @@ public final class NaturalSpawner {
}
}
//world.timings.mobSpawn.stopTiming(); // Spigot // Purpur
- gameprofilerfiller.pop();
+ //gameprofilerfiller.pop(); // Purpur
}
// Paper start - Add mobcaps commands
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index c1ce5a43b5759f204c432cbfbcdcb14b5ef43dc0..b525ab58998f4ead44f8a2b37ac2391c7de81df4 100644
index 4640baec5bed6c2d53cc0f8ca1d273cc115abe9b..15c83c6f5f56d6a27911d3bbd326cef1c21b1e58 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -407,11 +407,11 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -2052,7 +2026,7 @@ index c1ce5a43b5759f204c432cbfbcdcb14b5ef43dc0..b525ab58998f4ead44f8a2b37ac2391c
}
boolean flag3 = iblockdata1.hasBlockEntity();
@@ -1060,9 +1060,9 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -1058,9 +1058,9 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
if (LevelChunk.this.isTicking(blockposition)) {
try {
@@ -2061,10 +2035,10 @@ index c1ce5a43b5759f204c432cbfbcdcb14b5ef43dc0..b525ab58998f4ead44f8a2b37ac2391c
- gameprofilerfiller.push(this::getType);
+ //gameprofilerfiller.push(this::getType);
//this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
@@ -1079,7 +1079,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
if (this.blockEntity.getType().isValid(iblockdata)) {
@@ -1076,7 +1076,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
// Paper end - Remove the Block Entity if it's invalid
}

View File

@@ -1,710 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <blake.galbreath@gmail.com>
Date: Fri, 1 Jul 2022 04:03:37 -0500
Subject: [PATCH] Remove Timings
diff --git a/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java b/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java
index 0c3c82b28e581286b798ee58ca4193efc2faff4a..24121a43aeb5e9bce013f30c92dddd15f99736c6 100644
--- a/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java
+++ b/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java
@@ -80,16 +80,16 @@ public class BukkitCommandNode extends LiteralCommandNode<CommandSourceStack> {
// Plugins do weird things to workaround normal registration
if (this.command.timings == null) {
- this.command.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, this.command);
+ //this.command.timings = co.aikar.timings.TimingsManager.getCommandTiming(null, this.command); // Purpur
}
String content = context.getRange().get(context.getInput());
String[] args = org.apache.commons.lang3.StringUtils.split(content, ' '); // fix adjacent spaces (from console/plugins) causing empty array elements
- try (Timing ignored = this.command.timings.startTiming()) {
+ //try (Timing ignored = this.command.timings.startTiming()) { // Purpur
// Note: we don't return the result of target.execute as thats success / failure, we return handled (true) or not handled (false)
this.command.execute(sender, this.literal, Arrays.copyOfRange(args, 1, args.length));
- }
+ //} // Purpur
// return true as command was handled
return 1;
diff --git a/src/main/java/net/minecraft/network/protocol/PacketUtils.java b/src/main/java/net/minecraft/network/protocol/PacketUtils.java
index e2c24813f59c2fd075c740ac1842a38f20ed8554..01efbc507b3d58f13f78ee286f93df40cdc3f0cb 100644
--- a/src/main/java/net/minecraft/network/protocol/PacketUtils.java
+++ b/src/main/java/net/minecraft/network/protocol/PacketUtils.java
@@ -52,7 +52,7 @@ public class PacketUtils {
if (listener instanceof ServerCommonPacketListenerImpl serverCommonPacketListener && serverCommonPacketListener.processedDisconnect) return; // CraftBukkit - Don't handle sync packets for kicked players
if (listener.shouldHandleMessage(packet)) {
co.aikar.timings.Timing timing = co.aikar.timings.MinecraftTimings.getPacketTiming(packet); // Paper - timings
- try (co.aikar.timings.Timing ignored = timing.startTiming()) { // Paper - timings
+ try { // Paper - timings // Purpur
packet.handle(listener);
} catch (Exception exception) {
if (exception instanceof ReportedException) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f3b8478c29aec79cfc6fc7d0799b6147ad52f718..af8c8d3d2c92bede02fca6bebd05c4f5c1a98583 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1666,7 +1666,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public void tickServer(BooleanSupplier shouldKeepTicking) {
org.spigotmc.WatchdogThread.tick(); // Spigot
- co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper
+ //co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper // Purpur
long i = Util.getNanos();
int j = this.pauseWhileEmptySeconds() * 20;
@@ -1690,11 +1690,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Paper start - move oversleep into full server tick
- isOversleep = true;MinecraftTimings.serverOversleep.startTiming();
+ //isOversleep = true;MinecraftTimings.serverOversleep.startTiming(); // Purpur
this.managedBlock(() -> {
return !this.canOversleep();
});
- isOversleep = false;MinecraftTimings.serverOversleep.stopTiming();
+ //isOversleep = false;MinecraftTimings.serverOversleep.stopTiming(); // Purpur
// Paper end
this.server.spark.tickStart(); // Paper - spark
new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper - Server Tick Events
@@ -1715,9 +1715,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ProfilerFiller gameprofilerfiller = Profiler.get();
// Paper start - move executeAll() into full server tick timing
- try (co.aikar.timings.Timing ignored = MinecraftTimings.processTasksTimer.startTiming()) {
+ //try (co.aikar.timings.Timing ignored = MinecraftTimings.processTasksTimer.startTiming()) { // Purpur
this.runAllTasks();
- }
+ //} // Purpur
// Paper end
// Paper start - Server Tick Events
long endTime = System.nanoTime();
@@ -1740,7 +1740,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end - Add tick times API and /mspt command
this.logTickMethodTime(i);
gameprofilerfiller.pop();
- co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper
+ //co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
}
private void autoSave() {
@@ -1824,9 +1824,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.getPlayerList().getPlayers().forEach((entityplayer) -> {
entityplayer.connection.suspendFlushing();
});
- MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Spigot // Paper
+ //MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Spigot // Paper // Purpur
this.server.getScheduler().mainThreadHeartbeat(); // CraftBukkit
- MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper
+ //MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper // Purpur
// Paper start - Folia scheduler API
((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
getAllLevels().forEach(level -> {
@@ -1843,21 +1843,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
gameprofilerfiller.push("commandFunctions");
- MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper
+ //MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper // Purpur
this.getFunctions().tick();
- MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper
+ //MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper // Purpur
gameprofilerfiller.popPush("levels");
//Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; moved down
// CraftBukkit start
// Run tasks that are waiting on processing
- MinecraftTimings.processQueueTimer.startTiming(); // Spigot
+ //MinecraftTimings.processQueueTimer.startTiming(); // Spigot // Purpur
while (!this.processQueue.isEmpty()) {
this.processQueue.remove().run();
}
- MinecraftTimings.processQueueTimer.stopTiming(); // Spigot
+ //MinecraftTimings.processQueueTimer.stopTiming(); // Spigot // Purpur
- MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper
+ //MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper // Purpur
// Send time updates to everyone, it will get the right time from the world the player is in.
// Paper start - Perf: Optimize time updates
for (final ServerLevel level : this.getAllLevels()) {
@@ -1877,7 +1877,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
// Paper end - Perf: Optimize time updates
- MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper
+ //MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper // Purpur
this.isIteratingOverLevels = true; // Paper - Throw exception on world create while being ticked
Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; move down
@@ -1904,9 +1904,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
gameprofilerfiller.push("tick");
try {
- worldserver.timings.doTick.startTiming(); // Spigot
+ //worldserver.timings.doTick.startTiming(); // Spigot // Purpur
worldserver.tick(shouldKeepTicking);
- worldserver.timings.doTick.stopTiming(); // Spigot
+ //worldserver.timings.doTick.stopTiming(); // Spigot // Purpur
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
@@ -1920,24 +1920,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
gameprofilerfiller.popPush("connection");
- MinecraftTimings.connectionTimer.startTiming(); // Spigot // Paper
+ // MinecraftTimings.connectionTimer.startTiming(); // Spigot // Paper // Purpur
this.tickConnection();
- MinecraftTimings.connectionTimer.stopTiming(); // Spigot // Paper
+ // MinecraftTimings.connectionTimer.stopTiming(); // Spigot // Paper // Purpur
gameprofilerfiller.popPush("players");
- MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper
+ //MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper // Purpur
this.playerList.tick();
- MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper
+ //MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper // Purpur
if (SharedConstants.IS_RUNNING_IN_IDE && this.tickRateManager.runsNormally()) {
GameTestTicker.SINGLETON.tick();
}
gameprofilerfiller.popPush("server gui refresh");
- MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper
+ //MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper // Purpur
for (int i = 0; i < this.tickables.size(); ++i) {
((Runnable) this.tickables.get(i)).run();
}
- MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper
+ //MinecraftTimings.tickablesTimer.stopTiming(); // Spigot // Paper // Purpur
gameprofilerfiller.popPush("send chunks");
iterator = this.playerList.getPlayers().iterator();
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 465238411137cd2dfa68e18a6b4d14d1b4688b7b..1bb940d5151c44ac1c7ee48d37e8bf332ef165a3 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -527,7 +527,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
}
public void handleConsoleInputs() {
- MinecraftTimings.serverCommandTimer.startTiming(); // Spigot
+ //MinecraftTimings.serverCommandTimer.startTiming(); // Spigot // Purpur
// Paper start - Perf: use proper queue
ConsoleInput servercommand;
while ((servercommand = this.serverCommandQueue.poll()) != null) {
@@ -544,7 +544,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
// CraftBukkit end
}
- MinecraftTimings.serverCommandTimer.stopTiming(); // Spigot
+ //MinecraftTimings.serverCommandTimer.stopTiming(); // Spigot // Purpur
}
@Override
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index d692af061ded8cd5bcf1d268e6bd521d84f99c39..987d8567034e06bfb916d3e0a4a87f6c9169bccf 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -961,7 +961,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
List<ServerPlayer> list = Lists.newArrayList();
List<ServerPlayer> list1 = this.level.players();
ObjectIterator objectiterator = this.entityMap.values().iterator();
- level.timings.tracker1.startTiming(); // Paper
+ //this.level.timings.tracker1.startTiming(); // Paper // Purpur
ChunkMap.TrackedEntity playerchunkmap_entitytracker;
@@ -986,17 +986,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
playerchunkmap_entitytracker.serverEntity.sendChanges();
}
}
- level.timings.tracker1.stopTiming(); // Paper
+ //this.level.timings.tracker1.stopTiming(); // Paper // Purpur
if (!list.isEmpty()) {
objectiterator = this.entityMap.values().iterator();
- level.timings.tracker2.startTiming(); // Paper
+ //this.level.timings.tracker2.startTiming(); // Paper // Purpur
while (objectiterator.hasNext()) {
playerchunkmap_entitytracker = (ChunkMap.TrackedEntity) objectiterator.next();
playerchunkmap_entitytracker.updatePlayers(list);
}
- level.timings.tracker2.stopTiming(); // Paper
+ //this.level.timings.tracker2.stopTiming(); // Paper // Purpur
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 4b5985c284faac7b06c0f99d53065f5060ecff4a..96f9d18eb22380cccd35b486713583d6dfa46646 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -423,9 +423,9 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
public void save(boolean flush) {
// Paper - rewrite chunk system
- try (co.aikar.timings.Timing timed = level.timings.chunkSaveData.startTiming()) { // Paper - Timings
+ //try (co.aikar.timings.Timing timed = level.timings.chunkSaveData.startTiming()) { // Paper - Timings // Purpur
this.chunkMap.saveAllChunks(flush);
- } // Paper - Timings
+ //} // Paper - Timings // Purpur
}
@Override
@@ -461,26 +461,25 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("purge");
- this.level.timings.doChunkMap.startTiming(); // Spigot
+ //this.level.timings.doChunkMap.startTiming(); // Spigot // Purpur
if (this.level.tickRateManager().runsNormally() || !tickChunks || this.level.spigotConfig.unloadFrozenChunks) { // Spigot
this.distanceManager.purgeStaleTickets();
}
-
this.runDistanceManagerUpdates();
- this.level.timings.doChunkMap.stopTiming(); // Spigot
+ //this.level.timings.doChunkMap.stopTiming(); // Spigot // Purpur
gameprofilerfiller.popPush("chunks");
if (tickChunks) {
- this.level.timings.chunks.startTiming(); // Paper - timings
+ //this.level.timings.chunks.startTiming(); // Paper - timings // Purpur
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemServerLevel)this.level).moonrise$getPlayerChunkLoader().tick(); // Paper - rewrite chunk system
this.tickChunks();
- this.level.timings.chunks.stopTiming(); // Paper - timings
+ //this.level.timings.chunks.stopTiming(); // Paper - timings // Purpur
this.chunkMap.tick();
}
- this.level.timings.doChunkUnload.startTiming(); // Spigot
+ //this.level.timings.doChunkUnload.startTiming(); // Spigot // Purpur
gameprofilerfiller.popPush("unload");
this.chunkMap.tick(shouldKeepTicking);
- this.level.timings.doChunkUnload.stopTiming(); // Spigot
+ //this.level.timings.doChunkUnload.stopTiming(); // Spigot // Purpur
gameprofilerfiller.pop();
this.clearCache();
}
@@ -561,10 +560,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
private void tickChunks(ProfilerFiller profiler, long timeDelta, List<LevelChunk> chunks) {
profiler.popPush("naturalSpawnCount");
- this.level.timings.countNaturalMobs.startTiming(); // Paper - timings
+ //this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur
int j = this.distanceManager.getNaturalSpawnChunkCount();
NaturalSpawner.SpawnState spawnercreature_d = NaturalSpawner.createState(j, this.level.getAllEntities(), this::getFullChunk, new LocalMobCapCalculator(this.chunkMap));
- this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings
+ // this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings // Purpur
this.lastSpawnState = spawnercreature_d;
profiler.popPush("spawnAndTick");
@@ -605,13 +604,13 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
}
}
- this.level.timings.chunkTicks.stopTiming(); // Paper
+ //this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur
profiler.popPush("customSpawners");
if (flag) {
- try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings
+ //try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings // Purpur
this.level.tickCustomSpawners(this.spawnEnemies, this.spawnFriendlies);
- }
+ //} // Purpur
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index f598939777eb4ee2d8aff851e1a20a033d8aa02b..47ae7af2a0ff8ab4181cf447c58410ccb0f37371 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -757,7 +757,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
gameprofilerfiller.push("tickPending");
- this.timings.scheduledBlocks.startTiming(); // Paper
+ //this.timings.scheduledBlocks.startTiming(); // Paper // Purpur
if (!this.isDebug() && flag) {
j = this.getGameTime();
gameprofilerfiller.push("blockTicks");
@@ -766,24 +766,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.fluidTicks.tick(j, paperConfig().environment.maxFluidTicks, this::tickFluid); // Paper - configurable max fluid ticks
gameprofilerfiller.pop();
}
- this.timings.scheduledBlocks.stopTiming(); // Paper
+ //this.timings.scheduledBlocks.stopTiming(); // Paper // Purpur
gameprofilerfiller.popPush("raid");
if (flag) {
- this.timings.raids.startTiming(); // Paper - timings
+ // this.timings.raids.startTiming(); // Paper - timings // Purpur
this.raids.tick();
- this.timings.raids.stopTiming(); // Paper - timings
+ // this.timings.raids.stopTiming(); // Paper - timings // Purpur
}
gameprofilerfiller.popPush("chunkSource");
- this.timings.chunkProviderTick.startTiming(); // Paper - timings
+ //this.timings.chunkProviderTick.startTiming(); // Paper - timings // Purpur
this.getChunkSource().tick(shouldKeepTicking, true);
- this.timings.chunkProviderTick.stopTiming(); // Paper - timings
+ //this.timings.chunkProviderTick.stopTiming(); // Paper - timings // Purpur
gameprofilerfiller.popPush("blockEvents");
if (flag) {
- this.timings.doSounds.startTiming(); // Spigot
+ // this.timings.doSounds.startTiming(); // Spigot // Purpur
this.runBlockEvents();
- this.timings.doSounds.stopTiming(); // Spigot
+ // this.timings.doSounds.stopTiming(); // Spigot // Purpur
}
this.handlingTick = false;
@@ -796,7 +796,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (flag1 || this.emptyTime++ < 300) {
gameprofilerfiller.push("entities");
- this.timings.tickEntities.startTiming(); // Spigot
+ //this.timings.tickEntities.startTiming(); // Spigot // Purpur
if (this.dragonFight != null && flag) {
gameprofilerfiller.push("dragonFight");
this.dragonFight.tick();
@@ -804,7 +804,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
- this.timings.entityTick.startTiming(); // Spigot
+ //this.timings.entityTick.startTiming(); // Spigot // Purpur
this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) {
if (!tickratemanager.isEntityFrozen(entity)) {
@@ -829,8 +829,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
}
}
});
- this.timings.entityTick.stopTiming(); // Spigot
- this.timings.tickEntities.stopTiming(); // Spigot
+ //this.timings.entityTick.stopTiming(); // Spigot // Purpur
+ //this.timings.tickEntities.stopTiming(); // Spigot // Purpur
gameprofilerfiller.pop();
this.tickBlockEntities();
}
@@ -1014,12 +1014,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
} // Paper - Option to disable ice and snow
gameprofilerfiller.popPush("tickBlocks");
- timings.chunkTicksBlocks.startTiming(); // Paper
+ //timings.chunkTicksBlocks.startTiming(); // Paper // Purpur
if (randomTickSpeed > 0) {
this.optimiseRandomTick(chunk, randomTickSpeed); // Paper - optimise random ticking
}
- timings.chunkTicksBlocks.stopTiming(); // Paper
+ //timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur
gameprofilerfiller.pop();
}
@@ -1363,8 +1363,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Spigot end
// Paper start- timings
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity);
- timer = isActive ? entity.getType().tickTimer.startTiming() : entity.getType().inactiveTickTimer.startTiming(); // Paper
- try {
+ //timer = isActive ? entity.getType().tickTimer.startTiming() : entity.getType().inactiveTickTimer.startTiming(); // Paper // Purpur
+ //try { // Purpur
// Paper end - timings
entity.setOldPosAndRot();
ProfilerFiller gameprofilerfiller = Profiler.get();
@@ -1379,7 +1379,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
entity.postTick(); // CraftBukkit
} else { entity.inactiveTick(); } // Paper - EAR 2
gameprofilerfiller.pop();
- } finally { timer.stopTiming(); } // Paper - timings // EAR 2
+ //} finally { timer.stopTiming(); } // Paper - timings // EAR 2 // Purpur
Iterator iterator = entity.getPassengers().iterator();
while (iterator.hasNext()) {
@@ -1449,7 +1449,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (!savingDisabled) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(this.getWorld())); // CraftBukkit
- try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) { // Paper
+ //try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) { // Paper // Purpur // Purpur
if (progressListener != null) {
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
}
@@ -1459,10 +1459,10 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
progressListener.progressStage(Component.translatable("menu.savingChunks"));
}
- timings.worldSaveChunks.startTiming(); // Paper
+ //timings.worldSaveChunks.startTiming(); // Paper // Purpur
if (!close) { chunkproviderserver.save(flush); } // Paper - add close param
- timings.worldSaveChunks.stopTiming(); // Paper
- }// Paper
+ //timings.worldSaveChunks.stopTiming(); // Paper // Purpur
+ //}// Paper // Purpur
// Paper - rewrite chunk system
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 479d493421453f875bd04ee6a734db62ef4ac816..99a20052536884ef78f55ddce4ddae369b1d53c2 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1192,11 +1192,11 @@ public abstract class PlayerList {
public void saveAll() {
io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main
- MinecraftTimings.savePlayers.startTiming(); // Paper
+ //MinecraftTimings.savePlayers.startTiming(); // Paper // Purpur
for (int i = 0; i < this.players.size(); ++i) {
this.save(this.players.get(i));
}
- MinecraftTimings.savePlayers.stopTiming(); // Paper
+ //MinecraftTimings.savePlayers.stopTiming(); // Paper // Purpur
return null; }); // Paper - ensure main
}
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java b/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java
index 9379dd4056018b52c93ed4888dcdc94579bd9691..612a14806ec63b0dcf31814396282f4b7f4a527c 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java
@@ -59,9 +59,9 @@ public abstract class Behavior<E extends LivingEntity> implements BehaviorContro
this.status = Behavior.Status.RUNNING;
int i = this.minDuration + world.getRandom().nextInt(this.maxDuration + 1 - this.minDuration);
this.endTimestamp = time + (long)i;
- this.timing.startTiming(); // Paper - behavior timings
+ //this.timing.startTiming(); // Paper - behavior timings // Purpur
this.start(world, entity, time);
- this.timing.stopTiming(); // Paper - behavior timings
+ //this.timing.stopTiming(); // Paper - behavior timings // Purpur
return true;
} else {
return false;
@@ -73,13 +73,13 @@ public abstract class Behavior<E extends LivingEntity> implements BehaviorContro
@Override
public final void tickOrStop(ServerLevel world, E entity, long time) {
- this.timing.startTiming(); // Paper - behavior timings
+ //this.timing.startTiming(); // Paper - behavior timings // Purpur
if (!this.timedOut(time) && this.canStillUse(world, entity, time)) {
this.tick(world, entity, time);
} else {
this.doStop(world, entity, time);
}
- this.timing.stopTiming(); // Paper - behavior timings
+ //this.timing.stopTiming(); // Paper - behavior timings // Purpur
}
protected void tick(ServerLevel world, E entity, long time) {
diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java b/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java
index 8bc7979fb9c2a796921a2a279b78294809f2ed03..043e078f2c108d9ff77d3b21f96a6a106bcea51d 100644
--- a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java
+++ b/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java
@@ -56,11 +56,11 @@ public abstract class Sensor<E extends LivingEntity> {
if (--this.timeToTick <= 0L) {
// Paper start - configurable sensor tick rate and timings
this.timeToTick = java.util.Objects.requireNonNullElse(world.paperConfig().tickRates.sensor.get(entity.getType(), this.configKey), this.scanRate);
- this.timing.startTiming();
+ //this.timing.startTiming(); // Purpur
this.updateTargetingConditionRanges(entity);
// Paper end
this.doTick(world, entity);
- this.timing.stopTiming(); // Paper - sensor timings
+ //this.timing.stopTiming(); // Paper - sensor timings // Purpur
}
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 3befc3c882b69ad27ef7b83d116781d740dbf4b7..e14e9ae4f16dff8486c98f391c27ead816c2a080 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1491,15 +1491,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("blockEntities");
- this.timings.tileEntityPending.startTiming(); // Spigot
+ //this.timings.tileEntityPending.startTiming(); // Spigot // Purpur
this.tickingBlockEntities = true;
if (!this.pendingBlockEntityTickers.isEmpty()) {
this.blockEntityTickers.addAll(this.pendingBlockEntityTickers);
this.pendingBlockEntityTickers.clear();
}
- this.timings.tileEntityPending.stopTiming(); // Spigot
+ //this.timings.tileEntityPending.stopTiming(); // Spigot // Purpur
- this.timings.tileEntityTick.startTiming(); // Spigot
+ //this.timings.tileEntityTick.startTiming(); // Spigot // Purpur
// Spigot start
// Iterator<TickingBlockEntity> iterator = this.blockEntityTickers.iterator();
boolean flag = this.tickRateManager().runsNormally();
@@ -1530,7 +1530,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075
- this.timings.tileEntityTick.stopTiming(); // Spigot
+ //this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur
this.tickingBlockEntities = false;
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
gameprofilerfiller.pop();
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 6eb69ebe688c1c52d5a5986dfc63cdd42e66687e..f6fb4892c95f9716628ed8a90d1560b7c0a2e032 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -155,7 +155,7 @@ public final class NaturalSpawner {
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("spawner");
- world.timings.mobSpawn.startTiming(); // Spigot
+ //world.timings.mobSpawn.startTiming(); // Spigot // Purpur
Iterator iterator = spawnableGroups.iterator();
while (iterator.hasNext()) {
@@ -170,7 +170,7 @@ public final class NaturalSpawner {
}
}
- world.timings.mobSpawn.stopTiming(); // Spigot
+ //world.timings.mobSpawn.stopTiming(); // Spigot // Purpur
gameprofilerfiller.pop();
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 1313ac2ff9f1b9fccab54b0c200b9dfa7a4edd00..c1ce5a43b5759f204c432cbfbcdcb14b5ef43dc0 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -691,7 +691,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
org.bukkit.craftbukkit.event.CraftEventFactory.callEntitiesLoadEvent(this.level, this.chunkPos, ((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemServerLevel)this.level).moonrise$getChunkTaskScheduler().chunkHolderManager.getChunkHolder(this.locX, this.locZ).getEntityChunk().getAllEntities()); // Paper - rewrite chunk system
if (this.needsDecoration) {
- try (co.aikar.timings.Timing ignored = this.level.timings.chunkLoadPopulate.startTiming()) { // Paper
+ //try (co.aikar.timings.Timing ignored = this.level.timings.chunkLoadPopulate.startTiming()) { // Paper // Purpur
this.needsDecoration = false;
java.util.Random random = new java.util.Random();
random.setSeed(this.level.getSeed());
@@ -711,7 +711,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
}
}
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk));
- } // Paper
+ //} // Paper // Purpur
}
}
}
@@ -1063,7 +1063,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push(this::getType);
- this.blockEntity.tickTimer.startTiming(); // Spigot
+ //this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
if (this.blockEntity.getType().isValid(iblockdata)) {
@@ -1090,7 +1090,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
// Paper end - Prevent block entity and entity crashes
// Spigot start
} finally {
- this.blockEntity.tickTimer.stopTiming();
+ //this.blockEntity.tickTimer.stopTiming(); // Purpur
// Spigot end
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
index 4178f48c1614af8e6796cf07fd018b9c6e67dcd0..c8eb39afabf6953c248b4d1dd4cac9948283aa47 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -504,10 +504,10 @@ public class CraftScheduler implements BukkitScheduler {
this.runners.remove(task.getTaskId());
}
}
- MinecraftTimings.bukkitSchedulerFinishTimer.startTiming(); // Paper
+ //MinecraftTimings.bukkitSchedulerFinishTimer.startTiming(); // Paper // Purpur
this.pending.addAll(temp);
temp.clear();
- MinecraftTimings.bukkitSchedulerFinishTimer.stopTiming(); // Paper
+ //MinecraftTimings.bukkitSchedulerFinishTimer.stopTiming(); // Paper // Purpur
//this.debugHead = this.debugHead.getNextHead(this.currentTick); // Paper
}
@@ -550,7 +550,7 @@ public class CraftScheduler implements BukkitScheduler {
}
void parsePending() { // Paper
- if (!this.isAsyncScheduler) MinecraftTimings.bukkitSchedulerPendingTimer.startTiming(); // Paper
+ //if (!this.isAsyncScheduler) MinecraftTimings.bukkitSchedulerPendingTimer.startTiming(); // Paper // Purpur
CraftTask head = this.head;
CraftTask task = head.getNext();
CraftTask lastTask = head;
@@ -569,7 +569,7 @@ public class CraftScheduler implements BukkitScheduler {
task.setNext(null);
}
this.head = lastTask;
- if (!this.isAsyncScheduler) MinecraftTimings.bukkitSchedulerPendingTimer.stopTiming(); // Paper
+ //if (!this.isAsyncScheduler) MinecraftTimings.bukkitSchedulerPendingTimer.stopTiming(); // Paper // Purpur
}
private boolean isReady(final int currentTick) {
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
index ba369f3dcfdf498e971dc4405d39657a9b6e97cc..8f181e03eda734b18f8c9ee80ee6e45f8689d178 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
@@ -81,13 +81,13 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot
@Override
public void run() {
- try (Timing ignored = timings.startTiming()) { // Paper
+ //try (Timing ignored = timings.startTiming()) { // Paper // Purpur
if (this.rTask != null) {
this.rTask.run();
} else {
this.cTask.accept(this);
}
- } // Paper
+ //} // Paper // Purpur
}
long getCreatedAt() {
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
index b3e1adeb932da9b3bed16acd94e2f16da48a7c72..d3ec817e95628f1fc8be4a29c9a0f13c7d5fd552 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
@@ -115,7 +115,7 @@ public final class CraftScoreboardManager implements ScoreboardManager {
public void forAllObjectives(ObjectiveCriteria criteria, ScoreHolder holder, Consumer<ScoreAccess> consumer) {
// Paper start - add timings for scoreboard search
// plugins leaking scoreboards will make this very expensive, let server owners debug it easily
- co.aikar.timings.MinecraftTimings.scoreboardScoreSearch.startTimingIfSync();
+ //co.aikar.timings.MinecraftTimings.scoreboardScoreSearch.startTimingIfSync(); // Purpur
try {
// Paper end - add timings for scoreboard search
for (CraftScoreboard scoreboard : this.scoreboards) {
@@ -123,7 +123,7 @@ public final class CraftScoreboardManager implements ScoreboardManager {
board.forAllObjectives(criteria, holder, (score) -> consumer.accept(score));
}
} finally { // Paper start - add timings for scoreboard search
- co.aikar.timings.MinecraftTimings.scoreboardScoreSearch.stopTimingIfSync();
+ //co.aikar.timings.MinecraftTimings.scoreboardScoreSearch.stopTimingIfSync(); // Purpur
}
// Paper end - add timings for scoreboard search
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index ca05c37dad39808683429276d85d970b7cc63f82..6936fa0d25377292a94ba694eaf50e4ea8277506 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -167,7 +167,7 @@ public class ActivationRange
*/
public static void activateEntities(Level world)
{
- MinecraftTimings.entityActivationCheckTimer.startTiming();
+ //MinecraftTimings.entityActivationCheckTimer.startTiming(); // Purpur
final int miscActivationRange = world.spigotConfig.miscActivationRange;
final int raiderActivationRange = world.spigotConfig.raiderActivationRange;
final int animalActivationRange = world.spigotConfig.animalActivationRange;
@@ -228,7 +228,7 @@ public class ActivationRange
}
// Paper end
}
- MinecraftTimings.entityActivationCheckTimer.stopTiming();
+ //MinecraftTimings.entityActivationCheckTimer.stopTiming(); // Purpur
}
/**

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add more logger output for invalid movement kicks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 8da850ab34e576caf89681171124f617f57d00a7..06050ed59dde5c8a5291160cc890621083425963 100644
index ec0849f3b26a8571323d1aa2be5357d00e45a63a..61b19f52aeb371abdd29f41291099f35a9b4c258 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -727,6 +727,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -761,6 +761,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
if (packet.getId() == this.awaitingTeleport) {
if (this.awaitingPositionFromClient == null) {
@@ -16,7 +16,7 @@ index 8da850ab34e576caf89681171124f617f57d00a7..06050ed59dde5c8a5291160cc8906210
this.disconnect((Component) Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
return;
}
@@ -1337,7 +1338,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1371,7 +1372,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@Override
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 0dd2f6c53047f122c769f8615fbaad692ffada29..d63629001dc92ae4b2055df58bde5d97c0ecc3bc 100644
index 7bc58c693db720ca75dc4925bfb8d41aa69f5b90..e2d6bdac09fcef3f3c8a533139ae28c63df0241e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1608,6 +1608,42 @@ public final class CraftServer implements Server {
@@ -1631,6 +1631,42 @@ public final class CraftServer implements Server {
net.minecraft.world.item.ItemStack itemStack = net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material));
MinecraftServer.getServer().fuelValues().values.keySet().removeIf(itemStack::is);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] mob spawning option to ignore creative players
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 4bdfba6dbe88dbc7ce901b235a524ba28027f203..3741c0bb2e7c67cd2b0600f1e8ada38eda8698f8 100644
index fa47d14e17d9e7d1b62de7990c875245c3a445a3..7f936a7ba994ccb51c17168c798b42dde0877a5d 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -230,7 +230,7 @@ public final class NaturalSpawner {
@@ -280,7 +280,7 @@ public final class NaturalSpawner {
blockposition_mutableblockposition.set(l, i, i1);
double d0 = (double) l + 0.5D;
double d1 = (double) i1 + 0.5D;
@@ -18,7 +18,7 @@ index 4bdfba6dbe88dbc7ce901b235a524ba28027f203..3741c0bb2e7c67cd2b0600f1e8ada38e
if (entityhuman != null) {
double d2 = entityhuman.distanceToSqr(d0, (double) i, d1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a647855f277d79d4ebbf370cff0d15991acbb308..6afa859dd0d18d57ba438e34a73b512a137d7cb0 100644
index e15e7b977a91cb8a972f057b321a3382362d884c..a793533817368077d70d120f8f443b4a87b70e64 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -376,6 +376,7 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 2cadbc0d56908ca978e1735eff07f5e634548606..39d02cf0e31832e30c4f034b0b5385e3
// CraftBukkit end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6afa859dd0d18d57ba438e34a73b512a137d7cb0..c5028b16ee9ae1ad042bb99f5398163e28c48d12 100644
index a793533817368077d70d120f8f443b4a87b70e64..c9f1f1340f69250c82f3dfcac593274dad34645e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2585,6 +2585,8 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index 0ba926b6ff0bd54159765cc7f37d1753ded89dee..cbbddb924f46203bd600b838fc22902c
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 2518ad5af51b944393e53508010a18df111c5c83..f0414dd16a97461f65c2965c035da811a0d65c01 100644
index 0286b1bd461a5050cb78b9485bac84909ae91150..627b69f08f609dc0a4d87327a187009651046cf4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -326,6 +326,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -332,6 +332,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public boolean purpurClient = false; // Purpur
private boolean tpsBar = false; // Purpur
private boolean compassBar = false; // Purpur
@@ -29,7 +29,7 @@ index 2518ad5af51b944393e53508010a18df111c5c83..f0414dd16a97461f65c2965c035da811
// Paper start - rewrite chunk system
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -690,6 +691,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -696,6 +697,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur
@@ -37,7 +37,7 @@ index 2518ad5af51b944393e53508010a18df111c5c83..f0414dd16a97461f65c2965c035da811
}
@Override
@@ -742,6 +744,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -748,6 +750,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
}
this.saveEnderPearls(nbt);
@@ -45,7 +45,7 @@ index 2518ad5af51b944393e53508010a18df111c5c83..f0414dd16a97461f65c2965c035da811
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur
}
@@ -3473,5 +3476,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -3479,5 +3482,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public void compassBar(boolean compassBar) {
this.compassBar = compassBar;
}

View File

@@ -18,7 +18,7 @@ index 3b19395f2ddee654a77df5738a1942a08c20c179..c130d316e87f1f896d33ab43831063a8
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
index e8c649d1db3dd82bb544aa6e96b6a19e96559b09..395a093c1daf8236faaa92405472a500afc3ce68 100644
index d324eefa500c528776df698e7f9dcdeab76da167..1748aea6613e0c8081f70092c9431e7e04907383 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -88,6 +88,10 @@ public class Block extends BlockBehaviour implements ItemLike {
@@ -29,10 +29,10 @@ index e8c649d1db3dd82bb544aa6e96b6a19e96559b09..395a093c1daf8236faaa92405472a500
+ public float fallDamageMultiplier = 1.0F;
+ public float fallDistanceMultiplier = 1.0F;
+ // Purpur end
// Paper start
// Paper start - Protect Bedrock and End Portal/Frames from being destroyed
public final boolean isDestroyable() {
return io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowPermanentBlockBreakExploits ||
@@ -480,7 +484,7 @@ public class Block extends BlockBehaviour implements ItemLike {
@@ -473,7 +477,7 @@ public class Block extends BlockBehaviour implements ItemLike {
}
public void fallOn(Level world, BlockState state, BlockPos pos, Entity entity, float fallDistance) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Language API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d63629001dc92ae4b2055df58bde5d97c0ecc3bc..e690c1f423ee054b47ec080ba2f8e14c73128890 100644
index e2d6bdac09fcef3f3c8a533139ae28c63df0241e..e7a4e019ce26b8fd21481e52356ee38130cbeeea 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -414,6 +414,20 @@ public final class CraftServer implements Server {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Milk Keeps Beneficial Effects
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 38a7bde1bc2836352a62dfe1dd3b9a60877c20e2..ade67ca5e0b203f9554b792302da576c6d419ea5 100644
index cd2fd85178acdfffc07b72bc0419a73e1d1bef64..18648eed57dca05d89692064dcf4aa3172cd5914 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1151,6 +1151,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1149,6 +1149,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
while (iterator.hasNext()) {
MobEffectInstance effect = iterator.next();
@@ -30,7 +30,7 @@ index ac4b31ab1297b34b5105c7bdc30ddea6d2d5e9a3..959e10586cddaae2590d2d84f5fd809d
this.goalSelector.addGoal(1, new TradeWithPlayerGoal(this));
this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Zombie.class, 8.0F, 0.5D, 0.5D));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c5028b16ee9ae1ad042bb99f5398163e28c48d12..ebc20d82351dc6b9834a3dcb3ed61d22e821a45c 100644
index c9f1f1340f69250c82f3dfcac593274dad34645e..5d32b12a6743a40d30fd38692ad6f677b0076397 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -144,6 +144,7 @@ public class PurpurWorldConfig {

View File

@@ -24,7 +24,7 @@ index 137ec75ee803789deb7b1ca93dd9369c9af362b9..ca95d25af3e9a0536868b0c7fd8e7d2f
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ebc20d82351dc6b9834a3dcb3ed61d22e821a45c..f8a0049919f7542d8eccf5f2b1b5d2ee1a696943 100644
index 5d32b12a6743a40d30fd38692ad6f677b0076397..12e536b6c4f8c3b000802d2cc76aeca9e4cf7b21 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1424,6 +1424,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fire Immunity API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e5eadc68c1e1b0fe2b7d638d2630ab22c332b381..7976a517f56b8af3a7c2aab5a4fc829acd87fa64 100644
index 6474b375c05eebc1fa3468f2963770dfff8dec5c..c32803af95324003e803847e7a64735663811e2f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -432,6 +432,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 285ef87b7088f905bb77c408465ccbca6644454f..49da1a25e39d6e58786f6f20177610d5aa7626f6 100644
index c32803af95324003e803847e7a64735663811e2f..6b32cd1391f39b6fe61c3c8c00249d1d4278cbd0 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1032,6 +1032,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -17,7 +17,7 @@ index 285ef87b7088f905bb77c408465ccbca6644454f..49da1a25e39d6e58786f6f20177610d5
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f8a0049919f7542d8eccf5f2b1b5d2ee1a696943..c6d307c69afd9fc58c4bde7f8b755d96d9bcf9d6 100644
index 12e536b6c4f8c3b000802d2cc76aeca9e4cf7b21..d4bb4e5d6caa7848aeec284ed19b53bf34bfd5cf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -416,6 +416,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Log skipped entity's position
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 663dde75a9fc4fd7323ae9abe73cdb83aa74f2b3..f297e771e677ddefa3bf0d6f50d04f2e50197c30 100644
index 5796f9bdde43d5b681ee2aaa7bc47076114af321..c1a870fd22b193388513aad0ac4f3ce0ad7c8195 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -691,6 +691,12 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
@@ -682,6 +682,12 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
entity.load(nbt);
}, () -> {
EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id"));

View File

@@ -17,7 +17,7 @@ index 305c3350116f656c3d0e6134e4d8023eac50f3ad..b1db1e92de3a88a0f0e0fdb42b0bf973
// Purpur start
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c6d307c69afd9fc58c4bde7f8b755d96d9bcf9d6..91d4c39e72296147bc095c1fee943c63082cf848 100644
index d4bb4e5d6caa7848aeec284ed19b53bf34bfd5cf..2dc5bf6ae677d6b78953f04fcfa2a937b9adde88 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -913,6 +913,7 @@ public class PurpurWorldConfig {

View File

@@ -36,7 +36,7 @@ index fbc6b0099af34b0247f6144a9cef020f9ccddeef..2d190b3a6378b8cbadfa65510df1ccfb
BeaconBlockEntity.playSound(world, pos, SoundEvents.BEACON_AMBIENT);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 91d4c39e72296147bc095c1fee943c63082cf848..fc772f2be46eada82f6a3db52fef930c82a76e6c 100644
index 2dc5bf6ae677d6b78953f04fcfa2a937b9adde88..2a44f924fbfaf175b1fd172d311bb4ea13f73e26 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -812,11 +812,13 @@ public class PurpurWorldConfig {

View File

@@ -27,7 +27,7 @@ index bbbd451ff184be8fa13bd93d53c89a9502f9951a..913f7d5fd9823eea9fad2d4e6689511f
}
// CraftBukkit end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fc772f2be46eada82f6a3db52fef930c82a76e6c..df551a65fbd722c15de5b5a14fb1dff60a839e85 100644
index 2a44f924fbfaf175b1fd172d311bb4ea13f73e26..dc0759e6157aaaf1738c910848f2ccd4ae0a75b6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -223,6 +223,11 @@ public class PurpurWorldConfig {

View File

@@ -137,7 +137,7 @@ index 547ea09ed84595286c97c128b3b96f6d387ae25f..d0f8a13f27132257ece6dadf736c2dc6
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index df551a65fbd722c15de5b5a14fb1dff60a839e85..44f6d8b1b4653bf4398f914045deadb9c34a3d35 100644
index dc0759e6157aaaf1738c910848f2ccd4ae0a75b6..777139fb7098a9df8877cfe2e74329685a6389e0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -866,8 +866,20 @@ public class PurpurWorldConfig {

View File

@@ -96,10 +96,10 @@ index 0000000000000000000000000000000000000000..15a226e3854d731f7724025ea3459c8a
+ }
+}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 71420de8a37b004dfa3940abb537321cc82e1993..b96c331ec8c196b2a08dc2b04db475426805ba6a 100644
index 3ddc5f213954f181e0e3b8d44808ea12765e8e55..e9ad8e2ac267c46df80e884308df8bb12d0deeff 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -113,6 +113,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -111,6 +111,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
return;
}
// Paper start - Use TerminalConsoleAppender

View File

@@ -18,7 +18,7 @@ index 14634de26c218a3d26afd3e7e6ca89c1a0595178..dee59cb4b87845c940ee089aa932aa69
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1e561d12f4b04a536cc891e6a6d123c90e77266c..a433ca73bdc61aed436743daadaa58e818d54f50 100644
index 463c8873ba1fcc8f081a1909c1fc8967589f4d4f..2f9a512a8e4162385ca1b28c91e805112c11949b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2135,6 +2135,7 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index b62db8c7c8c57e43869ee239ebf4b02f112355d9..f60e39e56a5dab2de62ae9cfd7a30a70
} else {
BlockPos blockposition1 = blockposition.above(); final BlockPos aboveBlockPosition = blockposition1; // Paper - OBFHELPER
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 10b7fabd0c04a62b328dfd8cf0ad6797e3d5e4ee..62beabc316c3faba3b1c4d471fb33e33cd4b1a3d 100644
index 341397cdf45be30cffbc65453dc643868ce51bcc..9511547970d14bc779ba5afc3675439137c14ae6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -933,6 +933,7 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index daae7fd6e0148cfba8e359d990748a0c83a3376e..0e06b1bcd906e92c083dc74d56d6d0a2
return random.nextFloat() < f1 ? this.getNext(state) : Optional.empty();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 62beabc316c3faba3b1c4d471fb33e33cd4b1a3d..84efc4ae58a3a33ac15282c462df72982248dac3 100644
index 9511547970d14bc779ba5afc3675439137c14ae6..ac77bcccd70be1a83e4125ba848eb8e6d676406a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -145,6 +145,7 @@ public class PurpurWorldConfig {

Some files were not shown because too many files have changed in this diff Show More