[WIP|1.16] Misc fixes (#3627)

This commit is contained in:
MiniDigger 2020-06-26 18:20:03 +02:00 committed by GitHub
parent c3640b1dc0
commit c63757c131
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
128 changed files with 524 additions and 435 deletions

View File

@ -1,9 +1,8 @@
# Shit to check
* Mini: "Allow disabling armour stand ticking": Not sure if the equipment update actually works, vanilla shifted a bunch of shit
* Mini: "Optimize World Server Map": Figure out how to fill PaperWorldMap, it needs a dim key which doesnt exist anymore?
* Mini: "MC-50319": fix if still works
* Mini: I definetly dropped a patch I didnt want to drop, we need to go thru in the end and see if all patches are still in, lol
* Make sure the flat bedrock setting doesn't do anything stupid
* Check DataBits foreach
* Update MobGoalHelper
* lighting is bork (load chunk, fly away, come back, everything or parts are black)
* block actions (particles/sounds) are bork (no chest opening, no bell, no noteblock)

View File

@ -2778,10 +2778,10 @@ index 0000000000000000000000000000000000000000..5989ee21297935651b0edd44b8239e65
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index ae21e0f97d3d078e3b9ce9f60590c20e5012396e..755869366e7546fa8aefe7d7a1a602bab91a458c 100644
index c1ecd19dd062276f5680b903309efce194559ae9..0b6ff0fe323397bb257f55bd2db21eba4ccc50f7 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -618,7 +618,6 @@ public final class Bukkit {
@@ -640,7 +640,6 @@ public final class Bukkit {
*/
public static void reload() {
server.reload();
@ -2790,10 +2790,10 @@ index ae21e0f97d3d078e3b9ce9f60590c20e5012396e..755869366e7546fa8aefe7d7a1a602ba
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index f6fb72fab398ae8ca8b746154ff3c8fcad378faf..fad4e929264e2be534d3c4a90a5d557fd6c5807b 100644
index 5a99e36393f885003569977461923a9f6fa23402..113536d4c86a5aa863c4db2416caa41ca6bc55c0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1300,6 +1300,26 @@ public interface Server extends PluginMessageRecipient {
@@ -1328,6 +1328,26 @@ public interface Server extends PluginMessageRecipient {
throw new UnsupportedOperationException("Not supported yet.");
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add getTPS method
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 755869366e7546fa8aefe7d7a1a602bab91a458c..6c3aa418589903925d92d48a79f9f3d2461f78d7 100644
index 0b6ff0fe323397bb257f55bd2db21eba4ccc50f7..15543603c168623572b1a26e41eb20058770784d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1369,6 +1369,17 @@ public final class Bukkit {
@@ -1401,6 +1401,17 @@ public final class Bukkit {
return server.getEntity(uuid);
}
@ -27,10 +27,10 @@ index 755869366e7546fa8aefe7d7a1a602bab91a458c..6c3aa418589903925d92d48a79f9f3d2
* Get the advancement specified by this key.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index fad4e929264e2be534d3c4a90a5d557fd6c5807b..f0dba56dcd8adb50725356810d316e74527939d8 100644
index 113536d4c86a5aa863c4db2416caa41ca6bc55c0..3af00d77f9015f2eccab3047676b70c1af68daa7 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1148,6 +1148,16 @@ public interface Server extends PluginMessageRecipient {
@@ -1176,6 +1176,16 @@ public interface Server extends PluginMessageRecipient {
@Nullable
Entity getEntity(@NotNull UUID uuid);

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 6c3aa418589903925d92d48a79f9f3d2461f78d7..6b951d5adf9a665fd8bf8560a3fd7deb14897b34 100644
index 15543603c168623572b1a26e41eb20058770784d..b46222ed2822fea563585462e43ee73ba2bb9b37 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1543,6 +1543,19 @@ public final class Bukkit {
@@ -1575,6 +1575,19 @@ public final class Bukkit {
return server.getUnsafe();
}
@ -29,10 +29,10 @@ index 6c3aa418589903925d92d48a79f9f3d2461f78d7..6b951d5adf9a665fd8bf8560a3fd7deb
public static Server.Spigot spigot() {
return server.spigot();
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index f0dba56dcd8adb50725356810d316e74527939d8..af21bb1aa133c6ab119f23c098d17a5bc4e9cd47 100644
index 3af00d77f9015f2eccab3047676b70c1af68daa7..d3c498ad0e7681422ef2117be41c6603ebce0e0a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1158,6 +1158,15 @@ public interface Server extends PluginMessageRecipient {
@@ -1186,6 +1186,15 @@ public interface Server extends PluginMessageRecipient {
public double[] getTPS();
// Paper end

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 39423f3a689a69de666537603e97d50244827f64..423fecf5411c05a55f22951437ff77af4bd29318 100644
index 7b1978a258cbf74983dc2512092653ed4ff64e98..a0473d6b5339513f10749c0498b2ef5a0d710b14 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1574,6 +1574,13 @@ public final class Bukkit {
@@ -1606,6 +1606,13 @@ public final class Bukkit {
public static org.bukkit.command.CommandMap getCommandMap() {
return server.getCommandMap();
}
@ -24,10 +24,10 @@ index 39423f3a689a69de666537603e97d50244827f64..423fecf5411c05a55f22951437ff77af
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index b09d010853a67db16787d9e764f1e2949cb33050..38d7da7378f9dc387ce9b52f1527db929901670e 100644
index e3385abec44c603201aa37e3b3180cf88d378b52..a13c5014e0815d1de0bab184ea365bc6f97dcd8f 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1388,4 +1388,6 @@ public interface Server extends PluginMessageRecipient {
@@ -1416,4 +1416,6 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Spigot spigot();
// Spigot end

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases
Reload the aliases stored in commands.yml
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 423fecf5411c05a55f22951437ff77af4bd29318..0ec517701677a844c72b065e0ce453a0408102a5 100644
index a0473d6b5339513f10749c0498b2ef5a0d710b14..6f2b67774a989ade2ec8acafd9f5288d51fb2102 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1581,6 +1581,15 @@ public final class Bukkit {
@@ -1613,6 +1613,15 @@ public final class Bukkit {
public static void reloadPermissions() {
server.reloadPermissions();
}
@ -26,10 +26,10 @@ index 423fecf5411c05a55f22951437ff77af4bd29318..0ec517701677a844c72b065e0ce453a0
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 38d7da7378f9dc387ce9b52f1527db929901670e..93bb91fad3a27632f2d6d02f1e08ddbca6152a43 100644
index a13c5014e0815d1de0bab184ea365bc6f97dcd8f..339463eb75e3cb4a9d025892835d54b6ce76c478 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1390,4 +1390,6 @@ public interface Server extends PluginMessageRecipient {
@@ -1418,4 +1418,6 @@ public interface Server extends PluginMessageRecipient {
// Spigot end
void reloadPermissions(); // Paper

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 0ec517701677a844c72b065e0ce453a0408102a5..ded9df9a31fb9ac847a60b4eba182ac487252aca 100644
index 6f2b67774a989ade2ec8acafd9f5288d51fb2102..c5b6e5fa0cfd876733b2010494ad7bbeafc789f8 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1590,6 +1590,16 @@ public final class Bukkit {
@@ -1622,6 +1622,16 @@ public final class Bukkit {
public static boolean reloadCommandAliases() {
return server.reloadCommandAliases();
}
@ -27,10 +27,10 @@ index 0ec517701677a844c72b065e0ce453a0408102a5..ded9df9a31fb9ac847a60b4eba182ac4
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 93bb91fad3a27632f2d6d02f1e08ddbca6152a43..112098f9bab1b091538d74f558113830c8cdce90 100644
index 339463eb75e3cb4a9d025892835d54b6ce76c478..457007005f9ff5f6818c559635379a2e698fc4d7 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1392,4 +1392,14 @@ public interface Server extends PluginMessageRecipient {
@@ -1420,4 +1420,14 @@ public interface Server extends PluginMessageRecipient {
void reloadPermissions(); // Paper
boolean reloadCommandAliases(); // Paper

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Fix upstream javadoc warnings and errors
Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 75d62402181934d316582023fdc012ea3c74306a..a636956c4772f4e38eaa71553d3dfbd7ef36f0cd 100644
index 480386b2405953c3a06958a9728b38371d75662b..55d114e3a17ea623ecc0d9fa87b14c3ffc65e6be 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2013,6 +2013,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -2077,6 +2077,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param count the number of particles
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -17,7 +17,7 @@ index 75d62402181934d316582023fdc012ea3c74306a..a636956c4772f4e38eaa71553d3dfbd7
*/
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, @Nullable T data);
@@ -2029,6 +2030,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -2093,6 +2094,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param count the number of particles
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -25,7 +25,7 @@ index 75d62402181934d316582023fdc012ea3c74306a..a636956c4772f4e38eaa71553d3dfbd7
*/
public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, @Nullable T data);
@@ -2079,6 +2081,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -2143,6 +2145,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param offsetZ the maximum random offset on the Z axis
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -33,7 +33,7 @@ index 75d62402181934d316582023fdc012ea3c74306a..a636956c4772f4e38eaa71553d3dfbd7
*/
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data);
@@ -2099,6 +2102,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -2163,6 +2166,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param offsetZ the maximum random offset on the Z axis
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -41,7 +41,7 @@ index 75d62402181934d316582023fdc012ea3c74306a..a636956c4772f4e38eaa71553d3dfbd7
*/
public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data);
@@ -2155,6 +2159,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -2219,6 +2223,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* particle used (normally speed)
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -49,7 +49,7 @@ index 75d62402181934d316582023fdc012ea3c74306a..a636956c4772f4e38eaa71553d3dfbd7
*/
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data);
@@ -2177,6 +2182,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -2241,6 +2246,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* particle used (normally speed)
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -57,7 +57,7 @@ index 75d62402181934d316582023fdc012ea3c74306a..a636956c4772f4e38eaa71553d3dfbd7
*/
public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data);
@@ -2200,6 +2206,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -2264,6 +2270,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param force whether to send the particle to players within an extended
* range and encourage their client to render it regardless of
* settings
@ -65,7 +65,7 @@ index 75d62402181934d316582023fdc012ea3c74306a..a636956c4772f4e38eaa71553d3dfbd7
*/
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data, boolean force);
@@ -2225,6 +2232,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -2289,6 +2296,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param force whether to send the particle to players within an extended
* range and encourage their client to render it regardless of
* settings

View File

@ -267,10 +267,10 @@ index 0000000000000000000000000000000000000000..7b3b6ef533d32169fbeca389bd61cfc6
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index ded9df9a31fb9ac847a60b4eba182ac487252aca..5d4fb5b9d55bfbe6bc9a9082b5cb85aa9ee86de2 100644
index c5b6e5fa0cfd876733b2010494ad7bbeafc789f8..d27405a8cfa590c13f5a3976c74c05655ae1f93d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1600,6 +1600,40 @@ public final class Bukkit {
@@ -1632,6 +1632,40 @@ public final class Bukkit {
public static boolean suggestPlayerNamesWhenNullTabCompletions() {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@ -312,10 +312,10 @@ index ded9df9a31fb9ac847a60b4eba182ac487252aca..5d4fb5b9d55bfbe6bc9a9082b5cb85aa
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 112098f9bab1b091538d74f558113830c8cdce90..6778ac8e5a16eb20574732acb0cc0038ec286467 100644
index 457007005f9ff5f6818c559635379a2e698fc4d7..24922e5699241e29bc615dcffadce21c89f6ff35 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1401,5 +1401,33 @@ public interface Server extends PluginMessageRecipient {
@@ -1429,5 +1429,33 @@ public interface Server extends PluginMessageRecipient {
* @return true if player names should be suggested
*/
boolean suggestPlayerNamesWhenNullTabCompletions();

View File

@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 5d4fb5b9d55bfbe6bc9a9082b5cb85aa9ee86de2..f5fac807cce22819cba5878a6e2664f0f82f1ae3 100644
index d27405a8cfa590c13f5a3976c74c05655ae1f93d..4b6b1bce3a728d74f8b791efd2d981e907e202bc 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -467,6 +467,20 @@ public final class Bukkit {
@@ -489,6 +489,20 @@ public final class Bukkit {
return server.getPlayer(id);
}
@ -34,10 +34,10 @@ index 5d4fb5b9d55bfbe6bc9a9082b5cb85aa9ee86de2..f5fac807cce22819cba5878a6e2664f0
* Gets the plugin manager for interfacing with plugins.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 6778ac8e5a16eb20574732acb0cc0038ec286467..11fffc514ed1f0b00b09c0cdb5272ea79340972c 100644
index 24922e5699241e29bc615dcffadce21c89f6ff35..a2420771ca49acc08826ca60fcda7495c80cf1d5 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -396,6 +396,18 @@ public interface Server extends PluginMessageRecipient {
@@ -416,6 +416,18 @@ public interface Server extends PluginMessageRecipient {
@Nullable
public Player getPlayer(@NotNull UUID id);

View File

@ -515,10 +515,10 @@ index b32de827cf8d1780861c271b4215276fdaab7165..1020002ff7127877db2d7e096f2c5217
* Options which can be applied to redstone dust particles - a particle
* color and size.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 3150f7d81c87b57944231bd95bb2e49af51f7eca..c478db22ade86ca58551ba94043dd1c2fd08004e 100644
index c422cfa1b599bc4c158dea178e5677c4b4545d99..6e311dd8f1105c28be7259855e0b19ae182badfd 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2437,7 +2437,57 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -2501,7 +2501,57 @@ public interface World extends PluginMessageRecipient, Metadatable {
* the type of this depends on {@link Particle#getDataType()}
* @param <T> Type
*/

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Make the default permission message configurable
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index f5fac807cce22819cba5878a6e2664f0f82f1ae3..e83f0852d187524a0068a81875323b01e3fd5cbd 100644
index 4b6b1bce3a728d74f8b791efd2d981e907e202bc..e372ca2339bc25d6110bf95e159703630acca215 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1615,6 +1615,15 @@ public final class Bukkit {
@@ -1647,6 +1647,15 @@ public final class Bukkit {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@ -25,10 +25,10 @@ index f5fac807cce22819cba5878a6e2664f0f82f1ae3..e83f0852d187524a0068a81875323b01
* Creates a PlayerProfile for the specified uuid, with name as null
* @param uuid UUID to create profile for
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 11fffc514ed1f0b00b09c0cdb5272ea79340972c..fa855cacec894a0efb254e8a9729a9787464f17d 100644
index a2420771ca49acc08826ca60fcda7495c80cf1d5..8bbb2efe835b575733b560fe5e2b824e1a859d09 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1414,6 +1414,13 @@ public interface Server extends PluginMessageRecipient {
@@ -1442,6 +1442,13 @@ public interface Server extends PluginMessageRecipient {
*/
boolean suggestPlayerNamesWhenNullTabCompletions();

View File

@ -9,10 +9,10 @@ a ton of noise to plugin developers.
These do not help plugin developers if they bring moise noise than value.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index e83f0852d187524a0068a81875323b01e3fd5cbd..6658c12b87472a7fa58a6ca70ab0189083e75242 100644
index e372ca2339bc25d6110bf95e159703630acca215..12603c91046abf1ab58e8b797904b2cdafa7c9af 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1211,7 +1211,7 @@ public final class Bukkit {
@@ -1243,7 +1243,7 @@ public final class Bukkit {
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@ -21,7 +21,7 @@ index e83f0852d187524a0068a81875323b01e3fd5cbd..6658c12b87472a7fa58a6ca70ab01890
public static ScoreboardManager getScoreboardManager() {
return server.getScoreboardManager();
}
@@ -1508,7 +1508,7 @@ public final class Bukkit {
@@ -1540,7 +1540,7 @@ public final class Bukkit {
* @param clazz the class of the tag entries
* @return the tag or null
*/
@ -62,10 +62,10 @@ index 6e1a1124a6e528c1a94ccb1d09bc5dccf056b0b8..77d9cd0a1f54b5eb233eddbcff1bfa76
if (this.world == null) {
return null;
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index fa855cacec894a0efb254e8a9729a9787464f17d..df37b9ee57ff8cd194401719bc48f868d6b1ee7e 100644
index 8bbb2efe835b575733b560fe5e2b824e1a859d09..b46644bc97122814f80a44e6ff0b848f4cf132b7 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1014,7 +1014,7 @@ public interface Server extends PluginMessageRecipient {
@@ -1042,7 +1042,7 @@ public interface Server extends PluginMessageRecipient {
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@ -74,7 +74,7 @@ index fa855cacec894a0efb254e8a9729a9787464f17d..df37b9ee57ff8cd194401719bc48f868
ScoreboardManager getScoreboardManager();
/**
@@ -1284,7 +1284,7 @@ public interface Server extends PluginMessageRecipient {
@@ -1312,7 +1312,7 @@ public interface Server extends PluginMessageRecipient {
* @param clazz the class of the tag entries
* @return the tag or null
*/

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 6658c12b87472a7fa58a6ca70ab0189083e75242..b997340686e86e05847bedcbf125e070c569b90a 100644
index 12603c91046abf1ab58e8b797904b2cdafa7c9af..6a0fee5e81e4d97b624af2718595b63e4d7a95b2 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1657,6 +1657,10 @@ public final class Bukkit {
@@ -1689,6 +1689,10 @@ public final class Bukkit {
public static com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name) {
return server.createProfile(uuid, name);
}
@ -20,10 +20,10 @@ index 6658c12b87472a7fa58a6ca70ab0189083e75242..b997340686e86e05847bedcbf125e070
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index df37b9ee57ff8cd194401719bc48f868d6b1ee7e..80f9abdca71bba79cbf09035cfd5534e41002a27 100644
index b46644bc97122814f80a44e6ff0b848f4cf132b7..ea6c86c8979ea6253b00c99b4f9cfcd1621beff0 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1448,5 +1448,12 @@ public interface Server extends PluginMessageRecipient {
@@ -1476,5 +1476,12 @@ public interface Server extends PluginMessageRecipient {
*/
@NotNull
com.destroystokyo.paper.profile.PlayerProfile createProfile(@Nullable UUID uuid, @Nullable String name);

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add tick times API
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index b997340686e86e05847bedcbf125e070c569b90a..c3c2d9c6b546459a614b5fdf5ec3debf4ebcabcf 100644
index 6a0fee5e81e4d97b624af2718595b63e4d7a95b2..eb2fb4cdc4e7585017acfce0198bb0746d2255cc 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1412,6 +1412,25 @@ public final class Bukkit {
@@ -1444,6 +1444,25 @@ public final class Bukkit {
public static double[] getTPS() {
return server.getTPS();
}
@ -35,10 +35,10 @@ index b997340686e86e05847bedcbf125e070c569b90a..c3c2d9c6b546459a614b5fdf5ec3debf
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 80f9abdca71bba79cbf09035cfd5534e41002a27..bfa83c9bb4d5f1ff4591e80fd38942d6c88cf960 100644
index ea6c86c8979ea6253b00c99b4f9cfcd1621beff0..8cb38856d85e9239a132234fdc6af88f3adfe5b7 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1188,6 +1188,21 @@ public interface Server extends PluginMessageRecipient {
@@ -1216,6 +1216,21 @@ public interface Server extends PluginMessageRecipient {
*/
@NotNull
public double[] getTPS();

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning
This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index c3c2d9c6b546459a614b5fdf5ec3debf4ebcabcf..ea3e5d6fa56a7ff259a9ce55a8e31d3921768b8b 100644
index eb2fb4cdc4e7585017acfce0198bb0746d2255cc..600334831293793840511992048c43bff1febc24 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1680,6 +1680,15 @@ public final class Bukkit {
@@ -1712,6 +1712,15 @@ public final class Bukkit {
public static int getCurrentTick() {
return server.getCurrentTick();
}
@ -26,10 +26,10 @@ index c3c2d9c6b546459a614b5fdf5ec3debf4ebcabcf..ea3e5d6fa56a7ff259a9ce55a8e31d39
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index bfa83c9bb4d5f1ff4591e80fd38942d6c88cf960..9ceaac0e859e347b07fa9f4c6507a73deb280670 100644
index 8cb38856d85e9239a132234fdc6af88f3adfe5b7..f44a582e954625a12b19d4e142865e5d3154edd5 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1470,5 +1470,12 @@ public interface Server extends PluginMessageRecipient {
@@ -1498,5 +1498,12 @@ public interface Server extends PluginMessageRecipient {
* @return Current tick
*/
int getCurrentTick();

View File

@ -436,10 +436,10 @@ index 0000000000000000000000000000000000000000..d7f1b2c84aebe8ed04084b9249ed08d5
+ GoalKey<Mob> UNIVERSAL_ANGER_RESET = GoalKey.of(Mob.class, NamespacedKey.minecraft("universal_anger_reset"));
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 95ad0122605b40e28352fa6205528eeb5c453a50..a9c10228eeeaac89361c695a5ab90161b6358ca1 100644
index c0421b5a09c25ad4f23387b8b0e035871a9d367b..329e2dd1c057788d6bb5a1adc7ee9282820e927d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1701,6 +1701,16 @@ public final class Bukkit {
@@ -1733,6 +1733,16 @@ public final class Bukkit {
public static boolean isStopping() {
return server.isStopping();
}
@ -457,10 +457,10 @@ index 95ad0122605b40e28352fa6205528eeb5c453a50..a9c10228eeeaac89361c695a5ab90161
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index c3fb1c27187b5283e2fd5c2b894bbc889a48544d..cc06492f46ba5776221cd2614c1dcd8f33cc8faf 100644
index 0ad848c42039eeed64cc0b8372d3a9331e61d286..b464cc1a70aca3450a5de84a657a1e069a1a8ab6 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1487,5 +1487,13 @@ public interface Server extends PluginMessageRecipient {
@@ -1515,5 +1515,13 @@ public interface Server extends PluginMessageRecipient {
* @return true if server is in the process of being shutdown
*/
boolean isStopping();

View File

@ -5,10 +5,10 @@ Subject: [PATCH] World view distance api
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 143fcbcdbfad551cd4392f54cf189fe3bee41706..ec719d5c0741f3489884709169fee93ef02244bb 100644
index 90e41bead6a51ab1f272af806c396d8411a96eb7..71c1e93ea15f0a926a9ad822d09a076f8b800988 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -3279,6 +3279,34 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -3343,6 +3343,34 @@ public interface World extends PluginMessageRecipient, Metadatable {
int getViewDistance();
// Spigot end

View File

@ -615,10 +615,10 @@ index 62f62c2c98fbaff163d9079091e6f39db2d77fa0..484e78746aa62bb0b12968165bf8e056
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 74ad1325727bdc41ed5b2e67058aeaa4fe6db4f2..03dc3dd41015dc210d2781c207261fc310c65519 100644
index d5e1da2eeea7c06289f52509af844df59e8a29b2..63d3d43f74bed94cd03aa3b7254e66302be861d5 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -76,6 +76,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -77,6 +77,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public boolean populating;
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
@ -627,7 +627,7 @@ index 74ad1325727bdc41ed5b2e67058aeaa4fe6db4f2..03dc3dd41015dc210d2781c207261fc3
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
public static BlockPosition lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
@@ -92,6 +94,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -93,6 +95,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
protected World(WorldDataMutable worlddatamutable, ResourceKey<World> resourcekey, ResourceKey<DimensionManager> resourcekey1, DimensionManager dimensionmanager, Supplier<GameProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env) {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((WorldDataServer) worlddatamutable).getName()); // Spigot
@ -636,10 +636,10 @@ index 74ad1325727bdc41ed5b2e67058aeaa4fe6db4f2..03dc3dd41015dc210d2781c207261fc3
this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9aa648bb5ec42730f6ce85902b91a079084e7f8e..d9dda69118a5319da28cf3011fe5d8a64da08a5c 100644
index f306530642c56020c390afbcdddf5cbf343a7b2b..f20a68bafc5abb76c60fba85c228bf15f05d309a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -793,6 +793,7 @@ public final class CraftServer implements Server {
@@ -801,6 +801,7 @@ public final class CraftServer implements Server {
}
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
@ -647,7 +647,7 @@ index 9aa648bb5ec42730f6ce85902b91a079084e7f8e..d9dda69118a5319da28cf3011fe5d8a6
for (WorldServer world : console.getWorlds()) {
world.worldDataServer.setDifficulty(config.difficulty);
world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
@@ -820,6 +821,7 @@ public final class CraftServer implements Server {
@@ -834,6 +835,7 @@ public final class CraftServer implements Server {
world.ticksPerAmbientSpawns = this.getTicksPerAmbientSpawns();
}
world.spigotConfig.init(); // Spigot
@ -655,7 +655,7 @@ index 9aa648bb5ec42730f6ce85902b91a079084e7f8e..d9dda69118a5319da28cf3011fe5d8a6
}
pluginManager.clearPlugins();
@@ -827,6 +829,7 @@ public final class CraftServer implements Server {
@@ -841,6 +843,7 @@ public final class CraftServer implements Server {
resetRecipes();
reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
@ -663,7 +663,7 @@ index 9aa648bb5ec42730f6ce85902b91a079084e7f8e..d9dda69118a5319da28cf3011fe5d8a6
overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*");
ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2055,4 +2058,35 @@ public final class CraftServer implements Server {
@@ -2074,4 +2077,35 @@ public final class CraftServer implements Server {
{
return spigot;
}

View File

@ -193,6 +193,32 @@ index 6c2ed9c1b8567abcdb11bdc3dbaeed217a2f61e7..ae0ac8d383ca11a683465d8c83a8b8a6
return this.getTemperature() - (f + (float) blockposition.getY() - 64.0F) * 0.05F / 30.0F;
} else {
diff --git a/src/main/java/net/minecraft/server/BiomeFrozenDeepOcean.java b/src/main/java/net/minecraft/server/BiomeFrozenDeepOcean.java
index 2ac69bf2ae5cbb763fc95c948725373a5c9b95b3..fdc66fc1e3440b6678a1318e9a109f2b41bc8847 100644
--- a/src/main/java/net/minecraft/server/BiomeFrozenDeepOcean.java
+++ b/src/main/java/net/minecraft/server/BiomeFrozenDeepOcean.java
@@ -58,7 +58,7 @@ public class BiomeFrozenDeepOcean extends BiomeBase {
}
if (blockposition.getY() > 64) {
- float f1 = (float) (BiomeFrozenDeepOcean.e.a((double) ((float) blockposition.getX() / 8.0F), (double) ((float) blockposition.getZ() / 8.0F), false) * 4.0D);
+ float f1 = (float) (BiomeFrozenDeepOcean.NOISE_GENERATOR_3.a((double) ((float) blockposition.getX() / 8.0F), (double) ((float) blockposition.getZ() / 8.0F), false) * 4.0D); // Paper - rename
return f - (f1 + (float) blockposition.getY() - 64.0F) * 0.05F / 30.0F;
} else {
diff --git a/src/main/java/net/minecraft/server/BiomeFrozenOcean.java b/src/main/java/net/minecraft/server/BiomeFrozenOcean.java
index 0d0ccaec8c497c9d222c7593684ed2d913d1881e..4b18e29ccb0cb15568367abb507b844011bd7f80 100644
--- a/src/main/java/net/minecraft/server/BiomeFrozenOcean.java
+++ b/src/main/java/net/minecraft/server/BiomeFrozenOcean.java
@@ -57,7 +57,7 @@ public final class BiomeFrozenOcean extends BiomeBase {
}
if (blockposition.getY() > 64) {
- float f1 = (float) (BiomeFrozenOcean.e.a((double) ((float) blockposition.getX() / 8.0F), (double) ((float) blockposition.getZ() / 8.0F), false) * 4.0D);
+ float f1 = (float) (BiomeFrozenOcean.NOISE_GENERATOR_3.a((double) ((float) blockposition.getX() / 8.0F), (double) ((float) blockposition.getZ() / 8.0F), false) * 4.0D); // Paper - rename
return f - (f1 + (float) blockposition.getY() - 64.0F) * 0.05F / 30.0F;
} else {
diff --git a/src/main/java/net/minecraft/server/Biomes.java b/src/main/java/net/minecraft/server/Biomes.java
index 0aa66addb2cb472b2ab90000d3f0e0f967353e0f..eaa527f4fe289a9492b12591154a60e5aa045252 100644
--- a/src/main/java/net/minecraft/server/Biomes.java
@ -471,10 +497,10 @@ index 998101592723abb26c91d1f92e98be1cf24c954d..ee9069c744df63cbb7f21dd9d28d6d55
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a5f26a51ba612bc62d406cbefa858af75bd062da..7ea0118d108dd71fa1b0336e471ac4cc36722ff8 100644
index 1360385091332ddf032b075990e59eee5543feb1..bae5ddbd97bd3f3422c699c42f025337b7cef574 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1550,9 +1550,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1549,9 +1549,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
ResourcePackRepository resourcepackrepository = this.resourcePackRepository;
this.resourcePackRepository.getClass();

View File

@ -3819,10 +3819,10 @@ index 0000000000000000000000000000000000000000..da7a325d070e194cd1664ed20dcb3a76
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a5f26a51ba612bc62d406cbefa858af75bd062da..67120e3e4a2cd77394fd7e77543223afa2d6a22e 100644
index bae5ddbd97bd3f3422c699c42f025337b7cef574..64994a9635efa36ec09623c3869f22faed09b21c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -767,6 +767,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -766,6 +766,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
MinecraftServer.LOGGER.error("Failed to unlock level {}", this.convertable.getLevelName(), ioexception1);
}
// Spigot start
@ -4361,7 +4361,7 @@ index 3c08ae0cf92ab1f5395662e957ab4d9c03e13deb..86f6f082fe2991ea9065b09c9680b76c
return VoxelShapes.b;
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 03dc3dd41015dc210d2781c207261fc310c65519..42294c7c7de146be08d38eddafd8d099073b627a 100644
index 63d3d43f74bed94cd03aa3b7254e66302be861d5..bd5a2eee9cb435a5ee75a39cea231151fba00387 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -22,6 +22,7 @@ import org.bukkit.craftbukkit.SpigotTimings; // Spigot
@ -4372,7 +4372,7 @@ index 03dc3dd41015dc210d2781c207261fc310c65519..42294c7c7de146be08d38eddafd8d099
import org.bukkit.craftbukkit.block.data.CraftBlockData;
import org.bukkit.event.block.BlockPhysicsEvent;
// CraftBukkit end
@@ -94,7 +95,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -95,7 +96,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
protected World(WorldDataMutable worlddatamutable, ResourceKey<World> resourcekey, ResourceKey<DimensionManager> resourcekey1, DimensionManager dimensionmanager, Supplier<GameProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env) {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((WorldDataServer) worlddatamutable).getName()); // Spigot
@ -4381,7 +4381,7 @@ index 03dc3dd41015dc210d2781c207261fc310c65519..42294c7c7de146be08d38eddafd8d099
this.generator = gen;
this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
@@ -245,6 +246,39 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -247,6 +248,39 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return (Chunk) this.getChunkAt(i, j, ChunkStatus.FULL);
}
@ -4421,7 +4421,7 @@ index 03dc3dd41015dc210d2781c207261fc310c65519..42294c7c7de146be08d38eddafd8d099
@Override
public IChunkAccess getChunkAt(int i, int j, ChunkStatus chunkstatus, boolean flag) {
IChunkAccess ichunkaccess = this.getChunkProvider().getChunkAt(i, j, chunkstatus, flag);
@@ -403,8 +437,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -405,8 +439,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public void a(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1) {}

View File

@ -1118,7 +1118,7 @@ index dccb315440f7429fe881bd0d12af8f1ae8e35c3d..96a95413f74592ef0a8e9367fd3ed81f
if (!this.world.isClientSide && this.dN() && this.aC()) {
this.damageEntity(DamageSource.DROWN, 1.0F);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 10ba89eeb31adedadd34746b86843accd1869597..04d1af26aaa7005c9dcf84abfb796b848108bbf0 100644
index 64994a9635efa36ec09623c3869f22faed09b21c..fc92fbb05e442d453d6d5dd4e36143a576f55b6b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -65,7 +65,7 @@ import org.bukkit.craftbukkit.CraftServer;
@ -1141,7 +1141,7 @@ index 10ba89eeb31adedadd34746b86843accd1869597..04d1af26aaa7005c9dcf84abfb796b84
private final ResourcePackRepository<ResourcePackLoader> resourcePackRepository;
private final ScoreboardServer scoreboardServer;
@Nullable
@@ -713,6 +713,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -712,6 +712,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
// CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server");
@ -1149,7 +1149,7 @@ index 10ba89eeb31adedadd34746b86843accd1869597..04d1af26aaa7005c9dcf84abfb796b84
// CraftBukkit start
if (this.server != null) {
this.server.disablePlugins();
@@ -910,9 +911,21 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -909,9 +910,21 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
private boolean canSleepForTick() {
// CraftBukkit start
@ -1171,7 +1171,7 @@ index 10ba89eeb31adedadd34746b86843accd1869597..04d1af26aaa7005c9dcf84abfb796b84
private void executeModerately() {
this.executeAll();
java.util.concurrent.locks.LockSupport.parkNanos("executing tasks", 1000L);
@@ -920,9 +933,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -919,9 +932,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// CraftBukkit end
protected void sleepForTick() {
@ -1183,7 +1183,7 @@ index 10ba89eeb31adedadd34746b86843accd1869597..04d1af26aaa7005c9dcf84abfb796b84
});
}
@@ -1005,10 +1018,18 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1004,10 +1017,18 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
protected void exit() {}
protected void a(BooleanSupplier booleansupplier) {
@ -1203,7 +1203,7 @@ index 10ba89eeb31adedadd34746b86843accd1869597..04d1af26aaa7005c9dcf84abfb796b84
++this.ticks;
this.b(booleansupplier);
if (i - this.T >= 5000000000L) {
@@ -1026,14 +1047,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1025,14 +1046,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit
@ -1218,7 +1218,7 @@ index 10ba89eeb31adedadd34746b86843accd1869597..04d1af26aaa7005c9dcf84abfb796b84
}
this.methodProfiler.enter("snooper");
@@ -1046,6 +1065,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1045,6 +1064,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
this.methodProfiler.exit();
@ -1232,7 +1232,7 @@ index 10ba89eeb31adedadd34746b86843accd1869597..04d1af26aaa7005c9dcf84abfb796b84
this.methodProfiler.enter("tallying");
long l = this.h[this.ticks % 100] = SystemUtils.getMonotonicNanos() - i;
@@ -1056,30 +1082,29 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1055,30 +1081,29 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.methodProfiler.exit();
org.spigotmc.WatchdogThread.tick(); // Spigot
this.slackActivityAccountant.tickEnded(l); // Spigot
@ -1271,7 +1271,7 @@ index 10ba89eeb31adedadd34746b86843accd1869597..04d1af26aaa7005c9dcf84abfb796b84
// Send time updates to everyone, it will get the right time from the world the player is in.
if (this.ticks % 20 == 0) {
for (int i = 0; i < this.getPlayerList().players.size(); ++i) {
@@ -1087,7 +1112,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1086,7 +1111,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean(GameRules.DO_DAYLIGHT_CYCLE))); // Add support for per player time
}
}
@ -1280,7 +1280,7 @@ index 10ba89eeb31adedadd34746b86843accd1869597..04d1af26aaa7005c9dcf84abfb796b84
while (iterator.hasNext()) {
WorldServer worldserver = (WorldServer) iterator.next();
@@ -1128,24 +1153,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1127,24 +1152,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
this.methodProfiler.exitEnter("connection");
@ -1581,7 +1581,7 @@ index f8d859cda8186d706304b4e182bca34573f09433..057d703fe73de9bb9ca6f0e263463d32
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
public CraftPersistentDataContainer persistentDataContainer;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 42294c7c7de146be08d38eddafd8d099073b627a..8a7ce347c35e0527471b3b586a248d6497c3b75d 100644
index bd5a2eee9cb435a5ee75a39cea231151fba00387..a559f423b19a1e6f8efb6327270250844e8c6fb6 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -18,7 +18,6 @@ import org.apache.logging.log4j.Logger;
@ -1592,7 +1592,7 @@ index 42294c7c7de146be08d38eddafd8d099073b627a..8a7ce347c35e0527471b3b586a248d64
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.craftbukkit.block.CapturedBlockState;
@@ -79,7 +78,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -80,7 +79,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
@ -1601,7 +1601,7 @@ index 42294c7c7de146be08d38eddafd8d099073b627a..8a7ce347c35e0527471b3b586a248d64
public static BlockPosition lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
private org.spigotmc.TickLimiter tileLimiter;
@@ -157,7 +156,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -159,7 +158,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public void c(WorldBorder worldborder, double d0) {}
});
// CraftBukkit end
@ -1610,7 +1610,7 @@ index 42294c7c7de146be08d38eddafd8d099073b627a..8a7ce347c35e0527471b3b586a248d64
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
}
@@ -779,15 +778,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -781,15 +780,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
timings.tileEntityPending.stopTiming(); // Spigot
@ -1758,10 +1758,10 @@ index f45b5ddc66024e993ac94436ee25a03e085742b4..dd02f7b8c0c0055a506bceab68cec98f
// CraftBukkit start - moved from MinecraftServer.saveChunks
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d9dda69118a5319da28cf3011fe5d8a64da08a5c..eb762944b1e7ba6fa47c899c77c94b789e92bdbd 100644
index f20a68bafc5abb76c60fba85c228bf15f05d309a..36e44309d5c8467c79da981ea957c17ebabe9595 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2028,12 +2028,31 @@ public final class CraftServer implements Server {
@@ -2047,12 +2047,31 @@ public final class CraftServer implements Server {
private final Spigot spigot = new Spigot()
{
@ -1963,10 +1963,10 @@ index 7f435847ac1d13756ce233e7d5ae13f9dc17c443..00000000000000000000000000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 6fcd45c9cf178ce68cfb955b9b3ff5db7fcb22df..a86883ad21710f5f550695dd4a8ef826e2e92240 100644
index af2462a8bbf617a0c949d9e3536581d7500e90ee..51782a02c0882acca208b71bbd75946f6396dcce 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1757,6 +1757,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1761,6 +1761,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
packet.components = components;
getHandle().playerConnection.sendPacket(packet);
}
@ -2155,10 +2155,10 @@ index e52ef47b783785dc214746b678e7b549aea9a274..3d90b3426873a3528af14f7f1ab0adae
this.value = value;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 9c5becd4df059f4ce5554e97d27b960e640e2c42..9beaa1574ede9893f3adf782b52c9a70c1a19e09 100644
index fbd533badfd2dc7cac1fe33a12b08b06bbd17179..94c28fe3dcf4f5a673f704e7b21be40b0cd6568e 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -133,6 +133,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -134,6 +134,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
return CraftNamespacedKey.toMinecraft(mat.getKey());
}
// ========================================================================
@ -2171,7 +2171,7 @@ index 9c5becd4df059f4ce5554e97d27b960e640e2c42..9beaa1574ede9893f3adf782b52c9a70
public static byte toLegacyData(IBlockData data) {
return CraftLegacy.toLegacyData(data);
@@ -298,6 +304,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -303,6 +309,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
return clazz;
}

View File

@ -20,10 +20,10 @@ index 2845686411615245137cfe1a155088a865a4d3a0..8ee2b9bb1bce698fce50ac1b3fc477fc
+ }
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 8a7ce347c35e0527471b3b586a248d6497c3b75d..39b276166b1b20804821bd64fff3b7c942e0cfcf 100644
index a559f423b19a1e6f8efb6327270250844e8c6fb6..b09f3f2bda126adf58d58e45f03f4205b28f29fd 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -157,6 +157,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -159,6 +159,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
});
// CraftBukkit end
timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings

View File

@ -19,10 +19,10 @@ index aab33df7a36eb69300fedfce733985d6c239ca01..550232cb3819138b3bae0fa1c5142948
throwable = throwable1;
throw throwable1;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a5284ca66043150c7132f6bee29a952fb6601007..77746c19bdeb81b0b2da86cf0aad39207e1b16d1 100644
index fc92fbb05e442d453d6d5dd4e36143a576f55b6b..1fcdbbbc7b60edd1e87bab5f1c5d19a6755de17c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1225,7 +1225,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1224,7 +1224,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {
@ -32,7 +32,7 @@ index a5284ca66043150c7132f6bee29a952fb6601007..77746c19bdeb81b0b2da86cf0aad3920
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index eb762944b1e7ba6fa47c899c77c94b789e92bdbd..e5f7d6847be56e8fffa437d9dc4712667839161a 100644
index 36e44309d5c8467c79da981ea957c17ebabe9595..0f49da25bb6a1aaad18cbd57d0d312769fe50c3e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -224,7 +224,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;

View File

@ -126,10 +126,10 @@ index 0000000000000000000000000000000000000000..5deed3e25ff41ab0a4015a5fd0c1e952
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 9beaa1574ede9893f3adf782b52c9a70c1a19e09..9f2903c8623976ae71802ab56ff2e0e3ee9089b7 100644
index 94c28fe3dcf4f5a673f704e7b21be40b0cd6568e..820f338a32e73bbb8913c1a52a7c2a40d7d97324 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -309,6 +309,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -314,6 +314,11 @@ public final class CraftMagicNumbers implements UnsafeValues {
public String getTimingsServerName() {
return com.destroystokyo.paper.PaperConfig.timingsServerName;
}

View File

@ -119,10 +119,10 @@ index 4f7dc23d67e97f9a2b8983750299fc43b0ed6db9..a4a48dbee002e96a5644d9a033f9f233
public void c() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index a86883ad21710f5f550695dd4a8ef826e2e92240..f6da0875d944d89d047bb44c47b51337b15f91a7 100644
index 51782a02c0882acca208b71bbd75946f6396dcce..d5d9022e05cd0a93bde89962f4291ad92ac0b3d2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1665,7 +1665,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1669,7 +1669,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
return getHandle().locale;

View File

@ -12,7 +12,7 @@ Previous implementation did not calculate TPS correctly.
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 77746c19bdeb81b0b2da86cf0aad39207e1b16d1..9555c26c889ceb19b2546967ad60979c8f4868f4 100644
index 1fcdbbbc7b60edd1e87bab5f1c5d19a6755de17c..0f2011a776619301dd6a133b9a4044b4f5b69cfc 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -144,7 +144,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -23,8 +23,8 @@ index 77746c19bdeb81b0b2da86cf0aad39207e1b16d1..9555c26c889ceb19b2546967ad60979c
+ public static int currentTick = 0; // Paper - Further improve tick loop
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
public File bukkitDataPackFolder;
@@ -154,7 +154,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public CommandDispatcher vanillaCommandDispatcher;
@@ -153,7 +153,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// Spigot start
public static final int TPS = 20;
public static final int TICK_TIME = 1000000000 / TPS;
@ -33,7 +33,7 @@ index 77746c19bdeb81b0b2da86cf0aad39207e1b16d1..9555c26c889ceb19b2546967ad60979c
public final double[] recentTps = new double[ 3 ];
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -808,6 +808,57 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -807,6 +807,57 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
{
return ( avg * exp ) + ( tps * ( 1 - exp ) );
}
@ -91,7 +91,7 @@ index 77746c19bdeb81b0b2da86cf0aad39207e1b16d1..9555c26c889ceb19b2546967ad60979c
// Spigot End
protected void v() {
@@ -820,30 +871,38 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -819,30 +870,38 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// Spigot start
Arrays.fill( recentTps, 20 );
@ -140,10 +140,10 @@ index 77746c19bdeb81b0b2da86cf0aad39207e1b16d1..9555c26c889ceb19b2546967ad60979c
GameProfilerTick gameprofilertick = GameProfilerTick.a("Server");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e5f7d6847be56e8fffa437d9dc4712667839161a..1598cebd25f36e6609cb5eeaf9557c6d543eee4b 100644
index 0f49da25bb6a1aaad18cbd57d0d312769fe50c3e..9cf0d095db124976c7777ff78a6a1f1f46f4a363 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2025,6 +2025,17 @@ public final class CraftServer implements Server {
@@ -2044,6 +2044,17 @@ public final class CraftServer implements Server {
return CraftMagicNumbers.INSTANCE;
}

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Prevent tile entity and entity crashes
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 03c6a1c95daaa25208917d6985594eb5f182e8e1..ab0f9a9d69c801e47002039c41c7c3393fc2f403 100644
index 057d703fe73de9bb9ca6f0e263463d32abae4c13..534295965ee701611b5e12a10f14a69e8226376a 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -194,7 +194,12 @@ public abstract class TileEntity implements KeyedObject { // Paper
@ -23,10 +23,10 @@ index 03c6a1c95daaa25208917d6985594eb5f182e8e1..ab0f9a9d69c801e47002039c41c7c339
}
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 39b276166b1b20804821bd64fff3b7c942e0cfcf..56d7cf4478a544677a1c537bcd1955913ab83ec5 100644
index b09f3f2bda126adf58d58e45f03f4205b28f29fd..8a1f8a8bc2e70b6675011f571b9a6cb58dc79877 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -718,11 +718,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -720,11 +720,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
gameprofilerfiller.exit();
} catch (Throwable throwable) {
@ -45,7 +45,7 @@ index 39b276166b1b20804821bd64fff3b7c942e0cfcf..56d7cf4478a544677a1c537bcd195591
}
// Spigot start
finally {
@@ -788,11 +790,12 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -790,11 +792,12 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
try {
consumer.accept(entity);
} catch (Throwable throwable) {

View File

@ -123,10 +123,10 @@ index bf156897acfe25c16a1b09a83a00ba3ab647a2dd..842563f2030382659a62a3a63d9af9d5
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9555c26c889ceb19b2546967ad60979c8f4868f4..63c2953d6eb6f3c034be97e0cb2dd5e991c75fdd 100644
index 0f2011a776619301dd6a133b9a4044b4f5b69cfc..e1af87a172d011a212aaafc55ef651ff60df35b6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1209,6 +1209,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1208,6 +1208,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.methodProfiler.exit();
this.methodProfiler.exit();
@ -135,10 +135,10 @@ index 9555c26c889ceb19b2546967ad60979c8f4868f4..63c2953d6eb6f3c034be97e0cb2dd5e9
this.methodProfiler.exitEnter("connection");
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 56d7cf4478a544677a1c537bcd1955913ab83ec5..6a13f4a4d40177e5ef8c0ae00ca54d1ffb9b221c 100644
index 8a1f8a8bc2e70b6675011f571b9a6cb58dc79877..7fe3cfebb051944f3c619ae04bc966efdbff31da 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -83,6 +83,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -84,6 +84,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
private org.spigotmc.TickLimiter entityLimiter;
private org.spigotmc.TickLimiter tileLimiter;
private int tileTickPosition;

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Disable spigot tick limiters
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 6a13f4a4d40177e5ef8c0ae00ca54d1ffb9b221c..54143a64c4c41d7bdc3476f676ea45143b3e98ca 100644
index 7fe3cfebb051944f3c619ae04bc966efdbff31da..864df4fbcb0f4a09fc12b270955c36d779aeb7d4 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -688,9 +688,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -690,9 +690,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
// Spigot start
// Iterator iterator = this.tileEntityListTick.iterator();
int tilesThisCycle = 0;

View File

@ -48,10 +48,10 @@ index 890b0fc7baf51ed6896d979021b3956c5c279c40..b468182266c39b9defa1aa287290f75f
} else if (this.player.getChatFlags() == EnumChatVisibility.SYSTEM) {
// Do nothing, this is coming from a plugin
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 1598cebd25f36e6609cb5eeaf9557c6d543eee4b..ce5046ac7cd9648c303c1e6f850c5212af48a5b3 100644
index 9cf0d095db124976c7777ff78a6a1f1f46f4a363..35f0527f6dbd06660a1ca4ce528ac1e8c056bb16 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -745,6 +745,29 @@ public final class CraftServer implements Server {
@@ -752,6 +752,29 @@ public final class CraftServer implements Server {
Validate.notNull(commandLine, "CommandLine cannot be null");
org.spigotmc.AsyncCatcher.catchOp("command dispatch"); // Spigot

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ce5046ac7cd9648c303c1e6f850c5212af48a5b3..8091c4538a97fbc8f2495183ef952aecde659342 100644
index 35f0527f6dbd06660a1ca4ce528ac1e8c056bb16..3768215d57f4025bdb83913e45b12119d53e1002 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1684,6 +1684,7 @@ public final class CraftServer implements Server {
@@ -1698,6 +1698,7 @@ public final class CraftServer implements Server {
return helpMap;
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add velocity warnings
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8091c4538a97fbc8f2495183ef952aecde659342..af17df4810ef30eba640028dd0b2047ed387eff0 100644
index 3768215d57f4025bdb83913e45b12119d53e1002..1de3ac4242f388f2331c5a02e17b1709491dcbc7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -259,6 +259,7 @@ public final class CraftServer implements Server {
@@ -260,6 +260,7 @@ public final class CraftServer implements Server {
public boolean ignoreVanillaPermissions = false;
private final List<CraftPlayer> playerView;
public int reloadCount;

View File

@ -153,7 +153,7 @@ index 1ce85ab949213efb9eae6daddca6ac8fb15dd472..d2977022d163edc5518dd4737c30cffd
} finally {
if (filechannel != null) {
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index c3632b2607ace821b02895a1668bd6050f6c12d6..50be743513145bd2c8b9c65af219f60099cbb09f 100644
index f27ffc56d548c09b7a1fced6d87623d493a21543..e08de74543535072e63ecfc9bd3ada95c9dbfeb7 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -14,6 +14,7 @@ import org.apache.logging.log4j.LogManager;
@ -164,7 +164,7 @@ index c3632b2607ace821b02895a1668bd6050f6c12d6..50be743513145bd2c8b9c65af219f600
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
// CraftBukkit end
@@ -263,6 +264,7 @@ public final class SpawnerCreature {
@@ -268,6 +269,7 @@ public final class SpawnerCreature {
}
} catch (Exception exception) {
SpawnerCreature.LOGGER.warn("Failed to create mob", exception);
@ -172,7 +172,7 @@ index c3632b2607ace821b02895a1668bd6050f6c12d6..50be743513145bd2c8b9c65af219f600
return null;
}
}
@@ -368,6 +370,7 @@ public final class SpawnerCreature {
@@ -373,6 +375,7 @@ public final class SpawnerCreature {
entity = biomebase_biomemeta.c.a(generatoraccess.getMinecraftWorld());
} catch (Exception exception) {
SpawnerCreature.LOGGER.warn("Failed to create mob", exception);
@ -201,7 +201,7 @@ index 045c16654e60f2312e9b6f7b0de2c9e921321201..b1081e441023f5d24091321b1267b565
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 5197cdb3219638b499f0eb2a25f35e789983a3e8..f80b0b95ce650b01ecb10d3a2f7c66421ca29178 100644
index a1e1dc72cd6a556505a6f0d7feee2527947c00dd..c01f0e897ab8741c7fd68245458acdb8559e843e 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1,5 +1,10 @@
@ -215,7 +215,7 @@ index 5197cdb3219638b499f0eb2a25f35e789983a3e8..f80b0b95ce650b01ecb10d3a2f7c6642
import com.google.common.collect.Lists;
import com.mojang.serialization.Codec;
import java.io.IOException;
@@ -718,8 +723,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -720,8 +725,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
gameprofilerfiller.exit();
} catch (Throwable throwable) {
// Paper start - Prevent tile entity and entity crashes
@ -228,7 +228,7 @@ index 5197cdb3219638b499f0eb2a25f35e789983a3e8..f80b0b95ce650b01ecb10d3a2f7c6642
tilesThisCycle--;
this.tileEntityListTick.remove(tileTickPosition--);
continue;
@@ -790,8 +798,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -792,8 +800,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
consumer.accept(entity);
} catch (Throwable throwable) {
// Paper start - Prevent tile entity and entity crashes

View File

@ -22,7 +22,7 @@ index b468182266c39b9defa1aa287290f75f7db44b9a..a0806ddc407d21340c82fe4d00bb7ad1
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 15312df00ea7d88ca1733b5b8a5dd8f204728811..f2963832700db877af9d4efd5b277348303afe63 100644
index b63cf312a9e9ea4b0659a799abfe21f6f1d98fdb..8a2523e56c74d9d3b75501cef10f3495d460f36d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -136,6 +136,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -36,7 +36,7 @@ index 15312df00ea7d88ca1733b5b8a5dd8f204728811..f2963832700db877af9d4efd5b277348
public CraftPlayer(CraftServer server, EntityPlayer entity) {
super(server, entity);
@@ -1769,6 +1773,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1773,6 +1777,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean getAffectsSpawning() {
return this.getHandle().affectsSpawning;
}

View File

@ -30,10 +30,10 @@ index a62f4bbb973b9cb6d1ee53f56a0897d70ae176af..f207abbe757ad403a29a7a012903aaa8
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index af17df4810ef30eba640028dd0b2047ed387eff0..3b61bb5da6adc04eed934885be7ece2b3f4ea74c 100644
index 1de3ac4242f388f2331c5a02e17b1709491dcbc7..228106442d8f6d425a0d15c816532223749e03be 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -395,6 +395,7 @@ public final class CraftServer implements Server {
@@ -397,6 +397,7 @@ public final class CraftServer implements Server {
if (type == PluginLoadOrder.STARTUP) {
helpMap.clear();
helpMap.initializeGeneralTopics();
@ -41,7 +41,7 @@ index af17df4810ef30eba640028dd0b2047ed387eff0..3b61bb5da6adc04eed934885be7ece2b
}
Plugin[] plugins = pluginManager.getPlugins();
@@ -414,7 +415,7 @@ public final class CraftServer implements Server {
@@ -416,7 +417,7 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions
https://github.com/PaperMC/Paper/issues/49
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 3b61bb5da6adc04eed934885be7ece2b3f4ea74c..e1c39accfbdd1ac4bcfdfa9bc159f6d62a36fb50 100644
index 228106442d8f6d425a0d15c816532223749e03be..73f140771bac6bfda57bbd402a1603cedf8c38b5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2144,5 +2144,23 @@ public final class CraftServer implements Server {
@@ -2163,5 +2163,23 @@ public final class CraftServer implements Server {
return null;
}
}

View File

@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive
This will remove metadata on reload so it does not crash everything if a plugin uses it.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e1c39accfbdd1ac4bcfdfa9bc159f6d62a36fb50..c8073b635ff03e2d76b1def6fd3144b88a385722 100644
index 73f140771bac6bfda57bbd402a1603cedf8c38b5..2bb31a684906044b159e959dd8acd85efc660b02 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -849,8 +849,18 @@ public final class CraftServer implements Server {
@@ -863,8 +863,18 @@ public final class CraftServer implements Server {
world.paperConfig.init(); // Paper
}

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Add World Util Methods
Methods that can be used for other patches to help improve logic.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index f80b0b95ce650b01ecb10d3a2f7c66421ca29178..6e05a7deaae13f29c24fb6e364c62948a20d83a8 100644
index c01f0e897ab8741c7fd68245458acdb8559e843e..ee1f5c1e1bc9440a743a361bf3aaa991dddbc9cd 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -283,6 +283,22 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -285,6 +285,22 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return chunk == null ? null : chunk.getFluid(blockposition);
}

View File

@ -44,10 +44,10 @@ index f1080e7d10d5105e3f4010489393f6150c7c4a75..374e4a3dcb656d6a84e05bb9260d3198
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index f2963832700db877af9d4efd5b277348303afe63..5b3c8cc669eef72cec04d36de156405421cd21e5 100644
index 8a2523e56c74d9d3b75501cef10f3495d460f36d..93690040efd7de5223cd81415cfa9aeb4bec30ef 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1589,6 +1589,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1590,6 +1590,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {

View File

@ -192,10 +192,10 @@ index c5d7a013e65c2c81b14ceb2476c1c6dfe3239f0d..ee8df274d43be753887fb77e4203e2ee
@Override
public Fluid getFluid(BlockPosition blockposition) {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 6479a62d81daacde6e1e72cb57bd99f9c59b5ae7..042f10ba2c6a3283203fdc5e79f78f3dbf6ccc22 100644
index ee1f5c1e1bc9440a743a361bf3aaa991dddbc9cd..1e72dd313e1fe0f701f3d14fffdc9a6a8db78934 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -179,7 +179,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -181,7 +181,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
public static boolean isValidLocation(BlockPosition blockposition) {
@ -204,7 +204,7 @@ index 6479a62d81daacde6e1e72cb57bd99f9c59b5ae7..042f10ba2c6a3283203fdc5e79f78f3d
}
public static boolean k(BlockPosition blockposition) {
@@ -195,7 +195,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -197,7 +197,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
public static boolean isOutsideWorld(BlockPosition blockposition) {

View File

@ -32,10 +32,10 @@ index f87fc631255aa5948459f0726b188ebbbae13c5f..446a2ffcd95fd631750b74fd31b4c410
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 704d59e53f4cf6f94202d6db36b3f7dba3a29c59..5f89477c664662447c1aafbf734a15aee0084f17 100644
index e1af87a172d011a212aaafc55ef651ff60df35b6..db0184af459472c73df5990699def5bdaef573c2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1175,6 +1175,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1174,6 +1174,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
while (iterator.hasNext()) {
WorldServer worldserver = (WorldServer) iterator.next();
@ -44,10 +44,10 @@ index 704d59e53f4cf6f94202d6db36b3f7dba3a29c59..5f89477c664662447c1aafbf734a15ae
this.methodProfiler.a(() -> {
return worldserver + " " + worldserver.getDimensionKey().a();
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 0611194eac072ce8dcd350dadffbc9da267d6cff..e236a3b3aa11bc5c3bab92959b90827447aa282c 100644
index 1e72dd313e1fe0f701f3d14fffdc9a6a8db78934..948e477e112cd1e27c74a29c6330b07f9b710ffe 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -439,7 +439,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -441,7 +441,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
// CraftBukkit start
iblockdata1.b(this, blockposition, j); // Don't call an event for the old block to limit event spam
CraftWorld world = ((WorldServer) this).getWorld();
@ -56,7 +56,7 @@ index 0611194eac072ce8dcd350dadffbc9da267d6cff..e236a3b3aa11bc5c3bab92959b908274
BlockPhysicsEvent event = new BlockPhysicsEvent(world.getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()), CraftBlockData.fromData(iblockdata));
this.getServer().getPluginManager().callEvent(event);
@@ -541,7 +541,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -543,7 +543,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
try {
// CraftBukkit start
CraftWorld world = ((WorldServer) this).getWorld();

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index b6242cee9f5ab7c4fc9e32d682eb271f4604db41..45daedbba9829193bdc5e7a8f33b6e29c6fbbe10 100644
index 948e477e112cd1e27c74a29c6330b07f9b710ffe..58277457ef879c48f3678efeb2a646e116320754 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -499,6 +499,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -501,6 +501,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public void b(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1) {}
public void applyPhysics(BlockPosition blockposition, Block block) {

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Remove unused World Tile Entity List
Massive hit to performance and it is completely unnecessary.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d3d7b605d92d433cb6b6655487a779dd10e03b30..1962f6d9c8c86a4ea275e33750ba3c93512a4855 100644
index 58277457ef879c48f3678efeb2a646e116320754..bd7214e4679044461f141f3000f1dab648a24051 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -39,7 +39,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -18,7 +18,7 @@ index d3d7b605d92d433cb6b6655487a779dd10e03b30..1962f6d9c8c86a4ea275e33750ba3c93
public final List<TileEntity> tileEntityListTick = Lists.newArrayList();
protected final List<TileEntity> tileEntityListPending = Lists.newArrayList();
protected final java.util.Set<TileEntity> tileEntityListUnload = com.google.common.collect.Sets.newHashSet();
@@ -664,9 +664,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -666,9 +666,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}, tileentity::getPosition});
}
@ -30,7 +30,7 @@ index d3d7b605d92d433cb6b6655487a779dd10e03b30..1962f6d9c8c86a4ea275e33750ba3c93
this.tileEntityListTick.add(tileentity);
}
@@ -702,7 +702,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -704,7 +704,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
timings.tileEntityTick.startTiming(); // Spigot
if (!this.tileEntityListUnload.isEmpty()) {
this.tileEntityListTick.removeAll(this.tileEntityListUnload);
@ -39,7 +39,7 @@ index d3d7b605d92d433cb6b6655487a779dd10e03b30..1962f6d9c8c86a4ea275e33750ba3c93
this.tileEntityListUnload.clear();
}
@@ -763,7 +763,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -765,7 +765,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
tilesThisCycle--;
this.tileEntityListTick.remove(tileTickPosition--);
// Spigot end
@ -48,7 +48,7 @@ index d3d7b605d92d433cb6b6655487a779dd10e03b30..1962f6d9c8c86a4ea275e33750ba3c93
if (this.isLoaded(tileentity.getPosition())) {
this.getChunkAtWorldCoords(tileentity.getPosition()).removeTileEntity(tileentity.getPosition());
}
@@ -793,7 +793,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -795,7 +795,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
this.notify(tileentity1.getPosition(), iblockdata, iblockdata, 3);
// CraftBukkit start
// From above, don't screw this up - SPIGOT-1746
@ -57,7 +57,7 @@ index d3d7b605d92d433cb6b6655487a779dd10e03b30..1962f6d9c8c86a4ea275e33750ba3c93
this.a(tileentity1);
}
// CraftBukkit end
@@ -935,7 +935,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -937,7 +937,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
} else {
if (tileentity != null) {
this.tileEntityListPending.remove(tileentity);

View File

@ -19,10 +19,10 @@ index 7d726757d1083011a09c9f2ca37c33a81360e964..3d9a98936cfe933fd71fb82f07e1ba54
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 5f89477c664662447c1aafbf734a15aee0084f17..26a796513e66d1593d2d7e47062b26bfe07796e9 100644
index db0184af459472c73df5990699def5bdaef573c2..e4b92f63c9ac6f0c2bb52056645c91b86e9d8424 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -436,6 +436,20 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -435,6 +435,20 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldLoadEvent(worldserver.getWorld()));
}

View File

@ -40,10 +40,10 @@ index d4673ac51ffc720362e849ec2da17daaceded4ca..898ac661042381b99b98991f493538c0
this.cg = packetplayinsettings.e();
this.getDataWatcher().set(EntityPlayer.bp, (byte) packetplayinsettings.f());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index cff5600687d88e3eab06a00bdd7810fa35f3c7cc..20cb63419a049ce9dcaf2f0c99274501ebf9aa8c 100644
index 81bd6bd8ef63f99e6a6b9a114e7f4cbe02a3c05c..7c8adeb5c3394bebbcb85c285ca63251c0ffaf0c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1772,8 +1772,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1776,8 +1776,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {

View File

@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton
to stop IDE complaining about potential NPE
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 02e5a4214e46f31ba38d1ab814eeacce850dfaa1..f020b087599abe370b9da2381be4e6fabf94243a 100644
index e4b92f63c9ac6f0c2bb52056645c91b86e9d8424..d6bbb462931fd1eb97d39fbbbf4b843aa0f17c2e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -70,6 +70,7 @@ import org.spigotmc.SlackActivityAccountant; // Spigot
@ -17,7 +17,7 @@ index 02e5a4214e46f31ba38d1ab814eeacce850dfaa1..f020b087599abe370b9da2381be4e6fa
public static final Logger LOGGER = LogManager.getLogger();
public static final File b = new File("usercache.json");
public static final WorldSettings c = new WorldSettings("Demo World", EnumGamemode.SURVIVAL, false, EnumDifficulty.NORMAL, false, new GameRules(), DataPackConfiguration.a);
@@ -177,6 +178,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -176,6 +177,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public MinecraftServer(OptionSet options, DataPackConfiguration datapackconfiguration, Thread thread, IRegistryCustom.Dimension iregistrycustom_dimension, Convertable.ConversionSession convertable_conversionsession, SaveData savedata, ResourcePackRepository<ResourcePackLoader> resourcepackrepository, Proxy proxy, DataFixer datafixer, DataPackResources datapackresources, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache, WorldLoadListenerFactory worldloadlistenerfactory) {
super("Server");
@ -25,7 +25,7 @@ index 02e5a4214e46f31ba38d1ab814eeacce850dfaa1..f020b087599abe370b9da2381be4e6fa
this.m = new GameProfilerSwitcher(SystemUtils.a, this::ag);
this.methodProfiler = GameProfilerDisabled.a;
this.serverPing = new ServerPing();
@@ -2036,7 +2038,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -2035,7 +2037,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@Deprecated
public static MinecraftServer getServer() {

View File

@ -10,10 +10,10 @@ Additionally, move Saving of the User cache to be done async, incase
the user never changed the default setting for Spigot's save on stop only.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f020b087599abe370b9da2381be4e6fabf94243a..9c9dc07a3b6dbfc5c4e0abc9a094de7230c34452 100644
index d6bbb462931fd1eb97d39fbbbf4b843aa0f17c2e..28ade7187d6fd61adbfe65a1944426168b131c4c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -789,7 +789,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -788,7 +788,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} catch (java.lang.InterruptedException ignored) {} // Paper
if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) {
LOGGER.info("Saving usercache.json");

View File

@ -77,10 +77,10 @@ index d88d435b7777f731bc0bb728ebe4d4cb31c6376e..a63a60348fe45f63deec6fcb27b6be09
public RedstoneUpdateInfo(BlockPosition blockposition, long i) {
this.a = blockposition;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 6818565b7af8fd9709a3d0a0ba6c091e7c434b7d..8f7222639bcc5b4b1b8af4aa69a100a37766cb4e 100644
index bd7214e4679044461f141f3000f1dab648a24051..87a0e66029e10a22ea6e681c7d1e143b9bc5c2c8 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -89,6 +89,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -90,6 +90,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
private org.spigotmc.TickLimiter tileLimiter;
private int tileTickPosition;
public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions

View File

@ -45,10 +45,10 @@ index 060887d765604e4be82913607bb6266a278f5db6..c5957c2d6c54b076ebe7f9a432e30551
} else {
String[] astring1 = astring;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index c8073b635ff03e2d76b1def6fd3144b88a385722..ff4cbded970340c0c5321f1c6c3494dc3267e14e 100644
index 2bb31a684906044b159e959dd8acd85efc660b02..fc309214f335ed455c89523ea6a388ba87c7e088 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1462,7 +1462,8 @@ public final class CraftServer implements Server {
@@ -1476,7 +1476,8 @@ public final class CraftServer implements Server {
// Spigot Start
GameProfile profile = null;
// Only fetch an online UUID in online mode

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases
Reload the aliases stored in commands.yml
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ff4cbded970340c0c5321f1c6c3494dc3267e14e..f18fb72b62a2c04f03a06de2bbcdee5b7a971aa4 100644
index fc309214f335ed455c89523ea6a388ba87c7e088..acfa657c62005b04eb9fb438f63240a923c2530f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2173,5 +2173,24 @@ public final class CraftServer implements Server {
@@ -2192,5 +2192,24 @@ public final class CraftServer implements Server {
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
}

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z
Reduce method invocations for World.isLoaded(BlockPosition)Z
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 8f7222639bcc5b4b1b8af4aa69a100a37766cb4e..2b5384d43a4bceb0113e88a2e75b3b201fc49393 100644
index 87a0e66029e10a22ea6e681c7d1e143b9bc5c2c8..5f23a7b952a5938ffa489bbf4f3d64caa8d0f4a6 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -285,6 +285,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -287,6 +287,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return chunk == null ? null : chunk.getFluid(blockposition);
}

View File

@ -7,11 +7,11 @@ Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 752f3f22f983f9baccaef2e4d30800132fa53125..dc33b91a517b8cfeeed06781fb62f5baa6113aa7 100644
index 004c768d03e6fde2bcc32f39ba2a36ea2ab1e882..c791e4861163e0340fe3986ec5b7f6ed4900fa3b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -279,6 +279,48 @@ public class CraftWorld implements World {
private int waterAnimalSpawn = -1;
@@ -280,6 +280,48 @@ public class CraftWorld implements World {
private int waterAmbientSpawn = -1;
private int ambientSpawn = -1;
+ // Paper start - Provide fast information methods

View File

@ -278,10 +278,10 @@ index ba42ca08ca61832cb07bebcfa0b1e5422d7b30e9..623cd63711c6cb79dce7a46056e193fd
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index dc33b91a517b8cfeeed06781fb62f5baa6113aa7..7c4514ad1969f7f79bb474606df0f2c3c5888b1a 100644
index c791e4861163e0340fe3986ec5b7f6ed4900fa3b..802dd32711a429b06f082528c60dd55a170b2ae0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1807,7 +1807,7 @@ public class CraftWorld implements World {
@@ -1808,7 +1808,7 @@ public class CraftWorld implements World {
} else if (TNTPrimed.class.isAssignableFrom(clazz)) {
entity = new EntityTNTPrimed(world, x, y, z, null);
} else if (ExperienceOrb.class.isAssignableFrom(clazz)) {

View File

@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result
in corruption/dataloss.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9c9dc07a3b6dbfc5c4e0abc9a094de7230c34452..d710082d0aefa0d4a3dccbf5839969bc4d056e7b 100644
index 28ade7187d6fd61adbfe65a1944426168b131c4c..878a9de29c728a0b49fb8ee15be85516176795bd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -91,6 +91,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -41,7 +41,7 @@ index 9c9dc07a3b6dbfc5c4e0abc9a094de7230c34452..d710082d0aefa0d4a3dccbf5839969bc
private boolean isStopped;
private int ticks;
protected final Proxy proxy;
@@ -742,7 +743,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -741,7 +742,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
if (this.playerList != null) {
MinecraftServer.LOGGER.info("Saving players");
this.playerList.savePlayers();
@ -50,7 +50,7 @@ index 9c9dc07a3b6dbfc5c4e0abc9a094de7230c34452..d710082d0aefa0d4a3dccbf5839969bc
try { Thread.sleep(100); } catch (InterruptedException ex) {} // CraftBukkit - SPIGOT-625 - give server at least a chance to send packets
}
@@ -807,8 +808,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -806,8 +807,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
return this.isRunning;
}
@ -64,7 +64,7 @@ index 9c9dc07a3b6dbfc5c4e0abc9a094de7230c34452..d710082d0aefa0d4a3dccbf5839969bc
if (flag) {
try {
this.serverThread.join();
@@ -818,6 +824,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -817,6 +823,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
}
@ -73,7 +73,7 @@ index 9c9dc07a3b6dbfc5c4e0abc9a094de7230c34452..d710082d0aefa0d4a3dccbf5839969bc
// Spigot Start
private static double calcTps(double avg, double exp, double tps)
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 414e23fc24e90829b71def39b186f1913ce8300d..c595d6e6126749a94e264acdb9e0ba609c72e6bc 100644
index f5831148b5f8e2921306074f710d4b90398e896e..4945adff2f014cb679a61b8fb44d7d48971f20bf 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1071,10 +1071,15 @@ public abstract class PlayerList {

View File

@ -20,10 +20,10 @@ index c4086de778cc2ccc958b1a94dd6e9cdb5065076c..5fa63d7ca20b88a44d8800b3ebf74e4c
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f18fb72b62a2c04f03a06de2bbcdee5b7a971aa4..1417bdfc00bbe6d55bbd59b8d5c9aa88f17dbb6b 100644
index acfa657c62005b04eb9fb438f63240a923c2530f..07906b1f25f9547896bc790c22b52a343ff9c940 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2192,5 +2192,10 @@ public final class CraftServer implements Server {
@@ -2211,5 +2211,10 @@ public final class CraftServer implements Server {
commandMap.registerServerAliases();
return true;
}

View File

@ -144,7 +144,7 @@ index 0000000000000000000000000000000000000000..685deaa0e5d1ddc13e3a7c0471b1cfcf
+
+}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index b091db5901d75769e406c454b205f102c82ca021..49b5c226dcbd4ef7d2a3418ef2c7e98bb689ccfb 100644
index ce285b97cbdc9d74504d073fc659c295300dd720..af839f432d410601fbbe06b665e4e0fad801c17d 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -62,6 +62,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -186,7 +186,7 @@ index b091db5901d75769e406c454b205f102c82ca021..49b5c226dcbd4ef7d2a3418ef2c7e98b
System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true));
System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true));
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d710082d0aefa0d4a3dccbf5839969bc4d056e7b..1c642cd576a7c8dc98f3170ad971fcd075ba1d2e 100644
index 878a9de29c728a0b49fb8ee15be85516176795bd..b06bb3dccda23ebed1532e17f9699b9b6828d9d8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -58,7 +58,7 @@ import org.apache.logging.log4j.LogManager;
@ -207,7 +207,7 @@ index d710082d0aefa0d4a3dccbf5839969bc4d056e7b..1c642cd576a7c8dc98f3170ad971fcd0
public static int currentTick = 0; // Paper - Further improve tick loop
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
@@ -215,7 +215,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -214,7 +214,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.options = options;
this.datapackconfiguration = datapackconfiguration;
this.vanillaCommandDispatcher = datapackresources.commandDispatcher; // CraftBukkit
@ -217,7 +217,7 @@ index d710082d0aefa0d4a3dccbf5839969bc4d056e7b..1c642cd576a7c8dc98f3170ad971fcd0
if (System.console() == null && System.getProperty("jline.terminal") == null) {
System.setProperty("jline.terminal", "jline.UnsupportedTerminal");
Main.useJline = false;
@@ -236,6 +238,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -235,6 +237,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
LOGGER.warn((String) null, ex);
}
}
@ -226,7 +226,7 @@ index d710082d0aefa0d4a3dccbf5839969bc4d056e7b..1c642cd576a7c8dc98f3170ad971fcd0
Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this));
}
// CraftBukkit end
@@ -980,7 +984,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -979,7 +983,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
org.spigotmc.WatchdogThread.doStop(); // Spigot
// CraftBukkit start - Restore terminal to original settings
try {
@ -235,7 +235,7 @@ index d710082d0aefa0d4a3dccbf5839969bc4d056e7b..1c642cd576a7c8dc98f3170ad971fcd0
} catch (Exception ignored) {
}
// CraftBukkit end
@@ -1351,7 +1355,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1350,7 +1354,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@Override
public void sendMessage(IChatBaseComponent ichatbasecomponent, UUID uuid) {
@ -245,7 +245,7 @@ index d710082d0aefa0d4a3dccbf5839969bc4d056e7b..1c642cd576a7c8dc98f3170ad971fcd0
public KeyPair getKeyPair() {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index c595d6e6126749a94e264acdb9e0ba609c72e6bc..21f583302e9d8da8c9a9651ce40c64dc8abfa512 100644
index 4945adff2f014cb679a61b8fb44d7d48971f20bf..da86c825de669a6b9cea773b23d277f56a2daee5 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -79,8 +79,7 @@ public abstract class PlayerList {
@ -259,7 +259,7 @@ index c595d6e6126749a94e264acdb9e0ba609c72e6bc..21f583302e9d8da8c9a9651ce40c64dc
this.k = new GameProfileBanList(PlayerList.b);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 1417bdfc00bbe6d55bbd59b8d5c9aa88f17dbb6b..e92367a8add47a62567fe691820e2b57baa58b3f 100644
index 07906b1f25f9547896bc790c22b52a343ff9c940..1c9b5c376c0750974f52d526414d094fcf3a3e11 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -46,7 +46,7 @@ import java.util.function.Consumer;
@ -271,7 +271,7 @@ index 1417bdfc00bbe6d55bbd59b8d5c9aa88f17dbb6b..e92367a8add47a62567fe691820e2b57
import net.minecraft.server.Advancement;
import net.minecraft.server.ArgumentEntity;
import net.minecraft.server.BiomeManager;
@@ -1181,9 +1181,13 @@ public final class CraftServer implements Server {
@@ -1195,9 +1195,13 @@ public final class CraftServer implements Server {
return logger;
}

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Add UnknownCommandEvent
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e92367a8add47a62567fe691820e2b57baa58b3f..c305bf571626e25f084d9323551bd39506042a75 100644
index 1c9b5c376c0750974f52d526414d094fcf3a3e11..71f2a8cfc2e077ce7c576957fd1d36f6612a4ebf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -105,6 +105,7 @@ import net.minecraft.server.WorldNBTStorage;
@ -24,7 +24,7 @@ index e92367a8add47a62567fe691820e2b57baa58b3f..c305bf571626e25f084d9323551bd395
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerChatTabCompleteEvent;
import org.bukkit.event.server.BroadcastMessageEvent;
@@ -776,7 +778,13 @@ public final class CraftServer implements Server {
@@ -783,7 +785,13 @@ public final class CraftServer implements Server {
// Spigot start
if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) {

View File

@ -449,7 +449,7 @@ index da7a325d070e194cd1664ed20dcb3a762c9a517a..797654c653ec6dc4d46b457cf8a6121b
* Calculates distance between 2 entities
* @param e1
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
index 1fce35c89ee4edda27c9d755cf9ee8d315567621..ca45b10b5dd7003314ff4c3294f13d2c53d9e678 100644
index d88946122e98abdefed54b29f510c7d4049fdff6..55c79f17a25f1bfe80cbc65e8c01ea1703f27538 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -87,7 +87,7 @@ public class Main {
@ -462,10 +462,10 @@ index 1fce35c89ee4edda27c9d755cf9ee8d315567621..ca45b10b5dd7003314ff4c3294f13d2c
GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository();
UserCache usercache = new UserCache(gameprofilerepository, new File(file, MinecraftServer.b.getName()));
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1c642cd576a7c8dc98f3170ad971fcd075ba1d2e..12aaacc19006f99ccd59f98b55dbab8b4134c654 100644
index b06bb3dccda23ebed1532e17f9699b9b6828d9d8..62ca208a95434ca1d8970b01f7291647e0b1f93f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1602,6 +1602,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1601,6 +1601,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.G = i;
}
@ -560,7 +560,7 @@ index 4f769211cf98c3da720a904da3dcdcd4c7611f0b..a038397028848edb4f43cd4f72625466
private UserCacheEntry(GameProfile gameprofile, Date date) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index c305bf571626e25f084d9323551bd39506042a75..d9464d759c6df200a9bceeee028baa15dd2b86b3 100644
index 71f2a8cfc2e077ce7c576957fd1d36f6612a4ebf..4786a8eaca956435f2f76ee9d5fb9e66658c24a1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -225,6 +225,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
@ -573,7 +573,7 @@ index c305bf571626e25f084d9323551bd39506042a75..d9464d759c6df200a9bceeee028baa15
public final class CraftServer implements Server {
private final String serverName = "Paper"; // Paper
private final String serverVersion;
@@ -2209,5 +2212,24 @@ public final class CraftServer implements Server {
@@ -2228,5 +2231,24 @@ public final class CraftServer implements Server {
public boolean suggestPlayerNamesWhenNullTabCompletions() {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 2b5384d43a4bceb0113e88a2e75b3b201fc49393..598a6907432ad8a7fe3b8c6389d3e5251efc913a 100644
index 5f23a7b952a5938ffa489bbf4f3d64caa8d0f4a6..15b1d9a82f8ced4d53a7848fa3cfdb835fbc3e5b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -707,7 +707,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -709,7 +709,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
gameprofilerfiller.enter("blockEntities");
timings.tileEntityTick.startTiming(); // Spigot
if (!this.tileEntityListUnload.isEmpty()) {

View File

@ -72,10 +72,10 @@ index 69c0a4c7bfb1c753d544dcd074ad832d3e5ef3a0..eaed020982bd19dab72872849170fa62
entity.extinguish();
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 598a6907432ad8a7fe3b8c6389d3e5251efc913a..e095444d026c277c69a5d533c7b1f537ac84121e 100644
index 15b1d9a82f8ced4d53a7848fa3cfdb835fbc3e5b..8b6667eb3b1976b4c7ed22060e55ad5c5b8179ce 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -644,6 +644,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -646,6 +646,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
this.playSound(entityhuman, (double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, soundeffect, soundcategory, f, f1);
}

View File

@ -18,7 +18,7 @@ the blockstate that will be valid for restoration, as opposed to dropping
information on restoration when the event is cancelled.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index e095444d026c277c69a5d533c7b1f537ac84121e..94219fe1e01c6e48123544f4cc14fad1ac6de834 100644
index 8b6667eb3b1976b4c7ed22060e55ad5c5b8179ce..324967c892ff8878326af4229668fcbde37ef202 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -71,7 +71,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@ -30,7 +30,7 @@ index e095444d026c277c69a5d533c7b1f537ac84121e..94219fe1e01c6e48123544f4cc14fad1
public Map<BlockPosition, TileEntity> capturedTileEntities = new HashMap<>();
public List<EntityItem> captureDrops;
public long ticksPerAnimalSpawns;
@@ -327,7 +327,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -329,7 +329,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public boolean a(BlockPosition blockposition, IBlockData iblockdata, int i, int j) {
// CraftBukkit start - tree generation
if (this.captureTreeGeneration) {
@ -39,7 +39,7 @@ index e095444d026c277c69a5d533c7b1f537ac84121e..94219fe1e01c6e48123544f4cc14fad1
if (blockstate == null) {
blockstate = CapturedBlockState.getTreeBlockState(this, blockposition, i);
this.capturedBlockStates.put(blockposition.immutableCopy(), blockstate);
@@ -347,7 +347,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -349,7 +349,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
// CraftBukkit start - capture blockstates
boolean captured = false;
if (this.captureBlockStates && !this.capturedBlockStates.containsKey(blockposition)) {
@ -48,7 +48,7 @@ index e095444d026c277c69a5d533c7b1f537ac84121e..94219fe1e01c6e48123544f4cc14fad1
this.capturedBlockStates.put(blockposition.immutableCopy(), blockstate);
captured = true;
}
@@ -605,7 +605,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -607,7 +607,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public IBlockData getType(BlockPosition blockposition) {
// CraftBukkit start - tree generation
if (captureTreeGeneration) {

View File

@ -72,10 +72,10 @@ index b2eac041c3ff7d8a7c4524dac381ab95045f28af..fa5c640239451579fba35ad7b0979739
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d9464d759c6df200a9bceeee028baa15dd2b86b3..f51a59f5c1a0c8e34921fbf79c86f999c9951ee6 100644
index 4786a8eaca956435f2f76ee9d5fb9e66658c24a1..3c22cf8fb454acaff282d8cd6c636f918de76e9e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1765,7 +1765,7 @@ public final class CraftServer implements Server {
@@ -1784,7 +1784,7 @@ public final class CraftServer implements Server {
offers = tabCompleteChat(player, message);
}

View File

@ -47,10 +47,10 @@ index efd4d2844c4ad638837a1fd971927758908e7db1..45cd44335427a818a580158d57025289
entity1.setPositionRotation(d3, d4, d5, entity1.yaw, entity1.pitch);
return entity1;
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 50be743513145bd2c8b9c65af219f60099cbb09f..4b1a5e92cc05df06edd6d2d7eab5ca70b70ede79 100644
index e08de74543535072e63ecfc9bd3ada95c9dbfeb7..137fa3e51390e95f5939f2251e0d170accbfb469 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -180,7 +180,12 @@ public final class SpawnerCreature {
@@ -185,7 +185,12 @@ public final class SpawnerCreature {
j1 = biomebase_biomemeta.d + worldserver.random.nextInt(1 + biomebase_biomemeta.e - biomebase_biomemeta.d);
}
@ -64,7 +64,7 @@ index 50be743513145bd2c8b9c65af219f60099cbb09f..4b1a5e92cc05df06edd6d2d7eab5ca70
EntityInsentient entityinsentient = a(worldserver, biomebase_biomemeta.c);
if (entityinsentient == null) {
@@ -234,8 +239,24 @@ public final class SpawnerCreature {
@@ -239,8 +244,24 @@ public final class SpawnerCreature {
}
}

View File

@ -177,7 +177,7 @@ index 0000000000000000000000000000000000000000..a85466bc7e0a8aa54b9eff14077fe6c9
+
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 12aaacc19006f99ccd59f98b55dbab8b4134c654..790d7df8691537a976086b5507db4f97054706de 100644
index 62ca208a95434ca1d8970b01f7291647e0b1f93f..30d04825b8a65e0af66f3591ee6baaa433893b54 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2,6 +2,9 @@ package net.minecraft.server;
@ -190,7 +190,7 @@ index 12aaacc19006f99ccd59f98b55dbab8b4134c654..790d7df8691537a976086b5507db4f97
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -1121,7 +1124,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1120,7 +1123,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
if (i - this.T >= 5000000000L) {
this.T = i;
this.serverPing.setPlayerSample(new ServerPing.ServerPingPlayerSample(this.getMaxPlayers(), this.getPlayerCount()));

View File

@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f51a59f5c1a0c8e34921fbf79c86f999c9951ee6..98475ce12d6b370b69466f1869d8be07d5130806 100644
index 3c22cf8fb454acaff282d8cd6c636f918de76e9e..ce3d5e9fd1853ab9519da93ce297ca0bceb9acf8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1466,6 +1466,26 @@ public final class CraftServer implements Server {
@@ -1480,6 +1480,26 @@ public final class CraftServer implements Server {
return recipients.size();
}

View File

@ -43,10 +43,10 @@ index 022b05be76768cf0fb702ac5f9fa48c5e474391c..0c677b8e1b1a103c7d727dba19fff1f7
if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 7c4514ad1969f7f79bb474606df0f2c3c5888b1a..81546c69e375ffdd46634a5826fd0d016e9e9218 100644
index 802dd32711a429b06f082528c60dd55a170b2ae0..03dbef19dce5626fb7810d62a996471921c1c207 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2295,11 +2295,17 @@ public class CraftWorld implements World {
@@ -2320,11 +2320,17 @@ public class CraftWorld implements World {
@Override
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) {

View File

@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function
Item can be set inside of the Consumer pre spawn function.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 81546c69e375ffdd46634a5826fd0d016e9e9218..2aea66553dceadc504abcf5701f8c82b24d1bda7 100644
index 03dbef19dce5626fb7810d62a996471921c1c207..f2748cdccfc11936118d4c2e03425286ca25e82f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1489,6 +1489,10 @@ public class CraftWorld implements World {
@@ -1490,6 +1490,10 @@ public class CraftWorld implements World {
if (Boat.class.isAssignableFrom(clazz)) {
entity = new EntityBoat(world, x, y, z);
entity.setPositionRotation(x, y, z, yaw, pitch);

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API
Add Entity as a Source capability, and add more API choices, and on Location.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 2aea66553dceadc504abcf5701f8c82b24d1bda7..648af70dcb89908c0d9bf259f208861ceee884ca 100644
index f2748cdccfc11936118d4c2e03425286ca25e82f..89c8d3e6e6b7e1b1ac52aa2921e4dbf398ecb15a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -881,6 +881,11 @@ public class CraftWorld implements World {
@@ -882,6 +882,11 @@ public class CraftWorld implements World {
public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) {
return !world.createExplosion(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? Explosion.Effect.BREAK : Explosion.Effect.NONE).wasCanceled;
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Implement World.getEntity(UUID) API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 648af70dcb89908c0d9bf259f208861ceee884ca..66c89831796db1bbdd6c83cba786b27ef339ec9b 100644
index 89c8d3e6e6b7e1b1ac52aa2921e4dbf398ecb15a..5510281bef051280fb9495f21cade571d7547042 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1295,6 +1295,15 @@ public class CraftWorld implements World {
@@ -1296,6 +1296,15 @@ public class CraftWorld implements World {
return list;
}

View File

@ -19,10 +19,10 @@ index 387e0dcb9f01ad947daaa19211331a96742ce004..eaaa51e4bf761f41fd516402ce1ad0f9
+ }
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 2437b73f70594e6745a1a071e23ef1626aeddfef..ba725d77e49e4e60a951fd8bb65b8422a46d0b71 100644
index 5540fc6eee8115400774b7a792b9d3b45eb01e34..2e19fbddb6ede4abf02c79b4e72d11f89db05433 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -840,6 +840,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -842,6 +842,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
// Paper end
}
}

View File

@ -42,7 +42,7 @@ index 5ac7957016d1ca6bc78ced0bcf3767d358677f45..ca92579304d060e2b718aab6f3e3f006
if (!this.noclip) {
diff --git a/src/main/java/net/minecraft/server/IProjectile.java b/src/main/java/net/minecraft/server/IProjectile.java
index cdf80e50de0840002f62f4c1df4fbcc4e13675d7..f85d80d7bb3e4e92bb8d281dfe577f663ebe9da1 100644
index cdf80e50de0840002f62f4c1df4fbcc4e13675d7..ea5f5845a8d202e62da3ae1bfb1e4dbd7f5e185e 100644
--- a/src/main/java/net/minecraft/server/IProjectile.java
+++ b/src/main/java/net/minecraft/server/IProjectile.java
@@ -129,8 +129,14 @@ public abstract class IProjectile extends Entity {
@ -51,7 +51,7 @@ index cdf80e50de0840002f62f4c1df4fbcc4e13675d7..f85d80d7bb3e4e92bb8d281dfe577f66
Entity entity1 = this.getShooter();
-
+ // Paper start - Cancel hit for vanished players
+ if (entity1 instanceof EntityPlayer) {
+ if (entity1 instanceof EntityPlayer && entity instanceof EntityPlayer) {
+ org.bukkit.entity.Player collided = (org.bukkit.entity.Player) entity.getBukkitEntity();
+ org.bukkit.entity.Player shooter = (org.bukkit.entity.Player) entity1.getBukkitEntity();
+ if (!shooter.canSee(collided)) return false;
@ -108,10 +108,10 @@ index 86f6f082fe2991ea9065b09c9680b76ca1cf7154..b6e2a3d8d0cf510f497c6f974356fafa
if (operatorboolean.apply(false, false)) {
throw (IllegalArgumentException) SystemUtils.c(new IllegalArgumentException());
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index ba725d77e49e4e60a951fd8bb65b8422a46d0b71..753b9f61a2f7a1851e18748500d745906e3adee8 100644
index 2e19fbddb6ede4abf02c79b4e72d11f89db05433..ca3e831e3191dd8ffe7f2b6ab9ecc05acfe1b0af 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -170,6 +170,46 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -172,6 +172,46 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
}

View File

@ -83,10 +83,10 @@ index 972a2fc6febc43156b8aa0917b881c6c604ec2c1..afba8d654bd227ad60ec502de8834c45
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 66c89831796db1bbdd6c83cba786b27ef339ec9b..411d7a3f7d4d54fbf748888e24f2032c4d091250 100644
index 5510281bef051280fb9495f21cade571d7547042..aab5995ff53b75b9f5e9c74a4006f17cd847efc0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1031,6 +1031,7 @@ public class CraftWorld implements World {
@@ -1032,6 +1032,7 @@ public class CraftWorld implements World {
for (Object o : world.entitiesById.values()) {
if (o instanceof net.minecraft.server.Entity) {
net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o;
@ -94,7 +94,7 @@ index 66c89831796db1bbdd6c83cba786b27ef339ec9b..411d7a3f7d4d54fbf748888e24f2032c
Entity bukkitEntity = mcEnt.getBukkitEntity();
// Assuming that bukkitEntity isn't null
@@ -1050,6 +1051,7 @@ public class CraftWorld implements World {
@@ -1051,6 +1052,7 @@ public class CraftWorld implements World {
for (Object o : world.entitiesById.values()) {
if (o instanceof net.minecraft.server.Entity) {
net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o;
@ -102,7 +102,7 @@ index 66c89831796db1bbdd6c83cba786b27ef339ec9b..411d7a3f7d4d54fbf748888e24f2032c
Entity bukkitEntity = mcEnt.getBukkitEntity();
// Assuming that bukkitEntity isn't null
@@ -1076,6 +1078,7 @@ public class CraftWorld implements World {
@@ -1077,6 +1079,7 @@ public class CraftWorld implements World {
for (Object entity: world.entitiesById.values()) {
if (entity instanceof net.minecraft.server.Entity) {
@ -110,7 +110,7 @@ index 66c89831796db1bbdd6c83cba786b27ef339ec9b..411d7a3f7d4d54fbf748888e24f2032c
Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity();
if (bukkitEntity == null) {
@@ -1099,6 +1102,7 @@ public class CraftWorld implements World {
@@ -1100,6 +1103,7 @@ public class CraftWorld implements World {
for (Object entity: world.entitiesById.values()) {
if (entity instanceof net.minecraft.server.Entity) {

View File

@ -64,10 +64,10 @@ index aada95b9d02d8ca0b870ec08875b5b719a543212..d68ee8d5dc5f8a75dc465f155acccb79
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition)); // SPIGOT-4238: needed when looking through entity
((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); // SPIGOT-4541
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index aaa68008aacf2e528e6c2dc7e0307ee7dc35da12..7b7785f79ed176967d4c91c2d77c6f6ce73b30b8 100644
index ca3e831e3191dd8ffe7f2b6ab9ecc05acfe1b0af..cc4421aa61d7d87c164c1f88ad8b5fa0df7176f1 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -210,6 +210,17 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -212,6 +212,17 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
// Paper end

View File

@ -36,10 +36,10 @@ index 2e5c71d6b7d120a308076d95a3d5b73c5aca8bc9..1b21911c3e4fd1d4a3305176bb8477c3
public static int tabSpamLimit = 500;
private static void tabSpamLimiters() {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d122fefe0d3b785a5aad6ceceba221279439fe7b..f33624e65a56bd7cf4432eecdd6834fa3f32cda5 100644
index 30d04825b8a65e0af66f3591ee6baaa433893b54..3a7e2d1b2a11edbf430333bb8f4788c073dcf18e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -900,6 +900,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -899,6 +899,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.a(this.serverPing);
// Spigot start
@ -48,10 +48,10 @@ index d122fefe0d3b785a5aad6ceceba221279439fe7b..f33624e65a56bd7cf4432eecdd6834fa
long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop
lastTick = start - TICK_TIME; // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 98475ce12d6b370b69466f1869d8be07d5130806..5cb1eab09a56617c97eb01f902ad4d268eacd7cb 100644
index ce3d5e9fd1853ab9519da93ce297ca0bceb9acf8..c38224cfef7d3f8d3586398b2514d2b1527b868e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -796,6 +796,7 @@ public final class CraftServer implements Server {
@@ -803,6 +803,7 @@ public final class CraftServer implements Server {
@Override
public void reload() {
@ -59,7 +59,7 @@ index 98475ce12d6b370b69466f1869d8be07d5130806..5cb1eab09a56617c97eb01f902ad4d26
reloadCount++;
configuration = YamlConfiguration.loadConfiguration(getConfigFile());
commandsConfiguration = YamlConfiguration.loadConfiguration(getCommandsConfigFile());
@@ -907,6 +908,7 @@ public final class CraftServer implements Server {
@@ -921,6 +922,7 @@ public final class CraftServer implements Server {
enablePlugins(PluginLoadOrder.STARTUP);
enablePlugins(PluginLoadOrder.POSTWORLD);
getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD));

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 411d7a3f7d4d54fbf748888e24f2032c4d091250..e446bd936dd198b227e483cf8e234a73035daa76 100644
index aab5995ff53b75b9f5e9c74a4006f17cd847efc0..03c21f075ec1414503bb639f9deebb3298299d9a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -500,7 +500,7 @@ public class CraftWorld implements World {
@@ -501,7 +501,7 @@ public class CraftWorld implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot

View File

@ -27,10 +27,10 @@ index 1249a7ae8fa8d6ea33cbc276717f1e4553f73b85..af554396fdb25719c158a81ccab76e91
this.aA = 0;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 071a95a6ce704a8d3828cfb01ab7dc666a4622a0..8a6cda5df562baefb2bc245192e9ab539e1b6022 100644
index 5bcdcde0ac3b82a85662a5671d1db414b39a8e34..014eac2f7c6f5023ba7f935fe99fc06db0736d82 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1945,6 +1945,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1949,6 +1949,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
getInventory().setItemInMainHand(hand);
}

View File

@ -357,10 +357,10 @@ index 7b565ddfffd0b9c78392ee115ef9c20ab89a3380..d78b9fd608da691220f1edeff506b36e
this.minecraftKey = minecraftKey;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 8a6cda5df562baefb2bc245192e9ab539e1b6022..0e1f5c75b6ab37ce3cfbeaecdc3dd64e8c05e18e 100644
index 014eac2f7c6f5023ba7f935fe99fc06db0736d82..a9360c76f720ad64f21b46ca68e2caa24f0a8839 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1739,7 +1739,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1740,7 +1740,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void sendHealthUpdate() {

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Prevent mob spawning from loading/generating chunks
also prevents if out of world border bounds
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 4b1a5e92cc05df06edd6d2d7eab5ca70b70ede79..32d45b54fc4e67555a7f016ac72787a8ad4818f3 100644
index 137fa3e51390e95f5939f2251e0d170accbfb469..6426f67afb3cc3522ff79b1c8515c1f97cd2f0c1 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -139,9 +139,9 @@ public final class SpawnerCreature {
@@ -144,9 +144,9 @@ public final class SpawnerCreature {
StructureManager structuremanager = worldserver.getStructureManager();
ChunkGenerator chunkgenerator = worldserver.getChunkProvider().getChunkGenerator();
int i = blockposition.getY();
@ -21,7 +21,7 @@ index 4b1a5e92cc05df06edd6d2d7eab5ca70b70ede79..32d45b54fc4e67555a7f016ac72787a8
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition();
int j = 0;
int k = 0;
@@ -170,7 +170,7 @@ public final class SpawnerCreature {
@@ -175,7 +175,7 @@ public final class SpawnerCreature {
if (entityhuman != null) {
double d2 = entityhuman.g(d0, (double) i, d1);

View File

@ -17,10 +17,10 @@ index 1b824bd3757b7e6723254c9cb2badaafbd2de2de..7c9b437d950623a978ca3d45c8ca57b3
if (this.world.isDay() && !this.world.isClientSide) {
float f = this.aO();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index e446bd936dd198b227e483cf8e234a73035daa76..fb7e4e2f02b62f7cfeec6a619a4c2943cc071c46 100644
index 03c21f075ec1414503bb639f9deebb3298299d9a..52c3740d03a0dda9abfcf99785f5b8269c166c83 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -862,6 +862,13 @@ public class CraftWorld implements World {
@@ -863,6 +863,13 @@ public class CraftWorld implements World {
}
}

View File

@ -289,10 +289,10 @@ index ae74dc9e183e66062455cf2a18ab43ae87976046..7eb230f1b27eddf48f1b12fc78877a36
public void a(PacketDataSerializer packetdataserializer) throws IOException {
this.a = packetdataserializer.i();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 5cb1eab09a56617c97eb01f902ad4d268eacd7cb..5db8ccb0d30e2927c33b04ff51ebebd0dfe96a63 100644
index c38224cfef7d3f8d3586398b2514d2b1527b868e..02395d71bc8b457240720cc76a481f9ea1613d79 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -673,7 +673,7 @@ public final class CraftServer implements Server {
@@ -675,7 +675,7 @@ public final class CraftServer implements Server {
@Override
public long getConnectionThrottle() {
// Spigot Start - Automatically set connection throttle for bungee configurations

View File

@ -12,10 +12,10 @@ server threads
Allow usage of a single thread executor by not using ForkJoin so single core CPU's.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f33624e65a56bd7cf4432eecdd6834fa3f32cda5..4d6b4c26029ea72d92934fff35211ef562c17a4b 100644
index 3a7e2d1b2a11edbf430333bb8f4788c073dcf18e..601bf747ad7c4419d087573fc3098a1f84324c4d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -176,6 +176,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -175,6 +175,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
S s0 = function.apply(thread); // CraftBukkit - decompile error
atomicreference.set(s0);

View File

@ -8,10 +8,10 @@ the updates per world, so that we can re-use the same packet
object for every player unless they have per-player time enabled.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4d6b4c26029ea72d92934fff35211ef562c17a4b..6b288bc8d4153e12b35f422f171e15a2ef7d0851 100644
index 601bf747ad7c4419d087573fc3098a1f84324c4d..e21359c9afe6db36be4176d0150c7906fb33876f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1197,12 +1197,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1196,12 +1196,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper
// Send time updates to everyone, it will get the right time from the world the player is in.

View File

@ -29,10 +29,10 @@ index 01d48da8b2f89ad3a615ad10c044c5f0a08ee4ed..f9b1b198299166759fe0bd0a36d8d88c
private static void savePlayerData() {
savePlayerData = getBoolean("settings.save-player-data", savePlayerData);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 5db8ccb0d30e2927c33b04ff51ebebd0dfe96a63..4ac310fd1b502054dc291c5e52e7845ce43364ed 100644
index 02395d71bc8b457240720cc76a481f9ea1613d79..ce60435cc83dbe0ce0e791de256b67f82052e97b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2235,6 +2235,11 @@ public final class CraftServer implements Server {
@@ -2254,6 +2254,11 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.suggestPlayersWhenNullTabCompletions;
}

View File

@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to
be unintentional in the few cases we've seen so far.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 13636096a166150e1e3c0d88a31badf202f702d7..64c48af6dcdb6e8121d55a015fdeed63ef3f5ec3 100644
index e32a9794c73bd35050819bc61e746cce5a7e453a..06b4eafd8337dc8fe2da0de72e501cba7aca0785 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1990,6 +1990,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1994,6 +1994,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetCooldown() {
getHandle().resetCooldown();
}

View File

@ -11,10 +11,10 @@ floating in the air.
This can replace many uses of BlockPhysicsEvent
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 7b7785f79ed176967d4c91c2d77c6f6ce73b30b8..d683ec109b23ae4c14efaa23bfe923cf2c453f87 100644
index cc4421aa61d7d87c164c1f88ad8b5fa0df7176f1..86636d09699bff4c0c90b8b484df03668b8d5584 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -533,8 +533,20 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -535,8 +535,20 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return false;
} else {
Fluid fluid = this.getFluid(blockposition);

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Server Tick Events
Fires event at start and end of a server tick
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6b288bc8d4153e12b35f422f171e15a2ef7d0851..060d64c207dc353d6103080f6756ac9501a4ed04 100644
index e21359c9afe6db36be4176d0150c7906fb33876f..cc493d5d8b621bb69aedc5d2c5121d9199074575 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1120,6 +1120,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1119,6 +1119,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
});
isOversleep = false;MinecraftTimings.serverOversleep.stopTiming();
// Paper end
@ -17,7 +17,7 @@ index 6b288bc8d4153e12b35f422f171e15a2ef7d0851..060d64c207dc353d6103080f6756ac95
++this.ticks;
this.b(booleansupplier);
@@ -1163,6 +1164,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1162,6 +1163,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
// Paper end

View File

@ -10,10 +10,10 @@ Optimize to check if the captured list even has values in it, and also to
just do a get call since the value can never be null.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d683ec109b23ae4c14efaa23bfe923cf2c453f87..260f0639f7568faf443eb6c036d27aa8f074979c 100644
index 86636d09699bff4c0c90b8b484df03668b8d5584..3fc33d410e62fa8f86dd7f912e0ae483e48697f1 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -943,12 +943,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -945,12 +945,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return null;
} else {
// CraftBukkit start

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add Heightmap API
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 260f0639f7568faf443eb6c036d27aa8f074979c..c40d7ef4682c686282094330a0954bd09596c9d5 100644
index 3fc33d410e62fa8f86dd7f912e0ae483e48697f1..897069231f057bd977c382731d6b3d87ac30b030 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -643,8 +643,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -645,8 +645,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
}
@ -20,10 +20,10 @@ index 260f0639f7568faf443eb6c036d27aa8f074979c..c40d7ef4682c686282094330a0954bd0
if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index fb7e4e2f02b62f7cfeec6a619a4c2943cc071c46..199103ab72b0666b23f78961dd7435c3ff210339 100644
index 52c3740d03a0dda9abfcf99785f5b8269c166c83..e488edef15a0dcb78cc3d8d53ecd93ba60e0d401 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -340,6 +340,29 @@ public class CraftWorld implements World {
@@ -341,6 +341,29 @@ public class CraftWorld implements World {
return getHighestBlockYAt(x, z, org.bukkit.HeightMap.MOTION_BLOCKING);
}

View File

@ -40,10 +40,10 @@ index 9331f96f68f121b41ce74904d624520291b7c72e..1074995e8c8a83f6cdb94019123fbffa
double deltaZ = this.locZ() - player.locZ();
double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 64c48af6dcdb6e8121d55a015fdeed63ef3f5ec3..da57b00affb56766ebe25774323d49fed3374af0 100644
index 06b4eafd8337dc8fe2da0de72e501cba7aca0785..8ffef87f77d137622e656c3ffd5a0ecb6cd4ab68 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1999,6 +1999,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2003,6 +2003,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
super.remove();
}
}

View File

@ -16,10 +16,10 @@ handling that should have been handled synchronously will be handled
synchronously when the server gets shut down.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 060d64c207dc353d6103080f6756ac9501a4ed04..21d014f1cae27c769471caad7f9e28f727213e07 100644
index cc493d5d8b621bb69aedc5d2c5121d9199074575..19680baafcc8a5a18ec3f58da694372117c7e969 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2065,7 +2065,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -2064,7 +2064,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// CraftBukkit start
@Override
public boolean isMainThread() {
@ -29,10 +29,10 @@ index 060d64c207dc353d6103080f6756ac9501a4ed04..21d014f1cae27c769471caad7f9e28f7
public boolean isDebugging() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4ac310fd1b502054dc291c5e52e7845ce43364ed..57eb049e97e184426bf2a4a80232bf1c105196e2 100644
index ce60435cc83dbe0ce0e791de256b67f82052e97b..d3a3b47fe86579abc1c5d17284717c79a43cf058 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1761,7 +1761,7 @@ public final class CraftServer implements Server {
@@ -1780,7 +1780,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {

View File

@ -9,10 +9,10 @@ waiting for the execution queue to get to our request; We can just query
the chunk status and get a response now, vs having to wait
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 199103ab72b0666b23f78961dd7435c3ff210339..edc8abd6569fdb897a549081784c180167118789 100644
index e488edef15a0dcb78cc3d8d53ecd93ba60e0d401..ac3f9298b746d74fbec714dbcd4d0d32a6ed134c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -406,13 +406,13 @@ public class CraftWorld implements World {
@@ -407,13 +407,13 @@ public class CraftWorld implements World {
@Override
public boolean isChunkLoaded(int x, int z) {

View File

@ -21,10 +21,10 @@ index 2debafdc1bb539a49c3f0723b696ea56e9b3eb16..91c9a027dd7aef8253f3d707c95e4ed9
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 21d014f1cae27c769471caad7f9e28f727213e07..e197bbca9891659998488c08c981619311055fc5 100644
index 19680baafcc8a5a18ec3f58da694372117c7e969..b24968ce9604b98f9b7a6c7498625f976cc58dd2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -608,6 +608,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -607,6 +607,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.forceTicks = true;
// CraftBukkit end
@ -39,7 +39,7 @@ index 21d014f1cae27c769471caad7f9e28f727213e07..e197bbca9891659998488c08c9816193
MinecraftServer.LOGGER.info("Preparing start region for dimension {}", worldserver.getDimensionKey().a());
BlockPosition blockposition = worldserver.getSpawn();
@@ -616,14 +624,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -615,14 +623,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
chunkproviderserver.getLightEngine().a(500);
this.nextTick = SystemUtils.getMonotonicMillis();
@ -198,10 +198,10 @@ index 638d7303f55e99293703bca80c43f8f00a43c550..aeb787c68121e8aeca868def9c39010a
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index edc8abd6569fdb897a549081784c180167118789..0286bfc117efd9424de332f20398a26d613b98b7 100644
index ac3f9298b746d74fbec714dbcd4d0d32a6ed134c..152bba7658cc34d2bdd75be0d8f546459fb42e88 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1939,15 +1939,21 @@ public class CraftWorld implements World {
@@ -1940,15 +1940,21 @@ public class CraftWorld implements World {
@Override
public void setKeepSpawnInMemory(boolean keepLoaded) {

View File

@ -279,7 +279,7 @@ index 02bd568af727633a6e834d5328683a9ff67b9dd7..341689ac996164b7b53e095495b92b6e
throwable = throwable1;
throw throwable1;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 0286bfc117efd9424de332f20398a26d613b98b7..1f1839f40a406f6a2bf2d3af68c2d208d6503b2d 100644
index 152bba7658cc34d2bdd75be0d8f546459fb42e88..8e6b5765bb2a067bcd0b38a3abb28c92ad04f272 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -19,6 +19,7 @@ import java.util.Objects;
@ -290,7 +290,7 @@ index 0286bfc117efd9424de332f20398a26d613b98b7..1f1839f40a406f6a2bf2d3af68c2d208
import java.util.function.Predicate;
import java.util.stream.Collectors;
import net.minecraft.server.ArraySetSorted;
@@ -411,8 +412,22 @@ public class CraftWorld implements World {
@@ -412,8 +413,22 @@ public class CraftWorld implements World {
@Override
public boolean isChunkGenerated(int x, int z) {
@ -314,7 +314,7 @@ index 0286bfc117efd9424de332f20398a26d613b98b7..1f1839f40a406f6a2bf2d3af68c2d208
} catch (IOException ex) {
throw new RuntimeException(ex);
}
@@ -523,20 +538,49 @@ public class CraftWorld implements World {
@@ -524,20 +539,49 @@ public class CraftWorld implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot

View File

@ -62,7 +62,7 @@ index 726926f19c6725c1d935beec2f0f766d7466835e..f2ff1aa915c218bb1fc72467ccbd73cc
public void close() throws IOException {
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e197bbca9891659998488c08c981619311055fc5..1c28fdb8fb98cecb3c473fa0ea31edce7bbf002b 100644
index b24968ce9604b98f9b7a6c7498625f976cc58dd2..d3ae8d74c395ec7a4d1e5c051d786a9362786176 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -152,6 +152,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -70,10 +70,10 @@ index e197bbca9891659998488c08c981619311055fc5..1c28fdb8fb98cecb3c473fa0ea31edce
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
+ public boolean serverAutoSave = false; // Paper
public File bukkitDataPackFolder;
public CommandDispatcher vanillaCommandDispatcher;
private boolean forceTicks;
@@ -1144,14 +1145,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// CraftBukkit end
@@ -1143,14 +1144,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.serverPing.b().a(agameprofile);
}

View File

@ -1382,7 +1382,7 @@ index ee8df274d43be753887fb77e4203e2ee30ea02b3..9f91c02b444874e690eacb0cfa0c8101
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index c40d7ef4682c686282094330a0954bd09596c9d5..350178efcbacea6261df98d694c49dde8fa57d97 100644
index 897069231f057bd977c382731d6b3d87ac30b030..25785eed8c714b87635679e44ef06726c9a1b24c 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -2,6 +2,8 @@ package net.minecraft.server;
@ -1394,7 +1394,7 @@ index c40d7ef4682c686282094330a0954bd09596c9d5..350178efcbacea6261df98d694c49dde
import com.destroystokyo.paper.event.server.ServerExceptionEvent;
import com.destroystokyo.paper.exception.ServerInternalException;
import com.google.common.base.MoreObjects;
@@ -83,6 +85,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -84,6 +86,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
@ -1402,7 +1402,7 @@ index c40d7ef4682c686282094330a0954bd09596c9d5..350178efcbacea6261df98d694c49dde
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPosition lastPhysicsProblem; // Spigot
@@ -100,9 +103,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -101,9 +104,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return (CraftServer) Bukkit.getServer();
}
@ -1414,7 +1414,7 @@ index c40d7ef4682c686282094330a0954bd09596c9d5..350178efcbacea6261df98d694c49dde
this.generator = gen;
this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
@@ -406,6 +410,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -408,6 +412,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
// CraftBukkit end
IBlockData iblockdata1 = chunk.setType(blockposition, iblockdata, (i & 64) != 0, (i & 1024) == 0); // CraftBukkit custom NO_PLACE flag

View File

@ -2929,10 +2929,10 @@ index 99801463d958540b5148e55c1e44f90a1078c371..9615c4d324e42f7f91a7e60b6151c16d
+ }
}
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
index ca45b10b5dd7003314ff4c3294f13d2c53d9e678..32a4d1d036ed01e556348361407b7ea276efa64e 100644
index 55c79f17a25f1bfe80cbc65e8c01ea1703f27538..2f29d7040d37e8be2ba5f8f634011e069a07db2f 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -149,6 +149,7 @@ public class Main {
@@ -166,6 +166,7 @@ public class Main {
convertable_conversionsession.a((IRegistryCustom) iregistrycustom_dimension, (SaveData) object);
*/
@ -2941,10 +2941,10 @@ index ca45b10b5dd7003314ff4c3294f13d2c53d9e678..32a4d1d036ed01e556348361407b7ea2
DedicatedServer dedicatedserver1 = new DedicatedServer(optionset, datapackconfiguration1, thread, iregistrycustom_dimension, convertable_conversionsession, resourcepackrepository, datapackresources, null, dedicatedserversettings, DataConverterRegistry.a(), minecraftsessionservice, gameprofilerepository, usercache, WorldLoadListenerLogger::new);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1c28fdb8fb98cecb3c473fa0ea31edce7bbf002b..3a9e872922de10b597cc898ba76f3fbfd46e41bb 100644
index d3ae8d74c395ec7a4d1e5c051d786a9362786176..7c1fb8786db9df10530f78d0fa2a1391d4d7308d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -808,7 +808,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -807,7 +807,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.getUserCache().c(false); // Paper
}
// Spigot end
@ -3997,7 +3997,7 @@ index ed5b69682fc80d8ff9a0e068d45456a75cbe3891..6e9a5b77ef7e67534b64781ee9db6b6d
}
public void removeTicketsForSpawn(int radiusInBlocks, BlockPosition spawn) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 1f1839f40a406f6a2bf2d3af68c2d208d6503b2d..abf285be2b71a93681f06879177f03c0f5fdff1a 100644
index 8e6b5765bb2a067bcd0b38a3abb28c92ad04f272..ee44171831350c7baf868b74ed9d5b8bf3ed6d4a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -74,6 +74,7 @@ import net.minecraft.server.GroupDataEntity;
@ -4008,7 +4008,7 @@ index 1f1839f40a406f6a2bf2d3af68c2d208d6503b2d..abf285be2b71a93681f06879177f03c0
import net.minecraft.server.MovingObjectPosition;
import net.minecraft.server.PacketPlayOutCustomSoundEffect;
import net.minecraft.server.PacketPlayOutUpdateTime;
@@ -556,22 +557,23 @@ public class CraftWorld implements World {
@@ -557,22 +558,23 @@ public class CraftWorld implements World {
return true;
}
@ -4040,7 +4040,7 @@ index 1f1839f40a406f6a2bf2d3af68c2d208d6503b2d..abf285be2b71a93681f06879177f03c0
// fall through to load
// we do this so we do not re-read the chunk data on disk
@@ -2445,6 +2447,34 @@ public class CraftWorld implements World {
@@ -2470,6 +2472,34 @@ public class CraftWorld implements World {
public DragonBattle getEnderDragonBattle() {
return (getHandle().getDragonBattle() == null) ? null : new CraftDragonBattle(getHandle().getDragonBattle());
}

View File

@ -21,10 +21,10 @@ index 795b24c8d102417ae7e730254ecddefc06dbe0df..e382315c91540ac24821e432ee31a824
return;
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 350178efcbacea6261df98d694c49dde8fa57d97..37a06b96b9d5c98b23e5da7352f549f4a959abbd 100644
index 25785eed8c714b87635679e44ef06726c9a1b24c..2278835e15449c72d1bbbf0a2694c386554242e3 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -103,6 +103,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -104,6 +104,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return (CraftServer) Bukkit.getServer();
}
@ -38,7 +38,7 @@ index 350178efcbacea6261df98d694c49dde8fa57d97..37a06b96b9d5c98b23e5da7352f549f4
protected World(WorldDataMutable worlddatamutable, ResourceKey<World> resourcekey, ResourceKey<DimensionManager> resourcekey1, DimensionManager dimensionmanager, Supplier<GameProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((WorldDataServer) worlddatamutable).getName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig((((WorldDataServer)worlddatamutable).getName()), this.spigotConfig); // Paper
@@ -1037,14 +1044,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1039,14 +1046,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
public boolean p(BlockPosition blockposition) {
@ -55,7 +55,7 @@ index 350178efcbacea6261df98d694c49dde8fa57d97..37a06b96b9d5c98b23e5da7352f549f4
return ichunkaccess == null ? false : ichunkaccess.getType(blockposition).a((IBlockAccess) this, blockposition, entity, enumdirection);
}
@@ -1165,7 +1172,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1167,7 +1174,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 < j; ++i1) {
for (int j1 = k; j1 < l; ++j1) {

View File

@ -298,10 +298,10 @@ index edd901bb53385fa3d189a0057d57f98bf8b7115c..707db4febac59a4d09d6420ea2add469
this.serverThreadQueue.awaitTasks(completablefuture::isDone);
com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 37a06b96b9d5c98b23e5da7352f549f4a959abbd..b2852df57368294c8965fbc50a496a8f465304ae 100644
index 2278835e15449c72d1bbbf0a2694c386554242e3..dd3dd03200ad8f0219d6673abfe8fc87341a0fe6 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1105,7 +1105,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1107,7 +1107,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 <= j; ++i1) {
for (int j1 = k; j1 <= l; ++j1) {
@ -310,7 +310,7 @@ index 37a06b96b9d5c98b23e5da7352f549f4a959abbd..b2852df57368294c8965fbc50a496a8f
if (chunk != null) {
chunk.a(entity, axisalignedbb, list, predicate);
@@ -1126,7 +1126,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1128,7 +1128,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 < j; ++i1) {
for (int j1 = k; j1 < l; ++j1) {
@ -319,7 +319,7 @@ index 37a06b96b9d5c98b23e5da7352f549f4a959abbd..b2852df57368294c8965fbc50a496a8f
if (chunk != null) {
chunk.a(entitytypes, axisalignedbb, list, predicate);
@@ -1149,7 +1149,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1151,7 +1151,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
for (int i1 = i; i1 < j; ++i1) {
for (int j1 = k; j1 < l; ++j1) {

View File

@ -7,10 +7,10 @@ If the Bukkit generator already has a spawn, use it immediately instead
of spending time generating one that we won't use
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3a9e872922de10b597cc898ba76f3fbfd46e41bb..8b7dcb88e04fbad29538e8d2945020fca02b4143 100644
index 7c1fb8786db9df10530f78d0fa2a1391d4d7308d..7ed6cdb1eff72ef056fb7495c8f2812717e96ad9 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -513,11 +513,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -512,11 +512,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} else if (flag1) {
iworlddataserver.setSpawn(BlockPosition.ZERO.up());
} else {
@ -23,7 +23,7 @@ index 3a9e872922de10b597cc898ba76f3fbfd46e41bb..8b7dcb88e04fbad29538e8d2945020fc
// CraftBukkit start
if (worldserver.generator != null) {
Random rand = new Random(worldserver.getSeed());
@@ -533,6 +529,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -532,6 +528,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
}
// CraftBukkit end

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