mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Update Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly
This commit is contained in:
@@ -4,7 +4,7 @@ version = 1.17.1-R0.1-SNAPSHOT
|
||||
mcVersion = 1.17.1
|
||||
packageVersion = 1_17_R1
|
||||
|
||||
paperCommit = 9d49fa9d8821808600bfe6780c95d05f5db01974
|
||||
paperCommit = 7d10cdea0358854138d0d0ada5e74c58c688dea7
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 5084ef3cb0884fb5c170859bc7be57a9fcba0a3c..ef68c7ee481eb7f50f2561a211b4add801e5e8dd 100644
|
||||
index afa245018192a63e5db8bc568ddea2790bf5b8a2..436c42649395fd6df3425c2ddeb85a99edf9c1c4 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2299,4 +2299,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2293,4 +2293,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@Override
|
||||
Spigot spigot();
|
||||
// Spigot end
|
||||
|
||||
@@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..0c8b3e5e4ba412624357ea5662a78862
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index ef68c7ee481eb7f50f2561a211b4add801e5e8dd..a894626a7900798812b2afc3712d04fa583ae31e 100644
|
||||
index 436c42649395fd6df3425c2ddeb85a99edf9c1c4..e95cd5c57010eb338de48782525635ba64e26399 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2307,5 +2307,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2301,5 +2301,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @return True if Player uses Purpur Client
|
||||
*/
|
||||
public boolean usesPurpurClient();
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index a894626a7900798812b2afc3712d04fa583ae31e..8e59e4e4bf3a9ca80332ddd7b6de5a93855c2d0c 100644
|
||||
index e95cd5c57010eb338de48782525635ba64e26399..cda1e6a62e80fcca796454828acc3810920cd91c 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2326,5 +2326,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2320,5 +2320,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* Reset the idle timer back to 0
|
||||
*/
|
||||
void resetIdleTimer();
|
||||
|
||||
@@ -949,10 +949,10 @@ index a6a7429ed2e1eefb2b12b7480ed74fcc3963a864..e8027e1d505dda6effbb1698550016e8
|
||||
|
||||
NORMAL(false),
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 8e59e4e4bf3a9ca80332ddd7b6de5a93855c2d0c..8fad3187f8b1fc099420eef905505cdbab4a9fb7 100644
|
||||
index cda1e6a62e80fcca796454828acc3810920cd91c..438819bc40aef25d0cd1d1bfb00cc8191488bb7b 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2121,6 +2121,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2115,6 +2115,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
void resetCooldown();
|
||||
|
||||
/**
|
||||
@@ -961,7 +961,7 @@ index 8e59e4e4bf3a9ca80332ddd7b6de5a93855c2d0c..8fad3187f8b1fc099420eef905505cdb
|
||||
* @return the client option value of the player
|
||||
*/
|
||||
@NotNull
|
||||
@@ -2160,6 +2162,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2154,6 +2156,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
// Paper end
|
||||
|
||||
// Spigot start
|
||||
@@ -1110,7 +1110,7 @@ index 84638e852501cc804c13c188c90c38b163657c36..a32f7d86407a36d34932101a8b46751c
|
||||
private static final long serialVersionUID = 3532808232324183999L;
|
||||
private final Throwable cause;
|
||||
diff --git a/src/main/java/org/bukkit/event/block/Action.java b/src/main/java/org/bukkit/event/block/Action.java
|
||||
index 25d26e3fe713311e66d7e634a6c32af61f4cef59..2825263c102d3f9ed37f6884e09ec5efb8105fb9 100644
|
||||
index f0b672bbfcd0eb17f3953ffcd0e728f5b3ec909b..4574b956ed76d5e36fc092d25d29a40c1d1bbb40 100644
|
||||
--- a/src/main/java/org/bukkit/event/block/Action.java
|
||||
+++ b/src/main/java/org/bukkit/event/block/Action.java
|
||||
@@ -1,5 +1,8 @@
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 2306f62a4631fc9969549caa728a95b737796bcb..fcc4c6851ef932ab2e84d8758e7618856b98fdcf 100644
|
||||
index a2c7e9bdbb7f9dc6dd51fd0a25f3f51931f80fa5..ed62e194e25a0b981188202be4d9b4c217acbf19 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2352,5 +2352,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -2346,5 +2346,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @param invulnerableTicks Invulnerable ticks remaining
|
||||
*/
|
||||
void setSpawnInvulnerableTicks(int invulnerableTicks);
|
||||
|
||||
@@ -125,7 +125,7 @@ index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..f5d01bce4d5547b4aeca96b7962b2090
|
||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index 86d73c98ff04384f3d6c9d967ae7ad85c7c29bf1..25f9103041ebc065502bb32066cd8db79518034d 100644
|
||||
index dcae40fde8087ce09ec8b9360f2abc860b88c975..0f0b0bbcc0e47b8fe3e1e5d4a4ef0eed389d020b 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -202,16 +202,26 @@ public class PaperConfig {
|
||||
@@ -1660,10 +1660,10 @@ index 505546d32eea4682452dbac02311433157f6a30e..5c7b9ad379f3c272e15648dd16f4df92
|
||||
|
||||
public static <V> CompletableFuture<List<V>> sequenceFailFast(List<? extends CompletableFuture<? extends V>> futures) {
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index edd2333e0fb24a50bc388249224e9311aa90a10f..61b0e52ec692b8bfc7629ee6e84952a6704362aa 100644
|
||||
index 099db3a627c1d3c08f3b923bb02a1cb8a0a268ab..635ccc60d32333e178b28faae9c26de107b380d7 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1730,7 +1730,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1721,7 +1721,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
@@ -1672,7 +1672,7 @@ index edd2333e0fb24a50bc388249224e9311aa90a10f..61b0e52ec692b8bfc7629ee6e84952a6
|
||||
}
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
@@ -2306,6 +2306,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2297,6 +2297,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
|
||||
public ProfilerFiller getProfiler() {
|
||||
@@ -1694,10 +1694,10 @@ index 7b6c547e71230fbb3733f99a4597b3f5b51547b8..8242200f073aee40482b190c7c0aafd5
|
||||
this.setPvpAllowed(dedicatedserverproperties.pvp);
|
||||
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index 24eab3c684bdd0a07008888d84a037b7d2c8bf7d..e395652b99bbee087604f88a23168206ba874e0c 100644
|
||||
index b556c1ef5d9f4667fa755ae843f4f50719c5013c..1312a4d7a6f77d4b9812edd44ed27a6ca7cd7977 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -2454,8 +2454,28 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
@@ -2403,8 +2403,28 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance);
|
||||
}
|
||||
|
||||
@@ -1726,7 +1726,7 @@ index 24eab3c684bdd0a07008888d84a037b7d2c8bf7d..e395652b99bbee087604f88a23168206
|
||||
Iterator iterator = this.entity.getIndirectPassengers().iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
@@ -2467,6 +2487,9 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
@@ -2416,6 +2436,9 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
i = j;
|
||||
}
|
||||
}
|
||||
@@ -1737,10 +1737,10 @@ index 24eab3c684bdd0a07008888d84a037b7d2c8bf7d..e395652b99bbee087604f88a23168206
|
||||
return this.scaledRange(i);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
index 6b5d0d15c8de2c783a49a0369342fe67c1a511fa..c6da3c0dd65671851fdbc0cf7a6e32e92be3b968 100644
|
||||
index 7470f3ba66c2e894b5a5b0ba392ecabf8b04aff9..35f27e9a7c82eaec5b4a1a71696dac8485b2cd6d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -985,6 +985,7 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@@ -983,6 +983,7 @@ public class ServerChunkCache extends ChunkSource {
|
||||
}
|
||||
// Paper end - optimize isOutisdeRange
|
||||
this.level.getProfiler().push("pollingChunks");
|
||||
@@ -1769,10 +1769,10 @@ index b7c9294fdd3d799d410afba4a1118aa371c98533..c71bc00973899feec0ec5530bf3d2379
|
||||
this.wasOnGround = this.entity.isOnGround();
|
||||
this.teleportDelay = 0;
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 33cdd12d15637cf6811dd4a4999baedaf0da7389..74efc7798c781ef3c4e95410a7666bbed838bad1 100644
|
||||
index cebaf0fb8187335ca303621a2cb412bb22584e23..d743d50a9b3ad9502fc11adc6fe43e9a58d7a94b 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -775,7 +775,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -772,7 +772,20 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
|
||||
gameprofilerfiller.push("tick");
|
||||
@@ -1794,7 +1794,7 @@ index 33cdd12d15637cf6811dd4a4999baedaf0da7389..74efc7798c781ef3c4e95410a7666bbe
|
||||
gameprofilerfiller.pop();
|
||||
}
|
||||
}
|
||||
@@ -835,9 +848,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -830,9 +843,11 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
// Paper start - optimise random block ticking
|
||||
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
|
||||
@@ -1807,7 +1807,7 @@ index 33cdd12d15637cf6811dd4a4999baedaf0da7389..74efc7798c781ef3c4e95410a7666bbe
|
||||
public void tickChunk(LevelChunk chunk, int randomTickSpeed) {
|
||||
ChunkPos chunkcoordintpair = chunk.getPos();
|
||||
boolean flag = this.isRaining();
|
||||
@@ -848,7 +863,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -843,7 +858,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
gameprofilerfiller.push("thunder");
|
||||
final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change
|
||||
|
||||
@@ -1816,7 +1816,7 @@ index 33cdd12d15637cf6811dd4a4999baedaf0da7389..74efc7798c781ef3c4e95410a7666bbe
|
||||
blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper
|
||||
if (this.isRainingAt(blockposition)) {
|
||||
DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition);
|
||||
@@ -872,7 +887,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -867,7 +882,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
|
||||
gameprofilerfiller.popPush("iceandsnow");
|
||||
@@ -1938,7 +1938,7 @@ index 7437f01ca8f416e2c9150250e324af4725a4efb6..bdcd0e38a3ba904811112f41d8bfbfc0
|
||||
int LARGE_MAX_STACK_SIZE = 64;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index cfe6921b8da87c5dd09772988fb8e4e0da541cd9..d898b5c55f7659a344259cc0d5bc4abfb837eb15 100644
|
||||
index 94857a736d2a16e8ade286c6f2ddf8bd798008eb..732eb171f6a8fe1b02044a00fcf85217c41116ac 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -338,6 +338,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -1952,7 +1952,7 @@ index cfe6921b8da87c5dd09772988fb8e4e0da541cd9..d898b5c55f7659a344259cc0d5bc4abf
|
||||
|
||||
public float getBukkitYaw() {
|
||||
return this.yRot;
|
||||
@@ -357,17 +361,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -362,17 +366,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
this.isLegacyTrackingEntity = isLegacyTrackingEntity;
|
||||
}
|
||||
|
||||
@@ -1990,7 +1990,7 @@ index cfe6921b8da87c5dd09772988fb8e4e0da541cd9..d898b5c55f7659a344259cc0d5bc4abf
|
||||
for (Entity passenger : passengers) {
|
||||
org.spigotmc.TrackingRange.TrackingRangeType passengerType = passenger.trackingRangeType;
|
||||
int passengerRange = chunkMap.getEntityTrackerRange(passengerType.ordinal());
|
||||
@@ -376,6 +399,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -381,6 +404,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
range = passengerRange;
|
||||
}
|
||||
}
|
||||
@@ -2000,7 +2000,7 @@ index cfe6921b8da87c5dd09772988fb8e4e0da541cd9..d898b5c55f7659a344259cc0d5bc4abf
|
||||
|
||||
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
|
||||
}
|
||||
@@ -2434,9 +2460,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -2439,9 +2465,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
|
||||
// Paper start
|
||||
return io.papermc.paper.util.CollisionUtil.getCollisionsForBlocksOrWorldBorder(this.level, this, axisalignedbb, null,
|
||||
@@ -2199,7 +2199,7 @@ index 42d466f7f162943886078eba3db18f2dfc2d7bee..32da2d3f87758bee359522769ebbee73
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java b/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
|
||||
index faa53d08a12cc7441c670cae6d301de3f498ffe7..b17f401d723b1466a3b7e05da3dfeebd5cf763c7 100644
|
||||
index f779f202985d34cb7e379b0f3d5690dd20f091ba..36b5d504cd864ab30cc239201d6a4a52c9d16b7d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/GoalSelector.java
|
||||
@@ -49,9 +49,12 @@ public class GoalSelector {
|
||||
|
||||
@@ -147,10 +147,10 @@ index e0b1f0671d16ddddcb6725acd25a1d1d69e42701..8c3c68465197fafc14849dc38a572e30
|
||||
.completer(new ConsoleCommandCompleter(this.server))
|
||||
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 61b0e52ec692b8bfc7629ee6e84952a6704362aa..080ccf4092de52292175c9333b530b82bf3aa5c8 100644
|
||||
index 635ccc60d32333e178b28faae9c26de107b380d7..e3d8caadffecde0b46e52ba1ef5175f623e1cd15 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1730,7 +1730,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1721,7 +1721,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
|
||||
@@ -103,10 +103,10 @@ index ad9fb50791779a5fe7d22268b71bd10d9c9ff3f0..1c1602f839828252748e1acacfe42c7c
|
||||
this.server.sendMessage(message, sender);
|
||||
Iterator iterator = this.players.iterator();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index d898b5c55f7659a344259cc0d5bc4abfb837eb15..10661ecad0942b4ecd5cf0b23f8bcdcdaacfe3de 100644
|
||||
index 732eb171f6a8fe1b02044a00fcf85217c41116ac..3b7d72f035d7fd74971af043294047ff1ed4c95c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3591,6 +3591,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -3596,6 +3596,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,10 +22,10 @@ index 0cc0242d981586413bcc349df6e6fd3bc09710f1..ae394b3d8b8a157d345e102f5997058d
|
||||
super(x, y, z);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 080ccf4092de52292175c9333b530b82bf3aa5c8..4350a9507deded551e709bf333f0cbddc7ebe6d3 100644
|
||||
index e3d8caadffecde0b46e52ba1ef5175f623e1cd15..c57e1a4c0740bbd39bf5e815420e2346eabd2e72 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1606,6 +1606,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1599,6 +1599,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
ServerLevel worldserver = (ServerLevel) iterator.next();
|
||||
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||
@@ -34,10 +34,10 @@ index 080ccf4092de52292175c9333b530b82bf3aa5c8..4350a9507deded551e709bf333f0cbdd
|
||||
|
||||
this.profiler.push(() -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 2db8a773c035a74ceb6cd31311b1b0e053775434..7e9bff1a8ec45551086550b4e5098dc5304f794a 100644
|
||||
index d743d50a9b3ad9502fc11adc6fe43e9a58d7a94b..372eea42755cad6bf957fa94b816db25751d707b 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -201,6 +201,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -200,6 +200,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
public final UUID uuid;
|
||||
public boolean hasPhysicsEvent = true; // Paper
|
||||
public boolean hasEntityMoveEvent = false; // Paper
|
||||
@@ -86,7 +86,7 @@ index 2dc4c7695dab7d03316f5473e29baa1db29debf2..eaca5e3c6d26d5fff1eae1cacabfd389
|
||||
if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 10661ecad0942b4ecd5cf0b23f8bcdcdaacfe3de..15d3f860c5ad3dc849d943bd86114af3a8c04c82 100644
|
||||
index 3b7d72f035d7fd74971af043294047ff1ed4c95c..33edd0863374b4a7f2b0812879b23533515da447 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -107,7 +107,7 @@ index 10661ecad0942b4ecd5cf0b23f8bcdcdaacfe3de..15d3f860c5ad3dc849d943bd86114af3
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -2627,6 +2627,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -2632,6 +2632,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ index 10661ecad0942b4ecd5cf0b23f8bcdcdaacfe3de..15d3f860c5ad3dc849d943bd86114af3
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
}
|
||||
@@ -2667,6 +2673,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -2672,6 +2678,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -135,7 +135,7 @@ index 10661ecad0942b4ecd5cf0b23f8bcdcdaacfe3de..15d3f860c5ad3dc849d943bd86114af3
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4254,4 +4268,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -4259,4 +4273,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -4525,7 +4525,7 @@ index 008e3b769011df76697ad0abcdde5727cef05f64..0837875231ef96ff58f2fee3e558d706
|
||||
|
||||
Projectile(EntityType<? extends Projectile> type, Level world) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 6903706219a146146a213710a5f83af37f7f60b8..41134227b3902f6e008f1db7b0803a1f81e7fd6e 100644
|
||||
index 50dd18f72d7ec674a33049ad2e228f7d8a4054a5..827e6ea7d409a200d1a20bd45cd02ceb6e0fc20b 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -156,4 +156,9 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 4350a9507deded551e709bf333f0cbddc7ebe6d3..be32f41d1ec6f8a4f8c6835fe262c3d86f163f34 100644
|
||||
index c57e1a4c0740bbd39bf5e815420e2346eabd2e72..5949641946bec9dd0c6e83ec619b01c796f44f70 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1731,7 +1731,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1722,7 +1722,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
@@ -18,7 +18,7 @@ index 4350a9507deded551e709bf333f0cbddc7ebe6d3..be32f41d1ec6f8a4f8c6835fe262c3d8
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 4451d9fca6dad1406b8da348e34d62123b0a08e5..e0a7010c6d1499499d0b5b305306897061e5b640 100644
|
||||
index 9d65917f455e32085bdaa47715db3f4cb7648eb1..54273ad593c0cd1c04398823f0eb7c268a6685b4 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -170,6 +170,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,17 +5,17 @@ Subject: [PATCH] Lagging threshold
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index be32f41d1ec6f8a4f8c6835fe262c3d86f163f34..41eccbed6dda81f7d50c6ccb3539db3927b96021 100644
|
||||
index 5949641946bec9dd0c6e83ec619b01c796f44f70..a7dffb26a96c52ddc185c8ce852d5e1c22ce9e36 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -307,6 +307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -306,6 +306,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS;
|
||||
private static final int SAMPLE_INTERVAL = 20; // Paper
|
||||
public final double[] recentTps = new double[ 3 ];
|
||||
+ public boolean lagging = false; // Purpur
|
||||
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
||||
// Spigot end
|
||||
|
||||
public static long currentTickLong = 0L; // Paper
|
||||
@@ -1257,6 +1258,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.recentTps[1] = tps5.getAverage();
|
||||
this.recentTps[2] = tps15.getAverage();
|
||||
@@ -23,9 +23,9 @@ index be32f41d1ec6f8a4f8c6835fe262c3d86f163f34..41eccbed6dda81f7d50c6ccb3539db39
|
||||
+ lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
|
||||
tickSection = curTime;
|
||||
}
|
||||
// Paper - replace logic
|
||||
// Spigot end
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index d7d2604fd324f1bfc9136a3a34ea217ff458a26a..1a68b4b5c8ea498ef1fdc507a9a8e8dfaa64b4c1 100644
|
||||
index 54273ad593c0cd1c04398823f0eb7c268a6685b4..1eb8fdaf17d9ee47ae6727069a35a0a90cace5bb 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -188,6 +188,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 7e9bff1a8ec45551086550b4e5098dc5304f794a..d95e45c2867cf3232cebd4b4c43bd890bfb70847 100644
|
||||
index 372eea42755cad6bf957fa94b816db25751d707b..9d238d4bf3151dd0c37d0b908c9fe3886975c4d2 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -871,9 +871,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -866,9 +866,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * paperConfig.skeleHorseSpawnChance && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
|
||||
|
||||
if (flag1) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix the dead lagging the server
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index b6e1424029209064f3698e7a2c326a2b0708bad3..0a1ca98b993a65b3c267e1722bd7846efd4cd6d0 100644
|
||||
index efcba8ea0ab1f25f6480fe0a3bbe1537764438aa..d946d334af4354be0f23eee40f2723fb414bb844 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1763,6 +1763,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -1768,6 +1768,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
this.setXRot(Mth.clamp(pitch, -90.0F, 90.0F) % 360.0F);
|
||||
this.yRotO = this.getYRot();
|
||||
this.xRotO = this.getXRot();
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 41eccbed6dda81f7d50c6ccb3539db3927b96021..88038c8286e46a89eed94169db9de5b880009481 100644
|
||||
index a7dffb26a96c52ddc185c8ce852d5e1c22ce9e36..446e34941997b3c779fadf7322afe11c1da63360 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1277,7 +1277,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1276,7 +1276,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.tickServer(this::haveTime);
|
||||
this.profiler.popPush("nextTickWait");
|
||||
this.mayHaveDelayedTasks = true;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 0a1ca98b993a65b3c267e1722bd7846efd4cd6d0..498ffb2aa24e6464f567999a6a941b2cb334e002 100644
|
||||
index d946d334af4354be0f23eee40f2723fb414bb844..c07ab3ec326bd43f857324679a4dae482b40b392 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -794,7 +794,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -799,7 +799,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
|
||||
public void checkOutOfWorld() {
|
||||
// Paper start - Configurable nether ceiling damage
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 498ffb2aa24e6464f567999a6a941b2cb334e002..6f8da1602dfe69ac35c98cbe744a25d1dd876a54 100644
|
||||
index c07ab3ec326bd43f857324679a4dae482b40b392..46d6b2fbbcb90a7e7738a1f403d02b9cc384c479 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4305,5 +4305,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -4310,5 +4310,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
public boolean processClick(InteractionHand hand) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -27,10 +27,10 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
|
||||
setListData(vector);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 88038c8286e46a89eed94169db9de5b880009481..023566ddf2b1910dc90955289baff3bb4404abb7 100644
|
||||
index 446e34941997b3c779fadf7322afe11c1da63360..5f1f6c43a155956298ac57acf54773728cb1215b 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -306,7 +306,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -305,7 +305,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
public static final int TPS = 20;
|
||||
public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS;
|
||||
private static final int SAMPLE_INTERVAL = 20; // Paper
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Item entity immunities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index e395652b99bbee087604f88a23168206ba874e0c..aa33000f6431f5c0b5f79a34d7389addf5d20374 100644
|
||||
index 1312a4d7a6f77d4b9812edd44ed27a6ca7cd7977..f3252dbb7f081b7f47a0e28e74a1da6c42cdd788 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -2324,7 +2324,7 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
@@ -2273,7 +2273,7 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
|
||||
|
||||
public class TrackedEntity {
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add no-random-tick block list
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index d95e45c2867cf3232cebd4b4c43bd890bfb70847..750e1900204a1d8717ec78ab2a5863a464e84431 100644
|
||||
index 9d238d4bf3151dd0c37d0b908c9fe3886975c4d2..38f4c77355f3a63bf1da1ced5df49512b10a424d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -483,7 +483,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -482,7 +482,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.players = Lists.newArrayList();
|
||||
this.entityTickList = new EntityTickList();
|
||||
Predicate<Block> predicate = (block) -> { // CraftBukkit - decompile eror
|
||||
@@ -18,10 +18,10 @@ index d95e45c2867cf3232cebd4b4c43bd890bfb70847..750e1900204a1d8717ec78ab2a5863a4
|
||||
DefaultedRegistry registryblocks = Registry.BLOCK;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
index 4853025530de9c22bde9e54b81120102dae5477c..35887a72e8e5c1193fd5b484946512df128b25c1 100644
|
||||
index 3d677fe25ed015e30634bf2fccde29f332e3dd87..e1aba175a74e73db0a8a11e8d2df35c45adfd3fa 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
@@ -915,10 +915,12 @@ public abstract class BlockBehaviour {
|
||||
@@ -914,10 +914,12 @@ public abstract class BlockBehaviour {
|
||||
}
|
||||
|
||||
public void tick(ServerLevel world, BlockPos pos, Random random) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 6f8da1602dfe69ac35c98cbe744a25d1dd876a54..213d13800d2d8680c2f981cd5850c5a73d0978b1 100644
|
||||
index 46d6b2fbbcb90a7e7738a1f403d02b9cc384c479..003aefff36185613a195edad1bd0121b8526a90b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3870,11 +3870,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -3875,11 +3875,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 213d13800d2d8680c2f981cd5850c5a73d0978b1..bb167f668bc0b1218327f6ad3bd6b2cbe023d976 100644
|
||||
index 003aefff36185613a195edad1bd0121b8526a90b..c2b808a80696b319143ac7f96e75be51d4a2642a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2727,7 +2727,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -2732,7 +2732,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
public void handleInsidePortal(BlockPos pos) {
|
||||
if (this.isOnPortalCooldown()) {
|
||||
this.setPortalCooldown();
|
||||
@@ -17,7 +17,7 @@ index 213d13800d2d8680c2f981cd5850c5a73d0978b1..bb167f668bc0b1218327f6ad3bd6b2cb
|
||||
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
this.portalEntrancePos = pos.immutable();
|
||||
}
|
||||
@@ -3359,7 +3359,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -3364,7 +3364,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
|
||||
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 750e1900204a1d8717ec78ab2a5863a464e84431..f959fab7c941505fcb39b116c05a9e9cd401b090 100644
|
||||
index 38f4c77355f3a63bf1da1ced5df49512b10a424d..1ea18770c65583e2ed604eb15d15067a638a33a2 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -83,6 +83,7 @@ import net.minecraft.world.entity.MobCategory;
|
||||
@@ -27,7 +27,7 @@ index 750e1900204a1d8717ec78ab2a5863a464e84431..f959fab7c941505fcb39b116c05a9e9c
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.entity.raid.Raid;
|
||||
import net.minecraft.world.entity.raid.Raids;
|
||||
@@ -131,6 +134,8 @@ import net.minecraft.world.level.gameevent.GameEvent;
|
||||
@@ -130,6 +133,8 @@ import net.minecraft.world.level.gameevent.GameEvent;
|
||||
import net.minecraft.world.level.gameevent.GameEventListenerRegistrar;
|
||||
import net.minecraft.world.level.gameevent.vibrations.VibrationPath;
|
||||
import net.minecraft.world.level.levelgen.Heightmap;
|
||||
@@ -36,7 +36,7 @@ index 750e1900204a1d8717ec78ab2a5863a464e84431..f959fab7c941505fcb39b116c05a9e9c
|
||||
import net.minecraft.world.level.levelgen.feature.StructureFeature;
|
||||
import net.minecraft.world.level.levelgen.structure.BoundingBox;
|
||||
import net.minecraft.world.level.levelgen.structure.StructureStart;
|
||||
@@ -506,7 +511,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -505,7 +510,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.dragonParts = new Int2ObjectOpenHashMap();
|
||||
this.tickTime = flag1;
|
||||
this.server = minecraftserver;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stonecutter damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index bb167f668bc0b1218327f6ad3bd6b2cbe023d976..54442921dd314f22760f158cde662592821ea6de 100644
|
||||
index c2b808a80696b319143ac7f96e75be51d4a2642a..98d47b29763fbffedcc351b1e33400ce7e329f1c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1029,7 +1029,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -1034,7 +1034,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
|
||||
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
|
||||
this.gameTime = time % 192000; // Paper - fix guardian beam
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index f959fab7c941505fcb39b116c05a9e9cd401b090..f0b62a3ec03cdbba853be815834e56c4d136197c 100644
|
||||
index 1ea18770c65583e2ed604eb15d15067a638a33a2..85b3ffb58b06ff6342abdd8948c1607079c4ee8f 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -196,6 +196,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -195,6 +195,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
final Int2ObjectMap<EnderDragonPart> dragonParts;
|
||||
private final StructureFeatureManager structureFeatureManager;
|
||||
private final boolean tickTime;
|
||||
@@ -29,7 +29,7 @@ index f959fab7c941505fcb39b116c05a9e9cd401b090..f0b62a3ec03cdbba853be815834e56c4
|
||||
// Paper start - execute chunk tasks mid tick
|
||||
public long lastMidTickExecuteFailure;
|
||||
// Paper end - execute chunk tasks mid tick
|
||||
@@ -573,6 +574,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -572,6 +573,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit
|
||||
|
||||
this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper
|
||||
@@ -37,7 +37,7 @@ index f959fab7c941505fcb39b116c05a9e9cd401b090..f0b62a3ec03cdbba853be815834e56c4
|
||||
}
|
||||
|
||||
public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) {
|
||||
@@ -838,6 +840,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -833,6 +835,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.liquidTicks.nextTick(); // Paper
|
||||
this.serverLevelData.getScheduledEvents().tick(this.server, i);
|
||||
if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
|
||||
@@ -56,7 +56,7 @@ index f959fab7c941505fcb39b116c05a9e9cd401b090..f0b62a3ec03cdbba853be815834e56c4
|
||||
this.setDayTime(this.levelData.getDayTime() + 1L);
|
||||
}
|
||||
|
||||
@@ -846,6 +860,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -841,6 +855,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
public void setDayTime(long timeOfDay) {
|
||||
this.serverLevelData.setDayTime(timeOfDay);
|
||||
|
||||
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 54442921dd314f22760f158cde662592821ea6de..eae9077653e2fa92fbcba99bc3aca96ef499d20b 100644
|
||||
index 98d47b29763fbffedcc351b1e33400ce7e329f1c..3ad67d65990feaedbb67ed15fe50032c0fd0fdc2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1616,7 +1616,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -1621,7 +1621,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
return this.isInWater() || flag;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ index cefbdb8f5892d5d46ca6ddc8aa6710be42c189a6..4a201004d397cf960822259d4f7d19cf
|
||||
// CraftBukkit end
|
||||
this.setLevel(worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index eae9077653e2fa92fbcba99bc3aca96ef499d20b..280059b0edd791c2ac376d611399e7562639410b 100644
|
||||
index 3ad67d65990feaedbb67ed15fe50032c0fd0fdc2..3c5d34e82154c68bb5ac9472d3826962a28fcd60 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2724,12 +2724,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -2729,12 +2729,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
return Vec3.directionFromRotation(this.getRotationVector());
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config for skipping night
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index f0b62a3ec03cdbba853be815834e56c4d136197c..6add1cb8a35c1e16670ba2e9db7878f27bbf3752 100644
|
||||
index 85b3ffb58b06ff6342abdd8948c1607079c4ee8f..40b9ce197be14894610673832752b8759fabd0da 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -717,7 +717,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -716,7 +716,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
// CraftBukkit end
|
||||
|
||||
i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 280059b0edd791c2ac376d611399e7562639410b..6db992f8e6bef8ce7ed3f4386640a2324bec249d 100644
|
||||
index 3c5d34e82154c68bb5ac9472d3826962a28fcd60..3a56f6c5f88d865ec38c7fe082835dd5a200397f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2958,7 +2958,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -2963,7 +2963,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
}
|
||||
|
||||
public int getMaxAirSupply() {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable damage settings for magma blocks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 6db992f8e6bef8ce7ed3f4386640a2324bec249d..90ba2eba2417c9d529a175dbc1228e84588b67b8 100644
|
||||
index 3a56f6c5f88d865ec38c7fe082835dd5a200397f..20689afe1556d2b463143ebb5cdbcbd683f5e76b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1029,7 +1029,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -1034,7 +1034,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
Co-authored by: Encode42 <me@encode42.dev>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 90ba2eba2417c9d529a175dbc1228e84588b67b8..770e09f47f74d944f178ae2459936f7ef300e8d1 100644
|
||||
index 20689afe1556d2b463143ebb5cdbcbd683f5e76b..6ad500cdcafd35c5c2839859afa0d24695f64430 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4318,5 +4318,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -4323,5 +4323,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
public boolean canSaveToDisk() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 770e09f47f74d944f178ae2459936f7ef300e8d1..e8cc670b6852b1831ce9f76c1531f55cfe9f3215 100644
|
||||
index 6ad500cdcafd35c5c2839859afa0d24695f64430..b0d333d1d776ebd8b98d7f5a7482875044ac76d7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2775,7 +2775,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -2780,7 +2780,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
}
|
||||
|
||||
this.processPortalCooldown();
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 6add1cb8a35c1e16670ba2e9db7878f27bbf3752..8c1e06dab7198e8331d39c39a27b6bce854fae9e 100644
|
||||
index 40b9ce197be14894610673832752b8759fabd0da..30322750466f266eba295d39de30461c02423df9 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1017,7 +1017,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1012,7 +1012,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
return villageplacetype == PoiType.LIGHTNING_ROD;
|
||||
}, (blockposition1) -> {
|
||||
return blockposition1.getY() == this.getLevel().getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;
|
||||
@@ -18,7 +18,7 @@ index 6add1cb8a35c1e16670ba2e9db7878f27bbf3752..8c1e06dab7198e8331d39c39a27b6bce
|
||||
return optional.map((blockposition1) -> {
|
||||
return blockposition1.above(1);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index ada22f00dbcd08d21c0e0c2df540f1e637a39e1f..042cdf2654b2c93712cb69100a0d3883722fb6e4 100644
|
||||
index 01a9447b0a68d1fcd373ec2a319b351055d0b748..81b0c003b8f23b4bcda40b8d90515f9e620c098a 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -380,6 +380,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -17,19 +17,19 @@ index 386e9ad013369633e2be543b9281e5a5fdce9c74..48a70900082c6c2c99c955a6ac40b488
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 807269b3fc6a1fe7cdbaef6f5336ee40e988505b..2576e2c6bce86cacc54092559f6ed05969f3e01c 100644
|
||||
index dd4be57611028acde485bc03640e83e07b0bd34f..928c759d30db2d35ea786b3fe0738c42ef3fed80 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -296,6 +296,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -295,6 +295,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
|
||||
//public ConsoleReader reader; // Paper
|
||||
public static int currentTick = 0; // Paper - Further improve tick loop
|
||||
public static long currentTickLong = 0L; // Paper
|
||||
+ public static final long startTimeMillis = System.currentTimeMillis();
|
||||
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
|
||||
public int autosavePeriod;
|
||||
public boolean serverAutoSave = false; // Paper
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 042cdf2654b2c93712cb69100a0d3883722fb6e4..b29fd0dfe1096c67dc236f9cdba1a93063d20858 100644
|
||||
index 81b0c003b8f23b4bcda40b8d90515f9e620c098a..055cff8be7979b308aad32ffe533a61ce80c295a 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -166,6 +166,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 8c1e06dab7198e8331d39c39a27b6bce854fae9e..11208321ae766bfc5506e54c280894e132f10faa 100644
|
||||
index 30322750466f266eba295d39de30461c02423df9..369ad2615a7f8ee35de91451a4b9fa01031d0dc1 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1060,11 +1060,29 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1055,11 +1055,29 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
if (this.canSleepThroughNights()) {
|
||||
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
|
||||
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||
@@ -40,7 +40,7 @@ index 8c1e06dab7198e8331d39c39a27b6bce854fae9e..11208321ae766bfc5506e54c280894e1
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 0006d4a7e67cf282bdad93017ceffc45a36e9885..419b5766ffcd240751b34f340f53ccf76523521c 100644
|
||||
index 0e806a4d1535eadacdef43c0ddf27bb2b2dbbfc4..f5575629e83f6c6f7c45c367d5e32a6ded408eb1 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -168,6 +168,8 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 11208321ae766bfc5506e54c280894e132f10faa..a2da1b6880ea23b3a17dcf2a5f85e96c9b4b842d 100644
|
||||
index 369ad2615a7f8ee35de91451a4b9fa01031d0dc1..bf91d6c0d67aa72a6272dc878b07e292386f94f2 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1112,6 +1112,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1107,6 +1107,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
private void stopWeather() {
|
||||
// CraftBukkit start
|
||||
@@ -16,7 +16,7 @@ index 11208321ae766bfc5506e54c280894e132f10faa..a2da1b6880ea23b3a17dcf2a5f85e96c
|
||||
this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night
|
||||
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
|
||||
// Not that everyone ever manages to get the whole server to sleep at the same time....
|
||||
@@ -1119,6 +1120,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1114,6 +1115,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.serverLevelData.setRainTime(0);
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
Reference in New Issue
Block a user