Update to Minecraft 1.20

This commit is contained in:
md_5 2023-06-08 01:30:00 +10:00
parent 7d7b241e35
commit 81b9def3c8
No known key found for this signature in database
GPG key ID: E8E901AC7C617C11
106 changed files with 648 additions and 644 deletions

View file

@ -1,11 +1,11 @@
From 9a1e16c71bc57d78281a50c45a20f539046147f0 Mon Sep 17 00:00:00 2001
From 19b43a271cbb2d332f98633f2da9e6f2069713cd Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 2 Jun 2013 10:36:24 +1000
Subject: [PATCH] POM Changes
diff --git a/checkstyle.xml b/checkstyle.xml
index 17748ef9..df32c504 100644
index 5e25d874..d506250c 100644
--- a/checkstyle.xml
+++ b/checkstyle.xml
@@ -40,6 +40,10 @@
@ -20,7 +20,7 @@ index 17748ef9..df32c504 100644
<!-- See http://checkstyle.sourceforge.net/config_imports.html -->
<module name="AvoidStarImport">
diff --git a/pom.xml b/pom.xml
index 11689d08..d0a464ab 100644
index b5841c61..9b403cbc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,14 +3,14 @@
@ -31,7 +31,7 @@ index 11689d08..d0a464ab 100644
- <artifactId>bukkit</artifactId>
+ <groupId>org.spigotmc</groupId>
+ <artifactId>spigot-api</artifactId>
<version>1.19.4-R0.1-SNAPSHOT</version>
<version>1.20-R0.1-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>Bukkit</name>
@ -43,5 +43,5 @@ index 11689d08..d0a464ab 100644
<properties>
<skipTests>true</skipTests>
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From ce919275662f42bfa29433abcf0584c23e01c503 Mon Sep 17 00:00:00 2001
From 739be49d46a4b13d3b235c7984314a4213453799 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 15 May 2017 15:16:15 +1000
Subject: [PATCH] Skeleton API Implementations
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 5a884154..9640919e 100644
index 653dffc6..09119a34 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1944,4 +1944,9 @@ public final class Bukkit {
@@ -1965,4 +1965,9 @@ public final class Bukkit {
public static UnsafeValues getUnsafe() {
return server.getUnsafe();
}
@ -19,10 +19,10 @@ index 5a884154..9640919e 100644
+ }
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index ac380d4f..2fdf0363 100644
index b95dc5c4..66cb1667 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1650,4 +1650,13 @@ public interface Server extends PluginMessageRecipient {
@@ -1675,4 +1675,13 @@ public interface Server extends PluginMessageRecipient {
@Deprecated
@NotNull
UnsafeValues getUnsafe();
@ -37,10 +37,10 @@ index ac380d4f..2fdf0363 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 8ac2339e..04389c8c 100644
index be376fa7..f0e437cc 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2637,6 +2637,15 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -2638,6 +2638,15 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
@ -120,10 +120,10 @@ index 76aad05f..4d308c5a 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index b768b066..06f6ecbf 100644
index c7dff73c..a09a00e9 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1745,4 +1745,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1768,4 +1768,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return whether the player allows server listings
*/
public boolean isAllowingServerListings();

View file

@ -1,4 +1,4 @@
From 9c6de382a14591684ba2486669fb23d857ed5f3e Mon Sep 17 00:00:00 2001
From 36bcff6fd0dbb8df52f41691781a4be184adaccf Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 2 Jun 2013 10:42:57 +1000
Subject: [PATCH] Spigot Timings
@ -8,10 +8,10 @@ Adds performance tracking timings all around the Minecraft Server, and improves
Plugins can track their own timings with CustomTimingsHandler
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 9640919e..446e4d21 100644
index 09119a34..f8051479 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -800,6 +800,7 @@ public final class Bukkit {
@@ -821,6 +821,7 @@ public final class Bukkit {
*/
public static void reload() {
server.reload();
@ -20,10 +20,10 @@ index 9640919e..446e4d21 100644
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 2fdf0363..d9df71bc 100644
index 66cb1667..84c4163e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1654,6 +1654,10 @@ public interface Server extends PluginMessageRecipient {
@@ -1679,6 +1679,10 @@ public interface Server extends PluginMessageRecipient {
// Spigot start
public class Spigot {
@ -460,5 +460,5 @@ index 00000000..a287faff
+ */
+package org.spigotmc;
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From c095b30206860810f0a6f6f550e84156a58ff910 Mon Sep 17 00:00:00 2001
From 62b86d6002622336468ba4603790f7b6e342419b Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 2 Jun 2013 15:20:49 +1000
Subject: [PATCH] BungeeCord Support
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 06f6ecbf..58513a81 100644
index a09a00e9..a8ecc7ca 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1749,6 +1749,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1772,6 +1772,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Spigot start
public class Spigot extends Entity.Spigot {

View file

@ -1,4 +1,4 @@
From d3ce3d73648a84f916e282270fb5bef368287c2d Mon Sep 17 00:00:00 2001
From 968c5a90d07cbdd0f7e9718f7d2cefaec86862a0 Mon Sep 17 00:00:00 2001
From: Andy Shulman <andy.shulman@hotmail.com>
Date: Mon, 15 Apr 2013 20:06:01 -0500
Subject: [PATCH] Define SpawnerSpawnEvent
@ -35,5 +35,5 @@ index 00000000..9353f0d0
+ }
+}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 3c4eb5960515599cc381337ba0d85c01ef159bb0 Mon Sep 17 00:00:00 2001
From d21cf17bf7c5ed332cc5c1400bf8b8b31c863bb4 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Tue, 2 Jul 2013 20:32:53 +1000
Subject: [PATCH] Entity Mount and Dismount Events
@ -123,5 +123,5 @@ index 00000000..264664eb
+ */
+package org.spigotmc.event.entity;
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 760bbd5c5af6a1ea312a296fde9e57c7e273e716 Mon Sep 17 00:00:00 2001
From 63506f490bc1f471f620ab3a0f36e0766389e6ee Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 3 Aug 2013 19:20:50 +1000
Subject: [PATCH] Player Collision API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 58513a81..91a98c8b 100644
index a8ecc7ca..b7c46512 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1759,6 +1759,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1782,6 +1782,29 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public InetSocketAddress getRawAddress() {
throw new UnsupportedOperationException("Not supported yet.");
}

View file

@ -1,14 +1,14 @@
From 2cf4155a039fb8def06180d1b6c1b2665e44bde6 Mon Sep 17 00:00:00 2001
From d8951e12ae42e4b859c7f8d47d6feb408b361aae Mon Sep 17 00:00:00 2001
From: ninja- <xninja@openmailbox.org>
Date: Tue, 8 Oct 2013 14:35:58 +0200
Subject: [PATCH] Add respawn API.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 91a98c8b..f2408d2d 100644
index b7c46512..bd9cc200 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1782,6 +1782,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1805,6 +1805,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void setCollidesWithEntities(boolean collides) {
throw new UnsupportedOperationException("Not supported yet.");
}

View file

@ -1,14 +1,14 @@
From e57a866f65c31eade3f24c487ddcf2b41dd2c578 Mon Sep 17 00:00:00 2001
From 15bdddec7e1b923d6f597f1d57eeeb0e8b86122e Mon Sep 17 00:00:00 2001
From: Tux <write@imaginarycode.com>
Date: Sun, 9 Feb 2014 14:02:11 -0500
Subject: [PATCH] Add support for fetching hidden players
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index f2408d2d..dd66f7ce 100644
index bd9cc200..9c4dccfd 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1789,6 +1789,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1812,6 +1812,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void respawn() {
throw new UnsupportedOperationException("Not supported yet.");
}

View file

@ -1,14 +1,14 @@
From ac97aa4a8b3849eacabeccf64bc8e481079320fd Mon Sep 17 00:00:00 2001
From 31850f4cc0430061c3b63743c88f6184eb4d3ed4 Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Sun, 23 Feb 2014 16:16:29 -0400
Subject: [PATCH] Silenceable Lightning API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 04389c8c..fe2a14aa 100644
index f0e437cc..33cffe3f 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2640,6 +2640,29 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -2641,6 +2641,29 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
// Spigot start
public class Spigot {

View file

@ -1,4 +1,4 @@
From 5b4359534290564fb91c793e8dc1ac99e19e1c34 Mon Sep 17 00:00:00 2001
From 613784dc96526a65d42a0c2f0e3689785a272c78 Mon Sep 17 00:00:00 2001
From: ninja <xninja@openmailbox.org>
Date: Tue, 8 Apr 2014 14:01:32 +0200
Subject: [PATCH] Add PlayerSpawnLocationEvent.
@ -74,5 +74,5 @@ index 00000000..6a2d5d84
+ */
+package org.spigotmc.event.player;
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 1cea0efc9afeb5e4ddade2d97753b5aacdf9d3cc Mon Sep 17 00:00:00 2001
From e36d4ba404c9151bcb3ff90238729b60db2caea5 Mon Sep 17 00:00:00 2001
From: drXor <mcyoung@mit.edu>
Date: Wed, 23 Jul 2014 15:50:36 -0400
Subject: [PATCH] Undeprecate Player#updateInventory()V
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index dd66f7ce..58cf6ab0 100644
index 9c4dccfd..03d7c34d 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -717,10 +717,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -740,10 +740,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/**
* Forces an update of the player's entire inventory.
*

View file

@ -1,11 +1,11 @@
From 4a9f22c249ed96c60e1878c76dd72f1930d1b914 Mon Sep 17 00:00:00 2001
From 8fef08229d608d4e29a0e5813b96fe04f3743c7a Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 13 Dec 2014 02:59:14 +0100
Subject: [PATCH] BungeeCord Chat API
diff --git a/pom.xml b/pom.xml
index d0a464ab..e324c7b4 100644
index 9b403cbc..2ac982a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,6 +52,13 @@
@ -25,7 +25,7 @@ index d0a464ab..e324c7b4 100644
@@ -189,6 +196,7 @@
<link>https://guava.dev/releases/31.1-jre/api/docs/</link>
<link>https://javadoc.io/doc/org.yaml/snakeyaml/1.33/</link>
<link>https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/</link>
<link>https://javadoc.io/doc/org.jetbrains/annotations-java5/24.0.1/</link>
+ <link>https://javadoc.io/doc/net.md-5/bungeecord-chat/1.16-R0.4/</link>
</links>
<tags>
@ -293,10 +293,10 @@ index 6149c77d..e3f185dc 100644
* Gets the char value associated with this color
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index d9df71bc..51336fe2 100644
index 84c4163e..89ae947c 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1658,6 +1658,24 @@ public interface Server extends PluginMessageRecipient {
@@ -1683,6 +1683,24 @@ public interface Server extends PluginMessageRecipient {
public org.bukkit.configuration.file.YamlConfiguration getConfig() {
throw new UnsupportedOperationException("Not supported yet.");
}
@ -370,10 +370,10 @@ index 4b6b9540..284be63a 100644
@NotNull
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 58cf6ab0..7fffb5cd 100644
index 03d7c34d..ee60f96a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1797,6 +1797,58 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1820,6 +1820,58 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public java.util.Set<Player> getHiddenPlayers() {
throw new UnsupportedOperationException("Not supported yet.");
}

View file

@ -1,14 +1,14 @@
From bdd235d00b32fc9ddf6e20d5682b7555d577089c Mon Sep 17 00:00:00 2001
From 112d6f975b41d0f91f2871601124d21f980293cb Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 13 Jul 2015 19:10:15 +1000
Subject: [PATCH] Add restart API.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 51336fe2..52dd3148 100644
index 89ae947c..6f97c680 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1676,6 +1676,13 @@ public interface Server extends PluginMessageRecipient {
@@ -1701,6 +1701,13 @@ public interface Server extends PluginMessageRecipient {
public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
}
@ -23,5 +23,5 @@ index 51336fe2..52dd3148 100644
@NotNull
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From d4a20319cfa7e16122435be27d8e537ad39bb108 Mon Sep 17 00:00:00 2001
From 35b5dd363d68400c91541e2c38c2f620ff792eba Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Tue, 30 Jul 2019 13:47:34 -0700
Subject: [PATCH] View Distance
@ -6,10 +6,10 @@ Subject: [PATCH] View Distance
This commit allows the retrieval of per world view distances.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index fe2a14aa..e75cd448 100644
index 33cffe3f..c4d2a13d 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2637,6 +2637,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -2638,6 +2638,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);

View file

@ -1,4 +1,4 @@
From 76a48347cc26b141a3498268cb0c28eb060229a4 Mon Sep 17 00:00:00 2001
From 78a61c5ea73212795ffff3aae35e96fef843eadc Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Tue, 2 Jul 2013 13:07:39 +1000
Subject: [PATCH] POM Changes
@ -34,7 +34,7 @@ index 63914723e..01319e4f7 100644
<!-- See http://checkstyle.sourceforge.net/config_imports.html -->
<module name="AvoidStarImport">
diff --git a/pom.xml b/pom.xml
index 059a1d669..67ae7c25e 100644
index 76efcc1b7..e1dfaf1e4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,13 +1,20 @@
@ -46,7 +46,7 @@ index 059a1d669..67ae7c25e 100644
+ <groupId>org.spigotmc</groupId>
+ <artifactId>spigot</artifactId>
<packaging>jar</packaging>
<version>1.19.4-R0.1-SNAPSHOT</version>
<version>1.20-R0.1-SNAPSHOT</version>
- <name>CraftBukkit</name>
+ <name>Spigot</name>
<url>https://www.spigotmc.org/</url>
@ -125,5 +125,5 @@ index f905d17b6..93046379d 100644
if (stream != null) {
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 86079f2dde2733cd2f6b40f6f8281b8601fb45fe Mon Sep 17 00:00:00 2001
From 8e3fef2ffec2c1f84e4831064513c1056ef4ced4 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 2 Jun 2013 15:10:56 +1000
Subject: [PATCH] Skeleton API Implementations
@ -6,10 +6,10 @@ Subject: [PATCH] Skeleton API Implementations
This contains the basic, empty implementations for some Spigot-API extensions. They are included early in the patching progress so that compilation will still succeed midway despite the APIs only being provided by subsequent patches.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 09418b6e25..f5d2620a8a 100644
index 0b11dd945..c4856af13 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2308,4 +2308,16 @@ public final class CraftServer implements Server {
@@ -2326,4 +2326,16 @@ public final class CraftServer implements Server {
public UnsafeValues getUnsafe() {
return CraftMagicNumbers.INSTANCE;
}
@ -27,10 +27,10 @@ index 09418b6e25..f5d2620a8a 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index aba7b9e850..ef20f970cb 100644
index 3f2dd5172..91ef74595 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1911,4 +1911,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1918,4 +1918,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
this.persistentDataContainer.putAll((NBTTagCompound) c);
}
}
@ -47,7 +47,7 @@ index aba7b9e850..ef20f970cb 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ProxiedNativeCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/ProxiedNativeCommandSender.java
index f9d3b5a499..b63472322d 100644
index f9d3b5a49..b63472322 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/ProxiedNativeCommandSender.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/ProxiedNativeCommandSender.java
@@ -132,4 +132,11 @@ public class ProxiedNativeCommandSender implements ProxiedCommandSender {
@ -63,7 +63,7 @@ index f9d3b5a499..b63472322d 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
index 7fa2588b89..e0acbada89 100644
index 7fa2588b8..e0acbada8 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
@@ -90,4 +90,16 @@ public abstract class ServerCommandSender implements CommandSender {
@ -84,7 +84,7 @@ index 7fa2588b89..e0acbada89 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 16b9623e33..49f6038f5a 100644
index 2d79f30b9..e57b204b7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1150,4 +1150,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@ -104,7 +104,7 @@ index 16b9623e33..49f6038f5a 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
index 9ab9f0a312..e63833dcda 100644
index 9ab9f0a31..e63833dcd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
@@ -29,4 +29,15 @@ public class CraftLightningStrike extends CraftEntity implements LightningStrike
@ -124,10 +124,10 @@ index 9ab9f0a312..e63833dcda 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index be4affa765..de8e182980 100644
index 7c4ea7f68..278185c4f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2111,4 +2111,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2117,4 +2117,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean isAllowingServerListings() {
return getHandle().allowsListing();
}
@ -144,7 +144,7 @@ index be4affa765..de8e182980 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
index 8615d7bcfb..967d5ba30b 100644
index 8615d7bcf..967d5ba30 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
@@ -349,6 +349,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {

View file

@ -1,4 +1,4 @@
From e8253a01cc4f247e8eb9f8779f04e7ef1847a9d9 Mon Sep 17 00:00:00 2001
From 01f883c974a22f19888baadf0c23ded9cf89ad33 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 7 Jul 2013 09:32:53 +1000
Subject: [PATCH] Spigot Configuration
@ -6,7 +6,7 @@ Subject: [PATCH] Spigot Configuration
Provides the basic infrastructure to load and save the Spigot configuration file, spigot.yml
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 48df450a2a..2acde010c2 100644
index e59110d36..9576ac188 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -178,6 +178,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -31,10 +31,10 @@ index 48df450a2a..2acde010c2 100644
server.enablePlugins(org.bukkit.plugin.PluginLoadOrder.STARTUP);
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
index a55642bfea..130a7e8621 100644
index 63b48cf02..8610cb15f 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -154,6 +154,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -153,6 +153,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public List<EntityItem> captureDrops;
public final it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<SpawnCategory> ticksPerSpawnCategory = new it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<>();
public boolean populating;
@ -42,7 +42,7 @@ index a55642bfea..130a7e8621 100644
public CraftWorld getWorld() {
return this.world;
@@ -166,6 +167,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -165,6 +166,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public abstract ResourceKey<WorldDimension> getTypeKey();
protected World(WorldDataMutable worlddatamutable, ResourceKey<World> resourcekey, IRegistryCustom iregistrycustom, Holder<DimensionManager> holder, Supplier<GameProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env) {
@ -51,10 +51,10 @@ index a55642bfea..130a7e8621 100644
this.world = new CraftWorld((WorldServer) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f5d2620a8a..ce1a7f7bb5 100644
index c4856af13..cf1800826 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -864,6 +864,7 @@ public final class CraftServer implements Server {
@@ -884,6 +884,7 @@ public final class CraftServer implements Server {
logger.log(Level.WARNING, "Failed to load banned-players.json, " + ex.getMessage());
}
@ -62,7 +62,7 @@ index f5d2620a8a..ce1a7f7bb5 100644
for (WorldServer world : console.getAllLevels()) {
world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
@@ -878,11 +879,13 @@ public final class CraftServer implements Server {
@@ -898,11 +899,13 @@ public final class CraftServer implements Server {
}
}
}
@ -77,7 +77,7 @@ index f5d2620a8a..ce1a7f7bb5 100644
ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions");
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index ed7b3b6e20..fa2bb185c5 100644
index de9e099be..3c5e6a489 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -133,6 +133,14 @@ public class Main {
@ -97,7 +97,7 @@ index ed7b3b6e20..fa2bb185c5 100644
diff --git a/src/main/java/org/spigotmc/SpigotCommand.java b/src/main/java/org/spigotmc/SpigotCommand.java
new file mode 100644
index 0000000000..7443e7334c
index 000000000..7443e7334
--- /dev/null
+++ b/src/main/java/org/spigotmc/SpigotCommand.java
@@ -0,0 +1,44 @@
@ -147,7 +147,7 @@ index 0000000000..7443e7334c
+}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
new file mode 100644
index 0000000000..9ee0b4a1e7
index 000000000..9ee0b4a1e
--- /dev/null
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -0,0 +1,140 @@
@ -293,7 +293,7 @@ index 0000000000..9ee0b4a1e7
+}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
new file mode 100644
index 0000000000..1cce14866a
index 000000000..1cce14866
--- /dev/null
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -0,0 +1,82 @@

View file

@ -1,4 +1,4 @@
From 5dcebf9cb35f297efd2b28466684c67bc4102b63 Mon Sep 17 00:00:00 2001
From f790a848a8056b9ea27a5ae615c31087c42a2d1c Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 7 Mar 2016 22:14:13 +1100
Subject: [PATCH] Crop Growth Rates
@ -6,10 +6,10 @@ Subject: [PATCH] Crop Growth Rates
Allows configuring the growth rates of crops as a percentage of their normal growth rate.
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
index a91584c26..163d53b46 100644
index 36b3867d0..2df6560e5 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -541,6 +541,18 @@ public class Block extends BlockBase implements IMaterial {
@@ -529,6 +529,18 @@ public class Block extends BlockBase implements IMaterial {
}
// CraftBukkit end
@ -55,7 +55,7 @@ index c02c220e8..5d80cc5dc 100644
}
diff --git a/src/main/java/net/minecraft/world/level/block/BlockCactus.java b/src/main/java/net/minecraft/world/level/block/BlockCactus.java
index ce4d02342..0a11d981c 100644
index 3590e11e3..a1d3aaa14 100644
--- a/src/main/java/net/minecraft/world/level/block/BlockCactus.java
+++ b/src/main/java/net/minecraft/world/level/block/BlockCactus.java
@@ -58,13 +58,14 @@ public class BlockCactus extends Block {
@ -89,7 +89,7 @@ index e3bdcaef5..d1d3084b2 100644
if (i < 2) {
diff --git a/src/main/java/net/minecraft/world/level/block/BlockCrops.java b/src/main/java/net/minecraft/world/level/block/BlockCrops.java
index 305352332..ed14028d5 100644
index f09b1f2d3..52a5196c8 100644
--- a/src/main/java/net/minecraft/world/level/block/BlockCrops.java
+++ b/src/main/java/net/minecraft/world/level/block/BlockCrops.java
@@ -77,7 +77,20 @@ public class BlockCrops extends BlockPlant implements IBlockFragilePlantElement
@ -166,7 +166,7 @@ index 4c98e09c2..626d93a4d 100644
org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition, iblockdata, 2); // CraftBukkit
}
diff --git a/src/main/java/net/minecraft/world/level/block/BlockReed.java b/src/main/java/net/minecraft/world/level/block/BlockReed.java
index 442200504..5ffaeaac9 100644
index a1908f2f7..7c938cdd4 100644
--- a/src/main/java/net/minecraft/world/level/block/BlockReed.java
+++ b/src/main/java/net/minecraft/world/level/block/BlockReed.java
@@ -55,10 +55,11 @@ public class BlockReed extends Block {
@ -300,5 +300,5 @@ index 1cce14866..f42972427 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From ac624780c38bb68b059789e4c0d85af7283d768d Mon Sep 17 00:00:00 2001
From 725087f1764e20207547f08c5ed71f2ba42f325c Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 23 Mar 2013 09:46:33 +1100
Subject: [PATCH] Merge tweaks and configuration
@ -6,22 +6,22 @@ Subject: [PATCH] Merge tweaks and configuration
This allows the merging of Experience orbs, as well as the configuration of the merge radius of items. Additionally it refactors the merge algorithm to be a better experience for players.
diff --git a/src/main/java/net/minecraft/world/entity/item/EntityItem.java b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
index 19ca12c97b..09675bf4d5 100644
index 1d4abea14..0ee3d963c 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
@@ -214,7 +214,10 @@ public class EntityItem extends Entity implements TraceableEntity {
@@ -219,7 +219,10 @@ public class EntityItem extends Entity implements TraceableEntity {
private void mergeWithNeighbours() {
if (this.isMergable()) {
- List<EntityItem> list = this.level.getEntitiesOfClass(EntityItem.class, this.getBoundingBox().inflate(0.5D, 0.0D, 0.5D), (entityitem) -> {
- List<EntityItem> list = this.level().getEntitiesOfClass(EntityItem.class, this.getBoundingBox().inflate(0.5D, 0.0D, 0.5D), (entityitem) -> {
+ // Spigot start
+ double radius = level.spigotConfig.itemMerge;
+ List<EntityItem> list = this.level.getEntitiesOfClass(EntityItem.class, this.getBoundingBox().inflate(radius, radius - 0.5D, radius), (entityitem) -> {
+ double radius = this.level().spigotConfig.itemMerge;
+ List<EntityItem> list = this.level().getEntitiesOfClass(EntityItem.class, this.getBoundingBox().inflate(radius, radius - 0.5D, radius), (entityitem) -> {
+ // Spigot end
return entityitem != this && entityitem.isMergable();
});
Iterator iterator = list.iterator();
@@ -244,7 +247,7 @@ public class EntityItem extends Entity implements TraceableEntity {
@@ -249,7 +252,7 @@ public class EntityItem extends Entity implements TraceableEntity {
ItemStack itemstack1 = entityitem.getItem();
if (Objects.equals(this.target, entityitem.target) && areMergable(itemstack, itemstack1)) {
@ -31,7 +31,7 @@ index 19ca12c97b..09675bf4d5 100644
} else {
merge(entityitem, itemstack1, this, itemstack);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 14a429cf45..27bd89fedc 100644
index 58134f53e..85cf72e9a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -649,6 +649,23 @@ public class CraftEventFactory {
@ -59,7 +59,7 @@ index 14a429cf45..27bd89fedc 100644
event = CraftEventFactory.callEntitySpawnEvent(entity);
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index f42972427b..5ff085b9e6 100644
index f42972427..5ff085b9e 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -134,4 +134,18 @@ public class SpigotWorldConfig

View file

@ -1,4 +1,4 @@
From e5a10fac17a7da43844431cddafa6ea064505f41 Mon Sep 17 00:00:00 2001
From 115b2634ca225f5a8f548c62aaf31e4d1ecdb032 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Tue, 25 Mar 2014 16:10:01 +1100
Subject: [PATCH] Async Operation Catching
@ -6,10 +6,10 @@ Subject: [PATCH] Async Operation Catching
Catch and throw an exception when a potentially unsafe operation occurs on a thread other than the main server thread.
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
index fe8992bb48..e1353632bf 100644
index ad378eebf..0fea38250 100644
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
@@ -1292,6 +1292,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
@@ -1313,6 +1313,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
protected void addEntity(Entity entity) {
@ -17,7 +17,7 @@ index fe8992bb48..e1353632bf 100644
if (!(entity instanceof EntityComplexPart)) {
EntityTypes<?> entitytypes = entity.getType();
int i = entitytypes.clientTrackingRange() * 16;
@@ -1327,6 +1328,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
@@ -1348,6 +1349,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
protected void removeEntity(Entity entity) {
@ -25,7 +25,7 @@ index fe8992bb48..e1353632bf 100644
if (entity instanceof EntityPlayer) {
EntityPlayer entityplayer = (EntityPlayer) entity;
@@ -1579,6 +1581,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
@@ -1600,6 +1602,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
public void removePlayer(EntityPlayer entityplayer) {
@ -33,19 +33,19 @@ index fe8992bb48..e1353632bf 100644
if (this.seenBy.remove(entityplayer.connection)) {
this.serverEntity.removePairing(entityplayer);
}
@@ -1586,6 +1589,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
@@ -1607,6 +1610,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
public void updatePlayer(EntityPlayer entityplayer) {
+ org.spigotmc.AsyncCatcher.catchOp("player tracker update"); // Spigot
if (entityplayer != this.entity) {
Vec3D vec3d = entityplayer.position().subtract(this.entity.position());
double d0 = (double) Math.min(this.getEffectiveRange(), (PlayerChunkMap.this.viewDistance - 1) * 16);
double d0 = (double) Math.min(this.getEffectiveRange(), PlayerChunkMap.this.viewDistance * 16);
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index db82616d9c..6e38b63bf9 100644
index 854112e1b..d1498a02d 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -1034,6 +1034,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1052,6 +1052,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
// CraftBukkit start
private boolean addEntity(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
@ -53,7 +53,7 @@ index db82616d9c..6e38b63bf9 100644
if (entity.isRemoved()) {
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit
return false;
@@ -1841,6 +1842,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1859,6 +1860,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@Override
public LevelEntityGetter<Entity> getEntities() {
@ -61,7 +61,7 @@ index db82616d9c..6e38b63bf9 100644
return this.entityManager.getEntityGetter();
}
@@ -1919,6 +1921,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1945,6 +1947,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
}
public void onTrackingStart(Entity entity) {
@ -69,7 +69,7 @@ index db82616d9c..6e38b63bf9 100644
WorldServer.this.getChunkSource().addEntity(entity);
if (entity instanceof EntityPlayer) {
EntityPlayer entityplayer = (EntityPlayer) entity;
@@ -1956,6 +1959,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1982,6 +1985,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
}
public void onTrackingEnd(Entity entity) {
@ -78,10 +78,10 @@ index db82616d9c..6e38b63bf9 100644
if (entity instanceof EntityPlayer) {
EntityPlayer entityplayer = (EntityPlayer) entity;
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
index c07d54bd72..2a733f8eb9 100644
index 005fd6db2..e70bf3394 100644
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
@@ -1084,6 +1084,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -1102,6 +1102,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
}
public boolean addEffect(MobEffect mobeffect, @Nullable Entity entity, EntityPotionEffectEvent.Cause cause) {
@ -90,7 +90,7 @@ index c07d54bd72..2a733f8eb9 100644
effectsToProcess.add(new ProcessableEffect(mobeffect, cause));
return true;
diff --git a/src/main/java/net/minecraft/world/item/crafting/CraftingManager.java b/src/main/java/net/minecraft/world/item/crafting/CraftingManager.java
index c7912e8ec5..6751a30592 100644
index c7912e8ec..6751a3059 100644
--- a/src/main/java/net/minecraft/world/item/crafting/CraftingManager.java
+++ b/src/main/java/net/minecraft/world/item/crafting/CraftingManager.java
@@ -86,6 +86,7 @@ public class CraftingManager extends ResourceDataJson {
@ -102,7 +102,7 @@ index c7912e8ec5..6751a30592 100644
if (byName.containsKey(irecipe.getId()) || map.containsKey(irecipe.getId())) {
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBase.java b/src/main/java/net/minecraft/world/level/block/state/BlockBase.java
index 39a88e44fa..39b18e2f73 100644
index eb4100f53..28a548dee 100644
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBase.java
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBase.java
@@ -145,11 +145,14 @@ public abstract class BlockBase implements FeatureElement {
@ -122,10 +122,10 @@ index 39a88e44fa..39b18e2f73 100644
world.removeBlockEntity(blockposition);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ce1a7f7bb5..653f3fcd51 100644
index cf1800826..79f46d27e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -819,6 +819,7 @@ public final class CraftServer implements Server {
@@ -839,6 +839,7 @@ public final class CraftServer implements Server {
public boolean dispatchCommand(CommandSender sender, String commandLine) {
Validate.notNull(sender, "Sender cannot be null");
Validate.notNull(commandLine, "CommandLine cannot be null");
@ -134,10 +134,10 @@ index ce1a7f7bb5..653f3fcd51 100644
if (commandMap.dispatch(sender, commandLine)) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index ef20f970cb..6153d1ee9b 100644
index 91ef74595..9da7d68e4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -272,6 +272,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -274,6 +274,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean unloadChunkRequest(int x, int z) {
@ -145,7 +145,7 @@ index ef20f970cb..6153d1ee9b 100644
if (isChunkLoaded(x, z)) {
world.getChunkSource().removeRegionTicket(TicketType.PLUGIN, new ChunkCoordIntPair(x, z), 1, Unit.INSTANCE);
}
@@ -280,6 +281,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -282,6 +283,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
private boolean unloadChunk0(int x, int z, boolean save) {
@ -153,7 +153,7 @@ index ef20f970cb..6153d1ee9b 100644
if (!isChunkLoaded(x, z)) {
return true;
}
@@ -294,6 +296,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -296,6 +298,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean regenerateChunk(int x, int z) {
@ -161,7 +161,7 @@ index ef20f970cb..6153d1ee9b 100644
throw new UnsupportedOperationException("Not supported in this Minecraft version! Unless you can fix it, this is not a bug :)");
/*
if (!unloadChunk0(x, z, false)) {
@@ -346,6 +349,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -348,6 +351,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public boolean loadChunk(int x, int z, boolean generate) {
@ -169,7 +169,7 @@ index ef20f970cb..6153d1ee9b 100644
IChunkAccess chunk = world.getChunkSource().getChunk(x, z, generate ? ChunkStatus.FULL : ChunkStatus.EMPTY, true);
// If generate = false, but the chunk already exists, we will get this back.
@@ -834,6 +838,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -836,6 +840,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public Collection<Entity> getNearbyEntities(BoundingBox boundingBox, Predicate<Entity> filter) {
@ -177,7 +177,7 @@ index ef20f970cb..6153d1ee9b 100644
Validate.notNull(boundingBox, "Bounding box is null!");
AxisAlignedBB bb = new AxisAlignedBB(boundingBox.getMinX(), boundingBox.getMinY(), boundingBox.getMinZ(), boundingBox.getMaxX(), boundingBox.getMaxY(), boundingBox.getMaxZ());
@@ -988,6 +993,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -990,6 +995,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@Override
public void save() {
@ -186,7 +186,7 @@ index ef20f970cb..6153d1ee9b 100644
boolean oldSave = world.noSave;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 49f6038f5a..e90064b5e7 100644
index e57b204b7..47aa4cb9b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -563,6 +563,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@ -195,10 +195,10 @@ index 49f6038f5a..e90064b5e7 100644
Preconditions.checkState(!entity.generation, "Cannot get nearby entities during world generation");
+ org.spigotmc.AsyncCatcher.catchOp("getNearbyEntities"); // Spigot
List<Entity> notchEntityList = entity.level.getEntities(entity, entity.getBoundingBox().inflate(x, y, z), Predicates.alwaysTrue());
List<Entity> notchEntityList = entity.level().getEntities(entity, entity.getBoundingBox().inflate(x, y, z), Predicates.alwaysTrue());
List<org.bukkit.entity.Entity> bukkitEntityList = new java.util.ArrayList<org.bukkit.entity.Entity>(notchEntityList.size());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index de8e182980..0871323759 100644
index 278185c4f..8fd17dfad 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -375,6 +375,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -210,7 +210,7 @@ index de8e182980..0871323759 100644
getHandle().connection.disconnect(message == null ? "" : message);
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
index 659c1b272a..329b2fbe07 100644
index 659c1b272..329b2fbe0 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
@@ -41,6 +41,7 @@ public final class CraftScoreboardManager implements ScoreboardManager {
@ -222,7 +222,7 @@ index 659c1b272a..329b2fbe07 100644
scoreboards.add(scoreboard);
return scoreboard;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
index 2e057fd4c0..ddef523ea8 100644
index 2e057fd4c..ddef523ea 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
@@ -12,6 +12,7 @@ public class ServerShutdownThread extends Thread {
@ -235,7 +235,7 @@ index 2e057fd4c0..ddef523ea8 100644
try {
diff --git a/src/main/java/org/spigotmc/AsyncCatcher.java b/src/main/java/org/spigotmc/AsyncCatcher.java
new file mode 100644
index 0000000000..aeed769725
index 000000000..aeed76972
--- /dev/null
+++ b/src/main/java/org/spigotmc/AsyncCatcher.java
@@ -0,0 +1,17 @@

View file

@ -1,4 +1,4 @@
From ea249d7e1eade611c65daf4cfbb5ebef4d174f49 Mon Sep 17 00:00:00 2001
From 3b6cd27bd9feef3d45636f6e5f7c43ff5bc6119e Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 23 Mar 2013 09:52:41 +1100
Subject: [PATCH] View Distance
@ -6,10 +6,10 @@ Subject: [PATCH] View Distance
This commit allows the user to select per world view distances.
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index 6e38b63bf9..d6aae074c7 100644
index d1498a02d..06d5cfc28 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -275,8 +275,8 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -279,8 +279,8 @@ public class WorldServer extends World implements GeneratorAccessSeed {
this.entityManager = new PersistentEntitySectionManager<>(Entity.class, new WorldServer.a(), entitypersistentstorage);
StructureTemplateManager structuretemplatemanager = minecraftserver.getStructureManager();
@ -21,33 +21,33 @@ index 6e38b63bf9..d6aae074c7 100644
Objects.requireNonNull(this.entityManager);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 7f8261c342..ef05008c71 100644
index 2d56b3a14..958c7f395 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -238,7 +238,8 @@ public abstract class PlayerList {
@@ -245,7 +245,8 @@ public abstract class PlayerList {
boolean flag = gamerules.getBoolean(GameRules.RULE_DO_IMMEDIATE_RESPAWN);
boolean flag1 = gamerules.getBoolean(GameRules.RULE_REDUCEDDEBUGINFO);
- playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), entityplayer.gameMode.getGameModeForPlayer(), entityplayer.gameMode.getPreviousGameModeForPlayer(), this.server.levelKeys(), this.synchronizedRegistries, worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), this.getMaxPlayers(), this.viewDistance, this.simulationDistance, flag1, !flag, worldserver1.isDebug(), worldserver1.isFlat(), entityplayer.getLastDeathLocation()));
- playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), entityplayer.gameMode.getGameModeForPlayer(), entityplayer.gameMode.getPreviousGameModeForPlayer(), this.server.levelKeys(), this.synchronizedRegistries, worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), this.getMaxPlayers(), this.viewDistance, this.simulationDistance, flag1, !flag, worldserver1.isDebug(), worldserver1.isFlat(), entityplayer.getLastDeathLocation(), entityplayer.getPortalCooldown()));
+ // Spigot - view distance
+ playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), entityplayer.gameMode.getGameModeForPlayer(), entityplayer.gameMode.getPreviousGameModeForPlayer(), this.server.levelKeys(), this.synchronizedRegistries, worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), this.getMaxPlayers(), worldserver1.spigotConfig.viewDistance, worldserver1.spigotConfig.simulationDistance, flag1, !flag, worldserver1.isDebug(), worldserver1.isFlat(), entityplayer.getLastDeathLocation()));
+ playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), entityplayer.gameMode.getGameModeForPlayer(), entityplayer.gameMode.getPreviousGameModeForPlayer(), this.server.levelKeys(), this.synchronizedRegistries, worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), this.getMaxPlayers(), worldserver1.spigotConfig.viewDistance, worldserver1.spigotConfig.simulationDistance, flag1, !flag, worldserver1.isDebug(), worldserver1.isFlat(), entityplayer.getLastDeathLocation(), entityplayer.getPortalCooldown()));
entityplayer.getBukkitEntity().sendSupportedChannels(); // CraftBukkit
playerconnection.send(new ClientboundUpdateEnabledFeaturesPacket(FeatureFlags.REGISTRY.toNames(worldserver1.enabledFeatures())));
playerconnection.send(new PacketPlayOutCustomPayload(PacketPlayOutCustomPayload.BRAND, (new PacketDataSerializer(Unpooled.buffer())).writeUtf(this.getServer().getServerModName())));
@@ -769,6 +770,8 @@ public abstract class PlayerList {
@@ -776,6 +777,8 @@ public abstract class PlayerList {
// CraftBukkit start
WorldData worlddata = worldserver1.getLevelData();
entityplayer1.connection.send(new PacketPlayOutRespawn(worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), entityplayer1.gameMode.getGameModeForPlayer(), entityplayer1.gameMode.getPreviousGameModeForPlayer(), worldserver1.isDebug(), worldserver1.isFlat(), (byte) i, entityplayer1.getLastDeathLocation()));
entityplayer1.connection.send(new PacketPlayOutRespawn(worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), entityplayer1.gameMode.getGameModeForPlayer(), entityplayer1.gameMode.getPreviousGameModeForPlayer(), worldserver1.isDebug(), worldserver1.isFlat(), (byte) i, entityplayer1.getLastDeathLocation(), entityplayer1.getPortalCooldown()));
+ entityplayer1.connection.send(new PacketPlayOutViewDistance(worldserver1.spigotConfig.viewDistance)); // Spigot
+ entityplayer1.connection.send(new ClientboundSetSimulationDistancePacket(worldserver1.spigotConfig.simulationDistance)); // Spigot
entityplayer1.spawnIn(worldserver1);
entityplayer1.unsetRemoved();
entityplayer1.connection.teleport(CraftLocation.toBukkit(entityplayer1.position(), worldserver1.getWorld(), entityplayer1.getYRot(), entityplayer1.getXRot()));
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 6153d1ee9b..e53b53fdc8 100644
index 9da7d68e4..c5dae2ea0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1918,6 +1918,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1925,6 +1925,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
}
}
@ -67,7 +67,7 @@ index 6153d1ee9b..e53b53fdc8 100644
private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot()
{
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 5ff085b9e6..acaf903011 100644
index 5ff085b9e..acaf90301 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -148,4 +148,36 @@ public class SpigotWorldConfig

View file

@ -1,4 +1,4 @@
From 80f0845cc659571c6457c01569a177fd3c271b3a Mon Sep 17 00:00:00 2001
From 94c9b86f4de9a8368f2f6923db4295ca882ad2ac Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 10 Jan 2013 00:18:11 -0500
Subject: [PATCH] Spigot Timings
@ -6,7 +6,7 @@ Subject: [PATCH] Spigot Timings
Overhauls the Timings System adding performance tracking all around the Minecraft Server
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0762b1e54c..f4fb055c92 100644
index 8bc248ac5..fbb3636f2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -191,6 +191,8 @@ import org.bukkit.event.player.AsyncPlayerChatPreviewEvent;
@ -18,7 +18,7 @@ index 0762b1e54c..f4fb055c92 100644
public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTask> implements ICommandListener, AutoCloseable {
public static final Logger LOGGER = LogUtils.getLogger();
@@ -1152,6 +1154,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1150,6 +1152,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public void onServerExit() {}
public void tickServer(BooleanSupplier booleansupplier) {
@ -26,7 +26,7 @@ index 0762b1e54c..f4fb055c92 100644
long i = SystemUtils.getNanos();
++this.tickCount;
@@ -1162,11 +1165,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1160,11 +1163,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
if (autosavePeriod > 0 && this.tickCount % autosavePeriod == 0) { // CraftBukkit
@ -40,7 +40,7 @@ index 0762b1e54c..f4fb055c92 100644
}
this.profiler.push("tallying");
@@ -1177,6 +1182,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1175,6 +1180,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.frameTimer.logFrameDuration(k - i);
this.profiler.pop();
@ -49,7 +49,7 @@ index 0762b1e54c..f4fb055c92 100644
}
private ServerPing buildServerStatus() {
@@ -1208,18 +1215,25 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1206,18 +1213,25 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public void tickChildren(BooleanSupplier booleansupplier) {
@ -75,15 +75,15 @@ index 0762b1e54c..f4fb055c92 100644
// Send time updates to everyone, it will get the right time from the world the player is in.
if (this.tickCount % 20 == 0) {
for (int i = 0; i < this.getPlayerList().players.size(); ++i) {
@@ -1227,6 +1241,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
entityplayer.connection.send(new PacketPlayOutUpdateTime(entityplayer.level.getGameTime(), entityplayer.getPlayerTime(), entityplayer.level.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT))); // Add support for per player time
@@ -1225,6 +1239,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
entityplayer.connection.send(new PacketPlayOutUpdateTime(entityplayer.level().getGameTime(), entityplayer.getPlayerTime(), entityplayer.level().getGameRules().getBoolean(GameRules.RULE_DAYLIGHT))); // Add support for per player time
}
}
+ SpigotTimings.timeUpdateTimer.stopTiming(); // Spigot
while (iterator.hasNext()) {
WorldServer worldserver = (WorldServer) iterator.next();
@@ -1245,7 +1260,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1243,7 +1258,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.profiler.push("tick");
try {
@ -93,7 +93,7 @@ index 0762b1e54c..f4fb055c92 100644
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
@@ -1258,18 +1275,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1256,18 +1273,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
this.profiler.popPush("connection");
@ -119,7 +119,7 @@ index 0762b1e54c..f4fb055c92 100644
this.profiler.pop();
}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 2acde010c2..4c4986ea4b 100644
index 9576ac188..3f3d96894 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -59,6 +59,7 @@ import org.apache.logging.log4j.Level;
@ -147,7 +147,7 @@ index 2acde010c2..4c4986ea4b 100644
@Override
diff --git a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
index 1f25276778..5700a33181 100644
index 30c05aadb..b34aa8eab 100644
--- a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
@@ -146,11 +146,13 @@ public class ChunkProviderServer extends IChunkProvider {
@ -164,7 +164,7 @@ index 1f25276778..5700a33181 100644
ichunkaccess = (IChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> {
return ichunkaccess1;
}, (playerchunk_failure) -> {
@@ -375,15 +377,19 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -376,15 +378,19 @@ public class ChunkProviderServer extends IChunkProvider {
@Override
public void tick(BooleanSupplier booleansupplier, boolean flag) {
this.level.getProfiler().push("purge");
@ -184,7 +184,7 @@ index 1f25276778..5700a33181 100644
this.level.getProfiler().pop();
this.clearCache();
}
@@ -441,7 +447,9 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -442,7 +448,9 @@ public class ChunkProviderServer extends IChunkProvider {
}
if (this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) {
@ -194,7 +194,7 @@ index 1f25276778..5700a33181 100644
}
}
}
@@ -457,7 +465,9 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -458,7 +466,9 @@ public class ChunkProviderServer extends IChunkProvider {
});
gameprofilerfiller.pop();
gameprofilerfiller.pop();
@ -205,10 +205,10 @@ index 1f25276778..5700a33181 100644
}
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index d6aae074c7..95f6db3de8 100644
index 06d5cfc28..dc84b6954 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -168,6 +168,7 @@ import net.minecraft.world.level.storage.WorldDataServer;
@@ -171,6 +171,7 @@ import net.minecraft.world.level.storage.WorldDataServer;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.WeatherType;
@ -216,7 +216,7 @@ index d6aae074c7..95f6db3de8 100644
import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.craftbukkit.generator.CustomWorldChunkManager;
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
@@ -363,6 +364,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -381,6 +382,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
this.updateSkyBrightness();
this.tickTime();
gameprofilerfiller.popPush("tickPending");
@ -224,7 +224,7 @@ index d6aae074c7..95f6db3de8 100644
if (!this.isDebug()) {
j = this.getGameTime();
gameprofilerfiller.push("blockTicks");
@@ -371,13 +373,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -389,13 +391,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
this.fluidTicks.tick(j, 65536, this::tickFluid);
gameprofilerfiller.pop();
}
@ -241,7 +241,7 @@ index d6aae074c7..95f6db3de8 100644
this.handlingTick = false;
gameprofilerfiller.pop();
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
@@ -388,12 +393,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -406,12 +411,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
if (flag || this.emptyTime++ < 300) {
gameprofilerfiller.push("entities");
@ -256,7 +256,7 @@ index d6aae074c7..95f6db3de8 100644
this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) {
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
@@ -420,6 +427,8 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -438,6 +445,8 @@ public class WorldServer extends World implements GeneratorAccessSeed {
}
}
});
@ -265,7 +265,7 @@ index d6aae074c7..95f6db3de8 100644
gameprofilerfiller.pop();
this.tickBlockEntities();
}
@@ -818,6 +827,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -836,6 +845,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
}
public void tickNonPassenger(Entity entity) {
@ -273,7 +273,7 @@ index d6aae074c7..95f6db3de8 100644
entity.setOldPosAndRot();
GameProfilerFiller gameprofilerfiller = this.getProfiler();
@@ -836,6 +846,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -854,6 +864,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
this.tickPassenger(entity, entity1);
}
@ -282,10 +282,10 @@ index d6aae074c7..95f6db3de8 100644
}
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index 969375b710..fea0d0c474 100644
index ca9f69cbe..d863811db 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -339,6 +339,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@@ -340,6 +340,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@Override
public void tick() {
@ -293,7 +293,7 @@ index 969375b710..fea0d0c474 100644
if (this.ackBlockChangesUpTo > -1) {
this.send(new ClientboundBlockChangedAckPacket(this.ackBlockChangesUpTo));
this.ackBlockChangesUpTo = -1;
@@ -419,6 +420,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@@ -420,6 +421,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
this.disconnect(IChatBaseComponent.translatable("multiplayer.disconnect.idling"));
}
@ -327,7 +327,7 @@ index 969375b710..fea0d0c474 100644
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index f8a9278b83..d0c831d791 100644
index 915f981d1..a4d0c7e9c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -136,6 +136,7 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent;
@ -338,7 +338,7 @@ index f8a9278b83..d0c831d791 100644
import org.bukkit.event.entity.EntityCombustByEntityEvent;
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
@@ -304,6 +305,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
@@ -308,6 +309,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
public boolean lastDamageCancelled; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
public boolean persistentInvisibility = false;
public BlockPosition lastLavaContact;
@ -346,7 +346,7 @@ index f8a9278b83..d0c831d791 100644
public float getBukkitYaw() {
return this.yRot;
@@ -734,6 +736,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
@@ -785,6 +787,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
}
public void move(EnumMoveType enummovetype, Vec3D vec3d) {
@ -354,19 +354,19 @@ index f8a9278b83..d0c831d791 100644
if (this.noPhysics) {
this.setPos(this.getX() + vec3d.x, this.getY() + vec3d.y, this.getZ() + vec3d.z);
} else {
@@ -897,6 +900,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
this.level.getProfiler().pop();
@@ -945,6 +948,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
this.level().getProfiler().pop();
}
}
+ org.bukkit.craftbukkit.SpigotTimings.entityMoveTimer.stopTiming(); // Spigot
}
protected boolean isHorizontalCollisionMinor(Vec3D vec3d) {
private boolean isStateClimbable(IBlockData iblockdata) {
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
index 2a733f8eb9..34603fe88f 100644
index e70bf3394..a1a7552ea 100644
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
@@ -141,6 +141,8 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -143,6 +143,8 @@ import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
// CraftBukkit end
@ -375,7 +375,7 @@ index 2a733f8eb9..34603fe88f 100644
public abstract class EntityLiving extends Entity implements Attackable {
private static final Logger LOGGER = LogUtils.getLogger();
@@ -2797,6 +2799,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -2836,6 +2838,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@Override
public void tick() {
@ -383,7 +383,7 @@ index 2a733f8eb9..34603fe88f 100644
super.tick();
this.updatingUsingItem();
this.updateSwimAmount();
@@ -2838,7 +2841,9 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -2877,7 +2880,9 @@ public abstract class EntityLiving extends Entity implements Attackable {
}
if (!this.isRemoved()) {
@ -393,7 +393,7 @@ index 2a733f8eb9..34603fe88f 100644
}
double d0 = this.getX() - this.xo;
@@ -2921,6 +2926,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -2960,6 +2965,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
this.setXRot(0.0F);
}
@ -401,48 +401,50 @@ index 2a733f8eb9..34603fe88f 100644
}
public void detectEquipmentUpdates() {
@@ -3098,6 +3104,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -3137,6 +3143,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
this.setDeltaMovement(d4, d5, d6);
this.level.getProfiler().push("ai");
this.level().getProfiler().push("ai");
+ SpigotTimings.timerEntityAI.startTiming(); // Spigot
if (this.isImmobile()) {
this.jumping = false;
this.xxa = 0.0F;
@@ -3107,6 +3114,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -3146,6 +3153,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
this.serverAiStep();
this.level.getProfiler().pop();
this.level().getProfiler().pop();
}
+ SpigotTimings.timerEntityAI.stopTiming(); // Spigot
this.level.getProfiler().pop();
this.level.getProfiler().push("jump");
@@ -3143,11 +3151,13 @@ public abstract class EntityLiving extends Entity implements Attackable {
EntityLiving entityliving = this.getControllingPassenger();
Vec3D vec3d1 = new Vec3D((double) this.xxa, (double) this.yya, (double) this.zza);
this.level().getProfiler().pop();
this.level().getProfiler().push("jump");
@@ -3185,6 +3193,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
this.resetFallDistance();
}
+ SpigotTimings.timerEntityAIMove.startTiming(); // Spigot
if (entityliving != null && this.isAlive()) {
this.travelRidden(entityliving, vec3d1);
} else {
label104:
{
EntityLiving entityliving = this.getControllingPassenger();
@@ -3200,6 +3209,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
this.travel(vec3d1);
}
+ SpigotTimings.timerEntityAIMove.stopTiming(); // Spigot
this.level.getProfiler().pop();
this.level.getProfiler().push("freezing");
@@ -3174,7 +3184,9 @@ public abstract class EntityLiving extends Entity implements Attackable {
this.level().getProfiler().pop();
this.level().getProfiler().push("freezing");
@@ -3226,7 +3236,9 @@ public abstract class EntityLiving extends Entity implements Attackable {
this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox());
}
+ SpigotTimings.timerEntityAICollision.startTiming(); // Spigot
this.pushEntities();
+ SpigotTimings.timerEntityAICollision.stopTiming(); // Spigot
this.level.getProfiler().pop();
if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
this.level().getProfiler().pop();
if (!this.level().isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
this.hurt(this.damageSources().drown(), 1.0F);
diff --git a/src/main/java/net/minecraft/world/level/SpawnerCreature.java b/src/main/java/net/minecraft/world/level/SpawnerCreature.java
index ec3287eacb..133022bf79 100644
index ec3287eac..133022bf7 100644
--- a/src/main/java/net/minecraft/world/level/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/world/level/SpawnerCreature.java
@@ -117,6 +117,7 @@ public final class SpawnerCreature {
@ -462,7 +464,7 @@ index ec3287eacb..133022bf79 100644
}
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
index 130a7e8621..2702eeecf6 100644
index 8610cb15f..9b786aff0 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -88,6 +88,7 @@ import org.bukkit.Bukkit;
@ -473,7 +475,7 @@ index 130a7e8621..2702eeecf6 100644
import org.bukkit.craftbukkit.block.CapturedBlockState;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
import org.bukkit.craftbukkit.util.CraftSpawnCategory;
@@ -156,6 +157,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -155,6 +156,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public boolean populating;
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
@ -482,7 +484,7 @@ index 130a7e8621..2702eeecf6 100644
public CraftWorld getWorld() {
return this.world;
}
@@ -247,6 +250,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -246,6 +249,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public void onBorderSetDamageSafeZOne(WorldBorder worldborder, double d0) {}
});
// CraftBukkit end
@ -490,7 +492,7 @@ index 130a7e8621..2702eeecf6 100644
}
@Override
@@ -625,12 +629,15 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -618,12 +622,15 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
GameProfilerFiller gameprofilerfiller = this.getProfiler();
gameprofilerfiller.push("blockEntities");
@ -506,7 +508,7 @@ index 130a7e8621..2702eeecf6 100644
Iterator iterator = this.blockEntityTickers.iterator();
while (iterator.hasNext()) {
@@ -643,13 +650,16 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -636,13 +643,16 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
}
@ -524,7 +526,7 @@ index 130a7e8621..2702eeecf6 100644
CrashReport crashreport = CrashReport.forThrowable(throwable, "Ticking entity");
CrashReportSystemDetails crashreportsystemdetails = crashreport.addCategory("Entity being ticked");
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java
index 78917dee2a..2567926c51 100644
index 78917dee2..2567926c5 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java
@@ -21,8 +21,11 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry;
@ -540,10 +542,10 @@ index 78917dee2a..2567926c51 100644
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
public CraftPersistentDataContainer persistentDataContainer;
diff --git a/src/main/java/net/minecraft/world/level/chunk/Chunk.java b/src/main/java/net/minecraft/world/level/chunk/Chunk.java
index 3b802bc300..30b01c264b 100644
index 13a9722f5..0d269207a 100644
--- a/src/main/java/net/minecraft/world/level/chunk/Chunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/Chunk.java
@@ -887,6 +887,7 @@ public class Chunk extends IChunkAccess {
@@ -882,6 +882,7 @@ public class Chunk extends IChunkAccess {
GameProfilerFiller gameprofilerfiller = Chunk.this.level.getProfiler();
gameprofilerfiller.push(this::getType);
@ -551,7 +553,7 @@ index 3b802bc300..30b01c264b 100644
IBlockData iblockdata = Chunk.this.getBlockState(blockposition);
if (this.blockEntity.getType().isValid(iblockdata)) {
@@ -904,6 +905,10 @@ public class Chunk extends IChunkAccess {
@@ -899,6 +900,10 @@ public class Chunk extends IChunkAccess {
this.blockEntity.fillCrashReportCategory(crashreportsystemdetails);
throw new ReportedException(crashreport);
@ -563,10 +565,10 @@ index 3b802bc300..30b01c264b 100644
}
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java
index b5f0b9753f..080e081ffa 100644
index 570f62854..c66df1e7a 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java
@@ -512,10 +512,13 @@ public class ChunkRegionLoader {
@@ -483,10 +483,13 @@ public class ChunkRegionLoader {
NBTTagList nbttaglist1 = getListOfCompoundsOrNull(nbttagcompound, "block_entities");
return nbttaglist == null && nbttaglist1 == null ? null : (chunk) -> {
@ -580,7 +582,7 @@ index b5f0b9753f..080e081ffa 100644
if (nbttaglist1 != null) {
for (int i = 0; i < nbttaglist1.size(); ++i) {
NBTTagCompound nbttagcompound1 = nbttaglist1.getCompound(i);
@@ -533,6 +536,7 @@ public class ChunkRegionLoader {
@@ -504,6 +507,7 @@ public class ChunkRegionLoader {
}
}
}
@ -589,10 +591,10 @@ index b5f0b9753f..080e081ffa 100644
};
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 653f3fcd51..65395273d5 100644
index 79f46d27e..c347fb595 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2317,6 +2317,11 @@ public final class CraftServer implements Server {
@@ -2335,6 +2335,11 @@ public final class CraftServer implements Server {
private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
{
@ -606,7 +608,7 @@ index 653f3fcd51..65395273d5 100644
public org.bukkit.Server.Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
new file mode 100644
index 0000000000..aff7b6b438
index 000000000..aff7b6b43
--- /dev/null
+++ b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
@@ -0,0 +1,160 @@
@ -771,7 +773,7 @@ index 0000000000..aff7b6b438
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
index cd43b45516..4f8a30657e 100644
index cd43b4551..4f8a30657 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -411,7 +411,9 @@ public class CraftScheduler implements BukkitScheduler {
@ -785,7 +787,7 @@ index cd43b45516..4f8a30657e 100644
task.getOwner().getLogger().log(
Level.WARNING,
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
index c885bc7443..70794669ff 100644
index c885bc744..70794669f 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
@@ -5,7 +5,10 @@ import org.bukkit.Bukkit;

View file

@ -1,4 +1,4 @@
From 29e82608849bf00182965c315cef81997b513a9c Mon Sep 17 00:00:00 2001
From 01e700a0691207ed8a1a450d4dd23771172d9563 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 21 Jun 2013 17:29:54 +1000
Subject: [PATCH] Fix Mob Spawning Relative to View Distance
@ -8,10 +8,10 @@ Changes the mob spawning algorithm to properly account for view distance and the
Needs better documentation.
diff --git a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
index 5700a3318..274112171 100644
index b34aa8eab..703eb2009 100644
--- a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
@@ -442,7 +442,7 @@ public class ChunkProviderServer extends IChunkProvider {
@@ -443,7 +443,7 @@ public class ChunkProviderServer extends IChunkProvider {
if (this.level.isNaturalSpawningAllowed(chunkcoordintpair) && this.chunkMap.anyPlayerCloseEnoughForSpawning(chunkcoordintpair)) {
chunk1.incrementInhabitedTime(j);
@ -21,10 +21,10 @@ index 5700a3318..274112171 100644
}
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
index e1353632b..b05efe366 100644
index 0fea38250..8458f86c3 100644
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
@@ -1084,6 +1084,17 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
@@ -1104,6 +1104,17 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
boolean anyPlayerCloseEnoughForSpawning(ChunkCoordIntPair chunkcoordintpair) {
@ -42,7 +42,7 @@ index e1353632b..b05efe366 100644
long i = chunkcoordintpair.toLong();
if (!this.distanceManager.hasPlayersNearby(i)) {
@@ -1099,7 +1110,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
@@ -1119,7 +1130,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
entityplayer = (EntityPlayer) iterator.next();
@ -51,7 +51,7 @@ index e1353632b..b05efe366 100644
return true;
}
@@ -1117,7 +1128,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
@@ -1137,7 +1148,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
while (iterator.hasNext()) {
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
@ -60,7 +60,7 @@ index e1353632b..b05efe366 100644
builder.add(entityplayer);
}
}
@@ -1126,13 +1137,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
@@ -1146,13 +1157,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
}
@ -93,5 +93,5 @@ index acaf90301..0c0c29efe 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 68d6ccce5188665408f63fd5d9f4fe32dfed982d Mon Sep 17 00:00:00 2001
From 85b044d15aca914fae2a784da14fa156a1030f44 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 3 Feb 2013 09:20:19 +1100
Subject: [PATCH] Handle Null Tile Entities
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
index 2702eeecf..0493e322d 100644
index 9b786aff0..fa0391b5e 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -642,6 +642,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -635,6 +635,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
while (iterator.hasNext()) {
TickingBlockEntity tickingblockentity = (TickingBlockEntity) iterator.next();
@ -23,5 +23,5 @@ index 2702eeecf..0493e322d 100644
if (tickingblockentity.isRemoved()) {
iterator.remove();
--
2.40.0
2.40.1

View file

@ -1,28 +1,28 @@
From 91149cb7124e9894f56d0d6d2f53dce4700309a0 Mon Sep 17 00:00:00 2001
From 496db398eab989dc73d4e836bd61c1bd2743f80c Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 22 Sep 2013 19:10:53 +1000
Subject: [PATCH] Item Despawn Rate
diff --git a/src/main/java/net/minecraft/world/entity/item/EntityItem.java b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
index 09675bf4d..b021444df 100644
index 0ee3d963c..50045178c 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
@@ -187,7 +187,7 @@ public class EntityItem extends Entity implements TraceableEntity {
}
}
- if (!this.level.isClientSide && this.age >= 6000) {
+ if (!this.level.isClientSide && this.age >= level.spigotConfig.itemDespawnRate) { // Spigot
- if (!this.level().isClientSide && this.age >= 6000) {
+ if (!this.level().isClientSide && this.age >= this.level().spigotConfig.itemDespawnRate) { // Spigot
// CraftBukkit start - fire ItemDespawnEvent
if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) {
this.age = 0;
@@ -509,7 +509,7 @@ public class EntityItem extends Entity implements TraceableEntity {
@@ -513,7 +513,7 @@ public class EntityItem extends Entity implements TraceableEntity {
public void makeFakeItem() {
this.setNeverPickUp();
- this.age = 5999;
+ this.age = level.spigotConfig.itemDespawnRate - 1; // Spigot
+ this.age = this.level().spigotConfig.itemDespawnRate - 1; // Spigot
}
public float getSpin(float f) {
@ -43,5 +43,5 @@ index 0c0c29efe..e3682d28c 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 9d60a0e7209a72ad4a8d0254762bafd158dd4415 Mon Sep 17 00:00:00 2001
From 97f6abd93cca20f1c0c5bdf5474a07be76975209 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 3 Feb 2013 05:10:21 -0500
Subject: [PATCH] Entity Activation Range
@ -9,10 +9,10 @@ This will drastically cut down on tick timings for entities that are not in rang
This change can have dramatic impact on gameplay if configured too low. Balance according to your servers desired gameplay.
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index 95f6db3de..21f1fbecf 100644
index dc84b6954..52957c25e 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -400,6 +400,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -418,6 +418,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
gameprofilerfiller.pop();
}
@ -20,7 +20,7 @@ index 95f6db3de..21f1fbecf 100644
timings.entityTick.startTiming(); // Spigot
this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) {
@@ -827,6 +828,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -845,6 +846,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
}
public void tickNonPassenger(Entity entity) {
@ -35,10 +35,10 @@ index 95f6db3de..21f1fbecf 100644
entity.setOldPosAndRot();
GameProfilerFiller gameprofilerfiller = this.getProfiler();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index d0c831d79..4cd20df28 100644
index a4d0c7e9c..84b17c7a1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -306,6 +306,12 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
@@ -310,6 +310,12 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
public boolean persistentInvisibility = false;
public BlockPosition lastLavaContact;
public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot
@ -51,7 +51,7 @@ index d0c831d79..4cd20df28 100644
public float getBukkitYaw() {
return this.yRot;
@@ -341,6 +347,13 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
@@ -347,6 +353,13 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
this.position = Vec3D.ZERO;
this.blockPosition = BlockPosition.ZERO;
this.chunkPosition = ChunkCoordIntPair.ZERO;
@ -66,7 +66,7 @@ index d0c831d79..4cd20df28 100644
this.entityData.define(Entity.DATA_SHARED_FLAGS_ID, (byte) 0);
this.entityData.define(Entity.DATA_AIR_SUPPLY_ID, this.getMaxAirSupply());
diff --git a/src/main/java/net/minecraft/world/entity/EntityAgeable.java b/src/main/java/net/minecraft/world/entity/EntityAgeable.java
index d3ae0b7d7..dd85a63bb 100644
index bd2e7ba4e..a64ea7677 100644
--- a/src/main/java/net/minecraft/world/entity/EntityAgeable.java
+++ b/src/main/java/net/minecraft/world/entity/EntityAgeable.java
@@ -26,6 +26,31 @@ public abstract class EntityAgeable extends EntityCreature {
@ -78,7 +78,7 @@ index d3ae0b7d7..dd85a63bb 100644
+ public void inactiveTick()
+ {
+ super.inactiveTick();
+ if ( this.level.isClientSide || this.ageLocked )
+ if ( this.level().isClientSide || this.ageLocked )
+ { // CraftBukkit
+ this.refreshDimensions();
+ } else
@ -102,7 +102,7 @@ index d3ae0b7d7..dd85a63bb 100644
public GroupDataEntity finalizeSpawn(WorldAccess worldaccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @Nullable GroupDataEntity groupdataentity, @Nullable NBTTagCompound nbttagcompound) {
if (groupdataentity == null) {
diff --git a/src/main/java/net/minecraft/world/entity/EntityAreaEffectCloud.java b/src/main/java/net/minecraft/world/entity/EntityAreaEffectCloud.java
index e351f2d81..85edf3694 100644
index 1459e28ea..a32d71ac5 100644
--- a/src/main/java/net/minecraft/world/entity/EntityAreaEffectCloud.java
+++ b/src/main/java/net/minecraft/world/entity/EntityAreaEffectCloud.java
@@ -184,6 +184,18 @@ public class EntityAreaEffectCloud extends Entity implements TraceableEntity {
@ -125,10 +125,10 @@ index e351f2d81..85edf3694 100644
public void tick() {
super.tick();
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
index 34603fe88..7045e15a7 100644
index a1a7552ea..1cc26fad9 100644
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
@@ -264,6 +264,13 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -267,6 +267,13 @@ public abstract class EntityLiving extends Entity implements Attackable {
return getYHeadRot();
}
// CraftBukkit end
@ -143,7 +143,7 @@ index 34603fe88..7045e15a7 100644
protected EntityLiving(EntityTypes<? extends EntityLiving> entitytypes, World world) {
super(entitytypes, world);
diff --git a/src/main/java/net/minecraft/world/entity/item/EntityItem.java b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
index b021444df..5336fa003 100644
index 50045178c..effde300b 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
@@ -200,6 +200,28 @@ public class EntityItem extends Entity implements TraceableEntity {
@ -160,7 +160,7 @@ index b021444df..5336fa003 100644
+ this.lastTick = MinecraftServer.currentTick;
+ // CraftBukkit end
+
+ if (!this.level.isClientSide && this.age >= level.spigotConfig.itemDespawnRate) { // Spigot
+ if (!this.level().isClientSide && this.age >= this.level().spigotConfig.itemDespawnRate) { // Spigot
+ // CraftBukkit start - fire ItemDespawnEvent
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) {
+ this.age = 0;
@ -172,14 +172,14 @@ index b021444df..5336fa003 100644
+ }
+ // Spigot end
+
private void setUnderwaterMovement() {
Vec3D vec3d = this.getDeltaMovement();
@Override
protected BlockPosition getBlockPosBelowThatAffectsMyMovement() {
return this.getOnPos(0.999999F);
diff --git a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
index ad3d4095e..fa46221cc 100644
index dd707be5b..de4917c70 100644
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
@@ -222,6 +222,17 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -223,6 +223,17 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
return this.assignProfessionWhenSpawned;
}
@ -187,7 +187,7 @@ index ad3d4095e..fa46221cc 100644
+ @Override
+ public void inactiveTick() {
+ // SPIGOT-3874, SPIGOT-3894, SPIGOT-3846, SPIGOT-5286 :(
+ if (level.spigotConfig.tickInactiveVillagers && this.isEffectiveAi()) {
+ if (this.level().spigotConfig.tickInactiveVillagers && this.isEffectiveAi()) {
+ this.customServerAiStep();
+ }
+ super.inactiveTick();
@ -196,9 +196,9 @@ index ad3d4095e..fa46221cc 100644
+
@Override
protected void customServerAiStep() {
this.level.getProfiler().push("villagerBrain");
this.level().getProfiler().push("villagerBrain");
diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java b/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
index 65fb55fda..b215f9ed7 100644
index bc1631f02..0a1d35692 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
@@ -75,6 +75,18 @@ public abstract class EntityArrow extends IProjectile {
@ -221,7 +221,7 @@ index 65fb55fda..b215f9ed7 100644
super(entitytypes, world);
this.pickup = EntityArrow.PickupStatus.DISALLOWED;
diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityFireworks.java b/src/main/java/net/minecraft/world/entity/projectile/EntityFireworks.java
index b9851be64..3e2e1f07f 100644
index 543a3ff08..bed9e8f60 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityFireworks.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityFireworks.java
@@ -80,6 +80,22 @@ public class EntityFireworks extends IProjectile implements ItemSupplier {
@ -233,7 +233,7 @@ index b9851be64..3e2e1f07f 100644
+ public void inactiveTick() {
+ this.life += 1;
+
+ if (!this.level.isClientSide && this.life > this.lifetime) {
+ if (!this.level().isClientSide && this.life > this.lifetime) {
+ // CraftBukkit start
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callFireworkExplodeEvent(this).isCancelled()) {
+ this.explode();
@ -263,7 +263,7 @@ index aff7b6b43..d3328a695 100644
public static final HashMap<String, CustomTimingsHandler> pluginTaskTimingMap = new HashMap<String, CustomTimingsHandler>();
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
new file mode 100644
index 000000000..1939b9856
index 000000000..adc48318e
--- /dev/null
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -0,0 +1,262 @@
@ -443,7 +443,7 @@ index 000000000..1939b9856
+ }
+ if ( !( entity instanceof EntityArrow ) )
+ {
+ if ( !entity.isOnGround() || !entity.passengers.isEmpty() || entity.isPassenger() )
+ if ( !entity.onGround() || !entity.passengers.isEmpty() || entity.isPassenger() )
+ {
+ return true;
+ }
@ -556,5 +556,5 @@ index e3682d28c..936279b5f 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From e95de192ba0fcb43cd8d753d347390a83b3f64ea Mon Sep 17 00:00:00 2001
From 3fa889ffad8ff4e1d899c1f0c0b0dcd8f146fdc2 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 23 Feb 2013 08:58:35 +1100
Subject: [PATCH] Metrics
@ -683,5 +683,5 @@ index 9ee0b4a1e..7f14cbc63 100644
static void readConfig(Class<?> clazz, Object instance)
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From f23674e95c4867b96b114e7501d82b6af1b46d3f Mon Sep 17 00:00:00 2001
From b8f416c0827c11bd4eb0d46db56958c9fdad9203 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 20 Feb 2013 11:58:47 -0500
Subject: [PATCH] Entity Tracking Ranges
@ -12,10 +12,10 @@ This has multiple benefits:
4) Less client lag - Not trying to render distant item frames and paintings and entities will reduce entity count on the client, which is major for shop/town worlds which may use tons of item frames.
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
index b05efe366..299724c49 100644
index 8458f86c3..034f4416e 100644
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
@@ -1307,6 +1307,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
@@ -1328,6 +1328,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
if (!(entity instanceof EntityComplexPart)) {
EntityTypes<?> entitytypes = entity.getType();
int i = entitytypes.clientTrackingRange() * 16;
@ -51,7 +51,7 @@ index 936279b5f..ab984b210 100644
}
diff --git a/src/main/java/org/spigotmc/TrackingRange.java b/src/main/java/org/spigotmc/TrackingRange.java
new file mode 100644
index 000000000..c7a2d8fe7
index 000000000..7121ffcd8
--- /dev/null
+++ b/src/main/java/org/spigotmc/TrackingRange.java
@@ -0,0 +1,59 @@
@ -83,7 +83,7 @@ index 000000000..c7a2d8fe7
+ {
+ return defaultRange;
+ }
+ SpigotWorldConfig config = entity.level.spigotConfig;
+ SpigotWorldConfig config = entity.level().spigotConfig;
+ if ( entity instanceof EntityPlayer )
+ {
+ return config.playerTrackingRange;
@ -115,5 +115,5 @@ index 000000000..c7a2d8fe7
+ }
+}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From d45c9c5f5795b1e228340591bec3972f90a2141f Mon Sep 17 00:00:00 2001
From fe78a4ab7f7784e16b6d248408740cb78d54c7a9 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 19 May 2013 18:29:48 +1000
Subject: [PATCH] Remove -o Option
@ -6,10 +6,10 @@ Subject: [PATCH] Remove -o Option
Serves no purpose other than to confuse users.
diff --git a/src/main/java/net/minecraft/server/dedicated/PropertyManager.java b/src/main/java/net/minecraft/server/dedicated/PropertyManager.java
index cdc68f156..3c0ca6471 100644
index 870e22a52..419d09c4a 100644
--- a/src/main/java/net/minecraft/server/dedicated/PropertyManager.java
+++ b/src/main/java/net/minecraft/server/dedicated/PropertyManager.java
@@ -33,7 +33,7 @@ public abstract class PropertyManager<T extends PropertyManager<T>> {
@@ -39,7 +39,7 @@ public abstract class PropertyManager<T extends PropertyManager<T>> {
}
private String getOverride(String name, String value) {
@ -19,5 +19,5 @@ index cdc68f156..3c0ca6471 100644
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From eb229170b6c7515b20c3ce4def046ef557c767a8 Mon Sep 17 00:00:00 2001
From b685a562b777808425aff6dc7407d454e3a9522d Mon Sep 17 00:00:00 2001
From: erocs <github@erocs.org>
Date: Sun, 8 Sep 2013 12:06:15 -0700
Subject: [PATCH] Hopper Customisations
@ -6,7 +6,7 @@ Subject: [PATCH] Hopper Customisations
Allows editing hopper cooldowns and amount transferred per tick.
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntityHopper.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntityHopper.java
index e3c3930b5..c7eb41c2b 100644
index 39c0c9722..6cea69ce8 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntityHopper.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntityHopper.java
@@ -143,9 +143,14 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
@ -168,5 +168,5 @@ index ab984b210..cec948a05 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From 4edf382e52d22b3b491aaf248d46220e4f678d7a Mon Sep 17 00:00:00 2001
From ab4026d8b2c6930afa8b98a3c55c9f2ff2f34c0d Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 21 Jun 2013 18:01:29 +1000
Subject: [PATCH] Allow Disabling of Command Logging
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index fea0d0c474..40337329e7 100644
index d863811db..2c962632f 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -2103,6 +2103,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@ -17,7 +17,7 @@ index fea0d0c474..40337329e7 100644
CraftPlayer player = this.getCraftPlayer();
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 7f14cbc63b..bc9fbcc584 100644
index 7f14cbc63..bc9fbcc58 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -150,4 +150,10 @@ public class SpigotConfig

View file

@ -1,14 +1,14 @@
From 9f7d56cee2b178700d93e9211b3ef07fba9ab838 Mon Sep 17 00:00:00 2001
From 1d33ada770e6493a012f825c6cfebb9a4a2d7724 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 21 Jun 2013 18:05:54 +1000
Subject: [PATCH] Allow Disabling of Command TabComplete
diff --git a/src/main/java/net/minecraft/commands/CommandDispatcher.java b/src/main/java/net/minecraft/commands/CommandDispatcher.java
index 0b5f6b4023..7a1dc014e7 100644
index c04d308a2..6b85d4ae9 100644
--- a/src/main/java/net/minecraft/commands/CommandDispatcher.java
+++ b/src/main/java/net/minecraft/commands/CommandDispatcher.java
@@ -371,6 +371,7 @@ public class CommandDispatcher {
@@ -373,6 +373,7 @@ public class CommandDispatcher {
}
public void sendCommands(EntityPlayer entityplayer) {
@ -16,7 +16,7 @@ index 0b5f6b4023..7a1dc014e7 100644
// CraftBukkit start
// Register Vanilla commands into builtRoot as before
Map<CommandNode<CommandListenerWrapper>, CommandNode<ICompletionProvider>> map = Maps.newIdentityHashMap(); // Use identity to prevent aliasing issues
@@ -409,6 +410,7 @@ public class CommandDispatcher {
@@ -411,6 +412,7 @@ public class CommandDispatcher {
while (iterator.hasNext()) {
CommandNode<CommandListenerWrapper> commandnode2 = (CommandNode) iterator.next();
@ -25,10 +25,10 @@ index 0b5f6b4023..7a1dc014e7 100644
if (commandnode2.canUse(commandlistenerwrapper)) {
ArgumentBuilder argumentbuilder = commandnode2.createBuilder(); // CraftBukkit - decompile error
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 65395273d5..7b091fc64a 100644
index c347fb595..8cc73d378 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1965,6 +1965,13 @@ public final class CraftServer implements Server {
@@ -1983,6 +1983,13 @@ public final class CraftServer implements Server {
}
public List<String> tabCompleteCommand(Player player, String message, WorldServer world, Vec3D pos) {
@ -43,7 +43,7 @@ index 65395273d5..7b091fc64a 100644
try {
if (message.startsWith("/")) {
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index bc9fbcc584..fc352ecf10 100644
index bc9fbcc58..fc352ecf1 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -156,4 +156,23 @@ public class SpigotConfig

View file

@ -1,11 +1,11 @@
From a8cafbf6616ba58bb9b7c912eda4532cf84e4cc0 Mon Sep 17 00:00:00 2001
From a87f81d23f0baeab7103642729e735b22bb8040e Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 21 Jun 2013 19:21:58 +1000
Subject: [PATCH] Configurable Messages
diff --git a/src/main/java/net/minecraft/server/network/HandshakeListener.java b/src/main/java/net/minecraft/server/network/HandshakeListener.java
index 753de5b0a2..3a9ac2a831 100644
index 4c79b0f0b..587e00148 100644
--- a/src/main/java/net/minecraft/server/network/HandshakeListener.java
+++ b/src/main/java/net/minecraft/server/network/HandshakeListener.java
@@ -75,9 +75,9 @@ public class HandshakeListener implements PacketHandshakingInListener {
@ -21,10 +21,10 @@ index 753de5b0a2..3a9ac2a831 100644
this.connection.send(new PacketLoginOutDisconnect(ichatmutablecomponent));
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index ef05008c71..6751019726 100644
index 958c7f395..2c4b6d960 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -603,7 +603,7 @@ public abstract class PlayerList {
@@ -610,7 +610,7 @@ public abstract class PlayerList {
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, CraftChatMessage.fromComponent(ichatmutablecomponent));
} else if (!this.isWhiteListed(gameprofile)) {
ichatmutablecomponent = IChatBaseComponent.translatable("multiplayer.disconnect.not_whitelisted");
@ -33,7 +33,7 @@ index ef05008c71..6751019726 100644
} else if (getIpBans().isBanned(socketaddress) && !getIpBans().get(socketaddress).hasExpired()) {
IpBanEntry ipbanentry = this.ipBans.get(socketaddress);
@@ -617,7 +617,7 @@ public abstract class PlayerList {
@@ -624,7 +624,7 @@ public abstract class PlayerList {
} else {
// return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null;
if (this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile)) {
@ -43,10 +43,10 @@ index ef05008c71..6751019726 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 7b091fc64a..b2bf396e35 100644
index 8cc73d378..ed2d4939b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -825,11 +825,11 @@ public final class CraftServer implements Server {
@@ -845,11 +845,11 @@ public final class CraftServer implements Server {
return true;
}
@ -63,7 +63,7 @@ index 7b091fc64a..b2bf396e35 100644
return false;
}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index fc352ecf10..8ad8b25894 100644
index fc352ecf1..8ad8b2589 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -12,6 +12,7 @@ import java.util.Map;

View file

@ -1,4 +1,4 @@
From 7554c9d7defbf3df444055874ff5b660fa167c64 Mon Sep 17 00:00:00 2001
From 75dec40efdc820d4d286f2dd085990ad1b7ec9d9 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Thu, 27 Jun 2013 17:26:09 +1000
Subject: [PATCH] Properly Close Inventories
@ -6,10 +6,10 @@ Subject: [PATCH] Properly Close Inventories
Properly close inventories when unloading and switching worlds.
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index 21f1fbecf..c1a418351 100644
index 52957c25e..a7a90e899 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -1088,6 +1088,15 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -1106,6 +1106,15 @@ public class WorldServer extends World implements GeneratorAccessSeed {
}
public void unload(Chunk chunk) {
@ -25,7 +25,7 @@ index 21f1fbecf..c1a418351 100644
chunk.clearAllBlockEntities();
chunk.unregisterTickContainerFromLevel(this);
}
@@ -1979,6 +1988,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -2005,6 +2014,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
public void onTrackingEnd(Entity entity) {
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
@ -40,5 +40,5 @@ index 21f1fbecf..c1a418351 100644
if (entity instanceof EntityPlayer) {
EntityPlayer entityplayer = (EntityPlayer) entity;
--
2.40.0
2.40.1

View file

@ -1,16 +1,16 @@
From 125bab1561e5e5fc1b54af72e715375221f4921d Mon Sep 17 00:00:00 2001
From 96c5aa4fb292bb8316cbe7558beaa8889fc819ac Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 28 Jun 2013 19:52:54 +1000
Subject: [PATCH] Disallow Interaction With Self
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index 40337329e7..caf60de3a2 100644
index 2c962632f..e4b863556 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -2343,6 +2343,13 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
if (this.player.isImmobile()) return; // CraftBukkit
final WorldServer worldserver = this.player.getLevel();
final WorldServer worldserver = this.player.serverLevel();
final Entity entity = packetplayinuseentity.getTarget(worldserver);
+ // Spigot Start
+ if ( entity == player && !player.isSpectator() )

View file

@ -1,14 +1,14 @@
From edab2c3173d7357505698991b7efd5872b0e57e3 Mon Sep 17 00:00:00 2001
From 0e30614b2140e701cdb280b7d8bbf9f30cd0897e Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 27 Feb 2016 10:07:58 +1100
Subject: [PATCH] Entity Mount and Dismount Events
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 4cd20df28..c9f2ac3b6 100644
index 84b17c7a1..912cade1c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2263,6 +2263,16 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
@@ -2382,6 +2382,16 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
}
}
// CraftBukkit end
@ -25,7 +25,7 @@ index 4cd20df28..c9f2ac3b6 100644
if (this.passengers.isEmpty()) {
this.passengers = ImmutableList.of(entity);
} else {
@@ -2305,6 +2315,16 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
@@ -2424,6 +2434,16 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
}
}
// CraftBukkit end
@ -43,5 +43,5 @@ index 4cd20df28..c9f2ac3b6 100644
this.passengers = ImmutableList.of();
} else {
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 6b38bf193e305f2c6fb8813a78f224e48b4d3e44 Mon Sep 17 00:00:00 2001
From 7efba5ec8f47c3d96b8b33cd5480211e12a73505 Mon Sep 17 00:00:00 2001
From: Alex Ciuba <alexciuba@gmail.com>
Date: Tue, 11 Jun 2013 15:23:03 -0400
Subject: [PATCH] Prevent Ghost Players Caused by Plugins
@ -6,10 +6,10 @@ Subject: [PATCH] Prevent Ghost Players Caused by Plugins
Check if the player is still connected after firing event. Fixes BUKKIT-4327
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 428979dc4..907dfd29b 100644
index 2c4b6d960..c08461b7f 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -752,6 +752,11 @@ public abstract class PlayerList {
@@ -759,6 +759,11 @@ public abstract class PlayerList {
Player respawnPlayer = entityplayer1.getBukkitEntity();
PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !flag2, flag2, reason);
cserver.getPluginManager().callEvent(respawnEvent);
@ -22,5 +22,5 @@ index 428979dc4..907dfd29b 100644
location = respawnEvent.getRespawnLocation();
if (!flag) entityplayer.reset(); // SPIGOT-4785
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 64ce8fc8c9ecf3fbdb1daeb93a351bcf97d67279 Mon Sep 17 00:00:00 2001
From 4ac5eb0969924292b8a6d6e247bfc27fdb73f1f6 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 27 Mar 2016 20:35:09 +1100
Subject: [PATCH] Player Collision API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 0871323759..d5914ce796 100644
index 8fd17dfad..1d56ecdbd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2116,6 +2116,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2122,6 +2122,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Spigot start
private final Player.Spigot spigot = new Player.Spigot()
{

View file

@ -1,14 +1,14 @@
From fc849edbccb2ed61829fffa72be55ec5be64535f Mon Sep 17 00:00:00 2001
From 388ff850d7e1b841f213912779499e567ab735df Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 6 Oct 2013 17:36:28 +1100
Subject: [PATCH] Don't Special Case X Move Value
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index 5f171b3c8..28ea67e38 100644
index e4b863556..137ae32ab 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -331,6 +331,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@@ -332,6 +332,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
private float lastPitch = Float.MAX_VALUE;
private float lastYaw = Float.MAX_VALUE;
private boolean justTeleported = false;
@ -16,7 +16,7 @@ index 5f171b3c8..28ea67e38 100644
public CraftPlayer getCraftPlayer() {
return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity();
@@ -623,6 +624,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@@ -632,6 +633,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
flag2 = true;
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", new Object[]{entity.getName().getString(), this.player.getName().getString(), Math.sqrt(d10)});
}
@ -24,7 +24,7 @@ index 5f171b3c8..28ea67e38 100644
entity.absMoveTo(d3, d4, d5, f, f1);
player.absMoveTo(d3, d4, d5, this.player.getYRot(), this.player.getXRot()); // CraftBukkit
@@ -637,6 +639,17 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@@ -646,6 +648,17 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
// CraftBukkit start - fire PlayerMoveEvent
Player player = this.getCraftPlayer();
@ -42,7 +42,7 @@ index 5f171b3c8..28ea67e38 100644
Location from = new Location(player.getWorld(), lastPosX, lastPosY, lastPosZ, lastYaw, lastPitch); // Get the Players previous Event location.
Location to = player.getLocation().clone(); // Start off the To location as the Players current location.
@@ -662,7 +675,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@@ -671,7 +684,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
this.lastPitch = to.getPitch();
// Skip the first time we do this
@ -52,5 +52,5 @@ index 5f171b3c8..28ea67e38 100644
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
this.cserver.getPluginManager().callEvent(event);
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 39ebff7fb1e402aadc9de612b03c0cb749179dcd Mon Sep 17 00:00:00 2001
From 995e32da37b22f0b759006b72940bbbf5588f890 Mon Sep 17 00:00:00 2001
From: ninja- <xninja@openmailbox.org>
Date: Tue, 8 Oct 2013 14:34:49 +0200
Subject: [PATCH] Implement respawn API.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index d5914ce796..9408f8cc56 100644
index 1d56ecdbd..e4044435b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2126,6 +2126,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2132,6 +2132,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setCollidesWithEntities(boolean collides) {
CraftPlayer.this.setCollidable(collides);
}
@ -18,7 +18,7 @@ index d5914ce796..9408f8cc56 100644
+ {
+ if ( getHealth() <= 0 && isOnline() )
+ {
+ server.getServer().getPlayerList().respawn( getHandle(), false, RespawnReason.PLUGIN );
+ server.getServer().getPlayerList().respawn( getHandle(), false, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.PLUGIN );
+ }
+ }
};

View file

@ -1,11 +1,11 @@
From f17986b40fbc3ba9f96e8874638e3617a7f91a06 Mon Sep 17 00:00:00 2001
From 7352b246683add81df112076f998226e366f61d8 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Mon, 14 Oct 2013 19:20:10 +1100
Subject: [PATCH] Arrow Despawn Rate
diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java b/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
index b215f9ed7..6505b88c7 100644
index 0a1d35692..7f551fa46 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
@@ -314,7 +314,7 @@ public abstract class EntityArrow extends IProjectile {
@ -13,7 +13,7 @@ index b215f9ed7..6505b88c7 100644
protected void tickDespawn() {
++this.life;
- if (this.life >= 1200) {
+ if (this.life >= ((this instanceof EntityThrownTrident) ? level.spigotConfig.tridentDespawnRate : level.spigotConfig.arrowDespawnRate)) { // Spigot
+ if (this.life >= ((this instanceof EntityThrownTrident) ? this.level().spigotConfig.tridentDespawnRate : this.level().spigotConfig.arrowDespawnRate)) { // Spigot
this.discard();
}
@ -36,5 +36,5 @@ index cec948a05..4894096ae 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From e546406b29624a19222f0f2009af4fc6671b4f39 Mon Sep 17 00:00:00 2001
From 6b621eb10c7ebc91174ef35a539f097ad5293e13 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Tue, 5 Aug 2014 17:20:19 +0100
Subject: [PATCH] Watchdog Thread.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f4fb055c92..a8fb6af1a7 100644
index fbb3636f2..d954adfac 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1017,6 +1017,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1015,6 +1015,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.services.profileCache().clearExecutor();
}
@ -16,7 +16,7 @@ index f4fb055c92..a8fb6af1a7 100644
// CraftBukkit start - Restore terminal to original settings
try {
reader.getTerminal().restore();
@@ -1182,6 +1183,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1180,6 +1181,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.frameTimer.logFrameDuration(k - i);
this.profiler.pop();
@ -25,7 +25,7 @@ index f4fb055c92..a8fb6af1a7 100644
org.spigotmc.CustomTimingsHandler.tick(); // Spigot
}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 4c4986ea4b..29a1186cfe 100644
index 3f3d96894..7208f3b1c 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -260,7 +260,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -38,10 +38,10 @@ index 4c4986ea4b..29a1186cfe 100644
thread1.setUncaughtExceptionHandler(new ThreadNamedUncaughtExceptionHandler(DedicatedServer.LOGGER));
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b2bf396e35..65dfb37ba4 100644
index ed2d4939b..e747597b4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1932,7 +1932,7 @@ public final class CraftServer implements Server {
@@ -1950,7 +1950,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
@ -50,7 +50,7 @@ index b2bf396e35..65dfb37ba4 100644
}
@Override
@@ -2329,6 +2329,11 @@ public final class CraftServer implements Server {
@@ -2347,6 +2347,11 @@ public final class CraftServer implements Server {
{
return org.spigotmc.SpigotConfig.config;
}
@ -64,7 +64,7 @@ index b2bf396e35..65dfb37ba4 100644
public org.bukkit.Server.Spigot spigot()
diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java
new file mode 100644
index 0000000000..3f739e80ed
index 000000000..3f739e80e
--- /dev/null
+++ b/src/main/java/org/spigotmc/RestartCommand.java
@@ -0,0 +1,130 @@
@ -199,7 +199,7 @@ index 0000000000..3f739e80ed
+ }
+}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 8ad8b25894..130016282a 100644
index 8ad8b2589..130016282 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -200,4 +200,18 @@ public class SpigotConfig
@ -223,7 +223,7 @@ index 8ad8b25894..130016282a 100644
}
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
new file mode 100644
index 0000000000..4734d4ae83
index 000000000..4734d4ae8
--- /dev/null
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -0,0 +1,131 @@

View file

@ -1,4 +1,4 @@
From 792bc49f18e63485152db97dd8bfb43e579779dc Mon Sep 17 00:00:00 2001
From d4d604814f11eb6bdb8317382b8dd5b612d9424e Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Wed, 18 Dec 2013 13:32:10 +1100
Subject: [PATCH] Fire PreLogin Events in Offline Mode
@ -143,5 +143,5 @@ index c406943f1..40f03ce23 100644
this.disconnect(IChatBaseComponent.translatable("multiplayer.disconnect.unexpected_query_response"));
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 4ab171bf7e463693c06d443cf83571254669523e Mon Sep 17 00:00:00 2001
From 8106cab28af358f0038f1a495d6afad27b309612 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 1 Dec 2013 18:18:41 +1100
Subject: [PATCH] BungeeCord Support
@ -6,7 +6,7 @@ Subject: [PATCH] BungeeCord Support
Provides support for IP forwarding via BungeeCord.
diff --git a/src/main/java/net/minecraft/network/NetworkManager.java b/src/main/java/net/minecraft/network/NetworkManager.java
index 846150da76..9e8b1e9492 100644
index 1bd30dc70..29428de0b 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -76,6 +76,10 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -21,7 +21,7 @@ index 846150da76..9e8b1e9492 100644
private IChatBaseComponent disconnectedReason;
private boolean encrypted;
diff --git a/src/main/java/net/minecraft/network/protocol/handshake/PacketHandshakingInSetProtocol.java b/src/main/java/net/minecraft/network/protocol/handshake/PacketHandshakingInSetProtocol.java
index e992a972d5..786314a9b7 100644
index e992a972d..786314a9b 100644
--- a/src/main/java/net/minecraft/network/protocol/handshake/PacketHandshakingInSetProtocol.java
+++ b/src/main/java/net/minecraft/network/protocol/handshake/PacketHandshakingInSetProtocol.java
@@ -23,7 +23,7 @@ public class PacketHandshakingInSetProtocol implements Packet<PacketHandshakingI
@ -34,7 +34,7 @@ index e992a972d5..786314a9b7 100644
this.intention = EnumProtocol.getById(packetdataserializer.readVarInt());
}
diff --git a/src/main/java/net/minecraft/server/network/HandshakeListener.java b/src/main/java/net/minecraft/server/network/HandshakeListener.java
index 3a9ac2a831..8bbbf7d770 100644
index 587e00148..7dc98346f 100644
--- a/src/main/java/net/minecraft/server/network/HandshakeListener.java
+++ b/src/main/java/net/minecraft/server/network/HandshakeListener.java
@@ -18,6 +18,11 @@ import java.util.HashMap;
@ -82,7 +82,7 @@ index 3a9ac2a831..8bbbf7d770 100644
break;
case STATUS:
diff --git a/src/main/java/net/minecraft/server/network/LoginListener.java b/src/main/java/net/minecraft/server/network/LoginListener.java
index 40f03ce23e..ac36c73e11 100644
index 40f03ce23..ac36c73e1 100644
--- a/src/main/java/net/minecraft/server/network/LoginListener.java
+++ b/src/main/java/net/minecraft/server/network/LoginListener.java
@@ -115,7 +115,25 @@ public class LoginListener implements PacketLoginInListener, TickablePacketListe
@ -113,7 +113,7 @@ index 40f03ce23e..ac36c73e11 100644
public void handleAcceptedLogin() {
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index b98c96cecf..dc2d60a0d5 100644
index 137ae32ab..b4d844780 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -2054,10 +2054,10 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@ -155,12 +155,12 @@ index b98c96cecf..dc2d60a0d5 100644
+
@Override
public void handleInteract(PacketPlayInUseEntity packetplayinuseentity) {
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinuseentity, this, this.player.getLevel());
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinuseentity, this, this.player.serverLevel());
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 3c8639ba1b..b7a20f65a5 100644
index c08461b7f..db7878edc 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -589,7 +589,7 @@ public abstract class PlayerList {
@@ -596,7 +596,7 @@ public abstract class PlayerList {
EntityPlayer entity = new EntityPlayer(this.server, this.server.getLevel(World.OVERWORLD), gameprofile);
Player player = entity.getBukkitEntity();
@ -170,10 +170,10 @@ index 3c8639ba1b..b7a20f65a5 100644
if (getBans().isBanned(gameprofile) && !getBans().get(gameprofile).hasExpired()) {
GameProfileBanEntry gameprofilebanentry = (GameProfileBanEntry) this.bans.get(gameprofile);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 65dfb37ba4..2822fb0826 100644
index e747597b4..fd9653f4e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -724,7 +724,13 @@ public final class CraftServer implements Server {
@@ -744,7 +744,13 @@ public final class CraftServer implements Server {
@Override
public long getConnectionThrottle() {
@ -189,10 +189,10 @@ index 65dfb37ba4..2822fb0826 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 9408f8cc56..e2e14b987f 100644
index e4044435b..8d7598530 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2117,6 +2117,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2123,6 +2123,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private final Player.Spigot spigot = new Player.Spigot()
{
@ -206,7 +206,7 @@ index 9408f8cc56..e2e14b987f 100644
public boolean getCollidesWithEntities() {
return CraftPlayer.this.isCollidable();
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 130016282a..3bb51f4528 100644
index 130016282..3bb51f452 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -214,4 +214,14 @@ public class SpigotConfig

View file

@ -1,4 +1,4 @@
From 311c1e504d75c8387aefeaf4d0942669e260dc7d Mon Sep 17 00:00:00 2001
From e854df3d988249864ab459a0c19d16fcbd02ee00 Mon Sep 17 00:00:00 2001
From: Dylan Xaldin <Puremin0rez515@gmail.com>
Date: Thu, 12 Dec 2013 18:05:03 -0600
Subject: [PATCH] Allow Disabling Zombie Villager Aggression
@ -6,7 +6,7 @@ Subject: [PATCH] Allow Disabling Zombie Villager Aggression
Ability to configure if Zombies will be aggressive towards Villagers.
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java b/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
index 52864f9f6..a184f8cc6 100644
index 85333b9ce..753705215 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
@@ -120,7 +120,7 @@ public class EntityZombie extends EntityMonster {
@ -14,7 +14,7 @@ index 52864f9f6..a184f8cc6 100644
this.targetSelector.addGoal(1, (new PathfinderGoalHurtByTarget(this, new Class[0])).setAlertOthers(EntityPigZombie.class));
this.targetSelector.addGoal(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
- this.targetSelector.addGoal(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false));
+ if ( level.spigotConfig.zombieAggressiveTowardsVillager ) this.targetSelector.addGoal(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)); // Spigot
+ if ( this.level().spigotConfig.zombieAggressiveTowardsVillager ) this.targetSelector.addGoal(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)); // Spigot
this.targetSelector.addGoal(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true));
this.targetSelector.addGoal(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.BABY_ON_LAND_SELECTOR));
}
@ -35,5 +35,5 @@ index 4894096ae..457a8e84b 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 3b075e3fa30a22dc96cb729bab446dee7e833057 Mon Sep 17 00:00:00 2001
From 969e0eb154d7481c89cd93925b362bfc1c7aaf95 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 13 Dec 2013 11:58:58 +1100
Subject: [PATCH] Configurable Amount of Netty Threads
@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Amount of Netty Threads
This brings back the option that the Spigot version of netty saw. By default Netty will try and use cores*2 threads, however if running multiple servers on the same machine, this can be too many threads. Additionally some people have 16 core servers. If 32 Netty threads are allowed in this setup, then the lock contention, and thus blocking between threads becomes much greater, leading to decreased performance.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index a8fb6af1a..4fb2b7f22 100644
index d954adfac..01179bc91 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -343,7 +343,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -18,7 +18,7 @@ index a8fb6af1a..4fb2b7f22 100644
this.progressListenerFactory = worldloadlistenerfactory;
this.storageSource = convertable_conversionsession;
this.playerDataStorage = convertable_conversionsession.createPlayerStorage();
@@ -1600,7 +1600,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1598,7 +1598,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@Nullable
public ServerConnection getConnection() {
@ -44,5 +44,5 @@ index 3bb51f452..c5989e8e9 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 2f52af5ff266e51512d65c179e98fe45d9108166 Mon Sep 17 00:00:00 2001
From 7f06180f146b482bafcbbf0b174488afa4cccf4f Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Wed, 18 Dec 2013 13:39:14 +1100
Subject: [PATCH] Log Cause of Unexpected Exceptions
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4fb2b7f22..569f8597f 100644
index 01179bc91..9d4588933 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -994,6 +994,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -992,6 +992,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
} catch (Throwable throwable) {
MinecraftServer.LOGGER.error("Encountered an unexpected exception", throwable);
@ -22,5 +22,5 @@ index 4fb2b7f22..569f8597f 100644
this.fillSystemReport(crashreport.getSystemReport());
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 33f5576fdf1f73522bd2c659cddd7ac8524888b7 Mon Sep 17 00:00:00 2001
From 660ea24a72da14ce5e18b5a8c8688540e79ffb55 Mon Sep 17 00:00:00 2001
From: DerFlash <bte@freenet.de>
Date: Tue, 9 Jul 2013 00:11:12 +0200
Subject: [PATCH] Save ticks lived to nbttag
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index c9f2ac3b6..dc52a9b8d 100644
index 912cade1c..e83db7454 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1817,6 +1817,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
@@ -1936,6 +1936,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
if (maxAirTicks != getDefaultMaxAirSupply()) {
nbttagcompound.putInt("Bukkit.MaxAirSupply", getMaxAirSupply());
}
@ -16,7 +16,7 @@ index c9f2ac3b6..dc52a9b8d 100644
// CraftBukkit end
IChatBaseComponent ichatbasecomponent = this.getCustomName();
@@ -1975,6 +1976,11 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
@@ -2094,6 +2095,11 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
}
// CraftBukkit start
@ -29,5 +29,5 @@ index c9f2ac3b6..dc52a9b8d 100644
this.visibleByDefault = !nbttagcompound.contains("Bukkit.visibleByDefault") || nbttagcompound.getBoolean("Bukkit.visibleByDefault");
// SPIGOT-6907: re-implement LivingEntity#setMaximumAir()
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From 8c892088890ecba335f6fc4831deb7b7fb2aa369 Mon Sep 17 00:00:00 2001
From 7f46af9e53e123f21dd9f10445f787b9357ff99d Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 2 Feb 2014 16:55:46 +0000
Subject: [PATCH] Add Option to Nerf Mobs from Spawners
diff --git a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
index f1f8a5ba0..50df2abbf 100644
index f1f8a5ba0..a2d80d87f 100644
--- a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
@@ -151,6 +151,12 @@ public abstract class MobSpawnerAbstract {
@ -13,7 +13,7 @@ index f1f8a5ba0..50df2abbf 100644
((EntityInsentient) entity).finalizeSpawn(worldserver, worldserver.getCurrentDifficultyAt(entity.blockPosition()), EnumMobSpawn.SPAWNER, (GroupDataEntity) null, (NBTTagCompound) null);
}
+ // Spigot Start
+ if ( entityinsentient.level.spigotConfig.nerfSpawnerMobs )
+ if ( entityinsentient.level().spigotConfig.nerfSpawnerMobs )
+ {
+ entityinsentient.aware = false;
+ }
@ -38,5 +38,5 @@ index 457a8e84b..3e398c4e0 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 54582ccc0fa8bf4c00762dcd9615042b2f353679 Mon Sep 17 00:00:00 2001
From f74a36f76af63cec287b8ddd86d6ac50921ea227 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 23 Dec 2013 15:57:57 +1100
Subject: [PATCH] Disable Connected Check on setScoreboard
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index e2e14b987f..db837c06a7 100644
index 8d7598530..da52c6055 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1858,7 +1858,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1864,7 +1864,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
throw new IllegalStateException("Cannot set scoreboard yet");
}
if (playerConnection.isDisconnected()) {

View file

@ -1,4 +1,4 @@
From 84673b4d03b881cd94f9ac707294cdf78cdeaebb Mon Sep 17 00:00:00 2001
From 499b609166225273522bcdc26bf443f223bd7676 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thethinkofdeath@gmail.com>
Date: Tue, 7 Jan 2014 15:56:26 +0000
Subject: [PATCH] Allow statistics to be disabled/forced
@ -94,5 +94,5 @@ index c5989e8e9..0aab647ab 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 6e6c0c334d4e1725ee2420ee75e93ce91732aec1 Mon Sep 17 00:00:00 2001
From 996a5f6f0746b6ae2add6c23aafa45a99deb117e Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 12 Jan 2014 20:56:41 +1100
Subject: [PATCH] Try and Debug Crash Reports Crashing
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 569f8597f..35bdb154f 100644
index 9d4588933..0b322b9fd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1272,7 +1272,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1270,7 +1270,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
worldserver.tick(booleansupplier);
worldserver.timings.doTick.stopTiming(); // Spigot
} catch (Throwable throwable) {
@ -25,5 +25,5 @@ index 569f8597f..35bdb154f 100644
worldserver.fillReportDetails(crashreport);
throw new ReportedException(crashreport);
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 9b5fc236e886e53c8784801f01ef6c56f120e52a Mon Sep 17 00:00:00 2001
From 500b75ef0dd60f19e324d78fd7280c8f8e4dab20 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 20 Jan 2014 13:44:07 +1100
Subject: [PATCH] Catch stalling on corrupted map data / NBT arrays.
@ -29,5 +29,5 @@ index f0f4562d1..e5e90b9d7 100644
nbtreadlimiter.accountBytes(4L * (long) j);
int[] aint = new int[j];
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 1dc7e8e90ac94921cb10cb8d932c0c34bfda79c6 Mon Sep 17 00:00:00 2001
From 02207c0e5604f2e8cc3011792c11f90e07cefe8c Mon Sep 17 00:00:00 2001
From: Dmck2b <dmck2b+github@gmail.com>
Date: Mon, 20 Jan 2014 20:18:23 +0000
Subject: [PATCH] Allow toggling of ZombiePigmen spawning in portal blocks
@ -34,5 +34,5 @@ index 3e398c4e0..d4eb3ccda 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From 4ba97342b95d15a6fb5f2c97480fdf68a7f4d32a Mon Sep 17 00:00:00 2001
From a0e6fc8eb94d742e6b87ff7059d29d37102ac515 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Thu, 26 Jan 2017 21:50:51 +0000
Subject: [PATCH] Highly Optimized Tick Loop
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 35bdb154f..afcf0f78e 100644
index 0b322b9fd..ab7ace3f5 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -291,6 +291,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@ -21,7 +21,7 @@ index 35bdb154f..afcf0f78e 100644
public static <S extends MinecraftServer> S spin(Function<Thread, S> function) {
AtomicReference<S> atomicreference = new AtomicReference();
@@ -951,6 +957,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -949,6 +955,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
@ -35,7 +35,7 @@ index 35bdb154f..afcf0f78e 100644
protected void runServer() {
try {
if (!this.initServer()) {
@@ -961,8 +974,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -959,8 +972,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.statusIcon = (ServerPing.a) this.loadStatusIcon().orElse(null); // CraftBukkit - decompile error
this.status = this.buildServerStatus();
@ -48,7 +48,7 @@ index 35bdb154f..afcf0f78e 100644
if (i > 5000L && this.nextTickTime - this.lastOverloadWarning >= 30000L) { // CraftBukkit
long j = i / 50L;
@@ -973,6 +989,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -971,6 +987,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.lastOverloadWarning = this.nextTickTime;
}
@ -131,5 +131,5 @@ index 000000000..f5b6dec1c
+ }
+}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 69fba377ad8a56b55b65d839df7285d1f2659eb9 Mon Sep 17 00:00:00 2001
From eece7e89dd62f20e4e3962f7e3e277eb1b572f8c Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 26 Jan 2014 21:48:34 +1100
Subject: [PATCH] Configurable Ping Sample Size
@ -39,5 +39,5 @@ index 4987040ff..141ba2784 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From f2209ee60273c31e525f6a26ada582d1d18f903c Mon Sep 17 00:00:00 2001
From 93213f3995f124556e2363213bfeeda668e2c54c Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 27 Jan 2014 08:39:26 +1100
Subject: [PATCH] Add Optional Tick Shuffling
@ -39,5 +39,5 @@ index 141ba2784..cf7c624bc 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From 5d5bd687bc7083a227e0ded0113fb2d07e289051 Mon Sep 17 00:00:00 2001
From 08f23d97bc54d2224cdc2ccad07595280457541c Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 8 Feb 2014 08:13:40 +0000
Subject: [PATCH] Spam Filter Exclusions
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index dc2d60a0d5..7b2f4843e6 100644
index b4d844780..8eff3b9fb 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -1896,7 +1896,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@ -43,7 +43,7 @@ index dc2d60a0d5..7b2f4843e6 100644
if (this.chatSpamTickCount.addAndGet(20) > 200 && !this.server.getPlayerList().isOp(this.player.getGameProfile())) {
// CraftBukkit end
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index cf7c624bc5..4f9b55c713 100644
index cf7c624bc..4f9b55c71 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -6,6 +6,7 @@ import java.io.IOException;

View file

@ -1,14 +1,14 @@
From 58e293d9bd65f8df163d4cfc49db27d9f150d0ae Mon Sep 17 00:00:00 2001
From efb47215a235973cfc7e97bf39ef651c2ed1bd60 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 9 Feb 2014 14:39:01 +1100
Subject: [PATCH] Add Option to Silence CommandBlock Console
diff --git a/src/main/java/net/minecraft/commands/CommandListenerWrapper.java b/src/main/java/net/minecraft/commands/CommandListenerWrapper.java
index c857e8da3..81caaa182 100644
index 4f4d25c43..8a07f629a 100644
--- a/src/main/java/net/minecraft/commands/CommandListenerWrapper.java
+++ b/src/main/java/net/minecraft/commands/CommandListenerWrapper.java
@@ -321,7 +321,7 @@ public class CommandListenerWrapper implements ICompletionProvider {
@@ -341,7 +341,7 @@ public class CommandListenerWrapper implements ICompletionProvider {
}
}
@ -33,5 +33,5 @@ index 4f9b55c71..40c09ca21 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,15 +1,15 @@
From f3d334dabe2a4ddd3f8d27f48b89c225abd00a3c Mon Sep 17 00:00:00 2001
From 1bfd20ddfe542e4c1f16ccc143a4a475a2ae7e1d Mon Sep 17 00:00:00 2001
From: Tux <write@imaginarycode.com>
Date: Sun, 9 Feb 2014 14:03:03 -0500
Subject: [PATCH] Add support for fetching hidden players
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index db837c06a7..39aa7f716b 100644
index da52c6055..67b412f8d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2141,6 +2141,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
server.getServer().getPlayerList().respawn( getHandle(), false, RespawnReason.PLUGIN );
@@ -2147,6 +2147,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
server.getServer().getPlayerList().respawn( getHandle(), false, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.PLUGIN );
}
}
+

View file

@ -1,14 +1,14 @@
From d47c7dbfb687bcaad59e42453639592ab3d43519 Mon Sep 17 00:00:00 2001
From a03724cf3a7fcdf94810c9ca603a6b503893f5b5 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thethinkofdeath@gmail.com>
Date: Wed, 12 Feb 2014 20:44:14 +0000
Subject: [PATCH] Allow vanilla commands to be the main version of a command
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 2822fb0826..28c4356163 100644
index fd9653f4e..9362f6765 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -450,8 +450,11 @@ public final class CraftServer implements Server {
@@ -455,8 +455,11 @@ public final class CraftServer implements Server {
}
if (type == PluginLoadOrder.POSTWORLD) {
@ -21,7 +21,7 @@ index 2822fb0826..28c4356163 100644
commandMap.registerServerAliases();
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
@@ -465,12 +468,21 @@ public final class CraftServer implements Server {
@@ -470,12 +473,21 @@ public final class CraftServer implements Server {
pluginManager.disablePlugins();
}
@ -46,7 +46,7 @@ index 2822fb0826..28c4356163 100644
}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 40c09ca21b..588d4656bd 100644
index 40c09ca21..588d4656b 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -8,8 +8,10 @@ import java.lang.reflect.Method;

View file

@ -1,11 +1,11 @@
From 359b4fd43131b83c94ca435824039883fd4716a5 Mon Sep 17 00:00:00 2001
From 7eeb0773643370027a651ab15126d10aefd34e48 Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Sun, 23 Feb 2014 16:16:59 -0400
Subject: [PATCH] Implement Silenceable Lightning API
diff --git a/src/main/java/net/minecraft/world/entity/EntityLightning.java b/src/main/java/net/minecraft/world/entity/EntityLightning.java
index 6cfecdd9b1..0d75880e0d 100644
index eb3832011..8d3a182b2 100644
--- a/src/main/java/net/minecraft/world/entity/EntityLightning.java
+++ b/src/main/java/net/minecraft/world/entity/EntityLightning.java
@@ -46,6 +46,7 @@ public class EntityLightning extends Entity {
@ -22,14 +22,14 @@ index 6cfecdd9b1..0d75880e0d 100644
super.tick();
- if (this.life == 2) {
+ if (!isSilent && this.life == 2) { // Spigot
if (this.level.isClientSide()) {
this.level.playLocalSound(this.getX(), this.getY(), this.getZ(), SoundEffects.LIGHTNING_BOLT_THUNDER, SoundCategory.WEATHER, 10000.0F, 0.8F + this.random.nextFloat() * 0.2F, false);
this.level.playLocalSound(this.getX(), this.getY(), this.getZ(), SoundEffects.LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0F, 0.5F + this.random.nextFloat() * 0.2F, false);
if (this.level().isClientSide()) {
this.level().playLocalSound(this.getX(), this.getY(), this.getZ(), SoundEffects.LIGHTNING_BOLT_THUNDER, SoundCategory.WEATHER, 10000.0F, 0.8F + this.random.nextFloat() * 0.2F, false);
this.level().playLocalSound(this.getX(), this.getY(), this.getZ(), SoundEffects.LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0F, 0.5F + this.random.nextFloat() * 0.2F, false);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index e53b53fdc8..9aa39b9f57 100644
index c5dae2ea0..b65cfef27 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1933,6 +1933,27 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -1940,6 +1940,27 @@ public class CraftWorld extends CraftRegionAccessor implements World {
// Spigot start
private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot()
{
@ -58,7 +58,7 @@ index e53b53fdc8..9aa39b9f57 100644
public org.bukkit.World.Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
index e63833dcda..8819f7684e 100644
index e63833dcd..8819f7684 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLightningStrike.java
@@ -33,6 +33,11 @@ public class CraftLightningStrike extends CraftEntity implements LightningStrike

View file

@ -1,4 +1,4 @@
From 54986aaa5af47d3cf059dd9afadc200db326ccba Mon Sep 17 00:00:00 2001
From 342340243fc7ec44131de1fe79f079d0ed2bdf70 Mon Sep 17 00:00:00 2001
From: FrozenBrain <carstenbamsti@googlemail.com>
Date: Sun, 2 Mar 2014 21:13:46 +0100
Subject: [PATCH] Use one PermissibleBase for all Command Blocks
@ -29,5 +29,5 @@ index e0acbada8..74558e852 100644
@Override
--
2.40.0
2.40.1

View file

@ -1,26 +1,26 @@
From 41287a0498c3e228f100dba9c797f2f9bff46942 Mon Sep 17 00:00:00 2001
From 78f3072d5eca40ca5f9118f3c027664c9d57a7ba Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Sat, 29 Mar 2014 13:44:25 -0400
Subject: [PATCH] Configurable dragon death and wither spawn sounds
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.java
index d59c275a7..78cda61b2 100644
index f054524bb..73e314efa 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EntityEnderDragon.java
@@ -653,7 +653,24 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -687,7 +687,24 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
}
if (this.dragonDeathTime == 1 && !this.isSilent()) {
- this.level.globalLevelEvent(1028, this.blockPosition(), 0);
- this.level().globalLevelEvent(1028, this.blockPosition(), 0);
+ // CraftBukkit start - Use relative location for far away sounds
+ // this.world.b(1028, this.getChunkCoordinates(), 0);
+ int viewDistance = ((WorldServer) this.level).getCraftServer().getViewDistance() * 16;
+ for (net.minecraft.server.level.EntityPlayer player : this.level.getServer().getPlayerList().players) {
+ // this.level().globalLevelEvent(1028, this.blockPosition(), 0);
+ int viewDistance = ((WorldServer) this.level()).getCraftServer().getViewDistance() * 16;
+ for (net.minecraft.server.level.EntityPlayer player : this.level().getServer().getPlayerList().players) {
+ double deltaX = this.getX() - player.getX();
+ double deltaZ = this.getZ() - player.getZ();
+ double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
+ if ( level.spigotConfig.dragonDeathSoundRadius > 0 && distanceSquared > level.spigotConfig.dragonDeathSoundRadius * level.spigotConfig.dragonDeathSoundRadius ) continue; // Spigot
+ if ( this.level().spigotConfig.dragonDeathSoundRadius > 0 && distanceSquared > this.level().spigotConfig.dragonDeathSoundRadius * this.level().spigotConfig.dragonDeathSoundRadius ) continue; // Spigot
+ if (distanceSquared > viewDistance * viewDistance) {
+ double deltaLength = Math.sqrt(distanceSquared);
+ double relativeX = player.getX() + (deltaX / deltaLength) * viewDistance;
@ -35,19 +35,19 @@ index d59c275a7..78cda61b2 100644
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/EntityWither.java b/src/main/java/net/minecraft/world/entity/boss/wither/EntityWither.java
index 6e2dd5cf4..fb6e4c670 100644
index 35594cf81..da8d4094c 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/EntityWither.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/EntityWither.java
@@ -277,6 +277,7 @@ public class EntityWither extends EntityMonster implements PowerableMob, IRanged
double deltaX = this.getX() - player.getX();
double deltaZ = this.getZ() - player.getZ();
double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
+ if ( level.spigotConfig.witherSpawnSoundRadius > 0 && distanceSquared > level.spigotConfig.witherSpawnSoundRadius * level.spigotConfig.witherSpawnSoundRadius ) continue; // Spigot
+ if ( this.level().spigotConfig.witherSpawnSoundRadius > 0 && distanceSquared > this.level().spigotConfig.witherSpawnSoundRadius * this.level().spigotConfig.witherSpawnSoundRadius ) continue; // Spigot
if (distanceSquared > viewDistance * viewDistance) {
double deltaLength = Math.sqrt(distanceSquared);
double relativeX = player.getX() + (deltaX / deltaLength) * viewDistance;
diff --git a/src/main/java/net/minecraft/world/item/ItemEnderEye.java b/src/main/java/net/minecraft/world/item/ItemEnderEye.java
index e3c6fda40..f97c94517 100644
index 33b8cfe0e..3345f0fc1 100644
--- a/src/main/java/net/minecraft/world/item/ItemEnderEye.java
+++ b/src/main/java/net/minecraft/world/item/ItemEnderEye.java
@@ -60,7 +60,25 @@ public class ItemEnderEye extends Item {
@ -105,5 +105,5 @@ index d4eb3ccda..7f5f97def 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From e5629ade022a4e6c38850d7df4530883beddfab0 Mon Sep 17 00:00:00 2001
From 81224b4669c4f328c4cf67dc53181289e4b50de0 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thethinkofdeath@gmail.com>
Date: Fri, 11 Apr 2014 11:16:34 +0100
Subject: [PATCH] Display 'Spigot' in client crashes, server lists and Mojang
@ -6,10 +6,10 @@ Subject: [PATCH] Display 'Spigot' in client crashes, server lists and Mojang
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index afcf0f78e..02bfb80d0 100644
index ab7ace3f5..69fc9d696 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1426,7 +1426,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1424,7 +1424,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@DontObfuscate
public String getServerModName() {
@ -19,5 +19,5 @@ index afcf0f78e..02bfb80d0 100644
public SystemReport fillSystemReport(SystemReport systemreport) {
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From f4247b1436d7e10d9f3590ca1bc4674984b5cdab Mon Sep 17 00:00:00 2001
From a00244c71c1dc3f1d60caaf3cf759fd9237aff6e Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 12 Apr 2014 21:23:58 +1000
Subject: [PATCH] Treat Bungee as Online Mode
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 29a1186cf..de8f82d36 100644
index 7208f3b1c..898b71aa9 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -223,7 +223,14 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -38,5 +38,5 @@ index d498b61ca..060f66af1 100644
} else {
String[] astring1 = astring;
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From 25f3d8796b4c13ecd618326af5e4f1c147aec527 Mon Sep 17 00:00:00 2001
From 67161979cb05a4f773c87bc3fcde4fc7938e3b7a Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 13 Apr 2014 09:00:59 +1000
Subject: [PATCH] Print Stack on InternalException
diff --git a/src/main/java/net/minecraft/network/NetworkManager.java b/src/main/java/net/minecraft/network/NetworkManager.java
index 9e8b1e949..dbc390632 100644
index 29428de0b..5d1d8fbcc 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -151,6 +151,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -17,5 +17,5 @@ index 9e8b1e949..dbc390632 100644
protected void channelRead0(ChannelHandlerContext channelhandlercontext, Packet<?> packet) {
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 845cc28c545501b9df0f7862991bdb4c26850878 Mon Sep 17 00:00:00 2001
From 4e8920dec29c3b73156b92317f33e121c65098cb Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 13 Apr 2014 14:41:23 +1000
Subject: [PATCH] Use Offline Player Data Once if Required.
@ -39,5 +39,5 @@ index bb8e77efb..517cc2e53 100644
WorldNBTStorage.LOGGER.warn("Failed to load player data for {}", entityhuman.getName().getString());
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 014f7a28265be2b977bdc6699d0055dc58b3a63c Mon Sep 17 00:00:00 2001
From d85737b6a323d3fef80f490755581cba26885c6f Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 14 Apr 2014 09:46:20 +1000
Subject: [PATCH] Use Provided Case for Non Existent Offline Players
@ -18,5 +18,5 @@ index bed67b5d8..dd6c8a284 100644
this.add((GameProfile) optional.get());
flag = false;
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 87e824cd55adf4969b13a88d2a6f53fec937d868 Mon Sep 17 00:00:00 2001
From 610bc925769425b95e7f5bbf2f5b6ec1814aa31c Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Tue, 15 Apr 2014 10:32:48 +1000
Subject: [PATCH] Fix Player Banning
@ -45,5 +45,5 @@ index e7085ccdd..904c9f162 100644
}
}
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 0d676033e5402f68d1bd5e1a62dc4808e07658bc Mon Sep 17 00:00:00 2001
From ee17557390670b896356262d02612722c192545f Mon Sep 17 00:00:00 2001
From: David <dmck2b@gmail.com>
Date: Mon, 21 Apr 2014 12:43:08 +0100
Subject: [PATCH] Prevent NoClassDefError crash and notify on crash
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
index 0493e322d..985e69e96 100644
index fa0391b5e..c33143811 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -158,6 +158,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -157,6 +157,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
@ -16,7 +16,7 @@ index 0493e322d..985e69e96 100644
public CraftWorld getWorld() {
return this.world;
@@ -386,7 +387,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -379,7 +380,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
// CraftBukkit start
if (!this.captureBlockStates) { // Don't notify clients or update physics while capturing blockstates
// Modularize client and physic updates
@ -65,5 +65,5 @@ index 4734d4ae8..b4eeeb0d0 100644
log.log( Level.SEVERE, "Server thread dump (Look for plugins here before reporting to Spigot!):" );
dumpThread( ManagementFactory.getThreadMXBean().getThreadInfo( MinecraftServer.getServer().serverThread.getId(), Integer.MAX_VALUE ), log );
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 61eceeca375e652df2fd29202bcc5eaaeb849a90 Mon Sep 17 00:00:00 2001
From 40b492c5a03be50de8ceb53b42af0535636c1d6e Mon Sep 17 00:00:00 2001
From: Jonas Konrad <me@yawk.at>
Date: Fri, 25 Apr 2014 23:46:46 +0200
Subject: [PATCH] Fix race condition that could kill connections before they
@ -12,7 +12,7 @@ initialized. The ServerConnection does not remove NetworkManagers with
this flag.
diff --git a/src/main/java/net/minecraft/network/NetworkManager.java b/src/main/java/net/minecraft/network/NetworkManager.java
index dbc390632..0b8998b94 100644
index 5d1d8fbcc..916aec222 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -79,6 +79,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -59,5 +59,5 @@ index 400f9e0b6..c86091ed1 100644
networkmanager.handleDisconnection();
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 0e22da83682d854cbba72b2007e239f0065c5012 Mon Sep 17 00:00:00 2001
From f362173557580969a3874ac21a0bab2e6da24577 Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Fri, 25 Apr 2014 18:17:30 -0400
Subject: [PATCH] Configurable UserCache cap
@ -33,5 +33,5 @@ index 588d4656b..285bb7a20 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 404f51d98731f5bdc734335c73e55dbaa9eedebc Mon Sep 17 00:00:00 2001
From da20e8f37e3bb37637f301d4fa89b734fc1c5f6f Mon Sep 17 00:00:00 2001
From: ninja <xninja@openmailbox.org>
Date: Tue, 8 Apr 2014 14:05:19 +0200
Subject: [PATCH] Implement PlayerSpawnLocationEvent.
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 0c7dcff75..5d74a8701 100644
index db7878edc..a4710dafd 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -228,6 +228,19 @@ public abstract class PlayerList {
@@ -235,6 +235,19 @@ public abstract class PlayerList {
s1 = networkmanager.getRemoteAddress().toString();
}
@ -21,7 +21,7 @@ index 0c7dcff75..5d74a8701 100644
+ worldserver1 = ((CraftWorld) loc.getWorld()).getHandle();
+
+ entityplayer.spawnIn(worldserver1);
+ entityplayer.gameMode.setLevel((WorldServer) entityplayer.level);
+ entityplayer.gameMode.setLevel((WorldServer) entityplayer.level());
+ entityplayer.absMoveTo(loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch());
+ // Spigot end
+
@ -29,5 +29,5 @@ index 0c7dcff75..5d74a8701 100644
// PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ({}, {}, {})", new Object[]{entityplayer.getName().getString(), s1, entityplayer.getId(), entityplayer.getX(), entityplayer.getY(), entityplayer.getZ()});
WorldData worlddata = worldserver1.getLevelData();
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From d58b1c1be9b2ee4be4b4618c65ccabc2d1c6320d Mon Sep 17 00:00:00 2001
From ed6aad6ecb192c20f200094ac44ceded14504be2 Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Fri, 23 May 2014 18:05:10 -0400
Subject: [PATCH] Configurable save-on-stop-only for UserCache
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 02bfb80d0..83cd88145 100644
index 69fc9d696..3a32672af 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -930,6 +930,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -928,6 +928,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} catch (IOException ioexception1) {
MinecraftServer.LOGGER.error("Failed to unlock level {}", this.storageSource.getLevelId(), ioexception1);
}
@ -59,5 +59,5 @@ index 285bb7a20..3540e2daf 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 1d5e58ee84d80eeaa4a0bdd0bc4fc34a4e3a3eca Mon Sep 17 00:00:00 2001
From a4ede9644bcfefc7fc72a3df024983a48b17e782 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thinkofdeath@spigotmc.org>
Date: Sun, 29 Jun 2014 21:10:34 +0100
Subject: [PATCH] Limit block placement/interaction packets
@ -45,7 +45,7 @@ index 675909dc6..44ed8f10d 100644
this.blockHit = packetdataserializer.readBlockHitResult();
this.sequence = packetdataserializer.readVarInt();
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index dbfc1130a..bf63378ca 100644
index 8eff3b9fb..4427a92ae 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -1586,10 +1586,30 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@ -73,20 +73,20 @@ index dbfc1130a..bf63378ca 100644
+
@Override
public void handleUseItemOn(PacketPlayInUseItem packetplayinuseitem) {
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinuseitem, this, this.player.getLevel());
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinuseitem, this, this.player.serverLevel());
if (this.player.isImmobile()) return; // CraftBukkit
+ if (!checkLimit(packetplayinuseitem.timestamp)) return; // Spigot - check limit
this.player.connection.ackBlockChangesUpTo(packetplayinuseitem.getSequence());
WorldServer worldserver = this.player.getLevel();
WorldServer worldserver = this.player.serverLevel();
EnumHand enumhand = packetplayinuseitem.getHand();
@@ -1643,6 +1663,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
public void handleUseItem(PacketPlayInBlockPlace packetplayinblockplace) {
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinblockplace, this, this.player.getLevel());
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinblockplace, this, this.player.serverLevel());
if (this.player.isImmobile()) return; // CraftBukkit
+ if (!checkLimit(packetplayinblockplace.timestamp)) return; // Spigot - check limit
this.ackBlockChangesUpTo(packetplayinblockplace.getSequence());
WorldServer worldserver = this.player.getLevel();
WorldServer worldserver = this.player.serverLevel();
EnumHand enumhand = packetplayinblockplace.getHand();
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 959add00519cb56e61b1b43818c8b37e48d3ab0e Mon Sep 17 00:00:00 2001
From 6a11a9e07886d8022cd1080f071a545d832ef181 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thinkofdeath@spigotmc.org>
Date: Wed, 2 Jul 2014 23:35:51 +0100
Subject: [PATCH] Better item validation
@ -115,5 +115,5 @@ index 000000000..58a953481
+ }
+}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 673d6a2ba3ab66958feb92352bd6462000fc46cf Mon Sep 17 00:00:00 2001
From 7f4bb520cb6790497fdbf6081de7b4e33974753f Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 4 Jul 2014 13:28:45 +1000
Subject: [PATCH] Further Seed Customisation
@ -6,10 +6,10 @@ Subject: [PATCH] Further Seed Customisation
Allow server admins that really want to to customise the seeds used in world generation even further.
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
index 299724c49..2516fd68b 100644
index 034f4416e..332d8bc55 100644
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
@@ -213,7 +213,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
@@ -212,7 +212,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.randomState = RandomState.create(GeneratorSettingBase.dummy(), (HolderGetter) iregistrycustom.lookupOrThrow(Registries.NOISE), j);
}
@ -19,7 +19,7 @@ index 299724c49..2516fd68b 100644
ThreadedMailbox<Runnable> threadedmailbox = ThreadedMailbox.create(executor, "worldgen");
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java b/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java
index 1d80f7cde..ce7cc4b65 100644
index 2a7dc359f..410d0d588 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java
@@ -319,7 +319,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@ -170,7 +170,7 @@ index 6d6b3abd1..926848b82 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
index 88833a1b7..17f021780 100644
index a66c5162d..58a611551 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
@@ -215,7 +215,7 @@ public class CraftChunk implements Chunk {
@ -228,5 +228,5 @@ index 7f5f97def..7882c95f4 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From bc51fa1d1f6fb0a83ccacc5e81549c3affab772b Mon Sep 17 00:00:00 2001
From 513699790fb48a59c23d0ecd8a8591f1883b00d2 Mon Sep 17 00:00:00 2001
From: Suddenly <suddenly@suddenly.coffee>
Date: Tue, 8 Jul 2014 09:44:18 +1000
Subject: [PATCH] Safer JSON Loading
@ -40,5 +40,5 @@ index 1295a3340..3abeb707c 100644
UserCache.LOGGER.warn("Failed to load profile cache {}", this.file, ioexception);
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 30084b81880fe50a86700a894d6b9711caa2607c Mon Sep 17 00:00:00 2001
From bfabde30efab8dd708d29fbc0bea3211fbc44250 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Wed, 9 Jul 2014 10:35:44 +1000
Subject: [PATCH] Add CommandLine EULA Flag
@ -8,7 +8,7 @@ This flag contains the same message as eula.txt (albeit with proper grammar for
This feature only exists for hosting companies and people who manage servers in bulk who wish to agree to the terms by setting a flag in a script.
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
index cdef75a89..e23f15531 100644
index 51e01fbb6..250ba3499 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -152,7 +152,16 @@ public class Main {
@ -30,5 +30,5 @@ index cdef75a89..e23f15531 100644
return;
}
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 28851a13b6bdeef0acaabb8602f2d0a141ef2e87 Mon Sep 17 00:00:00 2001
From c7fbfb1163e1d6d6c25152260f3463daa7542098 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thinkofdeath@spigotmc.org>
Date: Sat, 19 Jul 2014 19:54:41 +0100
Subject: [PATCH] Prevent a crash involving attributes
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 39aa7f716b..ea873cd09f 100644
index 67b412f8d..25e917fbe 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1939,7 +1939,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1945,7 +1945,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
AttributeModifiable dummy = new AttributeModifiable(GenericAttributes.MAX_HEALTH, (attribute) -> { });

View file

@ -1,14 +1,14 @@
From 9117517cdb0192d1dff4991bdcec4ec2cf9f2e65 Mon Sep 17 00:00:00 2001
From ff73e4788c52751232b3e34b2c0903134a4eadf4 Mon Sep 17 00:00:00 2001
From: Jonas Konrad <me@yawk.at>
Date: Fri, 4 Jul 2014 23:03:13 +0200
Subject: [PATCH] Make "moved wrongly" limit configurable
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index bf63378ca..e02e968de 100644
index 4427a92ae..e33ce6bba 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -620,7 +620,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@@ -629,7 +629,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
d10 = d6 * d6 + d7 * d7 + d8 * d8;
boolean flag2 = false;
@ -17,12 +17,12 @@ index bf63378ca..e02e968de 100644
flag2 = true;
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", new Object[]{entity.getName().getString(), this.player.getName().getString(), Math.sqrt(d10)});
}
@@ -1301,7 +1301,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
d11 = d7 * d7 + d8 * d8 + d9 * d9;
@@ -1305,7 +1305,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
d10 = d6 * d6 + d7 * d7 + d8 * d8;
boolean flag2 = false;
- if (!this.player.isChangingDimension() && d11 > 0.0625D && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != EnumGamemode.SPECTATOR) {
+ if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != EnumGamemode.SPECTATOR) { // Spigot
- if (!this.player.isChangingDimension() && d10 > 0.0625D && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != EnumGamemode.SPECTATOR) {
+ if (!this.player.isChangingDimension() && d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != EnumGamemode.SPECTATOR) { // Spigot
flag2 = true;
PlayerConnection.LOGGER.warn("{} moved wrongly!", this.player.getName().getString());
}
@ -42,5 +42,5 @@ index 3540e2daf..9e34d3027 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 1efa712f1561cbfe31f9671b938916f8a313c67d Mon Sep 17 00:00:00 2001
From f7577d6b1bfbe5aef9488e90476cbde193ec9f14 Mon Sep 17 00:00:00 2001
From: Jonas Konrad <me@yawk.at>
Date: Tue, 22 Jul 2014 15:59:01 +0200
Subject: [PATCH] Make "moved too quickly" limit configurable
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index e02e968de..4b1257cb7 100644
index e33ce6bba..bf8654be7 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -593,7 +593,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@@ -594,7 +594,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
}
speed *= 2f; // TODO: Get the speed of the vehicle instead of the player
@ -17,14 +17,14 @@ index e02e968de..4b1257cb7 100644
// CraftBukkit end
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8});
this.connection.send(new PacketPlayOutVehicleMove(entity));
@@ -1266,7 +1266,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
if (!this.player.isChangingDimension() && (!this.player.getLevel().getGameRules().getBoolean(GameRules.RULE_DISABLE_ELYTRA_MOVEMENT_CHECK) || !this.player.isFallFlying())) {
@@ -1270,7 +1270,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
if (!this.player.isChangingDimension() && (!this.player.level().getGameRules().getBoolean(GameRules.RULE_DISABLE_ELYTRA_MOVEMENT_CHECK) || !this.player.isFallFlying())) {
float f2 = this.player.isFallFlying() ? 300.0F : 100.0F;
- if (d11 - d10 > Math.max(f2, Math.pow((double) (10.0F * (float) i * speed), 2)) && !this.isSingleplayerOwner()) {
+ if (d11 - d10 > Math.max(f2, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) {
- if (d10 - d9 > Math.max(f2, Math.pow((double) (10.0F * (float) i * speed), 2)) && !this.isSingleplayerOwner()) {
+ if (d10 - d9 > Math.max(f2, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) {
// CraftBukkit end
PlayerConnection.LOGGER.warn("{} moved too quickly! {},{},{}", new Object[]{this.player.getName().getString(), d7, d8, d9});
PlayerConnection.LOGGER.warn("{} moved too quickly! {},{},{}", new Object[]{this.player.getName().getString(), d6, d7, d8});
this.teleport(this.player.getX(), this.player.getY(), this.player.getZ(), this.player.getYRot(), this.player.getXRot());
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 9e34d3027..08f6ef8d4 100644
@ -42,5 +42,5 @@ index 9e34d3027..08f6ef8d4 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 10e78c4f1db6e7ffcc4b3850791790872340860b Mon Sep 17 00:00:00 2001
From f217e69a211438b50babee55c07b45115a8a49c8 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 27 Jul 2014 20:46:04 +1000
Subject: [PATCH] Apply NBTReadLimiter to more things.
@ -67,5 +67,5 @@ index 000000000..e74c61ca9
+ }
+}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 949d0306cf129952bdde3618389679595350d2eb Mon Sep 17 00:00:00 2001
From c81988a1b98980e1fe76db4d6170cdf975703e30 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 28 Jul 2014 16:55:51 +1000
Subject: [PATCH] Allow Attribute Capping.
@ -57,5 +57,5 @@ index 08f6ef8d4..58fb1b92e 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 886b11f26bbe7b06d2bd91fa6611360ac8cb3ff0 Mon Sep 17 00:00:00 2001
From 80583ee76b6b168cf3248e11cdd9f8192c8085de Mon Sep 17 00:00:00 2001
From: Maxim Van de Wynckel <maxim_vdw@hotmail.com>
Date: Wed, 30 Jul 2014 01:19:51 +0200
Subject: [PATCH] Only fetch an online UUID in online mode
@ -12,10 +12,10 @@ You want to store data for player "Test" who never joined. An online UUID is cr
The player Test joins with an offline UUID but that will not match the online UUID of the saved data.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 28c4356163..6d4488e395 100644
index 9362f6765..b107e26a7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1642,8 +1642,14 @@ public final class CraftServer implements Server {
@@ -1660,8 +1660,14 @@ public final class CraftServer implements Server {
OfflinePlayer result = getPlayerExact(name);
if (result == null) {

View file

@ -1,14 +1,14 @@
From b0585f8f6dc8f4a2f017009e38ac8afa193b58d5 Mon Sep 17 00:00:00 2001
From 81b7a2f8e5c6aa376cedcc1f99287fe358fc7fd5 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 8 Aug 2014 19:57:03 +1000
Subject: [PATCH] Plug WorldMap Memory Leak
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index c1a418351..05c26558e 100644
index a7a90e899..1b8919cdc 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -1988,6 +1988,29 @@ public class WorldServer extends World implements GeneratorAccessSeed {
@@ -2014,6 +2014,29 @@ public class WorldServer extends World implements GeneratorAccessSeed {
public void onTrackingEnd(Entity entity) {
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
@ -39,5 +39,5 @@ index c1a418351..05c26558e 100644
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof EntityPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((org.bukkit.inventory.InventoryHolder) entity.getBukkitEntity()).getInventory().getViewers())) {
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From bf542275789c5f8ee6a65d6d2aa88b8c13f9cfc7 Mon Sep 17 00:00:00 2001
From 2ef439566573b2afc99cc32c2ae9b4eeaf23e50c Mon Sep 17 00:00:00 2001
From: drXor <mcyoung@mit.edu>
Date: Fri, 15 Aug 2014 18:11:09 -0400
Subject: [PATCH] Remove uneeded validation
@ -43,5 +43,5 @@ index 198b0baf3..b19f527c1 100644
@Override
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From ec0139d793ccf07d893a702a041c862bf1b9202e Mon Sep 17 00:00:00 2001
From 2366c635cf400592e203c1c8281ba027cc43dc3e Mon Sep 17 00:00:00 2001
From: lazertester <austin.techhead@gmail.com>
Date: Sun, 17 Aug 2014 19:56:17 +1000
Subject: [PATCH] Add Hunger Config Values
diff --git a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
index 43f0f3aef..770127525 100644
index 7c60243ef..6e19f1f3e 100644
--- a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
+++ b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
@@ -1387,7 +1387,7 @@ public abstract class EntityHuman extends EntityLiving {
@ -13,64 +13,64 @@ index 43f0f3aef..770127525 100644
}
- this.causeFoodExhaustion(0.1F, EntityExhaustionEvent.ExhaustionReason.ATTACK); // CraftBukkit - EntityExhaustionEvent
+ this.causeFoodExhaustion(level.spigotConfig.combatExhaustion, EntityExhaustionEvent.ExhaustionReason.ATTACK); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
+ this.causeFoodExhaustion(this.level().spigotConfig.combatExhaustion, EntityExhaustionEvent.ExhaustionReason.ATTACK); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
} else {
this.level.playSound((EntityHuman) null, this.getX(), this.getY(), this.getZ(), SoundEffects.PLAYER_ATTACK_NODAMAGE, this.getSoundSource(), 1.0F, 1.0F);
this.level().playSound((EntityHuman) null, this.getX(), this.getY(), this.getZ(), SoundEffects.PLAYER_ATTACK_NODAMAGE, this.getSoundSource(), 1.0F, 1.0F);
if (flag4) {
@@ -1564,9 +1564,9 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1567,9 +1567,9 @@ public abstract class EntityHuman extends EntityLiving {
super.jumpFromGround();
this.awardStat(StatisticList.JUMP);
if (this.isSprinting()) {
- this.causeFoodExhaustion(0.2F, EntityExhaustionEvent.ExhaustionReason.JUMP_SPRINT); // CraftBukkit - EntityExhaustionEvent
+ this.causeFoodExhaustion(level.spigotConfig.jumpSprintExhaustion, EntityExhaustionEvent.ExhaustionReason.JUMP_SPRINT); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
+ this.causeFoodExhaustion(this.level().spigotConfig.jumpSprintExhaustion, EntityExhaustionEvent.ExhaustionReason.JUMP_SPRINT); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
} else {
- this.causeFoodExhaustion(0.05F, EntityExhaustionEvent.ExhaustionReason.JUMP); // CraftBukkit - EntityExhaustionEvent
+ this.causeFoodExhaustion(level.spigotConfig.jumpWalkExhaustion, EntityExhaustionEvent.ExhaustionReason.JUMP); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
+ this.causeFoodExhaustion(this.level().spigotConfig.jumpWalkExhaustion, EntityExhaustionEvent.ExhaustionReason.JUMP); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
}
}
@@ -1635,19 +1635,19 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1638,19 +1638,19 @@ public abstract class EntityHuman extends EntityLiving {
i = Math.round((float) Math.sqrt(d0 * d0 + d1 * d1 + d2 * d2) * 100.0F);
if (i > 0) {
this.awardStat(StatisticList.SWIM_ONE_CM, i);
- this.causeFoodExhaustion(0.01F * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.SWIM); // CraftBukkit - EntityExhaustionEvent
+ this.causeFoodExhaustion(level.spigotConfig.swimMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.SWIM); // CraftBukkit - EntityExhaustionEvent // Spigot
+ this.causeFoodExhaustion(this.level().spigotConfig.swimMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.SWIM); // CraftBukkit - EntityExhaustionEvent // Spigot
}
} else if (this.isEyeInFluid(TagsFluid.WATER)) {
i = Math.round((float) Math.sqrt(d0 * d0 + d1 * d1 + d2 * d2) * 100.0F);
if (i > 0) {
this.awardStat(StatisticList.WALK_UNDER_WATER_ONE_CM, i);
- this.causeFoodExhaustion(0.01F * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.WALK_UNDERWATER); // CraftBukkit - EntityExhaustionEvent
+ this.causeFoodExhaustion(level.spigotConfig.swimMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.WALK_UNDERWATER); // CraftBukkit - EntityExhaustionEvent // Spigot
+ this.causeFoodExhaustion(this.level().spigotConfig.swimMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.WALK_UNDERWATER); // CraftBukkit - EntityExhaustionEvent // Spigot
}
} else if (this.isInWater()) {
i = Math.round((float) Math.sqrt(d0 * d0 + d2 * d2) * 100.0F);
if (i > 0) {
this.awardStat(StatisticList.WALK_ON_WATER_ONE_CM, i);
- this.causeFoodExhaustion(0.01F * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.WALK_ON_WATER); // CraftBukkit - EntityExhaustionEvent
+ this.causeFoodExhaustion(level.spigotConfig.swimMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.WALK_ON_WATER); // CraftBukkit - EntityExhaustionEvent // Spigot
+ this.causeFoodExhaustion(this.level().spigotConfig.swimMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.WALK_ON_WATER); // CraftBukkit - EntityExhaustionEvent // Spigot
}
} else if (this.onClimbable()) {
if (d1 > 0.0D) {
@@ -1658,13 +1658,13 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1661,13 +1661,13 @@ public abstract class EntityHuman extends EntityLiving {
if (i > 0) {
if (this.isSprinting()) {
this.awardStat(StatisticList.SPRINT_ONE_CM, i);
- this.causeFoodExhaustion(0.1F * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.SPRINT); // CraftBukkit - EntityExhaustionEvent
+ this.causeFoodExhaustion(level.spigotConfig.sprintMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.SPRINT); // CraftBukkit - EntityExhaustionEvent // Spigot
+ this.causeFoodExhaustion(this.level().spigotConfig.sprintMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.SPRINT); // CraftBukkit - EntityExhaustionEvent // Spigot
} else if (this.isCrouching()) {
this.awardStat(StatisticList.CROUCH_ONE_CM, i);
- this.causeFoodExhaustion(0.0F * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.CROUCH); // CraftBukkit - EntityExhaustionEvent
+ this.causeFoodExhaustion(level.spigotConfig.otherMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.CROUCH); // CraftBukkit - EntityExhaustionEvent // Spigot
+ this.causeFoodExhaustion(this.level().spigotConfig.otherMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.CROUCH); // CraftBukkit - EntityExhaustionEvent // Spigot
} else {
this.awardStat(StatisticList.WALK_ONE_CM, i);
- this.causeFoodExhaustion(0.0F * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.WALK); // CraftBukkit - EntityExhaustionEvent
+ this.causeFoodExhaustion(level.spigotConfig.otherMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.WALK); // CraftBukkit - EntityExhaustionEvent // Spigot
+ this.causeFoodExhaustion(this.level().spigotConfig.otherMultiplier * (float) i * 0.01F, EntityExhaustionEvent.ExhaustionReason.WALK); // CraftBukkit - EntityExhaustionEvent // Spigot
}
}
} else if (this.isFallFlying()) {
diff --git a/src/main/java/net/minecraft/world/food/FoodMetaData.java b/src/main/java/net/minecraft/world/food/FoodMetaData.java
index bd7584b3d..325892526 100644
index cf72b81b5..ee5a7c460 100644
--- a/src/main/java/net/minecraft/world/food/FoodMetaData.java
+++ b/src/main/java/net/minecraft/world/food/FoodMetaData.java
@@ -96,7 +96,7 @@ public class FoodMetaData {
@ -78,7 +78,7 @@ index bd7584b3d..325892526 100644
entityhuman.heal(1.0F, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.SATIATED); // CraftBukkit - added RegainReason
// this.a(6.0F); CraftBukkit - EntityExhaustionEvent
- entityhuman.causeFoodExhaustion(6.0f, org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.REGEN); // CraftBukkit - EntityExhaustionEvent
+ entityhuman.causeFoodExhaustion(entityhuman.level.spigotConfig.regenExhaustion, org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.REGEN); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
+ entityhuman.causeFoodExhaustion(entityhuman.level().spigotConfig.regenExhaustion, org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.REGEN); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
this.tickTimer = 0;
}
} else if (this.foodLevel <= 0) {
@ -118,5 +118,5 @@ index 7882c95f4..1b5d1e283 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 10ed10f57bf54a2799445b041be0ec57abc2c946 Mon Sep 17 00:00:00 2001
From a22cbbee04c8b853269b27bdc108bcb65e2486b2 Mon Sep 17 00:00:00 2001
From: Minecrell <dev@minecrell.net>
Date: Sun, 17 Aug 2014 12:42:53 +0200
Subject: [PATCH] Make debug logging togglable.
@ -65,5 +65,5 @@ index 40be2a968..722ca8496 100644
</Loggers>
</Configuration>
--
2.40.0
2.40.1

View file

@ -1,4 +1,4 @@
From 60c7f8a14691a5be60c32846043c527243fdc829 Mon Sep 17 00:00:00 2001
From 9b266cdaa58444157b83fc81301bca6d9f85376e Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 20 Aug 2014 18:12:32 -0400
Subject: [PATCH] Limit TNT Detonations per tick
@ -7,22 +7,22 @@ This gives a per-world control on how much TNT will be processed per-tick,
preventing a massive TNT detonation from lagging out the server.
diff --git a/src/main/java/net/minecraft/world/entity/item/EntityTNTPrimed.java b/src/main/java/net/minecraft/world/entity/item/EntityTNTPrimed.java
index ba96d0fb3..7f60bfd47 100644
index ee50be388..971696eef 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityTNTPrimed.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityTNTPrimed.java
@@ -61,6 +61,7 @@ public class EntityTNTPrimed extends Entity implements TraceableEntity {
@Override
public void tick() {
+ if (level.spigotConfig.maxTntTicksPerTick > 0 && ++level.spigotConfig.currentPrimedTnt > level.spigotConfig.maxTntTicksPerTick) { return; } // Spigot
+ if (this.level().spigotConfig.maxTntTicksPerTick > 0 && ++this.level().spigotConfig.currentPrimedTnt > this.level().spigotConfig.maxTntTicksPerTick) { return; } // Spigot
if (!this.isNoGravity()) {
this.setDeltaMovement(this.getDeltaMovement().add(0.0D, -0.04D, 0.0D));
}
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
index 985e69e96..c90cbf9e9 100644
index c33143811..15e63dbfa 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -667,6 +667,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -660,6 +660,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
timings.tileEntityTick.stopTiming(); // Spigot
this.tickingBlockEntities = false;
gameprofilerfiller.pop();
@ -51,5 +51,5 @@ index 1b5d1e283..8411f9e57 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,19 +1,19 @@
From af0a1eb81c4468e3bd0a0b008855b1c99055b600 Mon Sep 17 00:00:00 2001
From 271b102d41155064ace03d1a40bd3540c84a1c26 Mon Sep 17 00:00:00 2001
From: drXor <mcyoung@mit.edu>
Date: Sat, 9 Aug 2014 13:56:51 -0400
Subject: [PATCH] Configurable Hanging Tick
diff --git a/src/main/java/net/minecraft/world/entity/decoration/EntityHanging.java b/src/main/java/net/minecraft/world/entity/decoration/EntityHanging.java
index ef9d1a0e2..ff71ce701 100644
index 251078ff8..09354658f 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/EntityHanging.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/EntityHanging.java
@@ -120,7 +120,7 @@ public abstract class EntityHanging extends Entity {
@@ -119,7 +119,7 @@ public abstract class EntityHanging extends Entity {
public void tick() {
if (!this.level.isClientSide) {
this.checkOutOfWorld();
if (!this.level().isClientSide) {
this.checkBelowWorld();
- if (this.checkInterval++ == 100) {
+ if (this.checkInterval++ == this.level.spigotConfig.hangingTickFrequency) { // Spigot
+ if (this.checkInterval++ == this.level().spigotConfig.hangingTickFrequency) { // Spigot
this.checkInterval = 0;
if (!this.isRemoved() && !this.survives()) {
// CraftBukkit start - fire break events
@ -33,5 +33,5 @@ index 8411f9e57..76aeff332 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From 1fb7032990357e38b77fb19ab578f4dc776b6864 Mon Sep 17 00:00:00 2001
From 9050fc84b31f92be307e58990bfb099c90e1dc53 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 13 Dec 2014 03:06:05 +0100
Subject: [PATCH] BungeeCord Chat API
diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.java
index b5a12f0de3..03a73f00f6 100644
index b5a12f0de..03a73f00f 100644
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.java
+++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.java
@@ -5,7 +5,17 @@ import net.minecraft.network.PacketDataSerializer;
@ -37,10 +37,10 @@ index b5a12f0de3..03a73f00f6 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 6d4488e395..888bda5f21 100644
index b107e26a7..2e6b837d3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -257,6 +257,8 @@ import org.yaml.snakeyaml.Yaml;
@@ -260,6 +260,8 @@ import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.SafeConstructor;
import org.yaml.snakeyaml.error.MarkedYAMLException;
@ -49,7 +49,7 @@ index 6d4488e395..888bda5f21 100644
public final class CraftServer implements Server {
private final String serverName = "CraftBukkit";
private final String serverVersion;
@@ -2358,6 +2360,20 @@ public final class CraftServer implements Server {
@@ -2376,6 +2378,20 @@ public final class CraftServer implements Server {
public void restart() {
org.spigotmc.RestartCommand.restart();
}
@ -71,7 +71,7 @@ index 6d4488e395..888bda5f21 100644
public org.bukkit.Server.Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
index 74558e852e..13008357b4 100644
index 74558e852..13008357b 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/ServerCommandSender.java
@@ -103,6 +103,29 @@ public abstract class ServerCommandSender implements CommandSender {
@ -105,7 +105,7 @@ index 74558e852e..13008357b4 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index e90064b5e7..9b48d6cb28 100644
index 47aa4cb9b..7296c014d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -194,6 +194,8 @@ import org.bukkit.util.BoundingBox;
@ -145,7 +145,7 @@ index e90064b5e7..9b48d6cb28 100644
public org.bukkit.entity.Entity.Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index ea873cd09f..7865054eec 100644
index 25e917fbe..cedf52a8d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -165,6 +165,8 @@ import org.bukkit.profile.PlayerProfile;
@ -157,7 +157,7 @@ index ea873cd09f..7865054eec 100644
@DelegateDeserialization(CraftOfflinePlayer.class)
public class CraftPlayer extends CraftHumanEntity implements Player {
private long firstPlayed = 0;
@@ -2164,6 +2166,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2170,6 +2172,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return java.util.Collections.unmodifiableSet( ret );
}
@ -207,7 +207,7 @@ index ea873cd09f..7865054eec 100644
public Player.Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
index 82c1487db7..ea96eab4e4 100644
index 82c1487db..ea96eab4e 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
@@ -22,6 +22,9 @@ import org.bukkit.inventory.meta.BookMeta;

View file

@ -1,4 +1,4 @@
From b18b163fd7f1097535f2f0bb0bc337942843c152 Mon Sep 17 00:00:00 2001
From 9aa4c84cf2f17346e93f1921ecbacee090d7750b Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 20 Feb 2015 21:39:31 +1100
Subject: [PATCH] Allow Capping (Tile)Entity Tick Time.
@ -10,10 +10,10 @@ For tiles there is very little tradeoff for this option, as tile ticks are based
This feature was commisioned by Chunkr.
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
index c90cbf9e9..7f2bb869f 100644
index 15e63dbfa..88f200fc1 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -159,6 +159,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -158,6 +158,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
public static BlockPosition lastPhysicsProblem; // Spigot
@ -23,7 +23,7 @@ index c90cbf9e9..7f2bb869f 100644
public CraftWorld getWorld() {
return this.world;
@@ -252,6 +255,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -251,6 +254,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
});
// CraftBukkit end
timings = new SpigotTimings.WorldTimingsHandler(this); // Spigot - code below can generate new world and access timings
@ -32,7 +32,7 @@ index c90cbf9e9..7f2bb869f 100644
}
@Override
@@ -645,20 +650,28 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -638,20 +643,28 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
timings.tileEntityPending.stopTiming(); // Spigot
timings.tileEntityTick.startTiming(); // Spigot
@ -112,5 +112,5 @@ index 000000000..23a39382b
+ }
+}
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From c18621f7b58d98bb3fea6a15e770840564c2a478 Mon Sep 17 00:00:00 2001
From 0a233697cf4dc95c34219cd803a54141bda0cf71 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 13 Jul 2015 19:05:15 +1000
Subject: [PATCH] Use Map for getPlayer(String) lookup.
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 5d74a8701..ac168a8b3 100644
index a4710dafd..0514af4cc 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -162,6 +162,7 @@ public abstract class PlayerList {
@ -16,7 +16,7 @@ index 5d74a8701..ac168a8b3 100644
public PlayerList(MinecraftServer minecraftserver, LayeredRegistryAccess<RegistryLayer> layeredregistryaccess, WorldNBTStorage worldnbtstorage, int i) {
this.cserver = minecraftserver.server = new CraftServer((DedicatedServer) minecraftserver, this);
@@ -286,6 +287,7 @@ public abstract class PlayerList {
@@ -293,6 +294,7 @@ public abstract class PlayerList {
entityplayer.connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(this.players));
this.players.add(entityplayer);
@ -24,7 +24,7 @@ index 5d74a8701..ac168a8b3 100644
this.playersByUUID.put(entityplayer.getUUID(), entityplayer);
// this.broadcastAll(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(entityplayer))); // CraftBukkit - replaced with loop below
@@ -539,6 +541,7 @@ public abstract class PlayerList {
@@ -546,6 +548,7 @@ public abstract class PlayerList {
worldserver.removePlayerImmediately(entityplayer, Entity.RemovalReason.UNLOADED_WITH_PLAYER);
entityplayer.getAdvancements().stopListening();
this.players.remove(entityplayer);
@ -32,15 +32,15 @@ index 5d74a8701..ac168a8b3 100644
this.server.getCustomBossEvents().onPlayerDisconnect(entityplayer);
UUID uuid = entityplayer.getUUID();
EntityPlayer entityplayer1 = (EntityPlayer) this.playersByUUID.get(uuid);
@@ -683,6 +686,7 @@ public abstract class PlayerList {
@@ -690,6 +693,7 @@ public abstract class PlayerList {
public EntityPlayer respawn(EntityPlayer entityplayer, WorldServer worldserver, boolean flag, Location location, boolean avoidSuffocation, RespawnReason reason) {
entityplayer.stopRiding(); // CraftBukkit
this.players.remove(entityplayer);
+ this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
entityplayer.getLevel().removePlayerImmediately(entityplayer, Entity.RemovalReason.DISCARDED);
entityplayer.serverLevel().removePlayerImmediately(entityplayer, Entity.RemovalReason.DISCARDED);
BlockPosition blockposition = entityplayer.getRespawnPosition();
float f = entityplayer.getRespawnAngle();
@@ -804,6 +808,7 @@ public abstract class PlayerList {
@@ -811,6 +815,7 @@ public abstract class PlayerList {
if (!entityplayer.connection.isDisconnected()) {
worldserver1.addRespawnedPlayer(entityplayer1);
this.players.add(entityplayer1);
@ -48,7 +48,7 @@ index 5d74a8701..ac168a8b3 100644
this.playersByUUID.put(entityplayer1.getUUID(), entityplayer1);
}
// entityplayer1.initInventoryMenu();
@@ -1007,19 +1012,7 @@ public abstract class PlayerList {
@@ -1014,19 +1019,7 @@ public abstract class PlayerList {
@Nullable
public EntityPlayer getPlayerByName(String s) {
@ -70,5 +70,5 @@ index 5d74a8701..ac168a8b3 100644
public void broadcast(@Nullable EntityHuman entityhuman, double d0, double d1, double d2, double d3, ResourceKey<World> resourcekey, Packet<?> packet) {
--
2.40.0
2.40.1

View file

@ -1,14 +1,14 @@
From 81a9199e2559be0add7531370b18ec4431b6a97b Mon Sep 17 00:00:00 2001
From 090a0b9011b2242d8700ce3d4ec80b8327312a63 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Wed, 22 Jul 2015 19:04:37 +1000
Subject: [PATCH] Clear Packet Queue on Disconnect
diff --git a/src/main/java/net/minecraft/network/NetworkManager.java b/src/main/java/net/minecraft/network/NetworkManager.java
index 0b8998b94..caeb913ee 100644
index 916aec222..38ad306e8 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -443,6 +443,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -446,6 +446,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
} else if (this.getPacketListener() != null) {
this.getPacketListener().onDisconnect(IChatBaseComponent.translatable("multiplayer.disconnect.generic"));
}
@ -17,7 +17,7 @@ index 0b8998b94..caeb913ee 100644
}
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index 4b1257cb7..e7d99b3c9 100644
index bf8654be7..7761a7c07 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -1815,7 +1815,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@ -30,5 +30,5 @@ index 4b1257cb7..e7d99b3c9 100644
} else if (packet instanceof PacketPlayOutSpawnPosition) {
PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet;
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From 91f3e80acf15cbb434ae2df0753b3c8b3efc68c6 Mon Sep 17 00:00:00 2001
From e96e4453633537ff09c62b16eb768bd830cdd8c3 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Thu, 3 Mar 2016 19:45:46 +1100
Subject: [PATCH] Implement SpawnerSpawnEvent.
diff --git a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
index 50df2abbf6..470b3ab71e 100644
index a2d80d87f..6d437af3c 100644
--- a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
@@ -158,6 +158,18 @@ public abstract class MobSpawnerAbstract {
@ -28,7 +28,7 @@ index 50df2abbf6..470b3ab71e 100644
if (!worldserver.tryAddFreshEntityWithPassengers(entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER)) { // CraftBukkit
this.delay(worldserver, blockposition);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 27bd89fedc..b0bcbc0385 100644
index 85cf72e9a..4fc130b52 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -238,6 +238,8 @@ import org.bukkit.inventory.InventoryView;
@ -61,7 +61,7 @@ index 27bd89fedc..b0bcbc0385 100644
+
public static EntityToggleGlideEvent callToggleGlideEvent(EntityLiving entity, boolean gliding) {
EntityToggleGlideEvent event = new EntityToggleGlideEvent((LivingEntity) entity.getBukkitEntity(), gliding);
entity.level.getCraftServer().getPluginManager().callEvent(event);
entity.level().getCraftServer().getPluginManager().callEvent(event);
--
2.40.1

View file

@ -1,4 +1,4 @@
From 70e09102897821686de9d74fa5626a538831f283 Mon Sep 17 00:00:00 2001
From 4e649afa38b5bb8108c37cf7edae6e54dbe96c89 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 9 Jun 2017 16:29:31 +1000
Subject: [PATCH] Configurable Advancement Disabling
@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Advancement Disabling
Allow disabling any (or all) inbuilt advancements with a configuration option.
diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
index 12f4ecd28..c5c1857bd 100644
index 4c8cf9227..c56378119 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
@@ -178,6 +178,7 @@ public class AdvancementDataPlayer {
@ -18,7 +18,7 @@ index 12f4ecd28..c5c1857bd 100644
Iterator iterator = this.progress.entrySet().iterator();
diff --git a/src/main/java/net/minecraft/server/AdvancementDataWorld.java b/src/main/java/net/minecraft/server/AdvancementDataWorld.java
index 54bc56c07..d2aed1f7f 100644
index 314d217dd..cb044bcc4 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataWorld.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataWorld.java
@@ -39,6 +39,12 @@ public class AdvancementDataWorld extends ResourceDataJson {
@ -33,7 +33,7 @@ index 54bc56c07..d2aed1f7f 100644
+
try {
JsonObject jsonobject = ChatDeserializer.convertToJsonObject(jsonelement, "advancement");
Advancement.SerializedAdvancement advancement_serializedadvancement = Advancement.SerializedAdvancement.fromJson(jsonobject, new LootDeserializationContext(minecraftkey, this.predicateManager));
Advancement.SerializedAdvancement advancement_serializedadvancement = Advancement.SerializedAdvancement.fromJson(jsonobject, new LootDeserializationContext(minecraftkey, this.lootData));
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index b86000179..b99e43352 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
@ -51,5 +51,5 @@ index b86000179..b99e43352 100644
+ }
}
--
2.40.0
2.40.1

View file

@ -1,11 +1,11 @@
From 8d99641a2f513078f11637b812f47cbab0be0a27 Mon Sep 17 00:00:00 2001
From e2808d52fd8e397fbd3225ce1f7458663f4f5159 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 25 Feb 2019 19:26:56 +1100
Subject: [PATCH] Add creative mode NBT permissions
diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
index 0b018f0376..530ea983d0 100644
index 8db033653..a7b118ce9 100644
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
@@ -202,6 +202,14 @@ public class PlayerInteractManager {
@ -24,7 +24,7 @@ index 0b018f0376..530ea983d0 100644
this.player.connection.send(new PacketPlayOutBlockChange(blockposition, this.level.getBlockState(blockposition)));
this.debugLogging(blockposition, false, j, "block action restricted");
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index 765f55139d..6c8cca64cf 100644
index 7761a7c07..5bba8ea16 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -2912,7 +2912,7 @@ public class PlayerConnection implements ServerPlayerConnection, TickablePacketL
@ -35,9 +35,9 @@ index 765f55139d..6c8cca64cf 100644
+ if (!itemstack.isEmpty() && nbttagcompound != null && nbttagcompound.contains("x") && nbttagcompound.contains("y") && nbttagcompound.contains("z") && this.player.getBukkitEntity().hasPermission("minecraft.nbt.copy")) { // Spigot
BlockPosition blockposition = TileEntity.getPosFromTag(nbttagcompound);
if (this.player.level.isLoaded(blockposition)) {
if (this.player.level().isLoaded(blockposition)) {
diff --git a/src/main/java/net/minecraft/world/item/ItemBlock.java b/src/main/java/net/minecraft/world/item/ItemBlock.java
index d740bd14a9..386f22dfb5 100644
index d740bd14a..386f22dfb 100644
--- a/src/main/java/net/minecraft/world/item/ItemBlock.java
+++ b/src/main/java/net/minecraft/world/item/ItemBlock.java
@@ -230,7 +230,7 @@ public class ItemBlock extends Item {
@ -50,22 +50,20 @@ index d740bd14a9..386f22dfb5 100644
}
diff --git a/src/main/java/net/minecraft/world/item/ItemDebugStick.java b/src/main/java/net/minecraft/world/item/ItemDebugStick.java
index b2a4f0e03b..e91ae1d323 100644
index 177095589..fb59e6dfa 100644
--- a/src/main/java/net/minecraft/world/item/ItemDebugStick.java
+++ b/src/main/java/net/minecraft/world/item/ItemDebugStick.java
@@ -56,8 +56,8 @@ public class ItemDebugStick extends Item {
return EnumInteractionResult.sidedSuccess(world.isClientSide);
@@ -57,7 +57,7 @@ public class ItemDebugStick extends Item {
}
- private boolean handleInteraction(EntityHuman entityhuman, IBlockData iblockdata, GeneratorAccess generatoraccess, BlockPosition blockposition, boolean flag, ItemStack itemstack) {
public boolean handleInteraction(EntityHuman entityhuman, IBlockData iblockdata, GeneratorAccess generatoraccess, BlockPosition blockposition, boolean flag, ItemStack itemstack) {
- if (!entityhuman.canUseGameMasterBlocks()) {
+ public boolean handleInteraction(EntityHuman entityhuman, IBlockData iblockdata, GeneratorAccess generatoraccess, BlockPosition blockposition, boolean flag, ItemStack itemstack) { // PAIL private -> public
+ if (!entityhuman.canUseGameMasterBlocks() && !(entityhuman.getAbilities().instabuild && entityhuman.getBukkitEntity().hasPermission("minecraft.debugstick")) && !entityhuman.getBukkitEntity().hasPermission("minecraft.debugstick.always")) { // Spigot
return false;
} else {
Block block = iblockdata.getBlock();
diff --git a/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java b/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
index 75f8d47a20..525ebf961e 100644
index 75f8d47a2..525ebf961 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/permissions/CraftDefaultPermissions.java
@@ -11,6 +11,12 @@ public final class CraftDefaultPermissions {

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