Update to Minecraft 1.21.6

This commit is contained in:
md_5 2025-06-18 01:15:00 +10:00
parent 270012a314
commit d5ca3f833b
No known key found for this signature in database
GPG key ID: E8E901AC7C617C11
86 changed files with 519 additions and 478 deletions

View file

@ -1,4 +1,4 @@
From afb4fddbf2e496ace94555ab42098377b3680c5d Mon Sep 17 00:00:00 2001
From 595e44f17f2f2ad555736c4c3d1b2af936dff670 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 2 Jun 2013 10:36:24 +1000
Subject: [PATCH] POM Changes
@ -20,7 +20,7 @@ index 1d1e06c8..feb3b07e 100644
<!-- See https://checkstyle.org/checks/imports/index.html -->
<module name="AvoidStarImport">
diff --git a/pom.xml b/pom.xml
index c7bba1fd..fce99867 100644
index fc015518..356a9c9f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,14 +3,14 @@
@ -31,7 +31,7 @@ index c7bba1fd..fce99867 100644
- <artifactId>bukkit</artifactId>
+ <groupId>org.spigotmc</groupId>
+ <artifactId>spigot-api</artifactId>
<version>1.21.5-R0.1-SNAPSHOT</version>
<version>1.21.6-R0.1-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>Bukkit</name>

View file

@ -1,4 +1,4 @@
From 0bbdc4139e08c26af9262e0cc5fe91e8e0e40c5a Mon Sep 17 00:00:00 2001
From dada70e24de7b916a852f311a22ff1e8cc7b9aee 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
@ -120,13 +120,13 @@ index 158ac20f..d913298e 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 3e044e1b..da0ddce5 100644
index 94142faf..24bc46a0 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2287,4 +2287,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return whether the player allows server listings
@@ -2293,4 +2293,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public boolean isAllowingServerListings();
@ApiStatus.Experimental
public void clearDialog();
+
+ // Spigot start
+ public class Spigot extends Entity.Spigot {

View file

@ -1,4 +1,4 @@
From fdb5672a8cf78d5d104582251f2d498f9c86e865 Mon Sep 17 00:00:00 2001
From 0f2bc97f58e3ac75e23cf2d9ba8dd7d12601508e 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

View file

@ -1,14 +1,14 @@
From 988426c05cfd38975c697637ef04903e627a49fd Mon Sep 17 00:00:00 2001
From 884178d5a7a0b29d16f30a0bf078d1e2e0262997 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 da0ddce5..f26ffbdb 100644
index 24bc46a0..e447f0f7 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2291,6 +2291,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2297,6 +2297,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Spigot start
public class Spigot extends Entity.Spigot {

View file

@ -1,14 +1,14 @@
From ec2efb692b151ba456ec6bc71f8ccc24199f42d1 Mon Sep 17 00:00:00 2001
From bd1a046a91f8f8b6607336074682d4d87800dc2a 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 f26ffbdb..5a339dbc 100644
index e447f0f7..68b79de9 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2301,6 +2301,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2307,6 +2307,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public InetSocketAddress getRawAddress() {
throw new UnsupportedOperationException("Not supported yet.");
}

View file

@ -1,14 +1,14 @@
From e9da1a64aade837f38db0d183ba79f88674cf663 Mon Sep 17 00:00:00 2001
From 2b572aa402ecbb87b4eaf74fd54ea7fe6473868c 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 5a339dbc..b09ebd03 100644
index 68b79de9..c4b82154 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2308,6 +2308,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2314,6 +2314,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void respawn() {
throw new UnsupportedOperationException("Not supported yet.");
}

View file

@ -1,4 +1,4 @@
From facd769ef2e8f00b613442d42ad1f849cb84868a Mon Sep 17 00:00:00 2001
From b26cbe387613d31b0ffc07e03585ef382e2964d7 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

View file

@ -1,4 +1,4 @@
From ef0f887fd2b493a5945e6fd0ac93cc21750b671a Mon Sep 17 00:00:00 2001
From 4aba0b7a3afb2d7c08708aeb3a406e550e403e15 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.

View file

@ -1,15 +1,15 @@
From e11ac2c76a9135b2f8a98f17a1c04f4c94362ab8 Mon Sep 17 00:00:00 2001
From 52feec3d75395934ff29c5e1d42399d6d0a38bc6 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 ab1f7c8f..9de411d1 100644
index e45b944f..b0cc490c 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1890,6 +1890,13 @@ public interface Server extends PluginMessageRecipient {
public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
@@ -1872,6 +1872,13 @@ public interface Server extends PluginMessageRecipient {
public org.bukkit.configuration.file.YamlConfiguration getConfig() {
throw new UnsupportedOperationException("Not supported yet.");
}
+

View file

@ -1,11 +1,11 @@
From a8e654be8c4d53cc3328bcfaec71880ec64bfafa Mon Sep 17 00:00:00 2001
From e607d6710a706a5df1ad00f9c13acd6e1c21cf28 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
Subject: [PATCH] BungeeCord API
diff --git a/pom.xml b/pom.xml
index fce99867..5a7e3b8c 100644
index 356a9c9f..74e9d450 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,6 +51,13 @@
@ -14,8 +14,8 @@ index fce99867..5a7e3b8c 100644
</dependency>
+ <dependency>
+ <groupId>net.md-5</groupId>
+ <artifactId>bungeecord-chat</artifactId>
+ <version>1.21-R0.2</version>
+ <artifactId>bungeecord-serializer</artifactId>
+ <version>1.21-R0.3</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ </dependency>
@ -285,11 +285,11 @@ 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 e45b944f..ab1f7c8f 100644
index b0cc490c..c6263cc6 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1872,6 +1872,24 @@ public interface Server extends PluginMessageRecipient {
public org.bukkit.configuration.file.YamlConfiguration getConfig() {
@@ -1879,6 +1879,24 @@ public interface Server extends PluginMessageRecipient {
public void restart() {
throw new UnsupportedOperationException("Not supported yet.");
}
+
@ -362,10 +362,24 @@ 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 b09ebd03..299c3d4c 100644
index c4b82154..43be9aee 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2318,6 +2318,58 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2294,6 +2294,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@ApiStatus.Experimental
public void clearDialog();
+ /**
+ * Show a dialog to the player.
+ *
+ * @param dialog the dialog to show
+ */
+ public void showDialog(@NotNull net.md_5.bungee.api.dialog.Dialog dialog);
+
// Spigot start
public class Spigot extends Entity.Spigot {
@@ -2324,6 +2331,58 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public java.util.Set<Player> getHiddenPlayers() {
throw new UnsupportedOperationException("Not supported yet.");
}

View file

@ -1,4 +1,4 @@
From 4705a58755432d990dcfa23beb85a309111824f9 Mon Sep 17 00:00:00 2001
From a1451d347b0736c65368406b88b1a7529714e0e9 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Tue, 2 Jul 2013 13:07:39 +1000
Subject: [PATCH] POM Changes
@ -34,7 +34,7 @@ index 12feab88b..3150fd744 100644
<!-- See https://checkstyle.org/checks/imports/index.html -->
<module name="AvoidStarImport">
diff --git a/pom.xml b/pom.xml
index a6030381e..9f0d1a1a9 100644
index 712a3fdd5..2b29ebf1f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,13 +1,20 @@
@ -46,7 +46,7 @@ index a6030381e..9f0d1a1a9 100644
+ <groupId>org.spigotmc</groupId>
+ <artifactId>spigot</artifactId>
<packaging>jar</packaging>
<version>1.21.5-R0.1-SNAPSHOT</version>
<version>1.21.6-R0.1-SNAPSHOT</version>
- <name>CraftBukkit</name>
+ <name>Spigot</name>
<url>https://www.spigotmc.org/</url>

View file

@ -1,4 +1,4 @@
From 7664d6101dfc8d9f79e8332a711bdcb642aed707 Mon Sep 17 00:00:00 2001
From 741d68ac99f9dfd5f57dfbdf2a027d561c24b54f Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 01de36d0b..3e1903310 100644
index 70c05fdd4..067094066 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2565,4 +2565,16 @@ public final class CraftServer implements Server {
@@ -2566,4 +2566,16 @@ public final class CraftServer implements Server {
public UnsafeValues getUnsafe() {
return CraftMagicNumbers.INSTANCE;
}
@ -27,7 +27,7 @@ index 01de36d0b..3e1903310 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index f21946418..b8f783209 100644
index c5949f74d..0855770a7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2079,4 +2079,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@ -84,7 +84,7 @@ index be10d200e..861739d4c 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 209753f0b..19ed72385 100644
index 0dd488ae1..16df9691e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -894,4 +894,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@ -124,12 +124,12 @@ index 3a4fb14bf..3a68e1cf5 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 5af8802e3..a1f7c91e3 100644
index 4562bd18b..92fdac049 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2347,4 +2347,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean isAllowingServerListings() {
return getHandle().allowsListing();
getHandle().connection.send(ClientboundClearDialogPacket.INSTANCE);
}
+
+ // Spigot start

View file

@ -1,4 +1,4 @@
From 3b4f2ddfc4b82a208681f755e3b25fc6a2144bec Mon Sep 17 00:00:00 2001
From 27f0f0530d1f3d5670f9c51d1b204e26e6406d2e Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 3b753f647..496ca6184 100644
index 742ef34cb..4d0dc0cb3 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -194,6 +194,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -31,7 +31,7 @@ index 3b753f647..496ca6184 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 8c2cf787e..fa9f22a38 100644
index cdeef02ff..26d5241d6 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -160,6 +160,7 @@ public abstract class World implements GeneratorAccess, UUIDLookup<Entity>, Auto
@ -51,10 +51,10 @@ index 8c2cf787e..fa9f22a38 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 3e1903310..e6e8076e1 100644
index 067094066..4a2e507d5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -946,6 +946,7 @@ public final class CraftServer implements Server {
@@ -947,6 +947,7 @@ public final class CraftServer implements Server {
logger.log(Level.WARNING, "Failed to load banned-players.json, " + ex.getMessage());
}
@ -62,7 +62,7 @@ index 3e1903310..e6e8076e1 100644
for (WorldServer world : console.getAllLevels()) {
world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters);
@@ -960,11 +961,13 @@ public final class CraftServer implements Server {
@@ -961,11 +962,13 @@ public final class CraftServer implements Server {
}
}
}
@ -77,10 +77,10 @@ index 3e1903310..e6e8076e1 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 c2c4126b3..a4e0f8c82 100644
index 7f7ff4fb7..c2d868781 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -134,6 +134,14 @@ public class Main {
@@ -135,6 +135,14 @@ public class Main {
acceptsAll(asList("demo"), "Demo mode");
acceptsAll(asList("initSettings"), "Only create configuration files and then exit"); // SPIGOT-5761: Add initSettings option

View file

@ -1,4 +1,4 @@
From f4dba52dd5b7bcfd8f5687d55f7594a140c2ea23 Mon Sep 17 00:00:00 2001
From 9ddc5e65c899743f067340ee0907d24a13837bc0 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
@ -111,7 +111,7 @@ index 090dc15c6..bfbe5e5f5 100644
}
}
diff --git a/src/main/java/net/minecraft/world/level/block/BlockGrowingTop.java b/src/main/java/net/minecraft/world/level/block/BlockGrowingTop.java
index fea77b840..d9c72fe41 100644
index e5487a7f1..aa6c1c6f1 100644
--- a/src/main/java/net/minecraft/world/level/block/BlockGrowingTop.java
+++ b/src/main/java/net/minecraft/world/level/block/BlockGrowingTop.java
@@ -44,7 +44,19 @@ public abstract class BlockGrowingTop extends BlockGrowingAbstract implements IB

View file

@ -1,4 +1,4 @@
From 0ed11d10a11d805793af276a231db2e2649d93b7 Mon Sep 17 00:00:00 2001
From f78b9fd923bfe2befce84e4c977fea3460e88a3f Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 23 Mar 2013 09:46:33 +1100
Subject: [PATCH] Merge tweaks and configuration
@ -6,10 +6,10 @@ 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 3d4fe3f4d..acb1a58ae 100644
index 5269aca85..671cb27d0 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
@@ -259,7 +259,10 @@ public class EntityItem extends Entity implements TraceableEntity {
@@ -241,7 +241,10 @@ public class EntityItem extends Entity implements TraceableEntity {
private void mergeWithNeighbours() {
if (this.isMergable()) {
@ -21,7 +21,7 @@ index 3d4fe3f4d..acb1a58ae 100644
return entityitem1 != this && entityitem1.isMergable();
})) {
if (entityitem.isMergable()) {
@@ -284,7 +287,7 @@ public class EntityItem extends Entity implements TraceableEntity {
@@ -266,7 +269,7 @@ public class EntityItem extends Entity implements TraceableEntity {
ItemStack itemstack1 = entityitem.getItem();
if (Objects.equals(this.target, entityitem.target) && areMergable(itemstack, itemstack1)) {
@ -31,10 +31,10 @@ index 3d4fe3f4d..acb1a58ae 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 1f47a53b0..5137480fe 100644
index 60498ee63..1206d63af 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -728,6 +728,23 @@ public class CraftEventFactory {
@@ -734,6 +734,23 @@ public class CraftEventFactory {
return false;
}

View file

@ -1,4 +1,4 @@
From b40454506420a23e97012e635f81a4aa981bb1f1 Mon Sep 17 00:00:00 2001
From 09124cc447b133c7394baa2b0fe33311292d8c94 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
@ -26,7 +26,7 @@ index 59c7df2e2..3aa1dc69d 100644
if (j > this.maxDistance) {
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
index d4bf5c5d8..7eea04eb5 100644
index 4932c4b8d..8d197013e 100644
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
@@ -1249,6 +1249,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.b, Gener
@ -62,10 +62,10 @@ index d4bf5c5d8..7eea04eb5 100644
Vec3D vec3d = entityplayer.position().subtract(this.entity.position());
int i = PlayerChunkMap.this.getPlayerViewDistance(entityplayer);
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index 6c58226ae..6b0055956 100644
index ef3a29f6c..07d93b08c 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -1070,6 +1070,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -1094,6 +1094,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
// CraftBukkit start
private boolean addEntity(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
@ -73,7 +73,7 @@ index 6c58226ae..6b0055956 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;
@@ -1828,6 +1829,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -1852,6 +1853,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@Override
public LevelEntityGetter<Entity> getEntities() {
@ -81,7 +81,7 @@ index 6c58226ae..6b0055956 100644
return this.entityManager.getEntityGetter();
}
@@ -1955,6 +1957,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -2010,6 +2012,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
}
public void onTrackingStart(Entity entity) {
@ -89,7 +89,7 @@ index 6c58226ae..6b0055956 100644
WorldServer.this.getChunkSource().addEntity(entity);
if (entity instanceof EntityPlayer entityplayer) {
WorldServer.this.players.add(entityplayer);
@@ -1982,6 +1985,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -2047,6 +2050,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
}
public void onTrackingEnd(Entity entity) {
@ -98,10 +98,10 @@ index 6c58226ae..6b0055956 100644
if (entity instanceof EntityPlayer entityplayer) {
WorldServer.this.players.remove(entityplayer);
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
index 947f5be3d..d2d6de827 100644
index 1ec3d3ac3..e2ee7ca32 100644
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
@@ -1164,6 +1164,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -1187,6 +1187,7 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
}
public boolean addEffect(MobEffect mobeffect, @Nullable Entity entity, EntityPotionEffectEvent.Cause cause) {
@ -110,7 +110,7 @@ index 947f5be3d..d2d6de827 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 a23c28736..4406c32e4 100644
index b06f668f4..e9b9174df 100644
--- a/src/main/java/net/minecraft/world/item/crafting/CraftingManager.java
+++ b/src/main/java/net/minecraft/world/item/crafting/CraftingManager.java
@@ -117,6 +117,7 @@ public class CraftingManager extends ResourceDataAbstract<RecipeMap> implements
@ -137,10 +137,10 @@ index 7c63efd69..61311ca82 100644
// CraftBukkit start
protected void onPlace(IBlockData iblockdata, World world, BlockPosition blockposition, IBlockData iblockdata1, boolean flag, @Nullable ItemActionContext context) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e6e8076e1..d002ad986 100644
index 4a2e507d5..c3005494c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -899,6 +899,7 @@ public final class CraftServer implements Server {
@@ -900,6 +900,7 @@ public final class CraftServer implements Server {
public boolean dispatchCommand(CommandSender sender, String commandLine) {
Preconditions.checkArgument(sender != null, "sender cannot be null");
Preconditions.checkArgument(commandLine != null, "commandLine cannot be null");
@ -149,7 +149,7 @@ index e6e8076e1..d002ad986 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 b8f783209..33172774d 100644
index 0855770a7..fc66d09d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -279,6 +279,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@ -201,10 +201,10 @@ index b8f783209..33172774d 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 19ed72385..a36d8cdb8 100644
index 16df9691e..a7a3a85f5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -230,6 +230,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -233,6 +233,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@Override
public List<org.bukkit.entity.Entity> getNearbyEntities(double x, double y, double z) {
Preconditions.checkState(!entity.generation, "Cannot get nearby entities during world generation");
@ -213,10 +213,10 @@ index 19ed72385..a36d8cdb8 100644
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 a1f7c91e3..7b68caebd 100644
index 92fdac049..e1042bb6c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -496,6 +496,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -499,6 +499,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void kickPlayer(String message) {

View file

@ -1,4 +1,4 @@
From a36b50b107d24f79fb19845cbaa050dd5c79dc82 Mon Sep 17 00:00:00 2001
From 009717b08ae0f5c0bb3ba4318719e3422b0feed7 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 f39ee0546..229e7ef9b 100644
index 07d93b08c..4697d3aa1 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -276,8 +276,8 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -279,8 +279,8 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
this.entityManager = new PersistentEntitySectionManager<Entity>(Entity.class, new WorldServer.a(), entitypersistentstorage);
StructureTemplateManager structuretemplatemanager = minecraftserver.getStructureManager();
@ -21,20 +21,20 @@ index f39ee0546..229e7ef9b 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 25b460b14..f76c2cdcd 100644
index 071e9cd94..b84b24840 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -236,7 +236,8 @@ public abstract class PlayerList {
boolean flag1 = gamerules.getBoolean(GameRules.RULE_REDUCEDDEBUGINFO);
boolean flag2 = gamerules.getBoolean(GameRules.RULE_LIMITED_CRAFTING);
@@ -235,7 +235,8 @@ public abstract class PlayerList {
boolean flag1 = gamerules.getBoolean(GameRules.RULE_REDUCEDDEBUGINFO);
boolean flag2 = gamerules.getBoolean(GameRules.RULE_LIMITED_CRAFTING);
- playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), this.server.levelKeys(), this.getMaxPlayers(), this.viewDistance, this.simulationDistance, flag1, !flag, flag2, entityplayer.createCommonSpawnInfo(worldserver1), this.server.enforceSecureProfile()));
+ // Spigot - view distance
+ playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), this.server.levelKeys(), this.getMaxPlayers(), worldserver1.spigotConfig.viewDistance, worldserver1.spigotConfig.simulationDistance, flag1, !flag, flag2, entityplayer.createCommonSpawnInfo(worldserver1), this.server.enforceSecureProfile()));
entityplayer.getBukkitEntity().sendSupportedChannels(); // CraftBukkit
playerconnection.send(new PacketPlayOutServerDifficulty(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
playerconnection.send(new PacketPlayOutAbilities(entityplayer.getAbilities()));
@@ -656,6 +657,8 @@ public abstract class PlayerList {
- playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), this.server.levelKeys(), this.getMaxPlayers(), this.viewDistance, this.simulationDistance, flag1, !flag, flag2, entityplayer.createCommonSpawnInfo(worldserver1), this.server.enforceSecureProfile()));
+ // Spigot - view distance
+ playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), this.server.levelKeys(), this.getMaxPlayers(), worldserver1.spigotConfig.viewDistance, worldserver1.spigotConfig.simulationDistance, flag1, !flag, flag2, entityplayer.createCommonSpawnInfo(worldserver1), this.server.enforceSecureProfile()));
entityplayer.getBukkitEntity().sendSupportedChannels(); // CraftBukkit
playerconnection.send(new PacketPlayOutServerDifficulty(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
playerconnection.send(new PacketPlayOutAbilities(entityplayer.getAbilities()));
@@ -652,6 +653,8 @@ public abstract class PlayerList {
WorldData worlddata = worldserver1.getLevelData();
entityplayer1.connection.send(new PacketPlayOutRespawn(entityplayer1.createCommonSpawnInfo(worldserver1), b0));

View file

@ -1,4 +1,4 @@
From e4230a5fcdcdf8ef356934e620e5482200699b2f Mon Sep 17 00:00:00 2001
From cf561220e7e5cd5e83b9c248f407ff0984e0a750 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,10 +6,10 @@ 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 b2a556f60..a1a7cba6e 100644
index 032d0e228..86eb082da 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -201,6 +201,8 @@ import org.bukkit.craftbukkit.Main;
@@ -203,6 +203,8 @@ import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.event.server.ServerLoadEvent;
// CraftBukkit end
@ -18,7 +18,7 @@ index b2a556f60..a1a7cba6e 100644
public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTask> implements ServerInfo, ChunkIOErrorReporter, ICommandListener {
public static final Logger LOGGER = LogUtils.getLogger();
@@ -1319,6 +1321,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1321,6 +1323,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
}
@ -26,7 +26,7 @@ index b2a556f60..a1a7cba6e 100644
++this.tickCount;
this.tickRateManager.tick();
this.tickChildren(booleansupplier);
@@ -1344,10 +1347,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1346,10 +1349,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.smoothedTickTimeMillis = this.smoothedTickTimeMillis * 0.8F + (float) k / (float) TimeRange.NANOSECONDS_PER_MILLISECOND * 0.19999999F;
this.logTickMethodTime(i);
gameprofilerfiller.pop();
@ -40,7 +40,7 @@ index b2a556f60..a1a7cba6e 100644
MinecraftServer.LOGGER.debug("Autosave started");
GameProfilerFiller gameprofilerfiller = Profiler.get();
@@ -1355,6 +1361,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1357,6 +1363,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.saveEverything(true, false, false);
gameprofilerfiller.pop();
MinecraftServer.LOGGER.debug("Autosave finished");
@ -48,7 +48,7 @@ index b2a556f60..a1a7cba6e 100644
}
private void logTickMethodTime(long i) {
@@ -1427,17 +1434,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1429,17 +1436,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.getPlayerList().getPlayers().forEach((entityplayer) -> {
entityplayer.connection.suspendFlushing();
});
@ -73,15 +73,15 @@ index b2a556f60..a1a7cba6e 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) {
@@ -1445,6 +1459,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
entityplayer.connection.send(new PacketPlayOutUpdateTime(entityplayer.level().getGameTime(), entityplayer.getPlayerTime(), entityplayer.serverLevel().getGameRules().getBoolean(GameRules.RULE_DAYLIGHT))); // Add support for per player time
@@ -1447,6 +1461,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
for (WorldServer worldserver : this.getAllLevels()) {
gameprofilerfiller.push(() -> {
@@ -1463,7 +1478,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1465,7 +1480,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
gameprofilerfiller.push("tick");
try {
@ -91,7 +91,7 @@ index b2a556f60..a1a7cba6e 100644
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
@@ -1476,18 +1493,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1478,18 +1495,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
gameprofilerfiller.popPush("connection");
@ -117,7 +117,7 @@ index b2a556f60..a1a7cba6e 100644
gameprofilerfiller.popPush("send chunks");
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 496ca6184..6e2684753 100644
index 4d0dc0cb3..c8fe1455e 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -65,6 +65,7 @@ import org.apache.logging.log4j.Level;
@ -145,7 +145,7 @@ index 496ca6184..6e2684753 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 03f9d3c7a..4fdf130de 100644
index 6120ebd1b..196e383e6 100644
--- a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
@@ -160,11 +160,13 @@ public class ChunkProviderServer extends IChunkProvider {
@ -168,7 +168,7 @@ index 03f9d3c7a..4fdf130de 100644
gameprofilerfiller.push("purge");
+ this.level.timings.doChunkMap.startTiming(); // Spigot
if (this.level.tickRateManager().runsNormally() || !flag) {
this.ticketStorage.purgeStaleTickets();
this.ticketStorage.purgeStaleTickets(this.chunkMap);
}
this.runDistanceManagerUpdates();
@ -199,10 +199,10 @@ index 03f9d3c7a..4fdf130de 100644
gameprofilerfiller.pop();
gameprofilerfiller.popPush("customSpawners");
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index 229e7ef9b..34c4d8464 100644
index 4697d3aa1..56e92fadd 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -178,6 +178,7 @@ import net.minecraft.world.level.levelgen.ChunkProviderFlat;
@@ -180,6 +180,7 @@ import net.minecraft.world.level.levelgen.ChunkProviderFlat;
import net.minecraft.world.level.storage.WorldDataServer;
import org.bukkit.Bukkit;
import org.bukkit.WeatherType;
@ -210,7 +210,7 @@ index 229e7ef9b..34c4d8464 100644
import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.craftbukkit.generator.CustomWorldChunkManager;
import org.bukkit.craftbukkit.util.CraftLocation;
@@ -381,6 +382,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -385,6 +386,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
}
gameprofilerfiller.push("tickPending");
@ -218,7 +218,7 @@ index 229e7ef9b..34c4d8464 100644
if (!this.isDebug() && flag) {
long k = this.getGameTime();
@@ -390,6 +392,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -394,6 +396,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
this.fluidTicks.tick(k, 65536, this::tickFluid);
gameprofilerfiller.pop();
}
@ -226,7 +226,7 @@ index 229e7ef9b..34c4d8464 100644
gameprofilerfiller.popPush("raid");
if (flag) {
@@ -400,7 +403,9 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -404,7 +407,9 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
this.getChunkSource().tick(booleansupplier, true);
gameprofilerfiller.popPush("blockEvents");
if (flag) {
@ -236,7 +236,7 @@ index 229e7ef9b..34c4d8464 100644
}
this.handlingTick = false;
@@ -413,12 +418,14 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -417,12 +422,14 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
if (flag1 || this.emptyTime++ < 300) {
gameprofilerfiller.push("entities");
@ -251,7 +251,7 @@ index 229e7ef9b..34c4d8464 100644
this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) {
if (!tickratemanager.isEntityFrozen(entity)) {
@@ -443,6 +450,8 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -447,6 +454,8 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
}
}
});
@ -260,7 +260,7 @@ index 229e7ef9b..34c4d8464 100644
gameprofilerfiller.pop();
this.tickBlockEntities();
}
@@ -849,6 +858,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -857,6 +866,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
}
public void tickNonPassenger(Entity entity) {
@ -268,7 +268,7 @@ index 229e7ef9b..34c4d8464 100644
entity.setOldPosAndRot();
GameProfilerFiller gameprofilerfiller = Profiler.get();
@@ -864,6 +874,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -872,6 +882,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
for (Entity entity1 : entity.getPassengers()) {
this.tickPassenger(entity, entity1);
}
@ -277,10 +277,10 @@ index 229e7ef9b..34c4d8464 100644
}
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index 6ba2871eb..0819474b6 100644
index d1eb92d0c..391742337 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -353,6 +353,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -359,6 +359,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@Override
public void tick() {
@ -288,7 +288,7 @@ index 6ba2871eb..0819474b6 100644
if (this.ackBlockChangesUpTo > -1) {
this.send(new ClientboundBlockChangedAckPacket(this.ackBlockChangesUpTo));
this.ackBlockChangesUpTo = -1;
@@ -408,6 +409,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -414,6 +415,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
this.disconnect((IChatBaseComponent) IChatBaseComponent.translatable("multiplayer.disconnect.idling"));
}
@ -296,7 +296,7 @@ index 6ba2871eb..0819474b6 100644
}
@@ -2251,6 +2253,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2275,6 +2277,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
}
private void handleCommand(String s) {
@ -304,7 +304,7 @@ index 6ba2871eb..0819474b6 100644
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
CraftPlayer player = this.getCraftPlayer();
@@ -2259,6 +2262,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2283,6 +2286,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
this.cserver.getPluginManager().callEvent(event);
if (event.isCancelled()) {
@ -312,7 +312,7 @@ index 6ba2871eb..0819474b6 100644
return;
}
@@ -2270,6 +2274,8 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2294,6 +2298,8 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
player.sendMessage(org.bukkit.ChatColor.RED + "An internal error occurred while attempting to perform this command");
java.util.logging.Logger.getLogger(PlayerConnection.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
return;
@ -322,10 +322,10 @@ index 6ba2871eb..0819474b6 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 26d92a2ef..111869fce 100644
index 5eb61f57d..a1b0bb2a1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -156,6 +156,7 @@ import org.bukkit.command.CommandSender;
@@ -163,6 +163,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Hanging;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Vehicle;
@ -333,7 +333,7 @@ index 26d92a2ef..111869fce 100644
import org.bukkit.event.entity.EntityCombustByEntityEvent;
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
@@ -337,6 +338,7 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
@@ -360,6 +361,7 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
// Marks an entity, that it was removed by a plugin via Entity#remove
// Main use case currently is for SPIGOT-7487, preventing dropping of leash when leash is removed
public boolean pluginRemoved = false;
@ -341,7 +341,7 @@ index 26d92a2ef..111869fce 100644
public float getBukkitYaw() {
return this.yRot;
@@ -865,6 +867,7 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
@@ -892,6 +894,7 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
}
public void move(EnumMoveType enummovetype, Vec3D vec3d) {
@ -349,7 +349,7 @@ index 26d92a2ef..111869fce 100644
if (this.noPhysics) {
this.setPos(this.getX() + vec3d.x, this.getY() + vec3d.y, this.getZ() + vec3d.z);
} else {
@@ -993,6 +996,7 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
@@ -1009,6 +1012,7 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
gameprofilerfiller.pop();
}
}
@ -358,19 +358,19 @@ index 26d92a2ef..111869fce 100644
private void applyMovementEmissionAndPlaySound(Entity.MovementEmission entity_movementemission, Vec3D vec3d, BlockPosition blockposition, 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 d2d6de827..325d5dae8 100644
index e2ee7ca32..00461fce3 100644
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
@@ -164,6 +164,8 @@ import org.bukkit.event.player.PlayerDropItemEvent;
@@ -167,6 +167,8 @@ import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
// CraftBukkit end
+import org.bukkit.craftbukkit.SpigotTimings; // Spigot
+
public abstract class EntityLiving extends Entity implements Attackable {
public abstract class EntityLiving extends Entity implements Attackable, WaypointTransmitter {
private static final Logger LOGGER = LogUtils.getLogger();
@@ -3166,6 +3168,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -3223,6 +3225,7 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
@Override
public void tick() {
@ -378,7 +378,7 @@ index d2d6de827..325d5dae8 100644
super.tick();
this.updatingUsingItem();
this.updateSwimAmount();
@@ -3207,7 +3210,9 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -3264,7 +3267,9 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
}
if (!this.isRemoved()) {
@ -388,7 +388,7 @@ index d2d6de827..325d5dae8 100644
}
double d0 = this.getX() - this.xo;
@@ -3282,6 +3287,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -3339,6 +3344,7 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
this.refreshDirtyAttributes();
this.elytraAnimationState.tick();
@ -396,7 +396,7 @@ index d2d6de827..325d5dae8 100644
}
public void detectEquipmentUpdatesPublic() { // CraftBukkit
@@ -3439,6 +3445,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -3496,6 +3502,7 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
GameProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("ai");
@ -404,7 +404,7 @@ index d2d6de827..325d5dae8 100644
this.applyInput();
if (this.isImmobile()) {
this.jumping = false;
@@ -3449,6 +3456,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -3506,6 +3513,7 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
this.serverAiStep();
gameprofilerfiller.pop();
}
@ -412,15 +412,15 @@ index d2d6de827..325d5dae8 100644
gameprofilerfiller.pop();
gameprofilerfiller.push("jump");
@@ -3493,6 +3501,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -3550,6 +3558,7 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
this.resetFallDistance();
}
+ SpigotTimings.timerEntityAIMove.startTiming(); // Spigot
label122:
label124:
{
EntityLiving entityliving = this.getControllingPassenger();
@@ -3508,6 +3517,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -3565,6 +3574,7 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
this.travel(vec3d1);
}
}
@ -428,7 +428,7 @@ index d2d6de827..325d5dae8 100644
if (!this.level().isClientSide() || this.isLocalInstanceAuthoritative()) {
this.applyEffectsFromBlocks();
@@ -3541,7 +3551,9 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -3598,7 +3608,9 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox());
}
@ -459,7 +459,7 @@ index 1dc65bcb3..d93940fb5 100644
}
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
index 17231dbab..1367de17b 100644
index 26d5241d6..6cba4e205 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -100,6 +100,7 @@ import net.minecraft.world.level.dimension.WorldDimension;
@ -521,10 +521,10 @@ index 17231dbab..1367de17b 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 41fb22584..0884a055c 100644
index 20c09a7fa..c690b9e52 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
@@ -39,8 +39,11 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry;
@@ -41,8 +41,11 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry;
import org.bukkit.inventory.InventoryHolder;
// CraftBukkit end
@ -537,10 +537,10 @@ index 41fb22584..0884a055c 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 b8cfd5254..3eb64195a 100644
index d821b57b8..ab0477d02 100644
--- a/src/main/java/net/minecraft/world/level/chunk/Chunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/Chunk.java
@@ -865,6 +865,7 @@ public class Chunk extends IChunkAccess {
@@ -873,6 +873,7 @@ public class Chunk extends IChunkAccess {
GameProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push(this::getType);
@ -548,7 +548,7 @@ index b8cfd5254..3eb64195a 100644
IBlockData iblockdata = Chunk.this.getBlockState(blockposition);
if (this.blockEntity.getType().isValid(iblockdata)) {
@@ -882,6 +883,10 @@ public class Chunk extends IChunkAccess {
@@ -890,6 +891,10 @@ public class Chunk extends IChunkAccess {
this.blockEntity.fillCrashReportCategory(crashreportsystemdetails);
throw new ReportedException(crashreport);
@ -560,16 +560,18 @@ index b8cfd5254..3eb64195a 100644
}
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/SerializableChunkData.java b/src/main/java/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
index dd631503a..d8d87cf5e 100644
index 9e7d6a90b..8eb5740bb 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
@@ -479,10 +479,13 @@ public record SerializableChunkData(IRegistry<BiomeBase> biomeRegistry, ChunkCoo
@@ -481,12 +481,15 @@ public record SerializableChunkData(IRegistry<BiomeBase> biomeRegistry, ChunkCoo
@Nullable
private static Chunk.c postLoadChunk(WorldServer worldserver, List<NBTTagCompound> list, List<NBTTagCompound> list1) {
return list.isEmpty() && list1.isEmpty() ? null : (chunk) -> {
+ worldserver.timings.syncChunkLoadEntitiesTimer.startTiming(); // Spigot
if (!list.isEmpty()) {
worldserver.addLegacyChunkEntities(EntityTypes.loadEntitiesRecursive(list, worldserver, EntitySpawnReason.LOAD));
try (ProblemReporter.j problemreporter_j = new ProblemReporter.j(chunk.problemPath(), SerializableChunkData.LOGGER)) {
worldserver.addLegacyChunkEntities(EntityTypes.loadEntitiesRecursive(TagValueInput.create(problemreporter_j, worldserver.registryAccess(), list), worldserver, EntitySpawnReason.LOAD));
}
}
+ worldserver.timings.syncChunkLoadEntitiesTimer.stopTiming(); // Spigot
@ -577,7 +579,7 @@ index dd631503a..d8d87cf5e 100644
for (NBTTagCompound nbttagcompound : list1) {
boolean flag = nbttagcompound.getBooleanOr("keepPacked", false);
@@ -497,6 +500,7 @@ public record SerializableChunkData(IRegistry<BiomeBase> biomeRegistry, ChunkCoo
@@ -501,6 +504,7 @@ public record SerializableChunkData(IRegistry<BiomeBase> biomeRegistry, ChunkCoo
}
}
}
@ -586,10 +588,10 @@ index dd631503a..d8d87cf5e 100644
};
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d002ad986..c89785454 100644
index c3005494c..2b245f067 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2574,6 +2574,11 @@ public final class CraftServer implements Server {
@@ -2575,6 +2575,11 @@ public final class CraftServer implements Server {
private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
{

View file

@ -1,4 +1,4 @@
From 4d366d3b97c8a59c519b18f1114f90f7d11d41f7 Mon Sep 17 00:00:00 2001
From ec5715b7ffc31b515617c49215d3b215f5cb831c Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 21 Jun 2013 17:29:54 +1000
Subject: [PATCH] Fix Mob Spawning Relative to View Distance
@ -8,7 +8,7 @@ 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 4fdf130de..80d916877 100644
index 196e383e6..248027280 100644
--- a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
@@ -483,7 +483,7 @@ public class ChunkProviderServer extends IChunkProvider {
@ -21,7 +21,7 @@ index 4fdf130de..80d916877 100644
}
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
index 7eea04eb5..bd292b77d 100644
index 8d197013e..8487d9861 100644
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
@@ -1060,14 +1060,31 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.b, Gener

View file

@ -1,14 +1,14 @@
From d515ef155b17d350b66df44563f6a267b9b418fb Mon Sep 17 00:00:00 2001
From 2b84d07511863a334983d18aaa7b3c69ab055564 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 acb1a58ae..58ae3f016 100644
index 671cb27d0..f067392d6 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
@@ -225,7 +225,7 @@ public class EntityItem extends Entity implements TraceableEntity {
@@ -207,7 +207,7 @@ public class EntityItem extends Entity implements TraceableEntity {
}
}
@ -17,7 +17,7 @@ index acb1a58ae..58ae3f016 100644
// CraftBukkit start - fire ItemDespawnEvent
if (CraftEventFactory.callItemDespawnEvent(this).isCancelled()) {
this.age = 0;
@@ -552,7 +552,7 @@ public class EntityItem extends Entity implements TraceableEntity {
@@ -528,7 +528,7 @@ public class EntityItem extends Entity implements TraceableEntity {
public void makeFakeItem() {
this.setNeverPickUp();

View file

@ -1,4 +1,4 @@
From af59d606c76f6df7dc0c73d8935170893c33b43c Mon Sep 17 00:00:00 2001
From d575c716f2300f9bce8c6978bebebf997a3cbcd9 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 2 Nov 2024 18:16:11 +1100
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 34c4d8464..3ee75d6ce 100644
index 56e92fadd..7fd2f8bea 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -425,6 +425,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -429,6 +429,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
gameprofilerfiller.pop();
}
@ -20,7 +20,7 @@ index 34c4d8464..3ee75d6ce 100644
timings.entityTick.startTiming(); // Spigot
this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) {
@@ -858,6 +859,13 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -866,6 +867,13 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
}
public void tickNonPassenger(Entity entity) {
@ -35,10 +35,10 @@ index 34c4d8464..3ee75d6ce 100644
entity.setOldPosAndRot();
GameProfilerFiller gameprofilerfiller = Profiler.get();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 111869fce..dca61d83b 100644
index a1b0bb2a1..68a1b95c4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -339,6 +339,12 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
@@ -362,6 +362,12 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
// Main use case currently is for SPIGOT-7487, preventing dropping of leash when leash is removed
public boolean pluginRemoved = false;
public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot
@ -51,7 +51,7 @@ index 111869fce..dca61d83b 100644
public float getBukkitYaw() {
return this.yRot;
@@ -381,6 +387,13 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
@@ -403,6 +409,13 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
this.position = Vec3D.ZERO;
this.blockPosition = BlockPosition.ZERO;
this.chunkPosition = ChunkCoordIntPair.ZERO;
@ -66,10 +66,10 @@ index 111869fce..dca61d83b 100644
datawatcher_a.define(Entity.DATA_SHARED_FLAGS_ID, (byte) 0);
diff --git a/src/main/java/net/minecraft/world/entity/EntityAgeable.java b/src/main/java/net/minecraft/world/entity/EntityAgeable.java
index e9293652f..2df657d67 100644
index 7ffa4a99e..770b5a8ff 100644
--- a/src/main/java/net/minecraft/world/entity/EntityAgeable.java
+++ b/src/main/java/net/minecraft/world/entity/EntityAgeable.java
@@ -29,6 +29,31 @@ public abstract class EntityAgeable extends EntityCreature {
@@ -30,6 +30,31 @@ public abstract class EntityAgeable extends EntityCreature {
super(entitytypes, world);
}
@ -102,10 +102,10 @@ index e9293652f..2df657d67 100644
public GroupDataEntity finalizeSpawn(WorldAccess worldaccess, DifficultyDamageScaler difficultydamagescaler, EntitySpawnReason entityspawnreason, @Nullable GroupDataEntity groupdataentity) {
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 8f1dbca8a..ba5cc953c 100644
index 202a9da0b..d2d40503f 100644
--- a/src/main/java/net/minecraft/world/entity/EntityAreaEffectCloud.java
+++ b/src/main/java/net/minecraft/world/entity/EntityAreaEffectCloud.java
@@ -168,6 +168,18 @@ public class EntityAreaEffectCloud extends Entity implements TraceableEntity {
@@ -165,6 +165,18 @@ public class EntityAreaEffectCloud extends Entity implements TraceableEntity {
this.duration = i;
}
@ -125,10 +125,10 @@ index 8f1dbca8a..ba5cc953c 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 325d5dae8..8d14f6349 100644
index 00461fce3..421bd441d 100644
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
@@ -291,6 +291,13 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -304,6 +304,13 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
return getYHeadRot();
}
// CraftBukkit end
@ -143,10 +143,10 @@ index 325d5dae8..8d14f6349 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 58ae3f016..af548f541 100644
index f067392d6..ac234c8ce 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
@@ -238,6 +238,28 @@ public class EntityItem extends Entity implements TraceableEntity {
@@ -220,6 +220,28 @@ public class EntityItem extends Entity implements TraceableEntity {
}
}
@ -176,10 +176,10 @@ index 58ae3f016..af548f541 100644
public 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 7c7388f71..75d832de7 100644
index bfc59a42a..9f9ffd235 100644
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
@@ -245,6 +245,17 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -246,6 +246,17 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
return this.assignProfessionWhenSpawned;
}
@ -198,10 +198,10 @@ index 7c7388f71..75d832de7 100644
protected void customServerAiStep(WorldServer worldserver) {
GameProfilerFiller gameprofilerfiller = Profiler.get();
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 1bb5ea986..bb4333234 100644
index aa93b9510..7f860aba6 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
@@ -89,6 +89,18 @@ public abstract class EntityArrow extends IProjectile {
@@ -86,6 +86,18 @@ public abstract class EntityArrow extends IProjectile {
@Nullable
public ItemStack firedFromWeapon;
@ -221,10 +221,10 @@ index 1bb5ea986..bb4333234 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 3ffe89384..8a0ceb8bd 100644
index 5d830aa06..a1782a443 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityFireworks.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityFireworks.java
@@ -97,6 +97,28 @@ public class EntityFireworks extends IProjectile implements ItemSupplier {
@@ -95,6 +95,28 @@ public class EntityFireworks extends IProjectile implements ItemSupplier {
this.setOwner(entity);
}

View file

@ -1,4 +1,4 @@
From b405d183b3c34bbff565227591f136aaf47e8d2a Mon Sep 17 00:00:00 2001
From 7d028aed304c7569ecc843028f91ae622aabeb92 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 23 Feb 2013 08:58:35 +1100
Subject: [PATCH] Metrics

View file

@ -1,4 +1,4 @@
From cf5448b9540122f93d8a5d7894befdb6eebf1762 Mon Sep 17 00:00:00 2001
From c6b6473cd2f697a037b648cfcfc22e748f51ce5f 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,7 +12,7 @@ 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 bd292b77d..a2c820acf 100644
index 8487d9861..648ece155 100644
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
@@ -1270,6 +1270,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.b, Gener

View file

@ -1,4 +1,4 @@
From e89cb10de69d60c29649040cfafbec050c21dc80 Mon Sep 17 00:00:00 2001
From b93417a81ce2bf4854d122fdab931361eaef979b 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 6b976d1d7..7c934d9ad 100644
index 3b4a0c2db..613fca515 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
@@ -148,9 +148,14 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {

View file

@ -1,14 +1,14 @@
From f7a053a31f2bd8a3920760ed8991264137f66631 Mon Sep 17 00:00:00 2001
From cb47e22fe381191a000328c4c5cc47398f33d625 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 0c8ffcd12..dff3d35f4 100644
index 391742337..6d28aee92 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -2254,6 +2254,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2278,6 +2278,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
private void handleCommand(String s) {
org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.startTiming(); // Spigot

View file

@ -1,34 +1,34 @@
From 5258813fa2e7af981a337ca546ab750bc4168cf4 Mon Sep 17 00:00:00 2001
From 91da6315c18dfa553998d4781c3709cd0e28925a Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 1bec30015..0e5a8754c 100644
index 5350fb160..ce2a88ca5 100644
--- a/src/main/java/net/minecraft/commands/CommandDispatcher.java
+++ b/src/main/java/net/minecraft/commands/CommandDispatcher.java
@@ -437,6 +437,7 @@ public class CommandDispatcher {
@@ -483,6 +483,7 @@ public class CommandDispatcher {
}
public void sendCommands(EntityPlayer entityplayer) {
+ if ( org.spigotmc.SpigotConfig.tabComplete < 0 ) return; // Spigot
// CraftBukkit start
// Register Vanilla commands into builtRoot as before
Map<CommandNode<CommandListenerWrapper>, CommandNode<ICompletionProvider>> map = Maps.newIdentityHashMap(); // Use identity to prevent aliasing issues
@@ -472,6 +473,7 @@ public class CommandDispatcher {
Map<CommandNode<CommandListenerWrapper>, CommandNode<CommandListenerWrapper>> map = new IdentityHashMap<>(); // Use identity to prevent aliasing issues
@@ -518,6 +519,7 @@ public class CommandDispatcher {
private void fillUsableCommands(CommandNode<CommandListenerWrapper> commandnode, CommandNode<ICompletionProvider> commandnode1, CommandListenerWrapper commandlistenerwrapper, Map<CommandNode<CommandListenerWrapper>, CommandNode<ICompletionProvider>> map) {
for (CommandNode<CommandListenerWrapper> commandnode2 : commandnode.getChildren()) {
private static <S> void fillUsableCommands(CommandNode<S> commandnode, CommandNode<S> commandnode1, S s0, Map<CommandNode<S>, CommandNode<S>> map) {
for (CommandNode<S> commandnode2 : commandnode.getChildren()) {
+ if ( !org.spigotmc.SpigotConfig.sendNamespaced && commandnode2.getName().contains( ":" ) ) continue; // Spigot
if (commandnode2.canUse(commandlistenerwrapper)) {
ArgumentBuilder argumentbuilder = commandnode2.createBuilder(); // CraftBukkit - decompile error
if (commandnode2.canUse(s0)) {
ArgumentBuilder<S, ?> argumentbuilder = commandnode2.createBuilder();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index c89785454..4f8454392 100644
index 2b245f067..43462fe87 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2188,6 +2188,13 @@ public final class CraftServer implements Server {
@@ -2189,6 +2189,13 @@ public final class CraftServer implements Server {
}
public List<String> tabCompleteCommand(Player player, String message, WorldServer world, Vec3D pos) {

View file

@ -1,32 +1,32 @@
From 02db52695687baba85b9d0220b5c87f9a99f6465 Mon Sep 17 00:00:00 2001
From a634d49d1e86e8c7ab96d7885ab8fe5b83ceb614 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 b7bc1f219..f05f3dbd3 100644
index 48f7e900b..fc21e03ed 100644
--- a/src/main/java/net/minecraft/server/network/HandshakeListener.java
+++ b/src/main/java/net/minecraft/server/network/HandshakeListener.java
@@ -105,10 +105,10 @@ public class HandshakeListener implements PacketHandshakingInListener {
if (packethandshakinginsetprotocol.protocolVersion() != SharedConstants.getCurrentVersion().getProtocolVersion()) {
if (packethandshakinginsetprotocol.protocolVersion() != SharedConstants.getCurrentVersion().protocolVersion()) {
IChatBaseComponent ichatbasecomponent;
- if (packethandshakinginsetprotocol.protocolVersion() < 754) {
- ichatbasecomponent = IChatBaseComponent.translatable("multiplayer.disconnect.outdated_client", SharedConstants.getCurrentVersion().getName());
+ if (packethandshakinginsetprotocol.protocolVersion() < SharedConstants.getCurrentVersion().getProtocolVersion()) { // Spigot - SPIGOT-7546: Handle version check correctly for outdated client message
+ ichatbasecomponent = IChatBaseComponent.literal( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) ); // Spigot
- ichatbasecomponent = IChatBaseComponent.translatable("multiplayer.disconnect.outdated_client", SharedConstants.getCurrentVersion().name());
+ if (packethandshakinginsetprotocol.protocolVersion() < SharedConstants.getCurrentVersion().protocolVersion()) { // Spigot - SPIGOT-7546: Handle version check correctly for outdated client message
+ ichatbasecomponent = IChatBaseComponent.literal( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().name() ) ); // Spigot
} else {
- ichatbasecomponent = IChatBaseComponent.translatable("multiplayer.disconnect.incompatible", SharedConstants.getCurrentVersion().getName());
+ ichatbasecomponent = IChatBaseComponent.literal( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) ); // Spigot
- ichatbasecomponent = IChatBaseComponent.translatable("multiplayer.disconnect.incompatible", SharedConstants.getCurrentVersion().name());
+ ichatbasecomponent = IChatBaseComponent.literal( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().name() ) ); // Spigot
}
this.connection.send(new PacketLoginOutDisconnect(ichatbasecomponent));
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index f76c2cdcd..21f35de27 100644
index b84b24840..a3e0641ab 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -535,7 +535,7 @@ public abstract class PlayerList {
@@ -538,7 +538,7 @@ public abstract class PlayerList {
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, CraftChatMessage.fromComponent(ichatmutablecomponent));
} else if (!this.isWhiteListed(gameprofile)) {
IChatMutableComponent ichatmutablecomponent = IChatBaseComponent.translatable("multiplayer.disconnect.not_whitelisted");
@ -35,7 +35,7 @@ index f76c2cdcd..21f35de27 100644
} else if (this.ipBans.isBanned(socketaddress)) {
IpBanEntry ipbanentry = this.ipBans.get(socketaddress);
IChatMutableComponent ichatmutablecomponent1 = IChatBaseComponent.translatable("multiplayer.disconnect.banned_ip.reason", ipbanentry.getReason());
@@ -549,7 +549,7 @@ public abstract class PlayerList {
@@ -552,7 +552,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)) {
@ -45,10 +45,10 @@ index f76c2cdcd..21f35de27 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4f8454392..87fdccfad 100644
index 43462fe87..8dd4e3e6f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -905,11 +905,11 @@ public final class CraftServer implements Server {
@@ -906,11 +906,11 @@ public final class CraftServer implements Server {
return true;
}

View file

@ -1,4 +1,4 @@
From 2b17bcf1c7a3cf5d099746e801f855f0376fa8b6 Mon Sep 17 00:00:00 2001
From 4248f95ca7074705da23a3db88c4bf4132fa9677 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 76f6a40ae..be7db0785 100644
index 7fd2f8bea..e9fadfb9d 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -1124,6 +1124,15 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -1148,6 +1148,15 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
}
public void unload(Chunk chunk) {
@ -25,7 +25,7 @@ index 76f6a40ae..be7db0785 100644
chunk.clearAllBlockEntities();
chunk.unregisterTickContainerFromLevel(this);
}
@@ -2005,6 +2014,13 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -2070,6 +2079,13 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
public void onTrackingEnd(Entity entity) {
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot

View file

@ -1,16 +1,16 @@
From 67a59fe522d5f08c97fe6c01edeaacf0efed9d26 Mon Sep 17 00:00:00 2001
From b13094a5c3e5fab554b4572f7943654877a7bf53 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 dff3d35f4..a4ad817e2 100644
index 6d28aee92..57936080d 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -2514,6 +2514,13 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2523,6 +2523,13 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
if (this.player.hasClientLoaded()) {
final WorldServer worldserver = this.player.serverLevel();
final WorldServer worldserver = this.player.level();
final Entity entity = packetplayinuseentity.getTarget(worldserver);
+ // Spigot Start
+ if ( entity == player && !player.isSpectator() )

View file

@ -1,4 +1,4 @@
From 6d1d32d5284ea6c548b809c6d051807997fafd10 Mon Sep 17 00:00:00 2001
From da3b62338056675ba80a6d36c1d7bda689dce0df 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/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
index c0a1da0e5..a87e2c92f 100644
index 134643334..4c0994b82 100644
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
@@ -1272,6 +1272,11 @@ public class EntityPlayer extends EntityHuman {
@@ -1282,6 +1282,11 @@ public class EntityPlayer extends EntityHuman {
PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn, isAnchorSpawn, reason);
this.level().getCraftServer().getPluginManager().callEvent(respawnEvent);
@ -22,10 +22,10 @@ index c0a1da0e5..a87e2c92f 100644
location = respawnEvent.getRespawnLocation();
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 21f35de27..48a1b79d8 100644
index a3e0641ab..2416577dc 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -639,6 +639,11 @@ public abstract class PlayerList {
@@ -635,6 +635,11 @@ public abstract class PlayerList {
} else {
teleporttransition = new TeleportTransition(((CraftWorld) location.getWorld()).getHandle(), CraftLocation.toVec3D(location), Vec3D.ZERO, location.getYaw(), location.getPitch(), TeleportTransition.DO_NOTHING);
}

View file

@ -1,11 +1,11 @@
From 7faf37ac00b3197c68f13433680cd7811536752e Mon Sep 17 00:00:00 2001
From 6da17da53eb1db1fd39ba5622e77a4af9c8b1ce6 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 a61b8e4d0..316a07e93 100644
index e1042bb6c..2b1520c12 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2352,6 +2352,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View file

@ -1,14 +1,14 @@
From 36d5cf389e4f5b3429dec23722107edd676a44da Mon Sep 17 00:00:00 2001
From 34c223948be20b9bc3be01fbc2bc63ac95a43b6f Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 bb4333234..c48637d30 100644
index 7f860aba6..c914bde78 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
@@ -389,7 +389,7 @@ public abstract class EntityArrow extends IProjectile {
@@ -386,7 +386,7 @@ public abstract class EntityArrow extends IProjectile {
protected void tickDespawn() {
++this.life;

View file

@ -1,14 +1,14 @@
From 8e7fc140575773a86e106b069393de9e15100376 Mon Sep 17 00:00:00 2001
From d8613018f620c3b72ea6e74b0864100799d368fa Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 a1a7cba6e..8f4f70bcb 100644
index 86eb082da..cc31bb363 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1095,6 +1095,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1097,6 +1097,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.services.profileCache().clearExecutor();
}
@ -16,7 +16,7 @@ index a1a7cba6e..8f4f70bcb 100644
// CraftBukkit start - Restore terminal to original settings
try {
reader.getTerminal().restore();
@@ -1299,6 +1300,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1301,6 +1302,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public void tickServer(BooleanSupplier booleansupplier) {
@ -25,7 +25,7 @@ index a1a7cba6e..8f4f70bcb 100644
int j = this.pauseWhileEmptySeconds() * 20;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 6e2684753..3cc568cdb 100644
index c8fe1455e..1befcf743 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -277,7 +277,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -38,10 +38,10 @@ index 6e2684753..3cc568cdb 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 87fdccfad..4bcb46d87 100644
index 8dd4e3e6f..ce2f291bd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2145,7 +2145,7 @@ public final class CraftServer implements Server {
@@ -2146,7 +2146,7 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
@ -50,7 +50,7 @@ index 87fdccfad..4bcb46d87 100644
}
@Override
@@ -2586,6 +2586,11 @@ public final class CraftServer implements Server {
@@ -2587,6 +2587,11 @@ public final class CraftServer implements Server {
{
return org.spigotmc.SpigotConfig.config;
}

View file

@ -1,4 +1,4 @@
From 41af8b8aae1aef3fb46454947406c9c0c8c257cf Mon Sep 17 00:00:00 2001
From bca9ecf2bba9b71b4d730ef662667f5bf36a1bc1 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] BungeeCord Support
@ -7,7 +7,7 @@ Subject: [PATCH] BungeeCord Support
* Treats Bungee as Online Mode.
diff --git a/src/main/java/net/minecraft/network/NetworkManager.java b/src/main/java/net/minecraft/network/NetworkManager.java
index 64e65b037..96d675528 100644
index 8cf54fdf8..2765cda6c 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -95,6 +95,10 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -36,7 +36,7 @@ index caf396b38..544390eed 100644
private void write(PacketDataSerializer packetdataserializer) {
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 3cc568cdb..ced333824 100644
index 1befcf743..75c893364 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -239,7 +239,14 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -56,7 +56,7 @@ index 3cc568cdb..ced333824 100644
}
diff --git a/src/main/java/net/minecraft/server/network/HandshakeListener.java b/src/main/java/net/minecraft/server/network/HandshakeListener.java
index f05f3dbd3..4f4b1ea66 100644
index fc21e03ed..1124ea42c 100644
--- a/src/main/java/net/minecraft/server/network/HandshakeListener.java
+++ b/src/main/java/net/minecraft/server/network/HandshakeListener.java
@@ -19,6 +19,11 @@ import java.util.HashMap;
@ -168,10 +168,10 @@ index aaf68153d..bfd49a7e1 100644
HELLO, KEY, AUTHENTICATING, NEGOTIATING, VERIFYING, WAITING_FOR_DUPE_DISCONNECT, PROTOCOL_SWITCHING, ACCEPTED, WAITING_FOR_COOKIES, DISCONNECTED; // CraftBukkit
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
index a4ad817e2..8a4da5a1b 100644
index 57936080d..70c32c7c7 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -2198,7 +2198,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2222,7 +2222,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
String message = String.format(queueEvent.getFormat(), queueEvent.getPlayer().getDisplayName(), queueEvent.getMessage());
if (((LazyPlayerSet) queueEvent.getRecipients()).isLazy()) {
@ -180,7 +180,7 @@ index a4ad817e2..8a4da5a1b 100644
PlayerConnection.this.server.getPlayerList().broadcastChatMessage(original, PlayerConnection.this.player, ChatMessageType.bind(ChatMessageType.CHAT, (Entity) PlayerConnection.this.player));
return null;
}
@@ -2234,7 +2234,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2258,7 +2258,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
s = String.format(event.getFormat(), event.getPlayer().getDisplayName(), event.getMessage());
if (((LazyPlayerSet) event.getRecipients()).isLazy()) {
@ -189,7 +189,7 @@ index a4ad817e2..8a4da5a1b 100644
PlayerConnection.this.server.getPlayerList().broadcastChatMessage(original, PlayerConnection.this.player, ChatMessageType.bind(ChatMessageType.CHAT, (Entity) PlayerConnection.this.player));
return;
}
@@ -2495,6 +2495,13 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2504,6 +2504,13 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
return this.connection.getRemoteAddress();
}
@ -204,7 +204,7 @@ index a4ad817e2..8a4da5a1b 100644
this.waitingForSwitchToConfig = true;
this.removePlayerFromWorld();
diff --git a/src/main/java/net/minecraft/server/players/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/players/NameReferencingFileConverter.java
index 5a0b9b060..57bcd2092 100644
index 1bcc5529d..4bff22370 100644
--- a/src/main/java/net/minecraft/server/players/NameReferencingFileConverter.java
+++ b/src/main/java/net/minecraft/server/players/NameReferencingFileConverter.java
@@ -64,7 +64,7 @@ public class NameReferencingFileConverter {
@ -217,10 +217,10 @@ index 5a0b9b060..57bcd2092 100644
} else {
for (String s : astring) {
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 48a1b79d8..d44b88cdb 100644
index 2416577dc..570a52b75 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -521,7 +521,7 @@ public abstract class PlayerList {
@@ -524,7 +524,7 @@ public abstract class PlayerList {
EntityPlayer entity = new EntityPlayer(this.server, this.server.getLevel(World.OVERWORLD), gameprofile, ClientInformation.createDefault());
entity.transferCookieConnection = loginlistener;
Player player = entity.getBukkitEntity();
@ -230,10 +230,10 @@ index 48a1b79d8..d44b88cdb 100644
if (this.bans.isBanned(gameprofile)) {
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 5e4167660..5accaa3b1 100644
index ce2f291bd..d84f4ab27 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -804,7 +804,13 @@ public final class CraftServer implements Server {
@@ -805,7 +805,13 @@ public final class CraftServer implements Server {
@Override
public long getConnectionThrottle() {
@ -248,7 +248,7 @@ index 5e4167660..5accaa3b1 100644
}
@Override
@@ -1815,7 +1821,7 @@ public final class CraftServer implements Server {
@@ -1816,7 +1822,7 @@ public final class CraftServer implements Server {
if (result == null) {
GameProfile profile = null;
// Only fetch an online UUID in online mode
@ -258,7 +258,7 @@ index 5e4167660..5accaa3b1 100644
profile = console.getProfileCache().get(name).orElse(null);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 316a07e93..ce1f54b61 100644
index 2b1520c12..f728b8975 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2353,6 +2353,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View file

@ -1,4 +1,4 @@
From 4f7767ef0f87b290bf5dbd45e3235d083a2b5934 Mon Sep 17 00:00:00 2001
From e0c9ce8f993f4d56abdd7665525579cb4a4d1660 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,10 +6,10 @@ 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 34918ea3e..86a5fc62d 100644
index c11a3996d..3ad80eebd 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
@@ -130,7 +130,7 @@ public class EntityZombie extends EntityMonster {
@@ -129,7 +129,7 @@ public class EntityZombie extends EntityMonster {
this.goalSelector.addGoal(7, new PathfinderGoalRandomStrollLand(this, 1.0D));
this.targetSelector.addGoal(1, (new PathfinderGoalHurtByTarget(this, new Class[0])).setAlertOthers(EntityPigZombie.class));
this.targetSelector.addGoal(2, new PathfinderGoalNearestAttackableTarget(this, EntityHuman.class, true));

View file

@ -1,4 +1,4 @@
From a4419517e4f76df5bd75f5790bc9f1bb95507aea Mon Sep 17 00:00:00 2001
From 2fd2f8a2b73ad1aa38675fc1a4fb22e82bfabd83 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,10 +6,10 @@ 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 8f4f70bcb..cd3064c02 100644
index cc31bb363..d22fc26ae 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -368,7 +368,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -370,7 +370,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
services.profileCache().setExecutor(this);
}
@ -18,7 +18,7 @@ index 8f4f70bcb..cd3064c02 100644
this.tickRateManager = new ServerTickRateManager(this);
this.progressListenerFactory = worldloadlistenerfactory;
this.storageSource = convertable_conversionsession;
@@ -1825,7 +1825,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1827,7 +1827,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public ServerConnection getConnection() {

View file

@ -1,32 +1,32 @@
From 2d9e4464fedc16e6b9ef0050696120f55da3b590 Mon Sep 17 00:00:00 2001
From 283bbf61e23ff4f490359a1cc0ee55340c0ebed2 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 0265f8551..8f54c56e7 100644
index 68a1b95c4..8d8daa044 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2229,6 +2229,7 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
@@ -2305,6 +2305,7 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
if (maxAirTicks != getDefaultMaxAirSupply()) {
nbttagcompound.putInt("Bukkit.MaxAirSupply", getMaxAirSupply());
valueoutput.putInt("Bukkit.MaxAirSupply", getMaxAirSupply());
}
+ nbttagcompound.putInt("Spigot.ticksLived", this.tickCount);
+ valueoutput.putInt("Spigot.ticksLived", this.tickCount);
// CraftBukkit end
IChatBaseComponent ichatbasecomponent = this.getCustomName();
@@ -2363,6 +2364,11 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
valueoutput.storeNullable("CustomName", ComponentSerialization.CODEC, this.getCustomName());
if (this.isCustomNameVisible()) {
@@ -2429,6 +2430,11 @@ public abstract class Entity implements SyncedDataHolder, INamableTileEntity, En
}
// CraftBukkit start
+ // Spigot start
+ if (this instanceof EntityLiving) {
+ this.tickCount = nbttagcompound.getIntOr("Spigot.ticksLived", this.tickCount);
+ this.tickCount = valueinput.getIntOr("Spigot.ticksLived", this.tickCount);
+ }
+ // Spigot end
this.persist = nbttagcompound.getBooleanOr("Bukkit.persist", this.persist);
this.visibleByDefault = nbttagcompound.getBooleanOr("Bukkit.visibleByDefault", this.visibleByDefault);
this.persist = valueinput.getBooleanOr("Bukkit.persist", this.persist);
this.visibleByDefault = valueinput.getBooleanOr("Bukkit.visibleByDefault", this.visibleByDefault);
// SPIGOT-6907: re-implement LivingEntity#setMaximumAir()
--
2.49.0

View file

@ -1,26 +1,26 @@
From c8515b41fa90bea91f480f7c3314fa2508aaeb7a Mon Sep 17 00:00:00 2001
From 66a37aa1aea110d7335c43d5eca9a42b868d9d89 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 f6c5bc765..6457167ac 100644
index 51e958c33..84e79f91a 100644
--- a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
@@ -161,6 +161,12 @@ public abstract class MobSpawnerAbstract {
@@ -169,6 +169,12 @@ public abstract class MobSpawnerAbstract {
Objects.requireNonNull(entityinsentient);
optional1.ifPresent(entityinsentient::equip);
+ // Spigot Start
+ if ( entityinsentient.level().spigotConfig.nerfSpawnerMobs )
+ {
+ entityinsentient.aware = false;
+ }
+ // Spigot End
}
Objects.requireNonNull(entityinsentient);
optional1.ifPresent(entityinsentient::equip);
+ // Spigot Start
+ if ( entityinsentient.level().spigotConfig.nerfSpawnerMobs )
+ {
+ entityinsentient.aware = false;
+ }
+ // Spigot End
}
// CraftBukkit start
// CraftBukkit start
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 457a8e84b..3e398c4e0 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java

View file

@ -1,14 +1,14 @@
From f50eab37a4b8b9e9cbd0aaf6ad52f4847cde7111 Mon Sep 17 00:00:00 2001
From ea8312b9b0f0060a18177e6b74f82e34d1ffb8fe 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
diff --git a/src/main/java/net/minecraft/stats/ServerStatisticManager.java b/src/main/java/net/minecraft/stats/ServerStatisticManager.java
index 5e7623cb5..637378508 100644
index 1187b04ca..44c0ba553 100644
--- a/src/main/java/net/minecraft/stats/ServerStatisticManager.java
+++ b/src/main/java/net/minecraft/stats/ServerStatisticManager.java
@@ -72,6 +72,13 @@ public class ServerStatisticManager extends StatisticManager {
@@ -70,6 +70,13 @@ public class ServerStatisticManager extends StatisticManager {
public ServerStatisticManager(MinecraftServer minecraftserver, File file) {
this.server = minecraftserver;
this.file = file;
@ -22,7 +22,7 @@ index 5e7623cb5..637378508 100644
if (file.isFile()) {
try {
this.parseLocal(minecraftserver.getFixerUpper(), FileUtils.readFileToString(file));
@@ -85,6 +92,7 @@ public class ServerStatisticManager extends StatisticManager {
@@ -83,6 +90,7 @@ public class ServerStatisticManager extends StatisticManager {
}
public void save() {
@ -30,7 +30,7 @@ index 5e7623cb5..637378508 100644
try {
FileUtils.writeStringToFile(this.file, this.toJson());
} catch (IOException ioexception) {
@@ -95,6 +103,7 @@ public class ServerStatisticManager extends StatisticManager {
@@ -93,6 +101,7 @@ public class ServerStatisticManager extends StatisticManager {
@Override
public void setValue(EntityHuman entityhuman, Statistic<?> statistic, int i) {

View file

@ -1,4 +1,4 @@
From 16d1bdd417b350b48874a73c64819aede4a191b8 Mon Sep 17 00:00:00 2001
From 53e70f86a0880c38bc2ade59680aa17259ad498f 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.

View file

@ -1,14 +1,14 @@
From 1fcaac7870296e1f5d3e575bd1d7df7af9147c90 Mon Sep 17 00:00:00 2001
From 8481535ded5e152f20b4fdb51025c3ec6cb84eb0 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
diff --git a/src/main/java/net/minecraft/world/level/block/BlockPortal.java b/src/main/java/net/minecraft/world/level/block/BlockPortal.java
index 5b50d7ff4..77faf6771 100644
index 28138cf87..88e2e5b76 100644
--- a/src/main/java/net/minecraft/world/level/block/BlockPortal.java
+++ b/src/main/java/net/minecraft/world/level/block/BlockPortal.java
@@ -80,7 +80,7 @@ public class BlockPortal extends Block implements Portal {
@@ -75,7 +75,7 @@ public class BlockPortal extends Block implements Portal {
@Override
protected void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {

View file

@ -1,14 +1,14 @@
From 00ce958139915692c3a835983db08e5920201b7a Mon Sep 17 00:00:00 2001
From 8313d69a1527b7bb498fb7e34c8627f31f2664b3 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 cd3064c02..f07281798 100644
index d22fc26ae..a745d7c69 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -312,6 +312,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -314,6 +314,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public CommandDispatcher vanillaCommandDispatcher;
private boolean forceTicks;
// CraftBukkit end
@ -21,7 +21,7 @@ index cd3064c02..f07281798 100644
public static <S extends MinecraftServer> S spin(Function<Thread, S> function) {
AtomicReference<S> atomicreference = new AtomicReference();
@@ -983,6 +989,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -985,6 +991,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
@ -35,7 +35,7 @@ index cd3064c02..f07281798 100644
protected void runServer() {
try {
if (!this.initServer()) {
@@ -993,6 +1006,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -995,6 +1008,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.statusIcon = (ServerPing.a) this.loadStatusIcon().orElse(null); // CraftBukkit - decompile error
this.status = this.buildServerStatus();
@ -45,7 +45,7 @@ index cd3064c02..f07281798 100644
while (this.running) {
long i;
@@ -1013,6 +1029,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1015,6 +1031,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.lastOverloadWarningNanos = this.nextTickTimeNanos;
}
}

View file

@ -1,11 +1,11 @@
From 0f43a881f72fb0909f5300fb4b2c64f7d0117b77 Mon Sep 17 00:00:00 2001
From a18c30f4aedb71caddfefcd97e934988e9180129 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
diff --git a/src/main/java/net/minecraft/server/network/PacketStatusListener.java b/src/main/java/net/minecraft/server/network/PacketStatusListener.java
index 51ad3590a..09af46003 100644
index 6d620ab90..c1893bcbc 100644
--- a/src/main/java/net/minecraft/server/network/PacketStatusListener.java
+++ b/src/main/java/net/minecraft/server/network/PacketStatusListener.java
@@ -134,6 +134,13 @@ public class PacketStatusListener implements PacketStatusInListener {

View file

@ -1,4 +1,4 @@
From d797b556ad71e098d5b73ecc7c73b05837547cde Mon Sep 17 00:00:00 2001
From 87aa2a9178775573d887c87145da173ba0bae77f 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

View file

@ -1,14 +1,14 @@
From 74498a3e70a570c1d482cc66a0660c7e4667b0f9 Mon Sep 17 00:00:00 2001
From cac3a8709ea5f55346655422366433923aba23c2 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 8a4da5a1b..8ace16b40 100644
index 70c32c7c7..1d8891a30 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -1981,7 +1981,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2005,7 +2005,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
}
// CraftBukkit end
this.performUnsignedChatCommand(serverboundchatcommandpacket.command());
@ -17,7 +17,7 @@ index 8a4da5a1b..8ace16b40 100644
}, true); // CraftBukkit - sync commands
}
@@ -2020,7 +2020,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2044,7 +2044,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
}
// CraftBukkit end
this.performSignedChatCommand(serverboundchatcommandsignedpacket, (LastSeenMessages) optional.get());
@ -26,7 +26,7 @@ index 8a4da5a1b..8ace16b40 100644
}, true); // CraftBukkit - sync commands
}
}
@@ -2307,11 +2307,20 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -2331,11 +2331,20 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
}
// this.server.getPlayerList().broadcastChatMessage(playerchatmessage, this.player, ChatMessageType.bind(ChatMessageType.CHAT, (Entity) this.player));
// CraftBukkit end

View file

@ -1,14 +1,14 @@
From 6c49939fbaddf0c6edb2d73ced5ca0dc7b3e9d73 Mon Sep 17 00:00:00 2001
From bd6f54bf5363851c8b9ef99e4b3e9fcf5e7b32ad 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 33f885809..547d37221 100644
index bd5973f8c..402c0d60d 100644
--- a/src/main/java/net/minecraft/commands/CommandListenerWrapper.java
+++ b/src/main/java/net/minecraft/commands/CommandListenerWrapper.java
@@ -319,7 +319,7 @@ public class CommandListenerWrapper implements ExecutionCommandSource<CommandLis
@@ -321,7 +321,7 @@ public class CommandListenerWrapper implements ExecutionCommandSource<CommandLis
}
}

View file

@ -1,11 +1,11 @@
From 76e37286a197470210253e5f7dd4355a3dd0b5e1 Mon Sep 17 00:00:00 2001
From 2b1f142b293a9aa2232466eb4a88da14eda760cd 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 ce1f54b61..4d6716507 100644
index f728b8975..291df669a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2367,6 +2367,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View file

@ -1,14 +1,14 @@
From 4b237cf587da4cc14f120cd19b63f28921f47abe Mon Sep 17 00:00:00 2001
From 5ea9d09374f08331fedd7805a5c049477d5f3c54 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 5accaa3b1..d572d30db 100644
index d84f4ab27..3f1699efa 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -492,8 +492,11 @@ public final class CraftServer implements Server {
@@ -493,8 +493,11 @@ public final class CraftServer implements Server {
}
if (type == PluginLoadOrder.POSTWORLD) {
@ -21,7 +21,7 @@ index 5accaa3b1..d572d30db 100644
commandMap.registerServerAliases();
DefaultPermissions.registerCorePermissions();
CraftDefaultPermissions.registerCorePermissions();
@@ -507,12 +510,21 @@ public final class CraftServer implements Server {
@@ -508,12 +511,21 @@ public final class CraftServer implements Server {
pluginManager.disablePlugins();
}

View file

@ -1,11 +1,11 @@
From 6a0e47a177d30c3da338b018c5f1dd44c487adce Mon Sep 17 00:00:00 2001
From 7fff9910e1465ac53873a88dfc16e0ff92c6f06d 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/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 33172774d..2a40aadc6 100644
index fc66d09d8..c9269f4f8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2089,6 +2089,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {

View file

@ -1,14 +1,14 @@
From 8a0110f1152fd0bba80311f3086c3a3d5fa3722c Mon Sep 17 00:00:00 2001
From 9281e7acf1fcb192b993728be3a83651a2ca95ff 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 96f1eb373..dbf68e871 100644
index cc50a19b0..ad33e4da8 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
@@ -645,7 +645,24 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -646,7 +646,24 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
}
if (this.dragonDeathTime == 1 && !this.isSilent()) {
@ -35,10 +35,10 @@ index 96f1eb373..dbf68e871 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 f164016ce..4490a9116 100644
index ce19b31b2..11117533d 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 IRangedEntity {
@@ -278,6 +278,7 @@ public class EntityWither extends EntityMonster implements IRangedEntity {
double deltaX = this.getX() - player.getX();
double deltaZ = this.getZ() - player.getZ();
double distanceSquared = deltaX * deltaX + deltaZ * deltaZ;
@ -47,10 +47,10 @@ index f164016ce..4490a9116 100644
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 a413037d0..d27ddff32 100644
index f31c75433..d4aba9d08 100644
--- a/src/main/java/net/minecraft/world/item/ItemEnderEye.java
+++ b/src/main/java/net/minecraft/world/item/ItemEnderEye.java
@@ -64,7 +64,25 @@ public class ItemEnderEye extends Item {
@@ -65,7 +65,25 @@ public class ItemEnderEye extends Item {
}
}

View file

@ -1,4 +1,4 @@
From e1cfaf23b3bb971f78df552695109643fce3e6e9 Mon Sep 17 00:00:00 2001
From 21e22d085b73fd3483d68e2069a517b9af7d04c9 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 f07281798..cc6528d5e 100644
index a745d7c69..4e56e3e57 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1645,7 +1645,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1647,7 +1647,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@DontObfuscate
public String getServerModName() {

View file

@ -1,11 +1,11 @@
From bae2cadb645255f3325ec795c462cdcdeddd0df7 Mon Sep 17 00:00:00 2001
From 4f839bc6a3ac244db4eb0ac9f848e2f364781f7e 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 96d675528..b286a01c0 100644
index 2765cda6c..86b7140eb 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -180,6 +180,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {

View file

@ -1,4 +1,4 @@
From 6fd64e187f0cf52645f3d0563b483cf14df7e048 Mon Sep 17 00:00:00 2001
From 62c732f95ad2e2cf5432fc5a5e75815e206e5c2f 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.
@ -6,10 +6,10 @@ Subject: [PATCH] Use Offline Player Data Once if Required.
If we are online mode and the only copy of player data we can find is the player's offline mode data, we will attempt a once off conversion by reading this data and then renaming the file so it won't be used again.
diff --git a/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java b/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java
index 935acab0e..c79f0fbd9 100644
index 40d074337..cc88c7784 100644
--- a/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java
+++ b/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java
@@ -75,10 +75,29 @@ public class WorldNBTStorage {
@@ -83,10 +83,29 @@ public class WorldNBTStorage {
File file = this.playerDir;
// String s1 = entityhuman.getStringUUID(); // CraftBukkit - used above
File file1 = new File(file, s1 + s);

View file

@ -1,4 +1,4 @@
From ee294956334ae46ba625684d12f98f8df0ade374 Mon Sep 17 00:00:00 2001
From eb756cdd8e59a997d94f79a5ca86f8bdd50d9cb5 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

View file

@ -1,11 +1,11 @@
From 5297ef7961b358352e9a27b452321f813c68a89b Mon Sep 17 00:00:00 2001
From 192b7a6dded492afbc3533fb67903767ce6e625d 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 601b24af4..2c19f8801 100644
index 6cba4e205..3b34afbf7 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -164,6 +164,7 @@ public abstract class World implements GeneratorAccess, UUIDLookup<Entity>, Auto

View file

@ -1,4 +1,4 @@
From 81550818fb1ad4b42eb038a8e55741fd872434c4 Mon Sep 17 00:00:00 2001
From c0a8b6618ca1de15319a55b7237fad346406cb98 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 b286a01c0..3b399bedf 100644
index 86b7140eb..b422971a5 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -98,6 +98,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@ -33,7 +33,7 @@ index b286a01c0..3b399bedf 100644
if (this.delayedDisconnect != null) {
this.disconnect(this.delayedDisconnect);
}
@@ -468,6 +472,9 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -458,6 +462,9 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
}
public void disconnect(DisconnectionDetails disconnectiondetails) {

View file

@ -1,4 +1,4 @@
From 7d81f6b26b0bbb6a62984b9fa1a45ce7778ec0b2 Mon Sep 17 00:00:00 2001
From 2d6a4e3a88fb0203aea976cc91b2347c284364f6 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

View file

@ -1,33 +1,33 @@
From fec07d89e226bdf2efe9b896c4a5decd338abf0d Mon Sep 17 00:00:00 2001
From 6438188a399a78a669b586a98b1283bc3fc74b3c 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 d44b88cdb..e1d5cb04a 100644
index 570a52b75..68b5dc3d3 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -223,6 +223,19 @@ public abstract class PlayerList {
entityplayer.setServerLevel(worldserver1);
String s1 = networkmanager.getLoggableAddress(this.server.logIPs());
@@ -222,6 +222,19 @@ public abstract class PlayerList {
worldserver1.waitForChunkAndEntities(entityplayer.chunkPosition(), 1);
String s1 = networkmanager.getLoggableAddress(this.server.logIPs());
+ // Spigot start - spawn location event
+ Player spawnPlayer = entityplayer.getBukkitEntity();
+ org.spigotmc.event.player.PlayerSpawnLocationEvent ev = new org.spigotmc.event.player.PlayerSpawnLocationEvent(spawnPlayer, spawnPlayer.getLocation());
+ cserver.getPluginManager().callEvent(ev);
+ // Spigot start - spawn location event
+ Player spawnPlayer = entityplayer.getBukkitEntity();
+ org.spigotmc.event.player.PlayerSpawnLocationEvent ev = new org.spigotmc.event.player.PlayerSpawnLocationEvent(spawnPlayer, spawnPlayer.getLocation());
+ cserver.getPluginManager().callEvent(ev);
+
+ Location loc = ev.getSpawnLocation();
+ worldserver1 = ((CraftWorld) loc.getWorld()).getHandle();
+ Location loc = ev.getSpawnLocation();
+ worldserver1 = ((CraftWorld) loc.getWorld()).getHandle();
+
+ entityplayer.spawnIn(worldserver1, true);
+ entityplayer.gameMode.setLevel((WorldServer) entityplayer.level());
+ entityplayer.absSnapTo(loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch());
+ // Spigot end
+ entityplayer.spawnIn(worldserver1, true);
+ entityplayer.gameMode.setLevel((WorldServer) entityplayer.level());
+ entityplayer.absSnapTo(loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch());
+ // Spigot end
+
// CraftBukkit - Moved message to after join
// 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();
// CraftBukkit - Moved message to after join
// 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.49.0

View file

@ -1,14 +1,14 @@
From eb62093095dc8583e1f2aaa0244bb831c867e6f3 Mon Sep 17 00:00:00 2001
From 57e9f934c1be27080cb615639d58f619ea5e7681 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 cc6528d5e..88efbacae 100644
index 4e56e3e57..b3001288b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -962,6 +962,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -964,6 +964,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
} catch (IOException ioexception1) {
MinecraftServer.LOGGER.error("Failed to unlock level {}", this.storageSource.getLevelId(), ioexception1);
}

View file

@ -1,4 +1,4 @@
From cb7c1d280247b5e25689cd1db199a3666908d6dc Mon Sep 17 00:00:00 2001
From c4a49672978722f92668c39c8d1b0dbc5948c612 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,10 +45,10 @@ index 92a182668..66ac250db 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 8ace16b40..da95cd08c 100644
index 1d8891a30..e5e710fe9 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -1712,10 +1712,30 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -1736,10 +1736,30 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
}
}
@ -73,20 +73,20 @@ index 8ace16b40..da95cd08c 100644
+
@Override
public void handleUseItemOn(PacketPlayInUseItem packetplayinuseitem) {
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinuseitem, this, this.player.serverLevel());
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinuseitem, this, this.player.level());
if (this.player.isImmobile()) return; // CraftBukkit
+ if (!checkLimit(packetplayinuseitem.timestamp)) return; // Spigot - check limit
if (this.player.hasClientLoaded()) {
this.player.connection.ackBlockChangesUpTo(packetplayinuseitem.getSequence());
WorldServer worldserver = this.player.serverLevel();
@@ -1778,6 +1798,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
this.ackBlockChangesUpTo(packetplayinuseitem.getSequence());
WorldServer worldserver = this.player.level();
@@ -1802,6 +1822,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
public void handleUseItem(PacketPlayInBlockPlace packetplayinblockplace) {
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinblockplace, this, this.player.serverLevel());
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinblockplace, this, this.player.level());
if (this.player.isImmobile()) return; // CraftBukkit
+ if (!checkLimit(packetplayinblockplace.timestamp)) return; // Spigot - check limit
if (this.player.hasClientLoaded()) {
this.ackBlockChangesUpTo(packetplayinblockplace.getSequence());
WorldServer worldserver = this.player.serverLevel();
WorldServer worldserver = this.player.level();
--
2.49.0

View file

@ -1,14 +1,14 @@
From 204e69b863d27332d54ecf1b485abbe34127887e Mon Sep 17 00:00:00 2001
From 3da9bd4567163fd69ab5a5020a9835db75d0726a 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
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 5627e2150..ad41281bc 100644
index 969bfdf1c..a7e444f97 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -203,6 +203,10 @@ public final class ItemStack implements DataComponentHolder {
@@ -200,6 +200,10 @@ public final class ItemStack implements DataComponentHolder {
registryfriendlybytebuf.writeVarInt(0);
} else {
registryfriendlybytebuf.writeVarInt(itemstack.getCount());

View file

@ -1,4 +1,4 @@
From e439bb8b6ff8b7cfc851791cdb022600caab686e Mon Sep 17 00:00:00 2001
From bd080002af6e689a0615e4a986d279fe3e2b7faf 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,7 +6,7 @@ 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 a2c820acf..331f778c0 100644
index 648ece155..afacd130e 100644
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
@@ -209,7 +209,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.b, Gener
@ -19,10 +19,10 @@ index a2c820acf..331f778c0 100644
ConsecutiveExecutor consecutiveexecutor = new ConsecutiveExecutor(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 7e71c7465..bf1d3a792 100644
index b899999ef..bde2326ef 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java
@@ -344,7 +344,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -345,7 +345,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
}
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(blockposition);

View file

@ -1,4 +1,4 @@
From e17f6573fb865a26e217d064e77be68cbec9c911 Mon Sep 17 00:00:00 2001
From c6271bee2f0afce59189b3f314aab4430f6690d1 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

View file

@ -1,4 +1,4 @@
From f981259b33bc7492502757f694eb72eca67b52aa Mon Sep 17 00:00:00 2001
From b23d7c34e06c9288f56be06e9c11938993976f44 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,10 +8,10 @@ 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 88316073d..d383d0791 100644
index d5b9e2564..3a555df40 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 {
@@ -153,7 +153,16 @@ public class Main {
return;
}

View file

@ -1,14 +1,14 @@
From 1e4140e9b57ed31b25d8df0a8a3efcb606773539 Mon Sep 17 00:00:00 2001
From 11955edc3ad8f69f5001fafb33a1eb006e6046db 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 4d6716507..1fa96ea9b 100644
index 291df669a..00583d590 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2169,7 +2169,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2162,7 +2162,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}
AttributeModifiable dummy = new AttributeModifiable(GenericAttributes.MAX_HEALTH, (attribute) -> { });

View file

@ -1,23 +1,23 @@
From 2e80ff36e8f1790fda2a3dade4f6b782feb78800 Mon Sep 17 00:00:00 2001
From db778e108ce08215f31b721c32af500f7701b010 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 da95cd08c..fec26227d 100644
index e5e710fe9..3436088db 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -583,7 +583,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -601,7 +601,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
d10 = d6 * d6 + d7 * d7 + d8 * d8;
boolean flag2 = false;
boolean flag1 = false;
- if (d10 > 0.0625D) {
+ if (d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold) { // Spigot
flag2 = true;
flag1 = true;
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", new Object[]{entity.getName().getString(), this.player.getName().getString(), Math.sqrt(d10)});
}
@@ -1400,7 +1400,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -1424,7 +1424,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
d10 = d6 * d6 + d7 * d7 + d8 * d8;
boolean flag3 = false;

View file

@ -1,14 +1,14 @@
From 46ee542daac93973232d90a42b6a678b7e0b63f6 Mon Sep 17 00:00:00 2001
From 0c475285ac00189f85e7236357436e03d8c82467 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 fec26227d..a0f7e83f9 100644
index 3436088db..d44068815 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -548,7 +548,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -566,7 +566,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
}
speed *= 2f; // TODO: Get the speed of the vehicle instead of the player
@ -17,7 +17,7 @@ index fec26227d..a0f7e83f9 100644
// CraftBukkit end
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8});
this.send(PacketPlayOutVehicleMove.fromEntity(entity));
@@ -1364,7 +1364,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -1388,7 +1388,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
if (this.shouldCheckPlayerMovement(flag)) {
float f2 = flag ? 300.0F : 100.0F;

View file

@ -1,4 +1,4 @@
From 8b87999d7b06e27fe51f1ec9d497987059f45fe7 Mon Sep 17 00:00:00 2001
From 9f98d04824dd7aca3b268480eb65429c1083d0b6 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.

View file

@ -1,4 +1,4 @@
From 4813762f1d3b464027f760c489514c4c4236dd0b Mon Sep 17 00:00:00 2001
From d9dbdde735b6aef079861d0b4bc97374d9d85213 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.
@ -6,7 +6,7 @@ Subject: [PATCH] Allow Attribute Capping.
Apply some sensible defaults and allow server owners to customize the maximum values of selected common attributes.
diff --git a/src/main/java/net/minecraft/world/entity/ai/attributes/GenericAttributes.java b/src/main/java/net/minecraft/world/entity/ai/attributes/GenericAttributes.java
index 5e72d7385..825a4226f 100644
index 946f468b2..afd72dfd7 100644
--- a/src/main/java/net/minecraft/world/entity/ai/attributes/GenericAttributes.java
+++ b/src/main/java/net/minecraft/world/entity/ai/attributes/GenericAttributes.java
@@ -10,7 +10,7 @@ public class GenericAttributes {
@ -18,7 +18,7 @@ index 5e72d7385..825a4226f 100644
public static final Holder<AttributeBase> ATTACK_KNOCKBACK = register("attack_knockback", new AttributeRanged("attribute.name.attack_knockback", 0.0D, 0.0D, 5.0D));
public static final Holder<AttributeBase> ATTACK_SPEED = register("attack_speed", (new AttributeRanged("attribute.name.attack_speed", 4.0D, 0.0D, 1024.0D)).setSyncable(true));
public static final Holder<AttributeBase> BLOCK_BREAK_SPEED = register("block_break_speed", (new AttributeRanged("attribute.name.block_break_speed", 1.0D, 0.0D, 1024.0D)).setSyncable(true));
@@ -25,11 +25,11 @@ public class GenericAttributes {
@@ -26,11 +26,11 @@ public class GenericAttributes {
public static final Holder<AttributeBase> JUMP_STRENGTH = register("jump_strength", (new AttributeRanged("attribute.name.jump_strength", (double) 0.42F, 0.0D, 32.0D)).setSyncable(true));
public static final Holder<AttributeBase> KNOCKBACK_RESISTANCE = register("knockback_resistance", new AttributeRanged("attribute.name.knockback_resistance", 0.0D, 0.0D, 1.0D));
public static final Holder<AttributeBase> LUCK = register("luck", (new AttributeRanged("attribute.name.luck", 0.0D, -1024.0D, 1024.0D)).setSyncable(true));

View file

@ -1,14 +1,14 @@
From 84f2724e9561d7f213e32b85a491acb9d712b866 Mon Sep 17 00:00:00 2001
From 3581ab78c6a513bfdae29173c87cf7bcc66fd5a3 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 be7db0785..cc9505e53 100644
index e9fadfb9d..fe78382d1 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -2014,6 +2014,29 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -2079,6 +2079,29 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
public void onTrackingEnd(Entity entity) {
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot

View file

@ -1,14 +1,14 @@
From 077f3b0cb38c617235749682f89ff9f511741175 Mon Sep 17 00:00:00 2001
From 24a448c93fe5b39bcf35f757697ee362fc276866 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/server/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
index a87e2c92f..0f4a3fc96 100644
index 4c0994b82..49ec56d2b 100644
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
@@ -1790,21 +1790,21 @@ public class EntityPlayer extends EntityHuman {
@@ -1824,21 +1824,21 @@ public class EntityPlayer extends EntityHuman {
if (i > 0) {
this.awardStat(StatisticList.SWIM_ONE_CM, i);
@ -33,7 +33,7 @@ index a87e2c92f..0f4a3fc96 100644
}
} else if (this.onClimbable()) {
if (d1 > 0.0D) {
@@ -1816,13 +1816,13 @@ public class EntityPlayer extends EntityHuman {
@@ -1850,13 +1850,13 @@ public class EntityPlayer extends EntityHuman {
if (l > 0) {
if (this.isSprinting()) {
this.awardStat(StatisticList.SPRINT_ONE_CM, l);
@ -50,7 +50,7 @@ index a87e2c92f..0f4a3fc96 100644
}
}
} else if (this.isFallFlying()) {
@@ -1907,9 +1907,9 @@ public class EntityPlayer extends EntityHuman {
@@ -1943,9 +1943,9 @@ public class EntityPlayer extends EntityHuman {
super.jumpFromGround();
this.awardStat(StatisticList.JUMP);
if (this.isSprinting()) {
@ -63,10 +63,10 @@ index a87e2c92f..0f4a3fc96 100644
}
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 fca024fcd..fe0bfedc5 100644
index 8f7f879ec..c2ee5b0dc 100644
--- a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
+++ b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
@@ -1319,7 +1319,7 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1330,7 +1330,7 @@ public abstract class EntityHuman extends EntityLiving {
}
}
@ -76,10 +76,10 @@ index fca024fcd..fe0bfedc5 100644
this.level().playSound((Entity) null, this.getX(), this.getY(), this.getZ(), SoundEffects.PLAYER_ATTACK_NODAMAGE, this.getSoundSource(), 1.0F, 1.0F);
// CraftBukkit start - resync on cancelled event
diff --git a/src/main/java/net/minecraft/world/food/FoodMetaData.java b/src/main/java/net/minecraft/world/food/FoodMetaData.java
index 3761e34ce..61d3d308e 100644
index 67d9573a9..653d7c623 100644
--- a/src/main/java/net/minecraft/world/food/FoodMetaData.java
+++ b/src/main/java/net/minecraft/world/food/FoodMetaData.java
@@ -93,7 +93,7 @@ public class FoodMetaData {
@@ -94,7 +94,7 @@ public class FoodMetaData {
if (this.tickTimer >= this.unsaturatedRegenRate) { // CraftBukkit - add regen rate manipulation
entityplayer.heal(1.0F, org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.SATIATED); // CraftBukkit - added RegainReason
// this.addExhaustion(6.0F); CraftBukkit - EntityExhaustionEvent

View file

@ -1,4 +1,4 @@
From 5a2bd3e6b15ea2f49a32dd10b71a0707cc452a2c Mon Sep 17 00:00:00 2001
From 4345a8247f80c771674aee4c675d5d7234cb1271 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.

View file

@ -1,4 +1,4 @@
From b13c291847ac1dea1bc32a3892541b0d367512cb Mon Sep 17 00:00:00 2001
From d363d04c913272e31e92731a0624508092357655 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,10 +7,10 @@ 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 44d2d9a9e..b251099c0 100644
index 3216ad2d6..30a7b8ed7 100644
--- a/src/main/java/net/minecraft/world/entity/item/EntityTNTPrimed.java
+++ b/src/main/java/net/minecraft/world/entity/item/EntityTNTPrimed.java
@@ -104,6 +104,7 @@ public class EntityTNTPrimed extends Entity implements TraceableEntity {
@@ -103,6 +103,7 @@ public class EntityTNTPrimed extends Entity implements TraceableEntity {
@Override
public void tick() {
@ -19,7 +19,7 @@ index 44d2d9a9e..b251099c0 100644
this.applyGravity();
this.move(EnumMoveType.SELF, this.getDeltaMovement());
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
index 2c19f8801..891bb1ab3 100644
index 3b34afbf7..0be9bc735 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -666,6 +666,7 @@ public abstract class World implements GeneratorAccess, UUIDLookup<Entity>, Auto

View file

@ -1,14 +1,14 @@
From 5f3fa03c9ca6b26c0f99cf3a29a58f56e3d6dcd1 Mon Sep 17 00:00:00 2001
From 8b0e74b44177202d2aca6d7676b43d0d986bd965 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/BlockAttachedEntity.java b/src/main/java/net/minecraft/world/entity/decoration/BlockAttachedEntity.java
index b8b37f08a..95e65009c 100644
index 33ebdba2b..42b2a1255 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/BlockAttachedEntity.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/BlockAttachedEntity.java
@@ -50,7 +50,7 @@ public abstract class BlockAttachedEntity extends Entity {
@@ -51,7 +51,7 @@ public abstract class BlockAttachedEntity extends Entity {
if (world instanceof WorldServer worldserver) {
this.checkBelowWorld();

View file

@ -1,4 +1,4 @@
From 345ee1229e477faea74a15a7d0643bdd5af4dfc6 Mon Sep 17 00:00:00 2001
From dbd5f4c8d59603c14bd83f81f8414fb3e955eb76 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,7 +10,7 @@ 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 891bb1ab3..66227eff9 100644
index 0be9bc735..66be5aa46 100644
--- a/src/main/java/net/minecraft/world/level/World.java
+++ b/src/main/java/net/minecraft/world/level/World.java
@@ -165,6 +165,9 @@ public abstract class World implements GeneratorAccess, UUIDLookup<Entity>, Auto

View file

@ -1,14 +1,14 @@
From 1bbf104c5742d2d74755c426c1d07fa33c24bfbd Mon Sep 17 00:00:00 2001
From 23285fb33c11d5fc611d7cb3ad58fb6e532509e9 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 e1d5cb04a..d12109f8f 100644
index 68b5dc3d3..baefa7f36 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -158,6 +158,7 @@ public abstract class PlayerList {
@@ -157,6 +157,7 @@ public abstract class PlayerList {
// CraftBukkit start
private CraftServer cserver;
@ -16,15 +16,15 @@ index e1d5cb04a..d12109f8f 100644
public PlayerList(MinecraftServer minecraftserver, LayeredRegistryAccess<RegistryLayer> layeredregistryaccess, WorldNBTStorage worldnbtstorage, int i) {
this.cserver = minecraftserver.server = new CraftServer((DedicatedServer) minecraftserver, this);
@@ -283,6 +284,7 @@ public abstract class PlayerList {
@@ -282,6 +283,7 @@ public abstract class PlayerList {
// entityplayer.connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(this.players)); // CraftBukkit - replaced with loop below
this.players.add(entityplayer);
+ this.playersByName.put(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT), entityplayer); // Spigot
this.playersByUUID.put(entityplayer.getUUID(), entityplayer);
// this.broadcastAll(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(entityplayer))); // CraftBukkit - replaced with loop below
// entityplayer.connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(this.players)); // CraftBukkit - replaced with loop below
this.players.add(entityplayer);
+ this.playersByName.put(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT), entityplayer); // Spigot
this.playersByUUID.put(entityplayer.getUUID(), entityplayer);
// this.broadcastAll(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(entityplayer))); // CraftBukkit - replaced with loop below
@@ -478,6 +480,7 @@ public abstract class PlayerList {
@@ -481,6 +483,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 e1d5cb04a..d12109f8f 100644
this.server.getCustomBossEvents().onPlayerDisconnect(entityplayer);
UUID uuid = entityplayer.getUUID();
EntityPlayer entityplayer1 = (EntityPlayer) this.playersByUUID.get(uuid);
@@ -616,6 +619,7 @@ public abstract class PlayerList {
@@ -612,6 +615,7 @@ public abstract class PlayerList {
public EntityPlayer respawn(EntityPlayer entityplayer, boolean flag, Entity.RemovalReason entity_removalreason, RespawnReason reason, Location location) {
entityplayer.stopRiding(); // CraftBukkit
this.players.remove(entityplayer);
+ this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
entityplayer.serverLevel().removePlayerImmediately(entityplayer, entity_removalreason);
entityplayer.level().removePlayerImmediately(entityplayer, entity_removalreason);
/* CraftBukkit start
TeleportTransition teleporttransition = entityplayer.findRespawnPositionAndUseSpawnBlock(!flag, TeleportTransition.DO_NOTHING);
@@ -687,6 +691,7 @@ public abstract class PlayerList {
@@ -683,6 +687,7 @@ public abstract class PlayerList {
if (!entityplayer.connection.isDisconnected()) {
worldserver.addRespawnedPlayer(entityplayer1);
this.players.add(entityplayer1);
@ -48,7 +48,7 @@ index e1d5cb04a..d12109f8f 100644
this.playersByUUID.put(entityplayer1.getUUID(), entityplayer1);
}
// entityplayer1.initInventoryMenu();
@@ -901,17 +906,7 @@ public abstract class PlayerList {
@@ -897,17 +902,7 @@ public abstract class PlayerList {
@Nullable
public EntityPlayer getPlayerByName(String s) {

View file

@ -1,14 +1,14 @@
From 3e2c29ac8ba56614460db7855f340f58d66e899b Mon Sep 17 00:00:00 2001
From adafaf1ddd45a4b7155eaa02a8038e345f67a56c 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 3b399bedf..855adebd4 100644
index b422971a5..f66f08175 100644
--- a/src/main/java/net/minecraft/network/NetworkManager.java
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
@@ -672,6 +672,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -662,6 +662,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
packetlistener1.onDisconnect(disconnectiondetails);
}
@ -17,12 +17,12 @@ index 3b399bedf..855adebd4 100644
}
}
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index 96f280773..b4551ca7a 100644
index 624009afd..ceeb0c782 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -261,7 +261,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@@ -269,7 +269,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
public void send(Packet<?> packet, @Nullable PacketSendListener packetsendlistener) {
public void send(Packet<?> packet, @Nullable ChannelFutureListener channelfuturelistener) {
// CraftBukkit start
- if (packet == null) {
+ if (packet == null || this.processedDisconnect) { // Spigot

View file

@ -1,4 +1,4 @@
From 121f69e7b463cf9e4aa564ea8793a6ae4e082f75 Mon Sep 17 00:00:00 2001
From b02bf51e554f1808ccaf2580f6fc5f9f8ff91a05 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,10 +6,10 @@ 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 35e87ce15..09ba69e89 100644
index 1197e9cfd..94a7be017 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
@@ -136,6 +136,7 @@ public class AdvancementDataPlayer {
@@ -135,6 +135,7 @@ public class AdvancementDataPlayer {
}
public void save() {
@ -18,7 +18,7 @@ index 35e87ce15..09ba69e89 100644
try {
diff --git a/src/main/java/net/minecraft/server/AdvancementDataWorld.java b/src/main/java/net/minecraft/server/AdvancementDataWorld.java
index 26dc74b92..a5e63774d 100644
index 1809010ac..0b70f52a8 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataWorld.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataWorld.java
@@ -39,6 +39,11 @@ public class AdvancementDataWorld extends ResourceDataJson<Advancement> {

View file

@ -1,11 +1,11 @@
From df7d0439a2abded5285e0a583dce14d7b88ac880 Mon Sep 17 00:00:00 2001
From 9367f990537854884865253bbc379b359a97a24f 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 56650b6b2..5f92ace58 100644
index 90c458a96..79a28f352 100644
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
@@ -209,6 +209,14 @@ public class PlayerInteractManager {
@ -24,10 +24,10 @@ index 56650b6b2..5f92ace58 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 863e45207..101cfdb8a 100644
index d44068815..5d9cc1ffc 100644
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
@@ -865,7 +865,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
@@ -881,7 +881,7 @@ public class PlayerConnection extends ServerCommonPacketListenerImpl implements
ItemStack itemstack = iblockdata.getCloneItemStack(worldserver, blockposition, flag);
if (!itemstack.isEmpty()) {
@ -37,7 +37,7 @@ index 863e45207..101cfdb8a 100644
}
diff --git a/src/main/java/net/minecraft/world/item/ItemBlock.java b/src/main/java/net/minecraft/world/item/ItemBlock.java
index 74e23ed81..f5e6910fd 100644
index 2bdaa1925..c4dc51bf7 100644
--- a/src/main/java/net/minecraft/world/item/ItemBlock.java
+++ b/src/main/java/net/minecraft/world/item/ItemBlock.java
@@ -208,7 +208,7 @@ public class ItemBlock extends Item {

View file

@ -1,4 +1,4 @@
From 79ad4ae0464991c80ef0f9c12efc5aa66492f47c Mon Sep 17 00:00:00 2001
From cbbe695dcad71761b22b4ce4c3cfa7effe17714d Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Tue, 19 Feb 2019 22:30:00 +1100
Subject: [PATCH] Allow Reading Old Large Chunks

View file

@ -1,14 +1,14 @@
From 9d1124b2b14d0335c557fed2e49346bdedfdce99 Mon Sep 17 00:00:00 2001
From c7acf2a1192be3ee06fc7a0b48209660a52f37aa Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 14 Dec 2019 10:26:52 +1100
Subject: [PATCH] Add log-villager-deaths option
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
index 8932d4c87..e394a6f16 100644
index 421bd441d..2e8b6a9dd 100644
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
@@ -1814,7 +1814,7 @@ public abstract class EntityLiving extends Entity implements Attackable {
@@ -1850,7 +1850,7 @@ public abstract class EntityLiving extends Entity implements Attackable, Waypoin
}
if (!this.level().isClientSide && this.hasCustomName()) {
@ -18,10 +18,10 @@ index 8932d4c87..e394a6f16 100644
this.dead = true;
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 75d832de7..a9f18d1d3 100644
index 9f9ffd235..785b34460 100644
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
@@ -626,7 +626,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -627,7 +627,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@Override
public void die(DamageSource damagesource) {

View file

@ -1,21 +1,21 @@
From 245b9b61a13d17e889dc9184241e93c583c408ef Mon Sep 17 00:00:00 2001
From a44ee2ed9663726b0d866f371d16ce7f1339c7c1 Mon Sep 17 00:00:00 2001
From: Sander Knauff <sanderknauff@hotmail.com>
Date: Sat, 7 Nov 2020 18:23:42 +1100
Subject: [PATCH] Allow Disabling Player Data Saving
diff --git a/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java b/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java
index c79f0fbd9..274fdb364 100644
index cc88c7784..12dbf9541 100644
--- a/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java
+++ b/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java
@@ -35,6 +35,7 @@ public class WorldNBTStorage {
@@ -40,6 +40,7 @@ public class WorldNBTStorage {
}
public void save(EntityHuman entityhuman) {
+ if (org.spigotmc.SpigotConfig.disablePlayerDataSaving) return; // Spigot
try {
NBTTagCompound nbttagcompound = entityhuman.saveWithoutId(new NBTTagCompound());
Path path = this.playerDir.toPath();
try (ProblemReporter.j problemreporter_j = new ProblemReporter.j(entityhuman.problemPath(), WorldNBTStorage.LOGGER)) {
TagValueOutput tagvalueoutput = TagValueOutput.createWithContext(problemreporter_j, entityhuman.registryAccess());
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 6502572f5..5e7ec9919 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java

View file

@ -1,14 +1,14 @@
From a4cd99095e3b29563a00d935df685bc14a13be41 Mon Sep 17 00:00:00 2001
From d591abdc535053fe0eb7a6503f4379de1c8181dd Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 24 Oct 2021 20:29:25 +1100
Subject: [PATCH] Configurable Thunder Chance
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index c357de8d9..6df14e88d 100644
index fe78382d1..8709d4ec6 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -558,7 +558,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
@@ -562,7 +562,7 @@ public class WorldServer extends World implements ServerEntityGetter, GeneratorA
GameProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("thunder");

View file

@ -1,11 +1,11 @@
From 913f3c8af14f4f9d9a6e43a654caa57fc14dd1a9 Mon Sep 17 00:00:00 2001
From e27963e283cac9acc7a623351d34a2f9ed97d678 Mon Sep 17 00:00:00 2001
From: DerFrZocker <derrieple@gmail.com>
Date: Sun, 28 Nov 2021 12:09:29 +1100
Subject: [PATCH] Configurable Below Zero Generation
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/IChunkLoader.java b/src/main/java/net/minecraft/world/level/chunk/storage/IChunkLoader.java
index 681ccd963..1d3e0b19c 100644
index ed32a7673..e4573edaf 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/IChunkLoader.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/IChunkLoader.java
@@ -109,8 +109,22 @@ public class IChunkLoader implements AutoCloseable {

View file

@ -1,11 +1,11 @@
From 5b0855dd8a7dab30714682a83c7887c3b01c5aea Mon Sep 17 00:00:00 2001
From ace517763680cf70b4cd70a90dd37e4083b76206 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 18 May 2024 11:39:58 +1000
Subject: [PATCH] Add unload-frozen-chunks option
diff --git a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
index 80d916877..728432773 100644
index 248027280..175119d0f 100644
--- a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
@@ -368,7 +368,7 @@ public class ChunkProviderServer extends IChunkProvider {
@ -14,7 +14,7 @@ index 80d916877..728432773 100644
this.level.timings.doChunkMap.startTiming(); // Spigot
- if (this.level.tickRateManager().runsNormally() || !flag) {
+ if (this.level.tickRateManager().runsNormally() || !flag || this.level.spigotConfig.unloadFrozenChunks) { // Spigot
this.ticketStorage.purgeStaleTickets();
this.ticketStorage.purgeStaleTickets(this.chunkMap);
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java

View file

@ -1,7 +1,7 @@
From 1c7a10caca1a565f22ee1343656a60f98f36530c Mon Sep 17 00:00:00 2001
From 9123d370f57f5819daec1c5c4caad24bca3c9d64 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
Subject: [PATCH] BungeeCord 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
@ -22,7 +22,7 @@ index eed54194c..8375d2f41 100644
public PacketType<ClientboundSystemChatPacket> type() {
return GamePacketTypes.CLIENTBOUND_SYSTEM_CHAT;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d572d30db..6f21fee32 100644
index 3f1699efa..c29f61c7a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -269,6 +269,8 @@ import org.yaml.snakeyaml.Yaml;
@ -34,7 +34,7 @@ index d572d30db..6f21fee32 100644
public final class CraftServer implements Server {
private final String serverName = "CraftBukkit";
private final String serverVersion;
@@ -2609,6 +2611,20 @@ public final class CraftServer implements Server {
@@ -2610,6 +2612,20 @@ public final class CraftServer implements Server {
public void restart() {
org.spigotmc.RestartCommand.restart();
}
@ -90,10 +90,10 @@ index 861739d4c..6b3632109 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 a36d8cdb8..c6ab00982 100644
index a7a3a85f5..43bd462cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -61,6 +61,8 @@ import org.bukkit.util.BoundingBox;
@@ -64,6 +64,8 @@ import org.bukkit.util.BoundingBox;
import org.bukkit.util.NumberConversions;
import org.bukkit.util.Vector;
@ -130,10 +130,10 @@ index a36d8cdb8..c6ab00982 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 1fa96ea9b..621ef1f6f 100644
index 00583d590..108eae31c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -200,6 +200,8 @@ import org.bukkit.profile.PlayerProfile;
@@ -203,6 +203,8 @@ import org.bukkit.profile.PlayerProfile;
import org.bukkit.scoreboard.Scoreboard;
import org.jetbrains.annotations.NotNull;
@ -142,7 +142,32 @@ index 1fa96ea9b..621ef1f6f 100644
@DelegateDeserialization(CraftOfflinePlayer.class)
public class CraftPlayer extends CraftHumanEntity implements Player {
private long firstPlayed = 0;
@@ -2390,6 +2392,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2357,6 +2359,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
getHandle().connection.send(ClientboundClearDialogPacket.INSTANCE);
}
+ // Spigot start
+ @Override
+ public void showDialog(net.md_5.bungee.api.dialog.Dialog dialog) {
+ if (getHandle().connection == null) return;
+
+ if (dialog == null) {
+ return;
+ }
+
+ com.google.gson.JsonElement json = CraftChatMessage.getBungee().getDialogSerializer().toJson(dialog);
+ net.minecraft.server.dialog.Dialog nms = net.minecraft.server.dialog.Dialog.DIRECT_CODEC
+ .parse(getHandle().level().registryAccess().createSerializationContext(com.mojang.serialization.JsonOps.INSTANCE), json)
+ .getOrThrow();
+
+ getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundShowDialogPacket(Holder.direct(nms)));
+ }
+ // Spigot end
+
// Spigot start
private final Player.Spigot spigot = new Player.Spigot()
{
@@ -2390,6 +2410,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return java.util.Collections.unmodifiableSet( ret );
}
@ -395,10 +420,10 @@ index 67c6bae18..bb526d587 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java
index c67199fbf..082e9d63c 100644
index 8db8dc299..7efc3117a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftChatMessage.java
@@ -36,6 +36,12 @@ public final class CraftChatMessage {
@@ -44,6 +44,12 @@ public final class CraftChatMessage {
formatMap = builder.build();
}