mirror of
https://hub.spigotmc.org/stash/scm/spigot/spigot.git
synced 2025-09-18 21:33:01 +00:00
Update to Minecraft 1.19
This commit is contained in:
parent
b081915002
commit
87c4d13aee
108 changed files with 747 additions and 759 deletions
|
@ -1,4 +1,4 @@
|
|||
From 7326ce5e7f476ec5650015c7211ef095778c9f63 Mon Sep 17 00:00:00 2001
|
||||
From e1f1e32565d35a478588ab055a5af2dbfd353196 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 2 Jun 2013 10:36:24 +1000
|
||||
Subject: [PATCH] POM Changes
|
||||
|
@ -20,7 +20,7 @@ index c658f38f..b979da19 100644
|
|||
<!-- See http://checkstyle.sourceforge.net/config_imports.html -->
|
||||
<module name="AvoidStarImport">
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 2646ad00..0eb50311 100644
|
||||
index 9a36457e..aed8b24d 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -3,14 +3,14 @@
|
||||
|
@ -31,7 +31,7 @@ index 2646ad00..0eb50311 100644
|
|||
- <artifactId>bukkit</artifactId>
|
||||
+ <groupId>org.spigotmc</groupId>
|
||||
+ <artifactId>spigot-api</artifactId>
|
||||
<version>1.18.2-R0.1-SNAPSHOT</version>
|
||||
<version>1.19-R0.1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
- <name>Bukkit</name>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 278a8e8369844bbfbdf62b5f96963f20b6d54047 Mon Sep 17 00:00:00 2001
|
||||
From ca8c2778d18fed3d156237a11ad81bf034be50c9 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
|
||||
|
@ -37,7 +37,7 @@ index 324e47f3..7015d5ef 100644
|
|||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 965a5f3b..d21c4cbe 100644
|
||||
index d1bb770e..ae53fdc5 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -2573,6 +2573,15 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 901d5a3f7bb72e1de2dd59be175aa5c917aae4b8 Mon Sep 17 00:00:00 2001
|
||||
From 7d9f0af880990365798e59b3de948c4b3dd54689 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
|
||||
|
@ -35,7 +35,7 @@ index 7015d5ef..eb53789a 100644
|
|||
|
||||
@NotNull
|
||||
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
|
||||
index 03d801a9..4bfc2146 100644
|
||||
index 0577d80a..80209bb8 100644
|
||||
--- a/src/main/java/org/bukkit/command/Command.java
|
||||
+++ b/src/main/java/org/bukkit/command/Command.java
|
||||
@@ -33,6 +33,7 @@ public abstract class Command {
|
||||
|
@ -63,7 +63,7 @@ index 03d801a9..4bfc2146 100644
|
|||
return true;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
index 95bfced6..81e4fa57 100644
|
||||
index 73906146..e195e74c 100644
|
||||
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
@@ -144,11 +144,15 @@ public class SimpleCommandMap implements CommandMap {
|
||||
|
@ -83,7 +83,7 @@ index 95bfced6..81e4fa57 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
|
||||
index cb020d68..2a145d85 100644
|
||||
index ed4cbce7..516d7fc7 100644
|
||||
--- a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
|
||||
+++ b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
|
||||
@@ -18,23 +18,102 @@ import org.bukkit.plugin.TimedRegisteredListener;
|
||||
|
@ -245,10 +245,10 @@ index cb020d68..2a145d85 100644
|
|||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
index 95f4a4d3..77dcfe35 100644
|
||||
index 5bec3c94..f5710d53 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
@@ -358,6 +358,7 @@ public final class SimplePluginManager implements PluginManager {
|
||||
@@ -357,6 +357,7 @@ public final class SimplePluginManager implements PluginManager {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -257,7 +257,7 @@ index 95f4a4d3..77dcfe35 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||
index 390abd51..a09c3f71 100644
|
||||
index 39b991ff..047c0304 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||
@@ -43,6 +43,7 @@ import org.bukkit.plugin.TimedRegisteredListener;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 5f6fbe6239e24a4cef009c184b538b8a3cdc44cc Mon Sep 17 00:00:00 2001
|
||||
From e1fc0dc2fd4db4f00031ce9be6d2f09adff16884 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 2 Jun 2013 15:20:49 +1000
|
||||
Subject: [PATCH] BungeeCord Support
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From cf18ec1b85647a4d28e85ed613f32374f444c4d5 Mon Sep 17 00:00:00 2001
|
||||
From 28819266f54c59c100f81695ddbb824a72f6dca7 Mon Sep 17 00:00:00 2001
|
||||
From: Andy Shulman <andy.shulman@hotmail.com>
|
||||
Date: Mon, 15 Apr 2013 20:06:01 -0500
|
||||
Subject: [PATCH] Define SpawnerSpawnEvent
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From b1d1bc0622fe8929883112553d0651e40aab7022 Mon Sep 17 00:00:00 2001
|
||||
From 7dbfbf41cb5c7f10fb609652522e735ccb920ef6 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Tue, 2 Jul 2013 20:32:53 +1000
|
||||
Subject: [PATCH] Entity Mount and Dismount Events
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From ad3c387b35382681d532f58597f0d23e06297a2e Mon Sep 17 00:00:00 2001
|
||||
From d130a61236c80ed0cf6ae73356c0964b7ee071ec Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 3 Aug 2013 19:20:50 +1000
|
||||
Subject: [PATCH] Player Collision API
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From b2f48ad47b0067dfe13e111b1587063ae997d5df Mon Sep 17 00:00:00 2001
|
||||
From 4b7cdbd4f13860330c1fac26556b6e477b031b0f 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.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From e4175635f4085e003d54a477a9abe3fd7664b1da Mon Sep 17 00:00:00 2001
|
||||
From 08f8f847b666615ac3b425836a941edfb5e5864e 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
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
From 21ea4bf92fc48800ddf051ceb6ecc63e8147c48b Mon Sep 17 00:00:00 2001
|
||||
From 86770744cd095a9b17baeb6c4715c5d703ab6282 Mon Sep 17 00:00:00 2001
|
||||
From: drXor <mcyoungsota@gmail.com>
|
||||
Date: Sun, 23 Feb 2014 16:16:29 -0400
|
||||
Subject: [PATCH] Silenceable Lightning API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index d21c4cbe..56ce6f1d 100644
|
||||
index ae53fdc5..e2a116ce 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -2576,6 +2576,29 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 241c6fdf3d132acfa8c43c65fe71f63bf2898db6 Mon Sep 17 00:00:00 2001
|
||||
From b5d54df5e531f8c04011bdd52280f5404628744d 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.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2d5e43a8ebb668625c6d896c487bbb1929e53867 Mon Sep 17 00:00:00 2001
|
||||
From 9269922a108a0806f137e18377d90b23396b9fa7 Mon Sep 17 00:00:00 2001
|
||||
From: drXor <mcyoung@mit.edu>
|
||||
Date: Wed, 23 Jul 2014 15:50:36 -0400
|
||||
Subject: [PATCH] Undeprecate Player#updateInventory()V
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 1c7467398637f847981988533bd3b5b922fa0a90 Mon Sep 17 00:00:00 2001
|
||||
From d4e1ddd02940e707c6a6e647794a530217319cdf Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Sat, 13 Dec 2014 02:59:14 +0100
|
||||
Subject: [PATCH] BungeeCord Chat API
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 0eb50311..7a34ef55 100644
|
||||
index aed8b24d..c9f85885 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -51,6 +51,13 @@
|
||||
@@ -45,6 +45,13 @@
|
||||
<version>2.8.9</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
@ -22,7 +22,7 @@ index 0eb50311..7a34ef55 100644
|
|||
<dependency>
|
||||
<groupId>org.yaml</groupId>
|
||||
<artifactId>snakeyaml</artifactId>
|
||||
@@ -189,6 +196,7 @@
|
||||
@@ -178,6 +185,7 @@
|
||||
<link>https://guava.dev/releases/31.0.1-jre/api/docs/</link>
|
||||
<link>https://javadoc.io/doc/org.yaml/snakeyaml/1.30/</link>
|
||||
<link>https://javadoc.io/doc/org.jetbrains/annotations-java5/23.0.0/</link>
|
||||
|
@ -31,7 +31,7 @@ index 0eb50311..7a34ef55 100644
|
|||
</configuration>
|
||||
</plugin>
|
||||
diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java
|
||||
index 427368a7..44d597d7 100644
|
||||
index 623bba2e..24ade174 100644
|
||||
--- a/src/main/java/org/bukkit/ChatColor.java
|
||||
+++ b/src/main/java/org/bukkit/ChatColor.java
|
||||
@@ -15,91 +15,223 @@ public enum ChatColor {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 55bf76f601dbe0309da4610fabaafe278e4530be Mon Sep 17 00:00:00 2001
|
||||
From 04961b01644093c1627d716d8b74a34707674334 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.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 42dccc7d5e581cc52ede165cc337c0e20af53e24 Mon Sep 17 00:00:00 2001
|
||||
From c06afeef1680b84ef1db9aa28afbcfa684420197 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Tue, 30 Jul 2019 13:47:34 -0700
|
||||
Subject: [PATCH] View Distance
|
||||
|
@ -6,7 +6,7 @@ Subject: [PATCH] View Distance
|
|||
This commit allows the retrieval of per world view distances.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 56ce6f1d..81adea0e 100644
|
||||
index e2a116ce..9fa83c72 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -2573,6 +2573,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 7b770d51150cdf8d5d820bc0da1d254fea85eabf Mon Sep 17 00:00:00 2001
|
||||
From c691a0b1722ed22c61a7ef1e121fe6127a3795d9 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Tue, 2 Jul 2013 13:07:39 +1000
|
||||
Subject: [PATCH] POM Changes
|
||||
|
@ -34,7 +34,7 @@ index 63914723e..01319e4f7 100644
|
|||
<!-- See http://checkstyle.sourceforge.net/config_imports.html -->
|
||||
<module name="AvoidStarImport">
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index fe33bb84d..ac2dbe041 100644
|
||||
index 3bb77f46b..4d8c2f174 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -1,13 +1,20 @@
|
||||
|
@ -46,7 +46,7 @@ index fe33bb84d..ac2dbe041 100644
|
|||
+ <groupId>org.spigotmc</groupId>
|
||||
+ <artifactId>spigot</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.18.2-R0.1-SNAPSHOT</version>
|
||||
<version>1.19-R0.1-SNAPSHOT</version>
|
||||
- <name>CraftBukkit</name>
|
||||
+ <name>Spigot</name>
|
||||
<url>https://www.spigotmc.org/</url>
|
||||
|
@ -72,7 +72,7 @@ index fe33bb84d..ac2dbe041 100644
|
|||
<version>${project.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
@@ -202,11 +209,26 @@
|
||||
@@ -277,11 +284,26 @@
|
||||
<groupId>net.md-5</groupId>
|
||||
<artifactId>scriptus</artifactId>
|
||||
<version>0.4.1</version>
|
||||
|
@ -102,7 +102,7 @@ index fe33bb84d..ac2dbe041 100644
|
|||
<phase>initialize</phase>
|
||||
<goals>
|
||||
<goal>describe</goal>
|
||||
@@ -239,7 +261,7 @@
|
||||
@@ -314,7 +336,7 @@
|
||||
<manifestEntries>
|
||||
<Main-Class>org.bukkit.craftbukkit.Main</Main-Class>
|
||||
<Implementation-Title>CraftBukkit</Implementation-Title>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From fda59badc338389e2e980287c1adf32d0ad92ca9 Mon Sep 17 00:00:00 2001
|
||||
From 92f757f0653cb0b802c084a9761a14471ee61b7b Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 2 Jun 2013 15:10:56 +1000
|
||||
Subject: [PATCH] Skeleton API Implementations
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Skeleton API Implementations
|
|||
This contains the basic, empty implementations for some Spigot-API extensions. They are included early in the patching progress so that compilation will still succeed midway despite the APIs only being provided by subsequent patches.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 694a1faeb..6c3074b5c 100644
|
||||
index 398c05b39..033fef65c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2260,4 +2260,16 @@ public final class CraftServer implements Server {
|
||||
@@ -2243,4 +2243,16 @@ public final class CraftServer implements Server {
|
||||
public UnsafeValues getUnsafe() {
|
||||
return CraftMagicNumbers.INSTANCE;
|
||||
}
|
||||
|
@ -27,10 +27,10 @@ index 694a1faeb..6c3074b5c 100644
|
|||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 7e66df390..9fadab92e 100644
|
||||
index 98131ea56..c4d230b15 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -1812,4 +1812,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -1820,4 +1820,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
this.persistentDataContainer.putAll((NBTTagCompound) c);
|
||||
}
|
||||
}
|
||||
|
@ -84,10 +84,10 @@ index 7fa2588b8..e0acbada8 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 72d8401b2..04c85cf43 100644
|
||||
index 6589e7b62..78f56eef7 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1083,4 +1083,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1095,4 +1095,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
}
|
||||
return perm;
|
||||
}
|
||||
|
@ -124,10 +124,10 @@ index 9ab9f0a31..e63833dcd 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 3d58ca72b..4a2bcdf60 100644
|
||||
index 726a93f75..38929311d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1897,4 +1897,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1895,4 +1895,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public boolean isAllowingServerListings() {
|
||||
return getHandle().allowsListing();
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 8c07ec6827cf4db05e56859557055c7b0e12b977 Mon Sep 17 00:00:00 2001
|
||||
From da9f1dcd84d6fa691291a60163e4419f6ea45c87 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 7 Jul 2013 09:32:53 +1000
|
||||
Subject: [PATCH] Spigot Configuration
|
||||
|
@ -6,10 +6,10 @@ 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 0339a2858..afb72641d 100644
|
||||
index 4dea4d905..47782492f 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -190,6 +190,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -183,6 +183,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
this.setPreventProxyConnections(dedicatedserverproperties.preventProxyConnections);
|
||||
this.setLocalIp(dedicatedserverproperties.serverIp);
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ index 0339a2858..afb72641d 100644
|
|||
|
||||
this.setPvpAllowed(dedicatedserverproperties.pvp);
|
||||
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
|
||||
@@ -222,7 +227,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -214,7 +219,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
}
|
||||
|
||||
// CraftBukkit start
|
||||
|
@ -31,10 +31,10 @@ index 0339a2858..afb72641d 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 ccdf9adec..efdb12a2b 100644
|
||||
index 9847f9736..a8e8ee431 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/World.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/World.java
|
||||
@@ -141,6 +141,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -147,6 +147,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public List<EntityItem> captureDrops;
|
||||
public final it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<SpawnCategory> ticksPerSpawnCategory = new it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<>();
|
||||
public boolean populating;
|
||||
|
@ -42,19 +42,19 @@ index ccdf9adec..efdb12a2b 100644
|
|||
|
||||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
@@ -153,6 +154,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -159,6 +160,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public abstract ResourceKey<WorldDimension> getTypeKey();
|
||||
|
||||
protected World(WorldDataMutable worlddatamutable, ResourceKey<World> resourcekey, Holder<DimensionManager> holder, Supplier<GameProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env) {
|
||||
protected World(WorldDataMutable worlddatamutable, ResourceKey<World> resourcekey, Holder<DimensionManager> holder, Supplier<GameProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env) {
|
||||
+ this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.WorldDataServer) worlddatamutable).getLevelName()); // Spigot
|
||||
this.generator = gen;
|
||||
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 6c3074b5c..0b7519852 100644
|
||||
index 033fef65c..00b68ed0b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -846,6 +846,7 @@ public final class CraftServer implements Server {
|
||||
@@ -841,6 +841,7 @@ public final class CraftServer implements Server {
|
||||
logger.log(Level.WARNING, "Failed to load banned-players.json, " + ex.getMessage());
|
||||
}
|
||||
|
||||
|
@ -62,7 +62,7 @@ index 6c3074b5c..0b7519852 100644
|
|||
for (WorldServer world : console.getAllLevels()) {
|
||||
world.serverLevelData.setDifficulty(config.difficulty);
|
||||
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
|
||||
@@ -860,11 +861,13 @@ public final class CraftServer implements Server {
|
||||
@@ -855,11 +856,13 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ index 6c3074b5c..0b7519852 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 1fff0fea1..1580eaf72 100644
|
||||
index 6f309ba17..e8b2178dc 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -121,6 +121,14 @@ public class Main {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From e4aa0e75385053faccbe646aa0c5d2c831fea252 Mon Sep 17 00:00:00 2001
|
||||
From d9844043033b0facd68e65db5cdd90b5dc6fb1de Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Mon, 7 Mar 2016 22:14:13 +1100
|
||||
Subject: [PATCH] Crop Growth Rates
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Crop Growth Rates
|
|||
Allows configuring the growth rates of crops as a percentage of their normal growth rate.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
index 5c4fdcec8..ec656425d 100644
|
||||
index b32b2faf4..58715c8c0 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
@@ -532,6 +532,18 @@ public class Block extends BlockBase implements IMaterial {
|
||||
@@ -547,6 +547,18 @@ public class Block extends BlockBase implements IMaterial {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
|
@ -29,20 +29,20 @@ index 5c4fdcec8..ec656425d 100644
|
|||
|
||||
private final IBlockData first;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockBamboo.java b/src/main/java/net/minecraft/world/level/block/BlockBamboo.java
|
||||
index ccddd6cb2..39b711839 100644
|
||||
index 7f9a098a2..812658df3 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockBamboo.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockBamboo.java
|
||||
@@ -132,7 +132,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
@@ -127,7 +127,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
@Override
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) {
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {
|
||||
if ((Integer) iblockdata.getValue(BlockBamboo.STAGE) == 0) {
|
||||
- if (random.nextInt(3) == 0 && worldserver.isEmptyBlock(blockposition.above()) && worldserver.getRawBrightness(blockposition.above(), 0) >= 9) {
|
||||
+ if (random.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.bambooModifier) * 3)) == 0 && worldserver.isEmptyBlock(blockposition.above()) && worldserver.getRawBrightness(blockposition.above(), 0) >= 9) { // Spigot
|
||||
- if (randomsource.nextInt(3) == 0 && worldserver.isEmptyBlock(blockposition.above()) && worldserver.getRawBrightness(blockposition.above(), 0) >= 9) {
|
||||
+ if (randomsource.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.bambooModifier) * 3)) == 0 && worldserver.isEmptyBlock(blockposition.above()) && worldserver.getRawBrightness(blockposition.above(), 0) >= 9) { // Spigot
|
||||
int i = this.getHeightBelowUpToMax(worldserver, blockposition) + 1;
|
||||
|
||||
if (i < 16) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockCactus.java b/src/main/java/net/minecraft/world/level/block/BlockCactus.java
|
||||
index 9ba5e5b0b..73a227026 100644
|
||||
index 028780661..189594818 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockCactus.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockCactus.java
|
||||
@@ -59,7 +59,7 @@ public class BlockCactus extends Block {
|
||||
|
@ -55,27 +55,27 @@ index 9ba5e5b0b..73a227026 100644
|
|||
IBlockData iblockdata1 = (IBlockData) iblockdata.setValue(BlockCactus.AGE, 0);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockCocoa.java b/src/main/java/net/minecraft/world/level/block/BlockCocoa.java
|
||||
index 7894d3e80..8cb8a80e7 100644
|
||||
index f7577aafb..94797e511 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockCocoa.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockCocoa.java
|
||||
@@ -52,7 +52,7 @@ public class BlockCocoa extends BlockFacingHorizontal implements IBlockFragilePl
|
||||
|
||||
@Override
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) {
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {
|
||||
- if (worldserver.random.nextInt(5) == 0) {
|
||||
+ if (worldserver.random.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.cocoaModifier) * 5)) == 0) { // Spigot
|
||||
int i = (Integer) iblockdata.getValue(BlockCocoa.AGE);
|
||||
|
||||
if (i < 2) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockCrops.java b/src/main/java/net/minecraft/world/level/block/BlockCrops.java
|
||||
index 5ce3500a9..688aed1da 100644
|
||||
index 1792ae91d..34006916e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockCrops.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockCrops.java
|
||||
@@ -77,7 +77,20 @@ public class BlockCrops extends BlockPlant implements IBlockFragilePlantElement
|
||||
if (i < this.getMaxAge()) {
|
||||
float f = getGrowthSpeed(this, worldserver, blockposition);
|
||||
|
||||
- if (random.nextInt((int) (25.0F / f) + 1) == 0) {
|
||||
- if (randomsource.nextInt((int) (25.0F / f) + 1) == 0) {
|
||||
+ // Spigot start
|
||||
+ int modifier;
|
||||
+ if (this == Blocks.BEETROOTS) {
|
||||
|
@ -88,52 +88,52 @@ index 5ce3500a9..688aed1da 100644
|
|||
+ modifier = worldserver.spigotConfig.wheatModifier;
|
||||
+ }
|
||||
+
|
||||
+ if (random.nextInt((int) ((100.0F / modifier) * (25.0F / f)) + 1) == 0) {
|
||||
+ if (randomsource.nextInt((int) ((100.0F / modifier) * (25.0F / f)) + 1) == 0) {
|
||||
+ // Spigot end
|
||||
CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition, this.getStateForAge(i + 1), 2); // CraftBukkit
|
||||
}
|
||||
}
|
||||
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 d1024594b..1aa49072a 100644
|
||||
index c4bf2c852..97fce1f4c 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockGrowingTop.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockGrowingTop.java
|
||||
@@ -40,7 +40,7 @@ public abstract class BlockGrowingTop extends BlockGrowingAbstract implements IB
|
||||
|
||||
@Override
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) {
|
||||
- if ((Integer) iblockdata.getValue(BlockGrowingTop.AGE) < 25 && random.nextDouble() < this.growPerTickProbability) {
|
||||
+ if ((Integer) iblockdata.getValue(BlockGrowingTop.AGE) < 25 && random.nextDouble() < (100.0D / worldserver.spigotConfig.kelpModifier) * this.growPerTickProbability) { // Spigot
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {
|
||||
- if ((Integer) iblockdata.getValue(BlockGrowingTop.AGE) < 25 && randomsource.nextDouble() < this.growPerTickProbability) {
|
||||
+ if ((Integer) iblockdata.getValue(BlockGrowingTop.AGE) < 25 && randomsource.nextDouble() < (100.0D / worldserver.spigotConfig.kelpModifier) * this.growPerTickProbability) { // Spigot
|
||||
BlockPosition blockposition1 = blockposition.relative(this.growthDirection);
|
||||
|
||||
if (this.canGrowInto(worldserver.getBlockState(blockposition1))) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockMushroom.java b/src/main/java/net/minecraft/world/level/block/BlockMushroom.java
|
||||
index 17a5fed09..2999e3981 100644
|
||||
index b8fd3b4da..c7650774f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockMushroom.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockMushroom.java
|
||||
@@ -38,7 +38,7 @@ public class BlockMushroom extends BlockPlant implements IBlockFragilePlantEleme
|
||||
|
||||
@Override
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) {
|
||||
- if (random.nextInt(25) == 0) {
|
||||
+ if (random.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.mushroomModifier) * 25)) == 0) { // Spigot
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {
|
||||
- if (randomsource.nextInt(25) == 0) {
|
||||
+ if (randomsource.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.mushroomModifier) * 25)) == 0) { // Spigot
|
||||
int i = 5;
|
||||
boolean flag = true;
|
||||
Iterator iterator = BlockPosition.betweenClosed(blockposition.offset(-4, -1, -4), blockposition.offset(4, 1, 4)).iterator();
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockNetherWart.java b/src/main/java/net/minecraft/world/level/block/BlockNetherWart.java
|
||||
index 80641b329..6d4ee444a 100644
|
||||
index 4c98e09c2..888ad41b3 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockNetherWart.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockNetherWart.java
|
||||
@@ -44,7 +44,7 @@ public class BlockNetherWart extends BlockPlant {
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) {
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {
|
||||
int i = (Integer) iblockdata.getValue(BlockNetherWart.AGE);
|
||||
|
||||
- if (i < 3 && random.nextInt(10) == 0) {
|
||||
+ if (i < 3 && random.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.wartModifier) * 10)) == 0) { // Spigot
|
||||
- if (i < 3 && randomsource.nextInt(10) == 0) {
|
||||
+ if (i < 3 && randomsource.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.wartModifier) * 10)) == 0) { // Spigot
|
||||
iblockdata = (IBlockData) iblockdata.setValue(BlockNetherWart.AGE, i + 1);
|
||||
org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition, iblockdata, 2); // CraftBukkit
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockReed.java b/src/main/java/net/minecraft/world/level/block/BlockReed.java
|
||||
index 9d6edb867..d4359a8c6 100644
|
||||
index 442200504..adb54833e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockReed.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockReed.java
|
||||
@@ -55,7 +55,7 @@ public class BlockReed extends Block {
|
||||
|
@ -146,55 +146,55 @@ index 9d6edb867..d4359a8c6 100644
|
|||
worldserver.setBlock(blockposition, (IBlockData) iblockdata.setValue(BlockReed.AGE, 0), 4);
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockSapling.java b/src/main/java/net/minecraft/world/level/block/BlockSapling.java
|
||||
index a17f5034b..582224dd9 100644
|
||||
index d0c89fb8d..30dc0d3ab 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockSapling.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockSapling.java
|
||||
@@ -42,7 +42,7 @@ public class BlockSapling extends BlockPlant implements IBlockFragilePlantElemen
|
||||
|
||||
@Override
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) {
|
||||
- if (worldserver.getMaxLocalRawBrightness(blockposition.above()) >= 9 && random.nextInt(7) == 0) {
|
||||
+ if (worldserver.getMaxLocalRawBrightness(blockposition.above()) >= 9 && random.nextInt(Math.max(2, (int) (((100.0F / worldserver.spigotConfig.saplingModifier) * 7) + 0.5F))) == 0) { // Spigot
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {
|
||||
- if (worldserver.getMaxLocalRawBrightness(blockposition.above()) >= 9 && randomsource.nextInt(7) == 0) {
|
||||
+ if (worldserver.getMaxLocalRawBrightness(blockposition.above()) >= 9 && randomsource.nextInt(Math.max(2, (int) (((100.0F / worldserver.spigotConfig.saplingModifier) * 7) + 0.5F))) == 0) { // Spigot
|
||||
// CraftBukkit start
|
||||
worldserver.captureTreeGeneration = true;
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockStem.java b/src/main/java/net/minecraft/world/level/block/BlockStem.java
|
||||
index ccf0817c6..7814d5749 100644
|
||||
index e8a25e164..734384910 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockStem.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockStem.java
|
||||
@@ -53,7 +53,7 @@ public class BlockStem extends BlockPlant implements IBlockFragilePlantElement {
|
||||
if (worldserver.getRawBrightness(blockposition, 0) >= 9) {
|
||||
float f = BlockCrops.getGrowthSpeed(this, worldserver, blockposition);
|
||||
|
||||
- if (random.nextInt((int) (25.0F / f) + 1) == 0) {
|
||||
+ if (random.nextInt((int) ((100.0F / (this == Blocks.PUMPKIN_STEM ? worldserver.spigotConfig.pumpkinModifier : worldserver.spigotConfig.melonModifier)) * (25.0F / f)) + 1) == 0) { // Spigot
|
||||
- if (randomsource.nextInt((int) (25.0F / f) + 1) == 0) {
|
||||
+ if (randomsource.nextInt((int) ((100.0F / (this == Blocks.PUMPKIN_STEM ? worldserver.spigotConfig.pumpkinModifier : worldserver.spigotConfig.melonModifier)) * (25.0F / f)) + 1) == 0) { // Spigot
|
||||
int i = (Integer) iblockdata.getValue(BlockStem.AGE);
|
||||
|
||||
if (i < 7) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockSweetBerryBush.java b/src/main/java/net/minecraft/world/level/block/BlockSweetBerryBush.java
|
||||
index 94678f260..b7874b54b 100644
|
||||
index 480110fb0..7bc09798b 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockSweetBerryBush.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockSweetBerryBush.java
|
||||
@@ -66,7 +66,7 @@ public class BlockSweetBerryBush extends BlockPlant implements IBlockFragilePlan
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) {
|
||||
@@ -67,7 +67,7 @@ public class BlockSweetBerryBush extends BlockPlant implements IBlockFragilePlan
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {
|
||||
int i = (Integer) iblockdata.getValue(BlockSweetBerryBush.AGE);
|
||||
|
||||
- if (i < 3 && random.nextInt(5) == 0 && worldserver.getRawBrightness(blockposition.above(), 0) >= 9) {
|
||||
+ if (i < 3 && random.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.sweetBerryModifier) * 5)) == 0 && worldserver.getRawBrightness(blockposition.above(), 0) >= 9) { // Spigot
|
||||
CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition, (IBlockData) iblockdata.setValue(BlockSweetBerryBush.AGE, i + 1), 2); // CraftBukkit
|
||||
}
|
||||
- if (i < 3 && randomsource.nextInt(5) == 0 && worldserver.getRawBrightness(blockposition.above(), 0) >= 9) {
|
||||
+ if (i < 3 && randomsource.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.sweetBerryModifier) * 5)) == 0 && worldserver.getRawBrightness(blockposition.above(), 0) >= 9) { // Spigot
|
||||
IBlockData iblockdata1 = (IBlockData) iblockdata.setValue(BlockSweetBerryBush.AGE, i + 1);
|
||||
|
||||
if (!CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition, iblockdata1, 2)) return; // CraftBukkit
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BlockVine.java b/src/main/java/net/minecraft/world/level/block/BlockVine.java
|
||||
index 0483b0cdf..13c60e5f6 100644
|
||||
index 488e8dc32..2b2557ae7 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockVine.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockVine.java
|
||||
@@ -179,7 +179,7 @@ public class BlockVine extends Block {
|
||||
@@ -177,7 +177,7 @@ public class BlockVine extends Block {
|
||||
|
||||
@Override
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) {
|
||||
- if (random.nextInt(4) == 0) {
|
||||
+ if (random.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.vineModifier) * 4)) == 0) { // Spigot
|
||||
EnumDirection enumdirection = EnumDirection.getRandom(random);
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {
|
||||
- if (randomsource.nextInt(4) == 0) {
|
||||
+ if (randomsource.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.vineModifier) * 4)) == 0) { // Spigot
|
||||
EnumDirection enumdirection = EnumDirection.getRandom(randomsource);
|
||||
BlockPosition blockposition1 = blockposition.above();
|
||||
BlockPosition blockposition2;
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 67c8a5b5f6e7d0f01b54a8639e7208a19858fa31 Mon Sep 17 00:00:00 2001
|
||||
From 40381c624bcce2b49f2ad9d321027660391c6907 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 23 Mar 2013 09:46:33 +1100
|
||||
Subject: [PATCH] Merge tweaks and configuration
|
||||
|
@ -6,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 26ccf8d33..2e93c1e67 100644
|
||||
index 6b74c30f0..f4b1245fc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
|
||||
@@ -199,7 +199,10 @@ public class EntityItem extends Entity {
|
||||
@@ -209,7 +209,10 @@ public class EntityItem extends Entity {
|
||||
|
||||
private void mergeWithNeighbours() {
|
||||
if (this.isMergable()) {
|
||||
|
@ -21,7 +21,7 @@ index 26ccf8d33..2e93c1e67 100644
|
|||
return entityitem != this && entityitem.isMergable();
|
||||
});
|
||||
Iterator iterator = list.iterator();
|
||||
@@ -229,7 +232,7 @@ public class EntityItem extends Entity {
|
||||
@@ -239,7 +242,7 @@ public class EntityItem extends Entity {
|
||||
ItemStack itemstack1 = entityitem.getItem();
|
||||
|
||||
if (Objects.equals(this.getOwner(), entityitem.getOwner()) && areMergable(itemstack, itemstack1)) {
|
||||
|
@ -31,7 +31,7 @@ index 26ccf8d33..2e93c1e67 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 9b4c6c130..6ff3a2440 100644
|
||||
index 8dba44903..c19316b58 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -626,6 +626,23 @@ public class CraftEventFactory {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2cd493c507d0b7277a917c2adc7bb838b4ec9983 Mon Sep 17 00:00:00 2001
|
||||
From 46b5dd5c10882e0f2aeca49a33da0a72b7f2fd7f Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Tue, 25 Mar 2014 16:10:01 +1100
|
||||
Subject: [PATCH] Async Operation Catching
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Async Operation Catching
|
|||
Catch and throw an exception when a potentially unsafe operation occurs on a thread other than the main server thread.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||
index a1f7dd777..1681b9771 100644
|
||||
index 19af5adc1..746942704 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||
@@ -1231,6 +1231,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
@@ -1270,6 +1270,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
}
|
||||
|
||||
protected void addEntity(Entity entity) {
|
||||
|
@ -17,7 +17,7 @@ index a1f7dd777..1681b9771 100644
|
|||
if (!(entity instanceof EntityComplexPart)) {
|
||||
EntityTypes<?> entitytypes = entity.getType();
|
||||
int i = entitytypes.clientTrackingRange() * 16;
|
||||
@@ -1266,6 +1267,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
@@ -1305,6 +1306,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
}
|
||||
|
||||
protected void removeEntity(Entity entity) {
|
||||
|
@ -25,7 +25,7 @@ index a1f7dd777..1681b9771 100644
|
|||
if (entity instanceof EntityPlayer) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) entity;
|
||||
|
||||
@@ -1485,6 +1487,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
@@ -1524,6 +1526,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
}
|
||||
|
||||
public void removePlayer(EntityPlayer entityplayer) {
|
||||
|
@ -33,19 +33,19 @@ index a1f7dd777..1681b9771 100644
|
|||
if (this.seenBy.remove(entityplayer.connection)) {
|
||||
this.serverEntity.removePairing(entityplayer);
|
||||
}
|
||||
@@ -1492,6 +1495,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
@@ -1531,6 +1534,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
}
|
||||
|
||||
public void updatePlayer(EntityPlayer entityplayer) {
|
||||
+ org.spigotmc.AsyncCatcher.catchOp("player tracker update"); // Spigot
|
||||
if (entityplayer != this.entity) {
|
||||
Vec3D vec3d = entityplayer.position().subtract(this.entity.position()); // MC-155077, SPIGOT-5113
|
||||
Vec3D vec3d = entityplayer.position().subtract(this.entity.position());
|
||||
double d0 = (double) Math.min(this.getEffectiveRange(), (PlayerChunkMap.this.viewDistance - 1) * 16);
|
||||
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
index f300ea003..ff29a6961 100644
|
||||
index d63981fb2..c32db5324 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
@@ -971,6 +971,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -990,6 +990,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
// CraftBukkit start
|
||||
private boolean addEntity(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
|
||||
|
@ -53,7 +53,7 @@ index f300ea003..ff29a6961 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;
|
||||
@@ -1783,6 +1784,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1861,6 +1862,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
@Override
|
||||
public LevelEntityGetter<Entity> getEntities() {
|
||||
|
@ -61,7 +61,7 @@ index f300ea003..ff29a6961 100644
|
|||
return this.entityManager.getEntityGetter();
|
||||
}
|
||||
|
||||
@@ -1856,6 +1858,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1934,6 +1936,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
public void onTrackingStart(Entity entity) {
|
||||
|
@ -69,7 +69,7 @@ index f300ea003..ff29a6961 100644
|
|||
WorldServer.this.getChunkSource().addEntity(entity);
|
||||
if (entity instanceof EntityPlayer) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) entity;
|
||||
@@ -1892,6 +1895,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1971,6 +1974,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
public void onTrackingEnd(Entity entity) {
|
||||
|
@ -78,10 +78,10 @@ index f300ea003..ff29a6961 100644
|
|||
if (entity instanceof EntityPlayer) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) entity;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
index 0b1283018..f656694af 100644
|
||||
index 485b4769e..58d5f2c6f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
@@ -1068,6 +1068,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -1091,6 +1091,7 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
|
||||
public boolean addEffect(MobEffect mobeffect, @Nullable Entity entity, EntityPotionEffectEvent.Cause cause) {
|
||||
|
@ -90,10 +90,10 @@ index 0b1283018..f656694af 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 5339ad41f..60759aa77 100644
|
||||
index 33aa0fd67..1154da987 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/crafting/CraftingManager.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/crafting/CraftingManager.java
|
||||
@@ -84,6 +84,7 @@ public class CraftingManager extends ResourceDataJson {
|
||||
@@ -86,6 +86,7 @@ public class CraftingManager extends ResourceDataJson {
|
||||
|
||||
// CraftBukkit start
|
||||
public void addRecipe(IRecipe<?> irecipe) {
|
||||
|
@ -102,10 +102,10 @@ index 5339ad41f..60759aa77 100644
|
|||
|
||||
if (byName.containsKey(irecipe.getId()) || map.containsKey(irecipe.getId())) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBase.java b/src/main/java/net/minecraft/world/level/block/state/BlockBase.java
|
||||
index 44402dc13..7e1529ec9 100644
|
||||
index 6f1f30a0c..6de70bc09 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBase.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBase.java
|
||||
@@ -136,11 +136,14 @@ public abstract class BlockBase {
|
||||
@@ -137,11 +137,14 @@ public abstract class BlockBase {
|
||||
|
||||
/** @deprecated */
|
||||
@Deprecated
|
||||
|
@ -122,10 +122,10 @@ index 44402dc13..7e1529ec9 100644
|
|||
world.removeBlockEntity(blockposition);
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 0b7519852..00cd8f712 100644
|
||||
index 00b68ed0b..e32539c49 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -801,6 +801,7 @@ public final class CraftServer implements Server {
|
||||
@@ -796,6 +796,7 @@ public final class CraftServer implements Server {
|
||||
public boolean dispatchCommand(CommandSender sender, String commandLine) {
|
||||
Validate.notNull(sender, "Sender cannot be null");
|
||||
Validate.notNull(commandLine, "CommandLine cannot be null");
|
||||
|
@ -134,10 +134,10 @@ index 0b7519852..00cd8f712 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 469213782..7809b3a42 100644
|
||||
index c4d230b15..27550804f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -256,6 +256,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -259,6 +259,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public boolean unloadChunkRequest(int x, int z) {
|
||||
|
@ -145,7 +145,7 @@ index 469213782..7809b3a42 100644
|
|||
if (isChunkLoaded(x, z)) {
|
||||
world.getChunkSource().removeRegionTicket(TicketType.PLUGIN, new ChunkCoordIntPair(x, z), 1, Unit.INSTANCE);
|
||||
}
|
||||
@@ -264,6 +265,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -267,6 +268,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
}
|
||||
|
||||
private boolean unloadChunk0(int x, int z, boolean save) {
|
||||
|
@ -153,7 +153,7 @@ index 469213782..7809b3a42 100644
|
|||
if (!isChunkLoaded(x, z)) {
|
||||
return true;
|
||||
}
|
||||
@@ -278,6 +280,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -281,6 +283,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public boolean regenerateChunk(int x, int z) {
|
||||
|
@ -161,7 +161,7 @@ index 469213782..7809b3a42 100644
|
|||
throw new UnsupportedOperationException("Not supported in this Minecraft version! Unless you can fix it, this is not a bug :)");
|
||||
/*
|
||||
if (!unloadChunk0(x, z, false)) {
|
||||
@@ -330,6 +333,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -333,6 +336,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public boolean loadChunk(int x, int z, boolean generate) {
|
||||
|
@ -169,7 +169,7 @@ index 469213782..7809b3a42 100644
|
|||
IChunkAccess chunk = world.getChunkSource().getChunk(x, z, generate ? ChunkStatus.FULL : ChunkStatus.EMPTY, true);
|
||||
|
||||
// If generate = false, but the chunk already exists, we will get this back.
|
||||
@@ -824,6 +828,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -832,6 +836,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public Collection<Entity> getNearbyEntities(BoundingBox boundingBox, Predicate<Entity> filter) {
|
||||
|
@ -177,7 +177,7 @@ index 469213782..7809b3a42 100644
|
|||
Validate.notNull(boundingBox, "Bounding box is null!");
|
||||
|
||||
AxisAlignedBB bb = new AxisAlignedBB(boundingBox.getMinX(), boundingBox.getMinY(), boundingBox.getMinZ(), boundingBox.getMaxX(), boundingBox.getMaxY(), boundingBox.getMaxZ());
|
||||
@@ -978,6 +983,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -986,6 +991,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public void save() {
|
||||
|
@ -186,10 +186,10 @@ index 469213782..7809b3a42 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 04c85cf43..b679deee7 100644
|
||||
index 78f56eef7..2b95bfe26 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -535,6 +535,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -547,6 +547,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");
|
||||
|
@ -198,10 +198,10 @@ index 04c85cf43..b679deee7 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 4a2bcdf60..00028074c 100644
|
||||
index 38929311d..8a6f6e11a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -361,6 +361,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -359,6 +359,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public void kickPlayer(String message) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 7fc1156656c38c8b9ceaf9001a4f428d919d17ed Mon Sep 17 00:00:00 2001
|
||||
From 88816e4189357dbf3ea6c3069582cadb0cba9f32 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 23 Mar 2013 09:52:41 +1100
|
||||
Subject: [PATCH] View Distance
|
||||
|
@ -6,13 +6,13 @@ 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 ff29a6961..aafc24c4e 100644
|
||||
index c32db5324..85f2aa1b3 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
@@ -252,8 +252,8 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -268,8 +268,8 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
this.entityManager = new PersistentEntitySectionManager<>(Entity.class, new WorldServer.a(), entitypersistentstorage);
|
||||
DefinedStructureManager definedstructuremanager = minecraftserver.getStructureManager();
|
||||
StructureTemplateManager structuretemplatemanager = minecraftserver.getStructureManager();
|
||||
- int j = minecraftserver.getPlayerList().getViewDistance();
|
||||
- int k = minecraftserver.getPlayerList().getSimulationDistance();
|
||||
+ int j = this.spigotConfig.viewDistance; // Spigot
|
||||
|
@ -20,47 +20,34 @@ index ff29a6961..aafc24c4e 100644
|
|||
PersistentEntitySectionManager persistententitysectionmanager = this.entityManager;
|
||||
|
||||
Objects.requireNonNull(this.entityManager);
|
||||
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
index b4dfc295d..780a7f2ed 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
@@ -1497,7 +1497,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
BlockPosition blockposition = movingobjectpositionblock.getBlockPos();
|
||||
Vec3D vec3d1 = vec3d.subtract(Vec3D.atCenterOf(blockposition));
|
||||
|
||||
- if (this.player.level.getServer() != null && this.player.chunkPosition().getChessboardDistance(new ChunkCoordIntPair(blockposition)) < this.player.level.getServer().getPlayerList().getViewDistance()) {
|
||||
+ if (this.player.level.getServer() != null && this.player.chunkPosition().getChessboardDistance(new ChunkCoordIntPair(blockposition)) < this.player.level.spigotConfig.viewDistance) { // Spigot
|
||||
double d0 = 1.0000001D;
|
||||
|
||||
if (Math.abs(vec3d1.x()) < 1.0000001D && Math.abs(vec3d1.y()) < 1.0000001D && Math.abs(vec3d1.z()) < 1.0000001D) {
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 1088fa0ed..b5dc8181b 100644
|
||||
index 1f759e818..70f53a49e 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -222,7 +222,8 @@ public abstract class PlayerList {
|
||||
@@ -226,7 +226,8 @@ public abstract class PlayerList {
|
||||
boolean flag = gamerules.getBoolean(GameRules.RULE_DO_IMMEDIATE_RESPAWN);
|
||||
boolean flag1 = gamerules.getBoolean(GameRules.RULE_REDUCEDDEBUGINFO);
|
||||
|
||||
- playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), entityplayer.gameMode.getGameModeForPlayer(), entityplayer.gameMode.getPreviousGameModeForPlayer(), this.server.levelKeys(), this.registryHolder, worldserver1.dimensionTypeRegistration(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), this.getMaxPlayers(), this.viewDistance, this.simulationDistance, flag1, !flag, worldserver1.isDebug(), worldserver1.isFlat()));
|
||||
- playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), entityplayer.gameMode.getGameModeForPlayer(), entityplayer.gameMode.getPreviousGameModeForPlayer(), this.server.levelKeys(), this.registryHolder, worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), this.getMaxPlayers(), this.viewDistance, this.simulationDistance, flag1, !flag, worldserver1.isDebug(), worldserver1.isFlat(), entityplayer.getLastDeathLocation()));
|
||||
+ // Spigot - view distance
|
||||
+ playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), entityplayer.gameMode.getGameModeForPlayer(), entityplayer.gameMode.getPreviousGameModeForPlayer(), this.server.levelKeys(), this.registryHolder, worldserver1.dimensionTypeRegistration(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), this.getMaxPlayers(), worldserver1.spigotConfig.viewDistance, worldserver1.spigotConfig.simulationDistance, flag1, !flag, worldserver1.isDebug(), worldserver1.isFlat()));
|
||||
+ playerconnection.send(new PacketPlayOutLogin(entityplayer.getId(), worlddata.isHardcore(), entityplayer.gameMode.getGameModeForPlayer(), entityplayer.gameMode.getPreviousGameModeForPlayer(), this.server.levelKeys(), this.registryHolder, worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), this.getMaxPlayers(), worldserver1.spigotConfig.viewDistance, worldserver1.spigotConfig.simulationDistance, flag1, !flag, worldserver1.isDebug(), worldserver1.isFlat(), entityplayer.getLastDeathLocation()));
|
||||
entityplayer.getBukkitEntity().sendSupportedChannels(); // CraftBukkit
|
||||
playerconnection.send(new PacketPlayOutCustomPayload(PacketPlayOutCustomPayload.BRAND, (new PacketDataSerializer(Unpooled.buffer())).writeUtf(this.getServer().getServerModName())));
|
||||
playerconnection.send(new PacketPlayOutServerDifficulty(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
|
||||
@@ -743,6 +744,8 @@ public abstract class PlayerList {
|
||||
@@ -747,6 +748,8 @@ public abstract class PlayerList {
|
||||
// CraftBukkit start
|
||||
WorldData worlddata = worldserver1.getLevelData();
|
||||
entityplayer1.connection.send(new PacketPlayOutRespawn(worldserver1.dimensionTypeRegistration(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), entityplayer1.gameMode.getGameModeForPlayer(), entityplayer1.gameMode.getPreviousGameModeForPlayer(), worldserver1.isDebug(), worldserver1.isFlat(), flag));
|
||||
entityplayer1.connection.send(new PacketPlayOutRespawn(worldserver1.dimensionTypeId(), worldserver1.dimension(), BiomeManager.obfuscateSeed(worldserver1.getSeed()), entityplayer1.gameMode.getGameModeForPlayer(), entityplayer1.gameMode.getPreviousGameModeForPlayer(), worldserver1.isDebug(), worldserver1.isFlat(), flag, entityplayer1.getLastDeathLocation()));
|
||||
+ entityplayer1.connection.send(new PacketPlayOutViewDistance(worldserver1.spigotConfig.viewDistance)); // Spigot
|
||||
+ entityplayer1.connection.send(new ClientboundSetSimulationDistancePacket(worldserver1.spigotConfig.simulationDistance)); // Spigot
|
||||
entityplayer1.spawnIn(worldserver1);
|
||||
entityplayer1.unsetRemoved();
|
||||
entityplayer1.connection.teleport(new Location(worldserver1.getWorld(), entityplayer1.getX(), entityplayer1.getY(), entityplayer1.getZ(), entityplayer1.getYRot(), entityplayer1.getXRot()));
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 27a072391..72e29db0a 100644
|
||||
index 27550804f..0d5122750 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -1819,6 +1819,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -1827,6 +1827,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From d9680678aa101bb2855fa18ff313e93aa8dca6dd Mon Sep 17 00:00:00 2001
|
||||
From a1663e96e2ff713a21e3e526d64297ee3075ffd7 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 b25f46f14..e0282b0ab 100644
|
||||
index d6a0a52eb..45d3e3db3 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -183,6 +183,8 @@ import org.bukkit.craftbukkit.generator.CustomWorldChunkManager;
|
||||
@@ -180,6 +180,8 @@ import org.bukkit.craftbukkit.generator.CustomWorldChunkManager;
|
||||
import org.bukkit.event.server.ServerLoadEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
|
@ -18,7 +18,7 @@ index b25f46f14..e0282b0ab 100644
|
|||
public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTask> implements ICommandListener, AutoCloseable {
|
||||
|
||||
public static final Logger LOGGER = LogUtils.getLogger();
|
||||
@@ -1189,6 +1191,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1149,6 +1151,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
public void onServerExit() {}
|
||||
|
||||
public void tickServer(BooleanSupplier booleansupplier) {
|
||||
|
@ -26,7 +26,7 @@ index b25f46f14..e0282b0ab 100644
|
|||
long i = SystemUtils.getNanos();
|
||||
|
||||
++this.tickCount;
|
||||
@@ -1216,11 +1219,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1176,11 +1179,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
}
|
||||
|
||||
if (autosavePeriod > 0 && this.tickCount % autosavePeriod == 0) { // CraftBukkit
|
||||
|
@ -40,7 +40,7 @@ index b25f46f14..e0282b0ab 100644
|
|||
}
|
||||
|
||||
this.profiler.push("tallying");
|
||||
@@ -1231,21 +1236,30 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1191,21 +1196,30 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
this.frameTimer.logFrameDuration(i1 - i);
|
||||
this.profiler.pop();
|
||||
|
@ -71,7 +71,7 @@ index b25f46f14..e0282b0ab 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) {
|
||||
@@ -1253,6 +1267,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1213,6 +1227,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
|
||||
}
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ index b25f46f14..e0282b0ab 100644
|
|||
|
||||
while (iterator.hasNext()) {
|
||||
WorldServer worldserver = (WorldServer) iterator.next();
|
||||
@@ -1271,7 +1286,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1231,7 +1246,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.profiler.push("tick");
|
||||
|
||||
try {
|
||||
|
@ -89,7 +89,7 @@ index b25f46f14..e0282b0ab 100644
|
|||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception ticking world");
|
||||
|
||||
@@ -1284,18 +1301,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1244,18 +1261,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
}
|
||||
|
||||
this.profiler.popPush("connection");
|
||||
|
@ -115,10 +115,10 @@ index b25f46f14..e0282b0ab 100644
|
|||
this.profiler.pop();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index afb72641d..b7f8e4d2a 100644
|
||||
index 47782492f..19f69098b 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -67,6 +67,7 @@ import org.apache.logging.log4j.Level;
|
||||
@@ -64,6 +64,7 @@ import org.apache.logging.log4j.Level;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.io.IoBuilder;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
@ -126,7 +126,7 @@ index afb72641d..b7f8e4d2a 100644
|
|||
import org.bukkit.event.server.ServerCommandEvent;
|
||||
import org.bukkit.event.server.RemoteServerCommandEvent;
|
||||
// CraftBukkit end
|
||||
@@ -432,6 +433,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -397,6 +398,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
}
|
||||
|
||||
public void handleConsoleInputs() {
|
||||
|
@ -134,7 +134,7 @@ index afb72641d..b7f8e4d2a 100644
|
|||
while (!this.consoleInput.isEmpty()) {
|
||||
ServerCommand servercommand = (ServerCommand) this.consoleInput.remove(0);
|
||||
|
||||
@@ -446,6 +448,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -411,6 +413,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
|
@ -143,10 +143,10 @@ index afb72641d..b7f8e4d2a 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 355103da3..a9a894d3b 100644
|
||||
index 86791fccb..8fd5501a7 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
|
||||
@@ -144,11 +144,13 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -145,11 +145,13 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
}
|
||||
|
||||
gameprofilerfiller.incrementCounter("getChunkCacheMiss");
|
||||
|
@ -160,7 +160,7 @@ index 355103da3..a9a894d3b 100644
|
|||
ichunkaccess = (IChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> {
|
||||
return ichunkaccess1;
|
||||
}, (playerchunk_failure) -> {
|
||||
@@ -373,15 +375,19 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -374,15 +376,19 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@Override
|
||||
public void tick(BooleanSupplier booleansupplier, boolean flag) {
|
||||
this.level.getProfiler().push("purge");
|
||||
|
@ -180,7 +180,7 @@ index 355103da3..a9a894d3b 100644
|
|||
this.level.getProfiler().pop();
|
||||
this.clearCache();
|
||||
}
|
||||
@@ -439,7 +445,9 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -440,7 +446,9 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
}
|
||||
|
||||
if (this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) {
|
||||
|
@ -190,7 +190,7 @@ index 355103da3..a9a894d3b 100644
|
|||
}
|
||||
}
|
||||
}
|
||||
@@ -455,7 +463,9 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -456,7 +464,9 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
});
|
||||
gameprofilerfiller.pop();
|
||||
gameprofilerfiller.pop();
|
||||
|
@ -201,18 +201,18 @@ index 355103da3..a9a894d3b 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
index aafc24c4e..749b940d6 100644
|
||||
index 85f2aa1b3..a72d042cf 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
@@ -156,6 +156,7 @@ import net.minecraft.world.level.dimension.WorldDimension;
|
||||
import net.minecraft.world.level.storage.WorldDataServer;
|
||||
@@ -160,6 +160,7 @@ import net.minecraft.world.level.storage.WorldDataServer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.WeatherType;
|
||||
+import org.bukkit.craftbukkit.SpigotTimings; // Spigot
|
||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
import org.bukkit.craftbukkit.util.WorldUUID;
|
||||
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||
@@ -338,6 +339,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
import org.bukkit.craftbukkit.generator.CustomWorldChunkManager;
|
||||
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
@@ -355,6 +356,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.updateSkyBrightness();
|
||||
this.tickTime();
|
||||
gameprofilerfiller.popPush("tickPending");
|
||||
|
@ -220,7 +220,7 @@ index aafc24c4e..749b940d6 100644
|
|||
if (!this.isDebug()) {
|
||||
j = this.getGameTime();
|
||||
gameprofilerfiller.push("blockTicks");
|
||||
@@ -346,13 +348,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -363,13 +365,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.fluidTicks.tick(j, 65536, this::tickFluid);
|
||||
gameprofilerfiller.pop();
|
||||
}
|
||||
|
@ -237,7 +237,7 @@ index aafc24c4e..749b940d6 100644
|
|||
this.handlingTick = false;
|
||||
gameprofilerfiller.pop();
|
||||
boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
|
||||
@@ -363,12 +368,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -380,12 +385,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
if (flag || this.emptyTime++ < 300) {
|
||||
gameprofilerfiller.push("entities");
|
||||
|
@ -252,7 +252,7 @@ index aafc24c4e..749b940d6 100644
|
|||
this.entityTickList.forEach((entity) -> {
|
||||
if (!entity.isRemoved()) {
|
||||
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
|
||||
@@ -395,6 +402,8 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -412,6 +419,8 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -261,7 +261,7 @@ index aafc24c4e..749b940d6 100644
|
|||
gameprofilerfiller.pop();
|
||||
this.tickBlockEntities();
|
||||
}
|
||||
@@ -774,6 +783,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -793,6 +802,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
public void tickNonPassenger(Entity entity) {
|
||||
|
@ -269,7 +269,7 @@ index aafc24c4e..749b940d6 100644
|
|||
entity.setOldPosAndRot();
|
||||
GameProfilerFiller gameprofilerfiller = this.getProfiler();
|
||||
|
||||
@@ -792,6 +802,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -811,6 +821,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
this.tickPassenger(entity, entity1);
|
||||
}
|
||||
|
@ -278,34 +278,34 @@ index aafc24c4e..749b940d6 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
index 780a7f2ed..d6538cafc 100644
|
||||
index 1fcab1ea7..cdc86f86a 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
@@ -288,6 +288,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -310,6 +310,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
// CraftBukkit end
|
||||
|
||||
public void tick() {
|
||||
+ org.bukkit.craftbukkit.SpigotTimings.playerConnectionTimer.startTiming(); // Spigot
|
||||
this.resetPosition();
|
||||
this.player.xo = this.player.getX();
|
||||
this.player.yo = this.player.getY();
|
||||
@@ -363,6 +364,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
if (this.ackBlockChangesUpTo > -1) {
|
||||
this.send(new ClientboundBlockChangedAckPacket(this.ackBlockChangesUpTo));
|
||||
this.ackBlockChangesUpTo = -1;
|
||||
@@ -390,6 +391,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
|
||||
this.disconnect(new ChatMessage("multiplayer.disconnect.idling"));
|
||||
this.disconnect(IChatBaseComponent.translatable("multiplayer.disconnect.idling"));
|
||||
}
|
||||
+ org.bukkit.craftbukkit.SpigotTimings.playerConnectionTimer.stopTiming(); // Spigot
|
||||
|
||||
this.chatPreviewThrottler.tick();
|
||||
}
|
||||
@@ -1977,6 +1979,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
}
|
||||
|
||||
@@ -1891,6 +1893,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
// CraftBukkit end
|
||||
|
||||
private void handleCommand(String s) {
|
||||
+ org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.startTiming(); // Spigot
|
||||
// CraftBukkit start - whole method
|
||||
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
|
||||
|
||||
@@ -1900,6 +1903,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
CraftPlayer player = this.getCraftPlayer();
|
||||
@@ -1985,6 +1988,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
|
@ -313,20 +313,20 @@ index 780a7f2ed..d6538cafc 100644
|
|||
return;
|
||||
}
|
||||
|
||||
@@ -1911,6 +1915,8 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -1996,6 +2000,8 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
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;
|
||||
+ } finally {
|
||||
+ org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.stopTiming(); // Spigot
|
||||
}
|
||||
// this.server.getCommands().performCommand(this.player.createCommandSourceStack(), s);
|
||||
// CraftBukkit end
|
||||
}
|
||||
// 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 48f8c466b..a85efeb3d 100644
|
||||
index 7e316064b..94034b535 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -130,6 +130,7 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent;
|
||||
@@ -133,6 +133,7 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent;
|
||||
import org.bukkit.entity.Hanging;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Vehicle;
|
||||
|
@ -334,7 +334,7 @@ index 48f8c466b..a85efeb3d 100644
|
|||
import org.bukkit.event.entity.EntityCombustByEntityEvent;
|
||||
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
|
||||
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
|
||||
@@ -296,6 +297,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
@@ -299,6 +300,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
public boolean lastDamageCancelled; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
|
||||
public boolean persistentInvisibility = false;
|
||||
public BlockPosition lastLavaContact;
|
||||
|
@ -342,7 +342,7 @@ index 48f8c466b..a85efeb3d 100644
|
|||
|
||||
public float getBukkitYaw() {
|
||||
return this.yRot;
|
||||
@@ -725,6 +727,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
@@ -729,6 +731,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
}
|
||||
|
||||
public void move(EnumMoveType enummovetype, Vec3D vec3d) {
|
||||
|
@ -350,7 +350,7 @@ index 48f8c466b..a85efeb3d 100644
|
|||
if (this.noPhysics) {
|
||||
this.setPos(this.getX() + vec3d.x, this.getY() + vec3d.y, this.getZ() + vec3d.z);
|
||||
} else {
|
||||
@@ -886,6 +889,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
@@ -892,6 +895,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
this.level.getProfiler().pop();
|
||||
}
|
||||
}
|
||||
|
@ -359,10 +359,10 @@ index 48f8c466b..a85efeb3d 100644
|
|||
|
||||
protected boolean isHorizontalCollisionMinor(Vec3D vec3d) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
index f656694af..a37a2255c 100644
|
||||
index 58d5f2c6f..8453acd63 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
@@ -141,6 +141,8 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
@@ -142,6 +142,8 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
|
@ -371,7 +371,7 @@ index f656694af..a37a2255c 100644
|
|||
public abstract class EntityLiving extends Entity {
|
||||
|
||||
private static final Logger LOGGER = LogUtils.getLogger();
|
||||
@@ -2754,6 +2756,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2787,6 +2789,7 @@ public abstract class EntityLiving extends Entity {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
|
@ -379,7 +379,7 @@ index f656694af..a37a2255c 100644
|
|||
super.tick();
|
||||
this.updatingUsingItem();
|
||||
this.updateSwimAmount();
|
||||
@@ -2794,7 +2797,9 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2827,7 +2830,9 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -389,7 +389,7 @@ index f656694af..a37a2255c 100644
|
|||
double d0 = this.getX() - this.xo;
|
||||
double d1 = this.getZ() - this.zo;
|
||||
float f = (float) (d0 * d0 + d1 * d1);
|
||||
@@ -2875,6 +2880,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2908,6 +2913,7 @@ public abstract class EntityLiving extends Entity {
|
||||
this.setXRot(0.0F);
|
||||
}
|
||||
|
||||
|
@ -397,7 +397,7 @@ index f656694af..a37a2255c 100644
|
|||
}
|
||||
|
||||
public void detectEquipmentUpdates() {
|
||||
@@ -3056,6 +3062,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -3089,6 +3095,7 @@ public abstract class EntityLiving extends Entity {
|
||||
|
||||
this.setDeltaMovement(d4, d5, d6);
|
||||
this.level.getProfiler().push("ai");
|
||||
|
@ -405,7 +405,7 @@ index f656694af..a37a2255c 100644
|
|||
if (this.isImmobile()) {
|
||||
this.jumping = false;
|
||||
this.xxa = 0.0F;
|
||||
@@ -3065,6 +3072,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -3098,6 +3105,7 @@ public abstract class EntityLiving extends Entity {
|
||||
this.serverAiStep();
|
||||
this.level.getProfiler().pop();
|
||||
}
|
||||
|
@ -413,7 +413,7 @@ index f656694af..a37a2255c 100644
|
|||
|
||||
this.level.getProfiler().pop();
|
||||
this.level.getProfiler().push("jump");
|
||||
@@ -3099,7 +3107,9 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -3132,7 +3140,9 @@ public abstract class EntityLiving extends Entity {
|
||||
this.updateFallFlying();
|
||||
AxisAlignedBB axisalignedbb = this.getBoundingBox();
|
||||
|
||||
|
@ -423,7 +423,7 @@ index f656694af..a37a2255c 100644
|
|||
this.level.getProfiler().pop();
|
||||
this.level.getProfiler().push("freezing");
|
||||
boolean flag1 = this.getType().is(TagsEntity.FREEZE_HURTS_EXTRA_TYPES);
|
||||
@@ -3128,7 +3138,9 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -3161,7 +3171,9 @@ public abstract class EntityLiving extends Entity {
|
||||
this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox());
|
||||
}
|
||||
|
||||
|
@ -434,10 +434,10 @@ index f656694af..a37a2255c 100644
|
|||
if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
|
||||
this.hurt(DamageSource.DROWN, 1.0F);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/SpawnerCreature.java b/src/main/java/net/minecraft/world/level/SpawnerCreature.java
|
||||
index 2b68b2faf..3ad9bb877 100644
|
||||
index 424d0c589..fd6c35501 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/SpawnerCreature.java
|
||||
@@ -115,6 +115,7 @@ public final class SpawnerCreature {
|
||||
@@ -116,6 +116,7 @@ public final class SpawnerCreature {
|
||||
|
||||
public static void spawnForChunk(WorldServer worldserver, Chunk chunk, SpawnerCreature.d spawnercreature_d, boolean flag, boolean flag1, boolean flag2) {
|
||||
worldserver.getProfiler().push("spawner");
|
||||
|
@ -445,7 +445,7 @@ index 2b68b2faf..3ad9bb877 100644
|
|||
EnumCreatureType[] aenumcreaturetype = SpawnerCreature.SPAWNING_CATEGORIES;
|
||||
int i = aenumcreaturetype.length;
|
||||
|
||||
@@ -145,6 +146,7 @@ public final class SpawnerCreature {
|
||||
@@ -146,6 +147,7 @@ public final class SpawnerCreature {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -454,10 +454,10 @@ index 2b68b2faf..3ad9bb877 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
|
||||
index efdb12a2b..68eff83ee 100644
|
||||
index a8e8ee431..167902935 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/World.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/World.java
|
||||
@@ -81,6 +81,7 @@ import org.bukkit.Bukkit;
|
||||
@@ -83,6 +83,7 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.craftbukkit.CraftWorld;
|
||||
|
@ -465,7 +465,7 @@ index efdb12a2b..68eff83ee 100644
|
|||
import org.bukkit.craftbukkit.block.CapturedBlockState;
|
||||
import org.bukkit.craftbukkit.block.data.CraftBlockData;
|
||||
import org.bukkit.craftbukkit.util.CraftSpawnCategory;
|
||||
@@ -143,6 +144,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -149,6 +150,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public boolean populating;
|
||||
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
|
||||
|
||||
|
@ -474,7 +474,7 @@ index efdb12a2b..68eff83ee 100644
|
|||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
}
|
||||
@@ -227,6 +230,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -238,6 +241,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public void onBorderSetDamageSafeZOne(WorldBorder worldborder, double d0) {}
|
||||
});
|
||||
// CraftBukkit end
|
||||
|
@ -482,7 +482,7 @@ index efdb12a2b..68eff83ee 100644
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -632,12 +636,15 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -594,12 +598,15 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
GameProfilerFiller gameprofilerfiller = this.getProfiler();
|
||||
|
||||
gameprofilerfiller.push("blockEntities");
|
||||
|
@ -498,7 +498,7 @@ index efdb12a2b..68eff83ee 100644
|
|||
Iterator iterator = this.blockEntityTickers.iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
@@ -650,13 +657,16 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -612,13 +619,16 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -532,10 +532,10 @@ index a39b39e2e..1fd16fc43 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 a52a47029..5f739cf08 100644
|
||||
index af55eb3b1..99a2ddbc1 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/Chunk.java
|
||||
@@ -857,6 +857,7 @@ public class Chunk extends IChunkAccess {
|
||||
@@ -882,6 +882,7 @@ public class Chunk extends IChunkAccess {
|
||||
GameProfilerFiller gameprofilerfiller = Chunk.this.level.getProfiler();
|
||||
|
||||
gameprofilerfiller.push(this::getType);
|
||||
|
@ -543,7 +543,7 @@ index a52a47029..5f739cf08 100644
|
|||
IBlockData iblockdata = Chunk.this.getBlockState(blockposition);
|
||||
|
||||
if (this.blockEntity.getType().isValid(iblockdata)) {
|
||||
@@ -874,6 +875,10 @@ public class Chunk extends IChunkAccess {
|
||||
@@ -899,6 +900,10 @@ public class Chunk extends IChunkAccess {
|
||||
|
||||
this.blockEntity.fillCrashReportCategory(crashreportsystemdetails);
|
||||
throw new ReportedException(crashreport);
|
||||
|
@ -555,10 +555,10 @@ index a52a47029..5f739cf08 100644
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java
|
||||
index 130cbbd80..4d9f04b54 100644
|
||||
index 71c12a5b5..26bd661e8 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkRegionLoader.java
|
||||
@@ -490,10 +490,13 @@ public class ChunkRegionLoader {
|
||||
@@ -507,10 +507,13 @@ public class ChunkRegionLoader {
|
||||
NBTTagList nbttaglist1 = getListOfCompoundsOrNull(nbttagcompound, "block_entities");
|
||||
|
||||
return nbttaglist == null && nbttaglist1 == null ? null : (chunk) -> {
|
||||
|
@ -572,7 +572,7 @@ index 130cbbd80..4d9f04b54 100644
|
|||
if (nbttaglist1 != null) {
|
||||
for (int i = 0; i < nbttaglist1.size(); ++i) {
|
||||
NBTTagCompound nbttagcompound1 = nbttaglist1.getCompound(i);
|
||||
@@ -511,6 +514,7 @@ public class ChunkRegionLoader {
|
||||
@@ -528,6 +531,7 @@ public class ChunkRegionLoader {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -581,10 +581,10 @@ index 130cbbd80..4d9f04b54 100644
|
|||
};
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 00cd8f712..9c9c4771b 100644
|
||||
index e32539c49..3ae63ee01 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2269,6 +2269,11 @@ public final class CraftServer implements Server {
|
||||
@@ -2252,6 +2252,11 @@ public final class CraftServer implements Server {
|
||||
private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot()
|
||||
{
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 6ac48ec373b7dce4da4329433d62b02929c6cf0c Mon Sep 17 00:00:00 2001
|
||||
From 97de8c82d41aeb5b500331dfa1f9500f1529bd23 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Fri, 21 Jun 2013 17:29:54 +1000
|
||||
Subject: [PATCH] Fix Mob Spawning Relative to View Distance
|
||||
|
@ -8,10 +8,10 @@ Changes the mob spawning algorithm to properly account for view distance and the
|
|||
Needs better documentation.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
|
||||
index a9a894d3b..f5f4f0c69 100644
|
||||
index 8fd5501a7..03ce15577 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkProviderServer.java
|
||||
@@ -440,7 +440,7 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -441,7 +441,7 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
||||
if (this.level.isNaturalSpawningAllowed(chunkcoordintpair) && this.chunkMap.anyPlayerCloseEnoughForSpawning(chunkcoordintpair)) {
|
||||
chunk1.incrementInhabitedTime(j);
|
||||
|
@ -21,10 +21,10 @@ index a9a894d3b..f5f4f0c69 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||
index 1681b9771..8e9aaaa26 100644
|
||||
index 746942704..6332ea786 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||
@@ -1023,6 +1023,17 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
@@ -1062,6 +1062,17 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
}
|
||||
|
||||
boolean anyPlayerCloseEnoughForSpawning(ChunkCoordIntPair chunkcoordintpair) {
|
||||
|
@ -42,7 +42,7 @@ index 1681b9771..8e9aaaa26 100644
|
|||
long i = chunkcoordintpair.toLong();
|
||||
|
||||
if (!this.distanceManager.hasPlayersNearby(i)) {
|
||||
@@ -1038,7 +1049,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
@@ -1077,7 +1088,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
}
|
||||
|
||||
entityplayer = (EntityPlayer) iterator.next();
|
||||
|
@ -51,7 +51,7 @@ index 1681b9771..8e9aaaa26 100644
|
|||
|
||||
return true;
|
||||
}
|
||||
@@ -1056,7 +1067,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
@@ -1095,7 +1106,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
while (iterator.hasNext()) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
||||
|
||||
|
@ -60,7 +60,7 @@ index 1681b9771..8e9aaaa26 100644
|
|||
builder.add(entityplayer);
|
||||
}
|
||||
}
|
||||
@@ -1065,13 +1076,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
@@ -1104,13 +1115,13 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 93e8e022987f9819f8bc1ff60cced8952f0c1839 Mon Sep 17 00:00:00 2001
|
||||
From 41a8d7cd6645b24009d8471679b2a40b635db02a Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 3 Feb 2013 09:20:19 +1100
|
||||
Subject: [PATCH] Handle Null Tile Entities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
|
||||
index 68eff83ee..d4dd846db 100644
|
||||
index 167902935..60e47cf63 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/World.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/World.java
|
||||
@@ -649,6 +649,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -611,6 +611,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
TickingBlockEntity tickingblockentity = (TickingBlockEntity) iterator.next();
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 38ada0d9c173cb956a5423c3ebd57752dcefbcae Mon Sep 17 00:00:00 2001
|
||||
From 51054aeb8bcd30d243f64c20ce06a4633950bc2f Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 22 Sep 2013 19:10:53 +1000
|
||||
Subject: [PATCH] Item Despawn Rate
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/EntityItem.java b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
|
||||
index 2e93c1e67..97d6a3df0 100644
|
||||
index f4b1245fc..67a086e42 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
|
||||
@@ -172,7 +172,7 @@ public class EntityItem extends Entity {
|
||||
@@ -182,7 +182,7 @@ public class EntityItem extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ index 2e93c1e67..97d6a3df0 100644
|
|||
// CraftBukkit start - fire ItemDespawnEvent
|
||||
if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) {
|
||||
this.age = 0;
|
||||
@@ -504,7 +504,7 @@ public class EntityItem extends Entity {
|
||||
@@ -514,7 +514,7 @@ public class EntityItem extends Entity {
|
||||
|
||||
public void makeFakeItem() {
|
||||
this.setNeverPickUp();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 36470f58a8a46a4f7d7c38b3aa78750db157c47d Mon Sep 17 00:00:00 2001
|
||||
From d52b3f73983aac80e956906053f99be63af8000e Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 3 Feb 2013 05:10:21 -0500
|
||||
Subject: [PATCH] Entity Activation Range
|
||||
|
@ -9,10 +9,10 @@ This will drastically cut down on tick timings for entities that are not in rang
|
|||
This change can have dramatic impact on gameplay if configured too low. Balance according to your servers desired gameplay.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
index 3b79784d2..e135ba1f4 100644
|
||||
index a72d042cf..6c614e332 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
@@ -375,6 +375,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -392,6 +392,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
gameprofilerfiller.pop();
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@ index 3b79784d2..e135ba1f4 100644
|
|||
timings.entityTick.startTiming(); // Spigot
|
||||
this.entityTickList.forEach((entity) -> {
|
||||
if (!entity.isRemoved()) {
|
||||
@@ -783,6 +784,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -802,6 +803,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
public void tickNonPassenger(Entity entity) {
|
||||
|
@ -35,10 +35,10 @@ index 3b79784d2..e135ba1f4 100644
|
|||
entity.setOldPosAndRot();
|
||||
GameProfilerFiller gameprofilerfiller = this.getProfiler();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2f6e147ae..78ba1c876 100644
|
||||
index 94034b535..732ac38b2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -298,6 +298,12 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
@@ -301,6 +301,12 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
public boolean persistentInvisibility = false;
|
||||
public BlockPosition lastLavaContact;
|
||||
public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot
|
||||
|
@ -51,10 +51,10 @@ index 2f6e147ae..78ba1c876 100644
|
|||
|
||||
public float getBukkitYaw() {
|
||||
return this.yRot;
|
||||
@@ -333,6 +339,13 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
@@ -336,6 +342,13 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
this.position = Vec3D.ZERO;
|
||||
this.blockPosition = BlockPosition.ZERO;
|
||||
this.chunkPosition = ChunkCoordIntPair.ZERO;
|
||||
this.packetCoordinates = Vec3D.ZERO;
|
||||
+ // Spigot start
|
||||
+ if (world != null) {
|
||||
+ this.defaultActivationState = org.spigotmc.ActivationRange.initializeEntityActivationState(this, world.spigotConfig);
|
||||
|
@ -66,7 +66,7 @@ index 2f6e147ae..78ba1c876 100644
|
|||
this.entityData.define(Entity.DATA_SHARED_FLAGS_ID, (byte) 0);
|
||||
this.entityData.define(Entity.DATA_AIR_SUPPLY_ID, this.getMaxAirSupply());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityAgeable.java b/src/main/java/net/minecraft/world/entity/EntityAgeable.java
|
||||
index e441825f6..d22a2c2d4 100644
|
||||
index e7cfabf23..754e82733 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityAgeable.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityAgeable.java
|
||||
@@ -25,6 +25,31 @@ public abstract class EntityAgeable extends EntityCreature {
|
||||
|
@ -125,10 +125,10 @@ index 3a25f8858..0d5b9fc03 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 a37a2255c..21e534a6c 100644
|
||||
index 8453acd63..7f63bab47 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
@@ -266,6 +266,13 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -268,6 +268,13 @@ public abstract class EntityLiving extends Entity {
|
||||
return getYHeadRot();
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
@ -143,10 +143,10 @@ index a37a2255c..21e534a6c 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 97d6a3df0..46a0b406b 100644
|
||||
index 67a086e42..2b7b5f8ef 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/EntityItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/EntityItem.java
|
||||
@@ -185,6 +185,28 @@ public class EntityItem extends Entity {
|
||||
@@ -195,6 +195,28 @@ public class EntityItem extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -176,7 +176,7 @@ index 97d6a3df0..46a0b406b 100644
|
|||
Vec3D vec3d = this.getDeltaMovement();
|
||||
|
||||
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 2ee9b22b8..fb63c8e1a 100644
|
||||
index 9d18b82a8..79c058e50 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/EntityVillager.java
|
||||
@@ -222,6 +222,17 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
|
@ -198,10 +198,10 @@ index 2ee9b22b8..fb63c8e1a 100644
|
|||
protected void customServerAiStep() {
|
||||
this.level.getProfiler().push("villagerBrain");
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java b/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
|
||||
index 32219948f..db1bd7c1d 100644
|
||||
index 5e4530883..95cdde462 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
|
||||
@@ -73,6 +73,18 @@ public abstract class EntityArrow extends IProjectile {
|
||||
@@ -74,6 +74,18 @@ public abstract class EntityArrow extends IProjectile {
|
||||
@Nullable
|
||||
private List<Entity> piercedAndKilledEntities;
|
||||
|
||||
|
@ -221,7 +221,7 @@ index 32219948f..db1bd7c1d 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 fceb3b975..477d9f2d9 100644
|
||||
index 1e8c5a659..5ff797d37 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityFireworks.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityFireworks.java
|
||||
@@ -81,6 +81,22 @@ public class EntityFireworks extends IProjectile implements ItemSupplier {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From fc78721e4efa1930747c47efed9c8acfcc8f29dd Mon Sep 17 00:00:00 2001
|
||||
From 9a0fa2dc63a6c5cc32c1f9962c18eba3e806aada Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 23 Feb 2013 08:58:35 +1100
|
||||
Subject: [PATCH] Metrics
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 8bde99f8d03dfcfa0f3083cb60c5869706bb06ac Mon Sep 17 00:00:00 2001
|
||||
From 9b87a6320f0e6fb5da9cf491d4f76429fc5dfb31 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 20 Feb 2013 11:58:47 -0500
|
||||
Subject: [PATCH] Entity Tracking Ranges
|
||||
|
@ -12,10 +12,10 @@ This has multiple benefits:
|
|||
4) Less client lag - Not trying to render distant item frames and paintings and entities will reduce entity count on the client, which is major for shop/town worlds which may use tons of item frames.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||
index 8e9aaaa26..d71d8beed 100644
|
||||
index 6332ea786..d518ad1e7 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/PlayerChunkMap.java
|
||||
@@ -1246,6 +1246,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
@@ -1285,6 +1285,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.e {
|
||||
if (!(entity instanceof EntityComplexPart)) {
|
||||
EntityTypes<?> entitytypes = entity.getType();
|
||||
int i = entitytypes.clientTrackingRange() * 16;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 1faf0ec615da3d799a7c5c29d9a23e6f729d777c Mon Sep 17 00:00:00 2001
|
||||
From 085bf90848d35c39853524bab19847d8c620687b Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 19 May 2013 18:29:48 +1000
|
||||
Subject: [PATCH] Remove -o Option
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 072bfb0a242ec727ca300881d75a0445580497f5 Mon Sep 17 00:00:00 2001
|
||||
From dffb19264a601200d74f72206d2eb271ef966391 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,10 +6,10 @@ 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 b8f5c6ad0..92f93542c 100644
|
||||
index 80cbb3f6c..d35ce34b2 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
|
||||
@@ -141,9 +141,14 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -140,9 +140,14 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
tileentityhopper.tickedGameTime = world.getGameTime();
|
||||
if (!tileentityhopper.isOnCooldown()) {
|
||||
tileentityhopper.setCooldown(0);
|
||||
|
@ -25,7 +25,7 @@ index b8f5c6ad0..92f93542c 100644
|
|||
}
|
||||
|
||||
}
|
||||
@@ -164,7 +169,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -163,7 +168,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
|
@ -34,7 +34,7 @@ index b8f5c6ad0..92f93542c 100644
|
|||
setChanged(world, blockposition, iblockdata);
|
||||
return true;
|
||||
}
|
||||
@@ -207,7 +212,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -206,7 +211,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
// ItemStack itemstack1 = addItem(iinventory, iinventory1, iinventory.removeItem(i, 1), enumdirection);
|
||||
|
||||
// CraftBukkit start - Call event when pushing items into other inventories
|
||||
|
@ -43,7 +43,7 @@ index b8f5c6ad0..92f93542c 100644
|
|||
|
||||
Inventory destinationInventory;
|
||||
// Have to special case large chests as they work oddly
|
||||
@@ -221,9 +226,10 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -220,9 +225,10 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
world.getCraftServer().getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
hopper.setItem(i, itemstack);
|
||||
|
@ -55,7 +55,7 @@ index b8f5c6ad0..92f93542c 100644
|
|||
ItemStack itemstack1 = addItem(iinventory, iinventory1, CraftItemStack.asNMSCopy(event.getItem()), enumdirection);
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -232,6 +238,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -231,6 +237,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -63,7 +63,7 @@ index b8f5c6ad0..92f93542c 100644
|
|||
iinventory.setItem(i, itemstack);
|
||||
}
|
||||
}
|
||||
@@ -266,7 +273,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -265,7 +272,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
EnumDirection enumdirection = EnumDirection.DOWN;
|
||||
|
||||
return isEmptyContainer(iinventory, enumdirection) ? false : getSlots(iinventory, enumdirection).anyMatch((i) -> {
|
||||
|
@ -72,7 +72,7 @@ index b8f5c6ad0..92f93542c 100644
|
|||
});
|
||||
} else {
|
||||
Iterator iterator = getItemsAtAndAbove(world, ihopper).iterator();
|
||||
@@ -285,14 +292,14 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -284,14 +291,14 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ index b8f5c6ad0..92f93542c 100644
|
|||
|
||||
Inventory sourceInventory;
|
||||
// Have to special case large chests as they work oddly
|
||||
@@ -309,13 +316,13 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -308,13 +315,13 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
iinventory.setItem(i, itemstack1);
|
||||
|
||||
if (ihopper instanceof TileEntityHopper) {
|
||||
|
@ -106,7 +106,7 @@ index b8f5c6ad0..92f93542c 100644
|
|||
ItemStack itemstack2 = addItem(iinventory, ihopper, CraftItemStack.asNMSCopy(event.getItem()), null);
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -324,6 +331,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -323,6 +330,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -114,7 +114,7 @@ index b8f5c6ad0..92f93542c 100644
|
|||
iinventory.setItem(i, itemstack1);
|
||||
}
|
||||
|
||||
@@ -387,6 +395,11 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -386,6 +394,11 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
boolean flag1 = iinventory1.isEmpty();
|
||||
|
||||
if (itemstack1.isEmpty()) {
|
||||
|
@ -126,7 +126,7 @@ index b8f5c6ad0..92f93542c 100644
|
|||
iinventory1.setItem(i, itemstack);
|
||||
itemstack = ItemStack.EMPTY;
|
||||
flag = true;
|
||||
@@ -414,7 +427,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -413,7 +426,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
From 8ffd2557b5ad6541b83b2bde076d86b1f17ecf69 Mon Sep 17 00:00:00 2001
|
||||
From f09d49a48c4db00db6da75596d30eb9c871b28a0 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Fri, 21 Jun 2013 18:01:29 +1000
|
||||
Subject: [PATCH] Allow Disabling of Command Logging
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
index d6538cafc..a0f16bbe8 100644
|
||||
index cdc86f86a..8cdeb6d7f 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
@@ -1895,6 +1895,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -1980,6 +1980,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
|
||||
private void handleCommand(String s) {
|
||||
org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.startTiming(); // Spigot
|
||||
// CraftBukkit start - whole method
|
||||
+ if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
|
||||
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 8550748e1f343841f14876a6ef9d3767e1e74047 Mon Sep 17 00:00:00 2001
|
||||
From 05b802dd602c4c35e536dff5bca59d10c819b73d Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Fri, 21 Jun 2013 18:05:54 +1000
|
||||
Subject: [PATCH] Allow Disabling of Command TabComplete
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/CommandDispatcher.java b/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||
index 5aa4f5361..4ffe7f355 100644
|
||||
index 591af9a48..d385041b6 100644
|
||||
--- a/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||
+++ b/src/main/java/net/minecraft/commands/CommandDispatcher.java
|
||||
@@ -343,6 +343,7 @@ public class CommandDispatcher {
|
||||
@@ -346,6 +346,7 @@ public class CommandDispatcher {
|
||||
}
|
||||
|
||||
public void sendCommands(EntityPlayer entityplayer) {
|
||||
|
@ -16,7 +16,7 @@ index 5aa4f5361..4ffe7f355 100644
|
|||
// CraftBukkit start
|
||||
// Register Vanilla commands into builtRoot as before
|
||||
Map<CommandNode<CommandListenerWrapper>, CommandNode<ICompletionProvider>> map = Maps.newIdentityHashMap(); // Use identity to prevent aliasing issues
|
||||
@@ -381,6 +382,7 @@ public class CommandDispatcher {
|
||||
@@ -384,6 +385,7 @@ public class CommandDispatcher {
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
CommandNode<CommandListenerWrapper> commandnode2 = (CommandNode) iterator.next();
|
||||
|
@ -25,10 +25,10 @@ index 5aa4f5361..4ffe7f355 100644
|
|||
if (commandnode2.canUse(commandlistenerwrapper)) {
|
||||
ArgumentBuilder argumentbuilder = commandnode2.createBuilder(); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 9c9c4771b..059814bde 100644
|
||||
index 3ae63ee01..aafac1a2d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1926,6 +1926,13 @@ public final class CraftServer implements Server {
|
||||
@@ -1909,6 +1909,13 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
public List<String> tabCompleteCommand(Player player, String message, WorldServer world, Vec3D pos) {
|
||||
|
|
|
@ -1,41 +1,41 @@
|
|||
From 42723cd25a536d6f9be623cf4388185c930dda82 Mon Sep 17 00:00:00 2001
|
||||
From 45e01210f935672cd2b1555d3f8d7ae1b9a0b31f Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Fri, 21 Jun 2013 19:21:58 +1000
|
||||
Subject: [PATCH] Configurable Messages
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/HandshakeListener.java b/src/main/java/net/minecraft/server/network/HandshakeListener.java
|
||||
index f421d6902..ddbb24958 100644
|
||||
index fa7cf0ea9..190fb0006 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/HandshakeListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/HandshakeListener.java
|
||||
@@ -74,9 +74,9 @@ public class HandshakeListener implements PacketHandshakingInListener {
|
||||
ChatMessage chatmessage;
|
||||
@@ -73,9 +73,9 @@ public class HandshakeListener implements PacketHandshakingInListener {
|
||||
IChatMutableComponent ichatmutablecomponent;
|
||||
|
||||
if (packethandshakinginsetprotocol.getProtocolVersion() < 754) {
|
||||
- chatmessage = new ChatMessage("multiplayer.disconnect.outdated_client", new Object[]{SharedConstants.getCurrentVersion().getName()});
|
||||
+ chatmessage = new ChatMessage( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) ); // Spigot
|
||||
- ichatmutablecomponent = IChatBaseComponent.translatable("multiplayer.disconnect.outdated_client", SharedConstants.getCurrentVersion().getName());
|
||||
+ ichatmutablecomponent = IChatBaseComponent.literal( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) ); // Spigot
|
||||
} else {
|
||||
- chatmessage = new ChatMessage("multiplayer.disconnect.incompatible", new Object[]{SharedConstants.getCurrentVersion().getName()});
|
||||
+ chatmessage = new ChatMessage( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) ); // Spigot
|
||||
- ichatmutablecomponent = IChatBaseComponent.translatable("multiplayer.disconnect.incompatible", SharedConstants.getCurrentVersion().getName());
|
||||
+ ichatmutablecomponent = IChatBaseComponent.literal( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) ); // Spigot
|
||||
}
|
||||
|
||||
this.connection.send(new PacketLoginOutDisconnect(chatmessage));
|
||||
this.connection.send(new PacketLoginOutDisconnect(ichatmutablecomponent));
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index b5dc8181b..dbd974826 100644
|
||||
index 70f53a49e..b02d3f835 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -579,7 +579,7 @@ public abstract class PlayerList {
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, CraftChatMessage.fromComponent(chatmessage));
|
||||
@@ -583,7 +583,7 @@ public abstract class PlayerList {
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, CraftChatMessage.fromComponent(ichatmutablecomponent));
|
||||
} else if (!this.isWhiteListed(gameprofile)) {
|
||||
chatmessage = new ChatMessage("multiplayer.disconnect.not_whitelisted");
|
||||
- event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, CraftChatMessage.fromComponent(chatmessage));
|
||||
ichatmutablecomponent = IChatBaseComponent.translatable("multiplayer.disconnect.not_whitelisted");
|
||||
- event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, CraftChatMessage.fromComponent(ichatmutablecomponent));
|
||||
+ event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, org.spigotmc.SpigotConfig.whitelistMessage); // Spigot
|
||||
} else if (getIpBans().isBanned(socketaddress) && !getIpBans().get(socketaddress).hasExpired()) {
|
||||
IpBanEntry ipbanentry = this.ipBans.get(socketaddress);
|
||||
|
||||
@@ -593,7 +593,7 @@ public abstract class PlayerList {
|
||||
@@ -597,7 +597,7 @@ public abstract class PlayerList {
|
||||
} else {
|
||||
// return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? new ChatMessage("multiplayer.disconnect.server_full") : null;
|
||||
// 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)) {
|
||||
- event.disallow(PlayerLoginEvent.Result.KICK_FULL, "The server is full");
|
||||
+ event.disallow(PlayerLoginEvent.Result.KICK_FULL, org.spigotmc.SpigotConfig.serverFullMessage); // Spigot
|
||||
|
@ -43,10 +43,10 @@ index b5dc8181b..dbd974826 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 059814bde..1c7fd059c 100644
|
||||
index aafac1a2d..19bd54daf 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -807,11 +807,11 @@ public final class CraftServer implements Server {
|
||||
@@ -802,11 +802,11 @@ public final class CraftServer implements Server {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From a71b7f614cafe6ad7f5e0f373ad9e3164d7295b2 Mon Sep 17 00:00:00 2001
|
||||
From e130e6fcc73daffa95b47435d5399a9d5565bacb Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Thu, 27 Jun 2013 17:26:09 +1000
|
||||
Subject: [PATCH] Properly Close Inventories
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Properly Close Inventories
|
|||
Properly close inventories when unloading and switching worlds.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
index 700a8f29b..262de8928 100644
|
||||
index 6c614e332..cc2e329ac 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
@@ -1025,6 +1025,15 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1044,6 +1044,15 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
public void unload(Chunk chunk) {
|
||||
|
@ -25,7 +25,7 @@ index 700a8f29b..262de8928 100644
|
|||
chunk.clearAllBlockEntities();
|
||||
chunk.unregisterTickContainerFromLevel(this);
|
||||
}
|
||||
@@ -1915,6 +1924,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1994,6 +2003,13 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
public void onTrackingEnd(Entity entity) {
|
||||
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From e58a86e715f9003caed40985a18e774ac453c12d Mon Sep 17 00:00:00 2001
|
||||
From 0a5ff45f5e9f71449cf25f28fa01f93dac245c3b Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Fri, 28 Jun 2013 19:52:54 +1000
|
||||
Subject: [PATCH] Disallow Interaction With Self
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
index a0f16bbe8..3a8d0467c 100644
|
||||
index 8cdeb6d7f..b7bc2dc30 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
@@ -2045,6 +2045,13 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -2238,6 +2238,13 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
if (this.player.isImmobile()) return; // CraftBukkit
|
||||
WorldServer worldserver = this.player.getLevel();
|
||||
final Entity entity = packetplayinuseentity.getTarget(worldserver);
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From a7eccf5540062dac30e21695d2b0a916c3f237e3 Mon Sep 17 00:00:00 2001
|
||||
From 394c2510c44440d7f9a659f0597e77d10985b091 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Sat, 27 Feb 2016 10:07:58 +1100
|
||||
Subject: [PATCH] Entity Mount and Dismount Events
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 87d7ae688..09fe885aa 100644
|
||||
index 732ac38b2..792d6bb9d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2188,6 +2188,16 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
@@ -2218,6 +2218,16 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
}
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
@ -25,7 +25,7 @@ index 87d7ae688..09fe885aa 100644
|
|||
if (this.passengers.isEmpty()) {
|
||||
this.passengers = ImmutableList.of(entity);
|
||||
} else {
|
||||
@@ -2229,6 +2239,16 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
@@ -2259,6 +2269,16 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
}
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 1a5823feca7f8bd4724d21127893f0bae3bf427e Mon Sep 17 00:00:00 2001
|
||||
From ee042c5255efb34ebde0d1c78cc44e818ce61c78 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Ciuba <alexciuba@gmail.com>
|
||||
Date: Tue, 11 Jun 2013 15:23:03 -0400
|
||||
Subject: [PATCH] Prevent Ghost Players Caused by Plugins
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Prevent Ghost Players Caused by Plugins
|
|||
Check if the player is still connected after firing event. Fixes BUKKIT-4327
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 091ec3f14..28831547c 100644
|
||||
index b02d3f835..3cedd79d6 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -728,6 +728,11 @@ public abstract class PlayerList {
|
||||
@@ -732,6 +732,11 @@ public abstract class PlayerList {
|
||||
Player respawnPlayer = entityplayer1.getBukkitEntity();
|
||||
PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !flag2, flag2);
|
||||
cserver.getPluginManager().callEvent(respawnEvent);
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From ea01c4af90e07078aca3944779dea7f5bd941d1f Mon Sep 17 00:00:00 2001
|
||||
From b5401120830d659cbf7992b0b48ad4187d271fb3 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Sun, 27 Mar 2016 20:35:09 +1100
|
||||
Subject: [PATCH] Player Collision API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 00028074c..2e7744918 100644
|
||||
index 8a6f6e11a..43708f569 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1902,6 +1902,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1900,6 +1900,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
// Spigot start
|
||||
private final Player.Spigot spigot = new Player.Spigot()
|
||||
{
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 1c00b44c97a6fef26ac1e73af74a01dfc708ef77 Mon Sep 17 00:00:00 2001
|
||||
From 43bec18c05b90a9f5280a1716ad352ec041bbc31 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 6 Oct 2013 17:36:28 +1100
|
||||
Subject: [PATCH] Don't Special Case X Move Value
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
index 3a8d0467c..eb86a448c 100644
|
||||
index b7bc2dc30..2d18a998c 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
@@ -281,6 +281,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -303,6 +303,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
private float lastPitch = Float.MAX_VALUE;
|
||||
private float lastYaw = Float.MAX_VALUE;
|
||||
private boolean justTeleported = false;
|
||||
|
@ -16,7 +16,7 @@ index 3a8d0467c..eb86a448c 100644
|
|||
|
||||
public CraftPlayer getCraftPlayer() {
|
||||
return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity();
|
||||
@@ -554,6 +555,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -582,6 +583,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
flag2 = true;
|
||||
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", new Object[]{entity.getName().getString(), this.player.getName().getString(), Math.sqrt(d10)});
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ index 3a8d0467c..eb86a448c 100644
|
|||
|
||||
entity.absMoveTo(d3, d4, d5, f, f1);
|
||||
player.absMoveTo(d3, d4, d5, this.player.getYRot(), this.player.getXRot()); // CraftBukkit
|
||||
@@ -568,6 +570,17 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -596,6 +598,17 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
|
||||
// CraftBukkit start - fire PlayerMoveEvent
|
||||
Player player = this.getCraftPlayer();
|
||||
|
@ -42,7 +42,7 @@ index 3a8d0467c..eb86a448c 100644
|
|||
Location from = new Location(player.getWorld(), lastPosX, lastPosY, lastPosZ, lastYaw, lastPitch); // Get the Players previous Event location.
|
||||
Location to = player.getLocation().clone(); // Start off the To location as the Players current location.
|
||||
|
||||
@@ -593,7 +606,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -621,7 +634,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
// Skip the first time we do this
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From ed6db1ec4032abb0a6289b7aa08e3175effed163 Mon Sep 17 00:00:00 2001
|
||||
From b3be0e8ebf91a40dcc4347f32bc7619a5fdf8dc0 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 2e7744918..670338a5f 100644
|
||||
index 43708f569..6aba2dae0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1912,6 +1912,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1910,6 +1910,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void setCollidesWithEntities(boolean collides) {
|
||||
CraftPlayer.this.setCollidable(collides);
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 80d1a572a0da7e9b815af1fdf0e8d2987386d6b5 Mon Sep 17 00:00:00 2001
|
||||
From cfe1b56a077a92dee3df357d62dd3334ea766080 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Mon, 14 Oct 2013 19:20:10 +1100
|
||||
Subject: [PATCH] Arrow Despawn Rate
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java b/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
|
||||
index db1bd7c1d..07730d9f4 100644
|
||||
index 95cdde462..0f18feede 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/EntityArrow.java
|
||||
@@ -312,7 +312,7 @@ public abstract class EntityArrow extends IProjectile {
|
||||
@@ -313,7 +313,7 @@ public abstract class EntityArrow extends IProjectile {
|
||||
|
||||
protected void tickDespawn() {
|
||||
++this.life;
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
From c45f83518929f16243bdf4aaddf079648dca0eee Mon Sep 17 00:00:00 2001
|
||||
From 1b28773cc79edc40c57922ebd1a3c7c15759ba16 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Tue, 5 Aug 2014 17:20:19 +0100
|
||||
Subject: [PATCH] Watchdog Thread.
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index e0282b0ab..c30918640 100644
|
||||
index 45d3e3db3..fdb9aad3e 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1053,6 +1053,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.profileCache.clearExecutor();
|
||||
@@ -1013,6 +1013,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.services.profileCache().clearExecutor();
|
||||
}
|
||||
|
||||
+ org.spigotmc.WatchdogThread.doStop(); // Spigot
|
||||
// CraftBukkit start - Restore terminal to original settings
|
||||
try {
|
||||
reader.getTerminal().restore();
|
||||
@@ -1236,6 +1237,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1196,6 +1197,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
this.frameTimer.logFrameDuration(i1 - i);
|
||||
this.profiler.pop();
|
||||
|
@ -25,10 +25,10 @@ index e0282b0ab..c30918640 100644
|
|||
org.spigotmc.CustomTimingsHandler.tick(); // Spigot
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index b7f8e4d2a..999c12d57 100644
|
||||
index 19f69098b..65d4053e4 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -273,7 +273,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -265,7 +265,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
this.remoteConsole = new org.bukkit.craftbukkit.command.CraftRemoteConsoleCommandSender(this.rconConsoleSource); // CraftBukkit
|
||||
}
|
||||
|
||||
|
@ -38,10 +38,10 @@ index b7f8e4d2a..999c12d57 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 1c7fd059c..f3caaee30 100644
|
||||
index 19bd54daf..077df6d90 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1893,7 +1893,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1876,7 +1876,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
@Override
|
||||
public boolean isPrimaryThread() {
|
||||
|
@ -50,7 +50,7 @@ index 1c7fd059c..f3caaee30 100644
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -2281,6 +2281,11 @@ public final class CraftServer implements Server {
|
||||
@@ -2264,6 +2264,11 @@ public final class CraftServer implements Server {
|
||||
{
|
||||
return org.spigotmc.SpigotConfig.config;
|
||||
}
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
From 9473e7b37d36d2a971a168a75bd6813be62e49bd Mon Sep 17 00:00:00 2001
|
||||
From f6fe5260270312ebbc225f61ee28b1c3958650ec Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Thu, 5 Dec 2013 13:55:53 +1100
|
||||
Subject: [PATCH] Fix Broken Async Chat
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/network/protocol/game/PacketPlayInChat.java b/src/main/java/net/minecraft/network/protocol/game/PacketPlayInChat.java
|
||||
index 32407b2a0..84004a07a 100644
|
||||
index e123aea60..aa9ae8f3c 100644
|
||||
--- a/src/main/java/net/minecraft/network/protocol/game/PacketPlayInChat.java
|
||||
+++ b/src/main/java/net/minecraft/network/protocol/game/PacketPlayInChat.java
|
||||
@@ -25,7 +25,24 @@ public class PacketPlayInChat implements Packet<PacketListenerPlayIn> {
|
||||
packetdataserializer.writeUtf(this.message);
|
||||
@@ -39,7 +39,24 @@ public class PacketPlayInChat implements Packet<PacketListenerPlayIn> {
|
||||
packetdataserializer.writeBoolean(this.signedPreview);
|
||||
}
|
||||
|
||||
- public void handle(PacketListenerPlayIn packetlistenerplayin) {
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
From 12b20eb55c83dc989f17a77104a28eca48e99cef Mon Sep 17 00:00:00 2001
|
||||
From 658d2f90080348ba85ed365cfb2a1521fd0044fe Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Wed, 18 Dec 2013 13:32:10 +1100
|
||||
Subject: [PATCH] Fire PreLogin Events in Offline Mode
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/LoginListener.java b/src/main/java/net/minecraft/server/network/LoginListener.java
|
||||
index db5255bdc..73482f63c 100644
|
||||
index dbf5769bc..a780e30d3 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/LoginListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/LoginListener.java
|
||||
@@ -118,10 +118,23 @@ public class LoginListener implements PacketLoginInListener {
|
||||
@@ -120,10 +120,23 @@ public class LoginListener implements PacketLoginInListener {
|
||||
|
||||
}
|
||||
|
||||
+ // Spigot start
|
||||
+ public void initUUID()
|
||||
+ {
|
||||
+ UUID uuid = EntityHuman.createPlayerUUID( this.gameProfile.getName() );
|
||||
+ UUID uuid = UUIDUtil.createOfflinePlayerUUID( this.gameProfile.getName() );
|
||||
+
|
||||
+ this.gameProfile = new GameProfile( uuid, this.gameProfile.getName() );
|
||||
+ }
|
||||
|
@ -31,31 +31,31 @@ index db5255bdc..73482f63c 100644
|
|||
+ // Spigot end
|
||||
|
||||
// CraftBukkit start - fire PlayerLoginEvent
|
||||
EntityPlayer s = this.server.getPlayerList().canPlayerLogin(this, this.gameProfile, hostname);
|
||||
@@ -182,7 +195,21 @@ public class LoginListener implements PacketLoginInListener {
|
||||
this.state = LoginListener.EnumProtocolState.KEY;
|
||||
this.connection.send(new PacketLoginOutEncryptionBegin("", this.server.getKeyPair().getPublic().getEncoded(), this.nonce));
|
||||
} else {
|
||||
- this.state = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
|
||||
+ // Spigot start
|
||||
+ new Thread("User Authenticator #" + LoginListener.UNIQUE_THREAD_ID.incrementAndGet()) {
|
||||
EntityPlayer s = this.server.getPlayerList().canPlayerLogin(this, this.gameProfile, this.playerProfilePublicKey, hostname);
|
||||
@@ -228,7 +241,21 @@ public class LoginListener implements PacketLoginInListener {
|
||||
this.state = LoginListener.EnumProtocolState.KEY;
|
||||
this.connection.send(new PacketLoginOutEncryptionBegin("", this.server.getKeyPair().getPublic().getEncoded(), this.nonce));
|
||||
} else {
|
||||
- this.state = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
|
||||
+ // Spigot start
|
||||
+ new Thread("User Authenticator #" + LoginListener.UNIQUE_THREAD_ID.incrementAndGet()) {
|
||||
+
|
||||
+ @Override
|
||||
+ public void run() {
|
||||
+ try {
|
||||
+ initUUID();
|
||||
+ new LoginHandler().fireEvents();
|
||||
+ } catch (Exception ex) {
|
||||
+ disconnect("Failed to verify username!");
|
||||
+ server.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + gameProfile.getName(), ex);
|
||||
+ @Override
|
||||
+ public void run() {
|
||||
+ try {
|
||||
+ initUUID();
|
||||
+ new LoginHandler().fireEvents();
|
||||
+ } catch (Exception ex) {
|
||||
+ disconnect("Failed to verify username!");
|
||||
+ server.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + gameProfile.getName(), ex);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }.start();
|
||||
+ // Spigot end
|
||||
}
|
||||
+ }.start();
|
||||
+ // Spigot end
|
||||
}
|
||||
|
||||
}
|
||||
@@ -228,40 +255,7 @@ public class LoginListener implements PacketLoginInListener {
|
||||
}
|
||||
@@ -280,40 +307,7 @@ public class LoginListener implements PacketLoginInListener {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ index db5255bdc..73482f63c 100644
|
|||
} else if (LoginListener.this.server.isSingleplayer()) {
|
||||
LoginListener.LOGGER.warn("Failed to verify username but will let them in anyway!");
|
||||
LoginListener.this.gameProfile = LoginListener.this.createFakeProfile(gameprofile);
|
||||
@@ -300,7 +294,48 @@ public class LoginListener implements PacketLoginInListener {
|
||||
@@ -352,7 +346,48 @@ public class LoginListener implements PacketLoginInListener {
|
||||
thread.start();
|
||||
}
|
||||
|
||||
|
@ -145,7 +145,7 @@ index db5255bdc..73482f63c 100644
|
|||
+ // Spigot end
|
||||
+
|
||||
public void handleCustomQueryPacket(PacketLoginInCustomPayload packetloginincustompayload) {
|
||||
this.disconnect(new ChatMessage("multiplayer.disconnect.unexpected_query_response"));
|
||||
this.disconnect(IChatBaseComponent.translatable("multiplayer.disconnect.unexpected_query_response"));
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From da606e2cc2fbc9d39cce6b0dc7c08f85a101e016 Mon Sep 17 00:00:00 2001
|
||||
From 3d5b4e737b7c99587f6f23476f759dc6355929d3 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 1 Dec 2013 18:18:41 +1100
|
||||
Subject: [PATCH] BungeeCord Support
|
||||
|
@ -6,7 +6,7 @@ Subject: [PATCH] BungeeCord Support
|
|||
Provides support for IP forwarding via BungeeCord.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/network/NetworkManager.java b/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
index 3fb814e6e..d111deea1 100644
|
||||
index 63540a6f0..ffb10b60a 100644
|
||||
--- a/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
@@ -78,6 +78,10 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
|
@ -46,10 +46,10 @@ index e992a972d..786314a9b 100644
|
|||
this.intention = EnumProtocol.getById(packetdataserializer.readVarInt());
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/HandshakeListener.java b/src/main/java/net/minecraft/server/network/HandshakeListener.java
|
||||
index ddbb24958..5214f23f5 100644
|
||||
index 190fb0006..a107fa07d 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/HandshakeListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/HandshakeListener.java
|
||||
@@ -18,6 +18,11 @@ import java.util.HashMap;
|
||||
@@ -17,6 +17,11 @@ import java.util.HashMap;
|
||||
|
||||
public class HandshakeListener implements PacketHandshakingInListener {
|
||||
|
||||
|
@ -61,8 +61,8 @@ index ddbb24958..5214f23f5 100644
|
|||
// CraftBukkit start - add fields
|
||||
private static final HashMap<InetAddress, Long> throttleTracker = new HashMap<InetAddress, Long>();
|
||||
private static int throttleCounter = 0;
|
||||
@@ -83,6 +88,31 @@ public class HandshakeListener implements PacketHandshakingInListener {
|
||||
this.connection.disconnect(chatmessage);
|
||||
@@ -82,6 +87,31 @@ public class HandshakeListener implements PacketHandshakingInListener {
|
||||
this.connection.disconnect(ichatmutablecomponent);
|
||||
} else {
|
||||
this.connection.setListener(new LoginListener(this.server, this.connection));
|
||||
+ // Spigot Start
|
||||
|
@ -74,7 +74,7 @@ index ddbb24958..5214f23f5 100644
|
|||
+ connection.spoofedUUID = com.mojang.util.UUIDTypeAdapter.fromString( split[2] );
|
||||
+ } else
|
||||
+ {
|
||||
+ ChatMessage chatmessage = new ChatMessage("If you wish to use IP forwarding, please enable it in your BungeeCord config as well!");
|
||||
+ IChatBaseComponent chatmessage = IChatBaseComponent.literal("If you wish to use IP forwarding, please enable it in your BungeeCord config as well!");
|
||||
+ this.connection.send(new PacketLoginOutDisconnect(chatmessage));
|
||||
+ this.connection.disconnect(chatmessage);
|
||||
+ return;
|
||||
|
@ -84,7 +84,7 @@ index ddbb24958..5214f23f5 100644
|
|||
+ connection.spoofedProfile = gson.fromJson(split[3], com.mojang.authlib.properties.Property[].class);
|
||||
+ }
|
||||
+ } else if ( ( split.length == 3 || split.length == 4 ) && ( HOST_PATTERN.matcher( split[1] ).matches() ) ) {
|
||||
+ ChatMessage chatmessage = new ChatMessage("Unknown data in login hostname, did you forget to enable BungeeCord in spigot.yml?");
|
||||
+ IChatBaseComponent chatmessage = IChatBaseComponent.literal("Unknown data in login hostname, did you forget to enable BungeeCord in spigot.yml?");
|
||||
+ this.connection.send(new PacketLoginOutDisconnect(chatmessage));
|
||||
+ this.connection.disconnect(chatmessage);
|
||||
+ return;
|
||||
|
@ -94,21 +94,21 @@ index ddbb24958..5214f23f5 100644
|
|||
}
|
||||
break;
|
||||
diff --git a/src/main/java/net/minecraft/server/network/LoginListener.java b/src/main/java/net/minecraft/server/network/LoginListener.java
|
||||
index 73482f63c..126ce2003 100644
|
||||
index a780e30d3..947dbab1f 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/LoginListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/LoginListener.java
|
||||
@@ -121,9 +121,25 @@ public class LoginListener implements PacketLoginInListener {
|
||||
@@ -123,9 +123,25 @@ public class LoginListener implements PacketLoginInListener {
|
||||
// Spigot start
|
||||
public void initUUID()
|
||||
{
|
||||
- UUID uuid = EntityHuman.createPlayerUUID( this.gameProfile.getName() );
|
||||
- UUID uuid = UUIDUtil.createOfflinePlayerUUID( this.gameProfile.getName() );
|
||||
+ UUID uuid;
|
||||
+ if ( connection.spoofedUUID != null )
|
||||
+ {
|
||||
+ uuid = connection.spoofedUUID;
|
||||
+ } else
|
||||
+ {
|
||||
+ uuid = EntityHuman.createPlayerUUID( this.gameProfile.getName() );
|
||||
+ uuid = UUIDUtil.createOfflinePlayerUUID( this.gameProfile.getName() );
|
||||
+ }
|
||||
|
||||
this.gameProfile = new GameProfile( uuid, this.gameProfile.getName() );
|
||||
|
@ -125,12 +125,12 @@ index 73482f63c..126ce2003 100644
|
|||
// Spigot end
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 0d9c5e4ec..b71d1d92f 100644
|
||||
index 3cedd79d6..a40e1e508 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -565,7 +565,7 @@ public abstract class PlayerList {
|
||||
@@ -569,7 +569,7 @@ public abstract class PlayerList {
|
||||
|
||||
EntityPlayer entity = new EntityPlayer(this.server, this.server.getLevel(World.OVERWORLD), gameprofile);
|
||||
EntityPlayer entity = new EntityPlayer(this.server, this.server.getLevel(World.OVERWORLD), gameprofile, profilepublickey);
|
||||
Player player = entity.getBukkitEntity();
|
||||
- PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, ((java.net.InetSocketAddress) socketaddress).getAddress());
|
||||
+ PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, ((java.net.InetSocketAddress) socketaddress).getAddress(), ((java.net.InetSocketAddress) loginlistener.connection.getRawAddress()).getAddress());
|
||||
|
@ -138,10 +138,10 @@ index 0d9c5e4ec..b71d1d92f 100644
|
|||
if (getBans().isBanned(gameprofile) && !getBans().get(gameprofile).hasExpired()) {
|
||||
GameProfileBanEntry gameprofilebanentry = (GameProfileBanEntry) this.bans.get(gameprofile);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index f3caaee30..21aab1d9c 100644
|
||||
index 077df6d90..36ba99086 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -706,7 +706,13 @@ public final class CraftServer implements Server {
|
||||
@@ -701,7 +701,13 @@ public final class CraftServer implements Server {
|
||||
|
||||
@Override
|
||||
public long getConnectionThrottle() {
|
||||
|
@ -157,10 +157,10 @@ index f3caaee30..21aab1d9c 100644
|
|||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 670338a5f..7fb7dc5b7 100644
|
||||
index 6aba2dae0..83ad892c1 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1903,6 +1903,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1901,6 +1901,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
private final Player.Spigot spigot = new Player.Spigot()
|
||||
{
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 33bdcae7c70959d23591c27ed8a882e5cfbad092 Mon Sep 17 00:00:00 2001
|
||||
From 38c2e81e424497a8e4960264431ac7e516957f28 Mon Sep 17 00:00:00 2001
|
||||
From: Dylan Xaldin <Puremin0rez515@gmail.com>
|
||||
Date: Thu, 12 Dec 2013 18:05:03 -0600
|
||||
Subject: [PATCH] Allow Disabling Zombie Villager Aggression
|
||||
|
@ -6,7 +6,7 @@ Subject: [PATCH] Allow Disabling Zombie Villager Aggression
|
|||
Ability to configure if Zombies will be aggressive towards Villagers.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java b/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
|
||||
index 846671c76..6bb1ba41c 100644
|
||||
index 25cc404f2..a442e4ace 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityZombie.java
|
||||
@@ -119,7 +119,7 @@ public class EntityZombie extends EntityMonster {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2dfc581dbab674c10acabe3099e9aa219e9fa868 Mon Sep 17 00:00:00 2001
|
||||
From a4c9c1828ca5e52fbec0dbc90abe68ba6daa2b4f 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,19 +6,19 @@ 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 c30918640..c3153ed8d 100644
|
||||
index fdb9aad3e..e2938d7f5 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -345,7 +345,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
usercache.setExecutor(this);
|
||||
}
|
||||
@@ -331,7 +331,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
services.profileCache().setExecutor(this);
|
||||
}
|
||||
|
||||
- this.connection = new ServerConnection(this);
|
||||
+ // this.connection = new ServerConnection(this); // Spigot
|
||||
this.progressListenerFactory = worldloadlistenerfactory;
|
||||
this.storageSource = convertable_conversionsession;
|
||||
this.playerDataStorage = convertable_conversionsession.createPlayerStorage();
|
||||
@@ -1606,7 +1606,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
- this.connection = new ServerConnection(this);
|
||||
+ // this.connection = new ServerConnection(this); // Spigot
|
||||
this.progressListenerFactory = worldloadlistenerfactory;
|
||||
this.storageSource = convertable_conversionsession;
|
||||
this.playerDataStorage = convertable_conversionsession.createPlayerStorage();
|
||||
@@ -1566,7 +1566,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
@Nullable
|
||||
public ServerConnection getConnection() {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 3718e386cf828d80b11d64f7fe633fefca73b907 Mon Sep 17 00:00:00 2001
|
||||
From 92674834642e4394de05720832a8d8872af06da3 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Wed, 18 Dec 2013 13:39:14 +1100
|
||||
Subject: [PATCH] Log Cause of Unexpected Exceptions
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index c3153ed8d..6a4374ed9 100644
|
||||
index e2938d7f5..cce83e78b 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1027,6 +1027,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -987,6 +987,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
}
|
||||
} catch (Throwable throwable) {
|
||||
MinecraftServer.LOGGER.error("Encountered an unexpected exception", throwable);
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 323c19573e433961712486cae5be22aa3e61d253 Mon Sep 17 00:00:00 2001
|
||||
From b542dc8bc46262a396f2cb90d3c1ae4b65e25c46 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 09fe885aa..1931b02e7 100644
|
||||
index 792d6bb9d..682200f1b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1747,6 +1747,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
@@ -1777,6 +1777,7 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
if (maxAirTicks != getDefaultMaxAirSupply()) {
|
||||
nbttagcompound.putInt("Bukkit.MaxAirSupply", getMaxAirSupply());
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ index 09fe885aa..1931b02e7 100644
|
|||
// CraftBukkit end
|
||||
IChatBaseComponent ichatbasecomponent = this.getCustomName();
|
||||
|
||||
@@ -1903,6 +1904,11 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
@@ -1933,6 +1934,11 @@ public abstract class Entity implements INamableTileEntity, EntityAccess, IComma
|
||||
}
|
||||
|
||||
// CraftBukkit start
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From b7f4bc200b0481e03d5fdf898324ced6b5a3a35e Mon Sep 17 00:00:00 2001
|
||||
From d9ed3af84600434739e799fdd9bec7752b40c662 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 5905ba5ef..452de2c89 100644
|
||||
index 2a5c24471..de82750c2 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
|
||||
@@ -145,6 +145,12 @@ public abstract class MobSpawnerAbstract {
|
||||
@@ -147,6 +147,12 @@ public abstract class MobSpawnerAbstract {
|
||||
if (this.nextSpawnData.getEntityToSpawn().size() == 1 && this.nextSpawnData.getEntityToSpawn().contains("id", 8)) {
|
||||
((EntityInsentient) entity).finalizeSpawn(worldserver, worldserver.getCurrentDifficultyAt(entity.blockPosition()), EnumMobSpawn.SPAWNER, (GroupDataEntity) null, (NBTTagCompound) null);
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From c6b089068043ea8a5214b039e7fc236e37df4673 Mon Sep 17 00:00:00 2001
|
||||
From ed80e8c36aade67fb13cb31da3bcbe6072167266 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Mon, 23 Dec 2013 15:57:57 +1100
|
||||
Subject: [PATCH] Disable Connected Check on setScoreboard
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 7fb7dc5b7..a772b1038 100644
|
||||
index 83ad892c1..fe0faaec4 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1649,7 +1649,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1647,7 +1647,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
throw new IllegalStateException("Cannot set scoreboard yet");
|
||||
}
|
||||
if (playerConnection.isDisconnected()) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 4ee8748b101d9f1d894bc78a4f802a24907030d7 Mon Sep 17 00:00:00 2001
|
||||
From 89c60d9f01b6e5f60451d15ce1d12e9047a2fcf3 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
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From e5cf3a0cc96aa2c7d31427715cda5e578211676d Mon Sep 17 00:00:00 2001
|
||||
From 0674dfdb7c6a40d11a4d554863a4698c61a39ac0 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Sun, 12 Jan 2014 20:56:41 +1100
|
||||
Subject: [PATCH] Try and Debug Crash Reports Crashing
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 6a4374ed9..cfd6e48b0 100644
|
||||
index cce83e78b..412845f57 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1298,7 +1298,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1258,7 +1258,14 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
worldserver.tick(booleansupplier);
|
||||
worldserver.timings.doTick.stopTiming(); // Spigot
|
||||
} catch (Throwable throwable) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 398c5f44c051fdbbea808d99013695023661e21d Mon Sep 17 00:00:00 2001
|
||||
From 62e6d06d807ba0cb7b252fb83ae0070f3e1d60e5 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.
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
From 90af2c7f322d50731ca80ce9901ea6b9a9621001 Mon Sep 17 00:00:00 2001
|
||||
From 736df9b91387718f543d1f7823c1b3917b20cae1 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 7a8b19ccc..a3ad3a5ab 100644
|
||||
index 6a9860347..dd9b612e5 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BlockPortal.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BlockPortal.java
|
||||
@@ -56,7 +56,7 @@ public class BlockPortal extends Block {
|
||||
|
||||
@Override
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) {
|
||||
- if (worldserver.dimensionType().natural() && worldserver.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && random.nextInt(2000) < worldserver.getDifficulty().getId()) {
|
||||
+ if (worldserver.spigotConfig.enableZombiePigmenPortalSpawns && worldserver.dimensionType().natural() && worldserver.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && random.nextInt(2000) < worldserver.getDifficulty().getId()) { // Spigot
|
||||
public void randomTick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, RandomSource randomsource) {
|
||||
- if (worldserver.dimensionType().natural() && worldserver.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && randomsource.nextInt(2000) < worldserver.getDifficulty().getId()) {
|
||||
+ if (worldserver.spigotConfig.enableZombiePigmenPortalSpawns && worldserver.dimensionType().natural() && worldserver.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && randomsource.nextInt(2000) < worldserver.getDifficulty().getId()) { // Spigot
|
||||
while (worldserver.getBlockState(blockposition).is((Block) this)) {
|
||||
blockposition = blockposition.below();
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 8bc9dc60e35fd7787b1d9799541d35a374060513 Mon Sep 17 00:00:00 2001
|
||||
From ca63082a9c8c37e074f5ec7937762821a961d249 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 cfd6e48b0..d5fe9f5e7 100644
|
||||
index 412845f57..de58e7eab 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -291,6 +291,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -278,6 +278,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
public CommandDispatcher vanillaCommandDispatcher;
|
||||
private boolean forceTicks;
|
||||
// CraftBukkit end
|
||||
|
@ -21,7 +21,7 @@ index cfd6e48b0..d5fe9f5e7 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
|
||||
@@ -942,6 +948,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
}
|
||||
|
||||
|
@ -34,37 +34,37 @@ index cfd6e48b0..d5fe9f5e7 100644
|
|||
+
|
||||
protected void runServer() {
|
||||
try {
|
||||
if (this.initServer()) {
|
||||
@@ -991,8 +1004,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.status.setVersion(new ServerPing.ServerData(SharedConstants.getCurrentVersion().getName(), SharedConstants.getCurrentVersion().getProtocolVersion()));
|
||||
this.updateStatusIcon(this.status);
|
||||
if (!this.initServer()) {
|
||||
@@ -954,8 +967,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.status.setPreviewsChat(this.previewsChat());
|
||||
this.updateStatusIcon(this.status);
|
||||
|
||||
+ // Spigot start
|
||||
+ Arrays.fill( recentTps, 20 );
|
||||
+ long curTime, tickSection = SystemUtils.getMillis(), tickCount = 1;
|
||||
while (this.running) {
|
||||
- long i = SystemUtils.getMillis() - this.nextTickTime;
|
||||
+ long i = (curTime = SystemUtils.getMillis()) - this.nextTickTime;
|
||||
+ // Spigot start
|
||||
+ Arrays.fill( recentTps, 20 );
|
||||
+ long curTime, tickSection = SystemUtils.getMillis(), tickCount = 1;
|
||||
while (this.running) {
|
||||
- long i = SystemUtils.getMillis() - this.nextTickTime;
|
||||
+ long i = (curTime = SystemUtils.getMillis()) - this.nextTickTime;
|
||||
|
||||
if (i > 5000L && this.nextTickTime - this.lastOverloadWarning >= 30000L) { // CraftBukkit
|
||||
long j = i / 50L;
|
||||
@@ -1003,6 +1019,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.lastOverloadWarning = this.nextTickTime;
|
||||
}
|
||||
if (i > 5000L && this.nextTickTime - this.lastOverloadWarning >= 30000L) { // CraftBukkit
|
||||
long j = i / 50L;
|
||||
@@ -966,6 +982,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.lastOverloadWarning = this.nextTickTime;
|
||||
}
|
||||
|
||||
+ if ( tickCount++ % SAMPLE_INTERVAL == 0 )
|
||||
+ {
|
||||
+ double currentTps = 1E3 / ( curTime - tickSection ) * SAMPLE_INTERVAL;
|
||||
+ recentTps[0] = calcTps( recentTps[0], 0.92, currentTps ); // 1/exp(5sec/1min)
|
||||
+ recentTps[1] = calcTps( recentTps[1], 0.9835, currentTps ); // 1/exp(5sec/5min)
|
||||
+ recentTps[2] = calcTps( recentTps[2], 0.9945, currentTps ); // 1/exp(5sec/15min)
|
||||
+ tickSection = curTime;
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+ if ( tickCount++ % SAMPLE_INTERVAL == 0 )
|
||||
+ {
|
||||
+ double currentTps = 1E3 / ( curTime - tickSection ) * SAMPLE_INTERVAL;
|
||||
+ recentTps[0] = calcTps( recentTps[0], 0.92, currentTps ); // 1/exp(5sec/1min)
|
||||
+ recentTps[1] = calcTps( recentTps[1], 0.9835, currentTps ); // 1/exp(5sec/5min)
|
||||
+ recentTps[2] = calcTps( recentTps[2], 0.9945, currentTps ); // 1/exp(5sec/15min)
|
||||
+ tickSection = curTime;
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
if (this.debugCommandProfilerDelayStart) {
|
||||
this.debugCommandProfilerDelayStart = false;
|
||||
this.debugCommandProfiler = new MinecraftServer.b(SystemUtils.getNanos(), this.tickCount);
|
||||
if (this.debugCommandProfilerDelayStart) {
|
||||
this.debugCommandProfilerDelayStart = false;
|
||||
this.debugCommandProfiler = new MinecraftServer.TimeProfiler(SystemUtils.getNanos(), this.tickCount);
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
|
||||
index 5e6011331..123512de6 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotConfig.java
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From cce8155530c3e2162c1fc766ab05a7ebf5f32616 Mon Sep 17 00:00:00 2001
|
||||
From 12e84f65b712072af07a015d0a16c3135a605d4b 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 d8cbae670..868237a37 100644
|
||||
index d69cb29b8..64ae11b0e 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PacketStatusListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PacketStatusListener.java
|
||||
@@ -132,6 +132,13 @@ public class PacketStatusListener implements PacketStatusInListener {
|
||||
@@ -131,6 +131,13 @@ public class PacketStatusListener implements PacketStatusInListener {
|
||||
|
||||
ServerPing.ServerPingPlayerSample playerSample = new ServerPing.ServerPingPlayerSample(event.getMaxPlayers(), profiles.size());
|
||||
if (!this.server.hidesOnlinePlayers()) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 1235f28bbba82028ae16cffc515e836ed0aef958 Mon Sep 17 00:00:00 2001
|
||||
From 3691cd20fdc9aaa9a8ac65f97092e3b1ec9f8b58 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
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Add Optional Tick Shuffling
|
|||
This prevents players from 'gaming' the server, and strategically relogging to increase their position in the tick order.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerConnection.java b/src/main/java/net/minecraft/server/network/ServerConnection.java
|
||||
index a69191df0..a2a2d1fa4 100644
|
||||
index 8713f87f4..e462ddade 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerConnection.java
|
||||
@@ -154,6 +154,13 @@ public class ServerConnection {
|
||||
@@ -155,6 +155,13 @@ public class ServerConnection {
|
||||
List list = this.connections;
|
||||
|
||||
synchronized (this.connections) {
|
||||
|
|
|
@ -1,35 +1,51 @@
|
|||
From 1ecb29653682de4f2ce4d0cb2fb4585fd184447b Mon Sep 17 00:00:00 2001
|
||||
From d78786023321fc7bb3ca1bb19cddccb83124a651 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 8 Feb 2014 08:13:40 +0000
|
||||
Subject: [PATCH] Spam Filter Exclusions
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
index eb86a448c..96404894f 100644
|
||||
index 2d18a998c..907866c7a 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
@@ -1801,9 +1801,20 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
}, ChatMessageType.CHAT, this.player.getUUID());
|
||||
@@ -1814,7 +1814,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
} finally {
|
||||
this.server.server.playerCommandState = false;
|
||||
}
|
||||
- this.detectRateSpam(true);
|
||||
+ this.detectRateSpam(true, "/" + serverboundchatcommandpacket.command()); // Spigot
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
+ // Spigot start - spam exclusions
|
||||
+ boolean counted = true;
|
||||
+ for ( String exclude : org.spigotmc.SpigotConfig.spamExclusions )
|
||||
@@ -1913,7 +1913,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
this.chat(s, true);
|
||||
}
|
||||
// this.server.getPlayerList().broadcastChatMessage(playerchatmessage, filteredtext, this.player, ChatMessageType.CHAT);
|
||||
- this.detectRateSpam(false);
|
||||
+ this.detectRateSpam(false, s); // Spigot
|
||||
// CraftBukkit end
|
||||
}
|
||||
}
|
||||
@@ -2021,7 +2021,18 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
// CraftBukkit end
|
||||
|
||||
// CraftBukkit start - replaced with thread safe throttle
|
||||
- private void detectRateSpam(boolean isSync) {
|
||||
+ // Spigot start - spam exclusions
|
||||
+ private void detectRateSpam(boolean isSync, String s) {
|
||||
+ boolean counted = true;
|
||||
+ for ( String exclude : org.spigotmc.SpigotConfig.spamExclusions )
|
||||
+ {
|
||||
+ if ( exclude != null && s.startsWith( exclude ) )
|
||||
+ {
|
||||
+ if ( exclude != null && s.startsWith( exclude ) )
|
||||
+ {
|
||||
+ counted = false;
|
||||
+ break;
|
||||
+ }
|
||||
+ counted = false;
|
||||
+ break;
|
||||
+ }
|
||||
+ // Spigot end
|
||||
// CraftBukkit start - replaced with thread safe throttle
|
||||
// this.chatSpamTickCount += 20;
|
||||
- if (chatSpamTickCount.addAndGet(20) > 200 && !this.server.getPlayerList().isOp(this.player.getGameProfile())) {
|
||||
+ if (counted && chatSpamTickCount.addAndGet(20) > 200 && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Spigot
|
||||
if (!isSync) {
|
||||
Waitable waitable = new Waitable() {
|
||||
@Override
|
||||
+ }
|
||||
+ // Spigot end
|
||||
// this.chatSpamTickCount += 20;
|
||||
if (this.chatSpamTickCount.addAndGet(20) > 200 && !this.server.getPlayerList().isOp(this.player.getGameProfile())) {
|
||||
if (!isSync) {
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
|
||||
index 245a9e5e9..5f0b27ad2 100644
|
||||
--- a/src/main/java/org/spigotmc/SpigotConfig.java
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
From c7233b12ae2211f5f10048593f3a760633d68acb Mon Sep 17 00:00:00 2001
|
||||
From d1adae7d5f2c085a3201a0e733239d94099bba3a 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 f3d0e0fdf..84c7500df 100644
|
||||
index 6d5f03464..83b389284 100644
|
||||
--- a/src/main/java/net/minecraft/commands/CommandListenerWrapper.java
|
||||
+++ b/src/main/java/net/minecraft/commands/CommandListenerWrapper.java
|
||||
@@ -242,7 +242,7 @@ public class CommandListenerWrapper implements ICompletionProvider {
|
||||
@@ -278,7 +278,7 @@ public class CommandListenerWrapper implements ICompletionProvider {
|
||||
}
|
||||
}
|
||||
|
||||
- if (this.source != this.server && this.server.getGameRules().getBoolean(GameRules.RULE_LOGADMINCOMMANDS)) {
|
||||
+ if (this.source != this.server && this.server.getGameRules().getBoolean(GameRules.RULE_LOGADMINCOMMANDS) && !org.spigotmc.SpigotConfig.silentCommandBlocks) { // Spigot
|
||||
this.server.sendMessage(ichatmutablecomponent, SystemUtils.NIL_UUID);
|
||||
this.server.sendSystemMessage(ichatmutablecomponent);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 9c9d0968bc8890b423d4f3f822ebd78055c26062 Mon Sep 17 00:00:00 2001
|
||||
From b3ac24264186372f66e631623dbede7e920df8a7 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 a772b1038..6ebb7a545 100644
|
||||
index fe0faaec4..fc07b273a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1927,6 +1927,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1925,6 +1925,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
server.getServer().getPlayerList().respawn( getHandle(), false );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From ae2e68ed81a1b871679cfe1874956ffed71059b0 Mon Sep 17 00:00:00 2001
|
||||
From 4956a3550dc6dcff27f90c02ad5e5138435c9f7c 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 21aab1d9c..dba66fefa 100644
|
||||
index 36ba99086..24d892b38 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -432,8 +432,11 @@ public final class CraftServer implements Server {
|
||||
@@ -427,8 +427,11 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
if (type == PluginLoadOrder.POSTWORLD) {
|
||||
|
@ -21,7 +21,7 @@ index 21aab1d9c..dba66fefa 100644
|
|||
commandMap.registerServerAliases();
|
||||
DefaultPermissions.registerCorePermissions();
|
||||
CraftDefaultPermissions.registerCorePermissions();
|
||||
@@ -447,12 +450,21 @@ public final class CraftServer implements Server {
|
||||
@@ -442,12 +445,21 @@ public final class CraftServer implements Server {
|
||||
pluginManager.disablePlugins();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 58476357cde5256a2f32ac2c0d277a47a299f2ee Mon Sep 17 00:00:00 2001
|
||||
From ef05aae3857fb22e6811967c885f120a8a9758b6 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
|
||||
|
@ -26,10 +26,10 @@ index 95985a722..9170b85e3 100644
|
|||
this.level.playLocalSound(this.getX(), this.getY(), this.getZ(), SoundEffects.LIGHTNING_BOLT_THUNDER, SoundCategory.WEATHER, 10000.0F, 0.8F + this.random.nextFloat() * 0.2F, false);
|
||||
this.level.playLocalSound(this.getX(), this.getY(), this.getZ(), SoundEffects.LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0F, 0.5F + this.random.nextFloat() * 0.2F, false);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 72e29db0a..7cb8a6b5f 100644
|
||||
index 0d5122750..d107421e5 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -1834,6 +1834,26 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -1842,6 +1842,26 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
// Spigot start
|
||||
private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot()
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From b3caae087733b9241d884a2779eb63146f3c2146 Mon Sep 17 00:00:00 2001
|
||||
From 4ad40b1a66e0c480839120a41538d153377abab2 Mon Sep 17 00:00:00 2001
|
||||
From: FrozenBrain <carstenbamsti@googlemail.com>
|
||||
Date: Sun, 2 Mar 2014 21:13:46 +0100
|
||||
Subject: [PATCH] Use one PermissibleBase for all Command Blocks
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From ceac742ade72e7b0191c2299d69bd3657dd57053 Mon Sep 17 00:00:00 2001
|
||||
From d3bd4a3900b1568721b2f6ea97dd85c50ca441f6 Mon Sep 17 00:00:00 2001
|
||||
From: Thinkofdeath <thethinkofdeath@gmail.com>
|
||||
Date: Wed, 5 Mar 2014 20:27:27 +0000
|
||||
Subject: [PATCH] Prevent hoppers from loading chunks
|
||||
|
||||
|
||||
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 92f93542c..d8db5d531 100644
|
||||
index d35ce34b2..3111fecb1 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
|
||||
@@ -465,6 +465,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
@@ -464,6 +464,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper {
|
||||
private static IInventory getContainerAt(World world, double d0, double d1, double d2) {
|
||||
Object object = null;
|
||||
BlockPosition blockposition = new BlockPosition(d0, d1, d2);
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 281ec81737d0c9a16fe3c331f3be695abb4040c2 Mon Sep 17 00:00:00 2001
|
||||
From 58535d438ec177ca5c27d26f69860c1bbc7b1a16 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 798e461ac..62eb0a0aa 100644
|
||||
index f1d6809ac..fb51a3ff7 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
|
||||
@@ -635,7 +635,24 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
|
||||
@@ -631,7 +631,24 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
|
||||
}
|
||||
|
||||
if (this.dragonDeathTime == 1 && !this.isSilent()) {
|
||||
|
@ -47,10 +47,10 @@ index 86cc37ed8..d3352870a 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 bc1cd08ae..f8b6cf40f 100644
|
||||
index e3c6fda40..f97c94517 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemEnderEye.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemEnderEye.java
|
||||
@@ -58,7 +58,25 @@ public class ItemEnderEye extends Item {
|
||||
@@ -60,7 +60,25 @@ public class ItemEnderEye extends Item {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 6f3a3f4061b13bc32731413adbd2b4fd1a509e8e Mon Sep 17 00:00:00 2001
|
||||
From b77983ebbd27f945d31a20dc4e25190f756fee69 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 d5fe9f5e7..c96292c9f 100644
|
||||
index de58e7eab..932307717 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1419,7 +1419,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1379,7 +1379,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 38f926683fa22223011223a19ef2b6852c15caf9 Mon Sep 17 00:00:00 2001
|
||||
From e389f39b54c8884222c8f5794990058216544023 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Sat, 12 Apr 2014 21:23:58 +1000
|
||||
Subject: [PATCH] Treat Bungee as Online Mode
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 999c12d57..ee074ef0a 100644
|
||||
index 65d4053e4..7efeb7aec 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -236,7 +236,14 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -228,7 +228,14 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
if (!this.usesAuthentication()) {
|
||||
DedicatedServer.LOGGER.warn("**** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!");
|
||||
DedicatedServer.LOGGER.warn("The server will make no attempt to authenticate usernames. Beware.");
|
||||
|
@ -25,7 +25,7 @@ index 999c12d57..ee074ef0a 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/players/NameReferencingFileConverter.java
|
||||
index b18513393..eef7c2c41 100644
|
||||
index d498b61ca..060f66af1 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/NameReferencingFileConverter.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/NameReferencingFileConverter.java
|
||||
@@ -68,7 +68,7 @@ public class NameReferencingFileConverter {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
From 7d8ae9bb9c03c50b11d85f8bc0aa5c74c7379ea0 Mon Sep 17 00:00:00 2001
|
||||
From a8412110ec31fbb30d48756809c463bc533366fa 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 d111deea1..9d942f125 100644
|
||||
index ffb10b60a..5f718e47d 100644
|
||||
--- a/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
@@ -151,6 +151,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 13f490f84c10db41e0ddbb0feb76ba9c827d2b96 Mon Sep 17 00:00:00 2001
|
||||
From a5ff8f8b84f183338c90d92ec437632a5ba2fb7f 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.
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
From 0db31b3587f9c00019ba71ec439ac034dc9b1175 Mon Sep 17 00:00:00 2001
|
||||
From a00167bc4872c7abefd5c59900b9eb807b050268 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Mon, 14 Apr 2014 09:46:20 +1000
|
||||
Subject: [PATCH] Use Provided Case for Non Existent Offline Players
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/UserCache.java b/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
index e500313b0..c9a9e6266 100644
|
||||
index 1d1813a00..8d5c87afd 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
@@ -152,7 +152,7 @@ public class UserCache {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From a8df695f6de5565c963fa72d15e1be6786c46dd9 Mon Sep 17 00:00:00 2001
|
||||
From 8592661782817ea806f5e541964afda2f6b93ff9 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
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Fix Player Banning
|
|||
This issue stems from the fact that Bukkit's API only allows a UUID to be banned, but Minecraft requires both a UUID and name. To fix this we modify the code to require a UUID or a name, or both. The correct fix would be expanding the API to be able to provide a name, however this would require plugin changes.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/GameProfileBanEntry.java b/src/main/java/net/minecraft/server/players/GameProfileBanEntry.java
|
||||
index 1e624d507..691b6e472 100644
|
||||
index e7085ccdd..904c9f162 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/GameProfileBanEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/GameProfileBanEntry.java
|
||||
@@ -41,20 +41,29 @@ public class GameProfileBanEntry extends ExpirableListEntry<GameProfile> {
|
||||
@@ -40,20 +40,29 @@ public class GameProfileBanEntry extends ExpirableListEntry<GameProfile> {
|
||||
}
|
||||
|
||||
private static GameProfile createGameProfile(JsonObject jsonobject) {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From e14f4fbc8e45968cd133d751e99601a07e3759bb Mon Sep 17 00:00:00 2001
|
||||
From 0f095875b3f6f37c37daf0d9caba4696b533a73a 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 d4dd846db..c57e2d40b 100644
|
||||
index 60e47cf63..57f63aa83 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/World.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/World.java
|
||||
@@ -145,6 +145,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -151,6 +151,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
|
||||
|
||||
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
|
||||
|
@ -16,7 +16,7 @@ index d4dd846db..c57e2d40b 100644
|
|||
|
||||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
@@ -366,7 +367,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -377,7 +378,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
// CraftBukkit start
|
||||
if (!this.captureBlockStates) { // Don't notify clients or update physics while capturing blockstates
|
||||
// Modularize client and physic updates
|
||||
|
@ -31,17 +31,21 @@ index d4dd846db..c57e2d40b 100644
|
|||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -525,6 +532,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
}
|
||||
// CraftBukkit end
|
||||
iblockdata.neighborChanged(this, blockposition, block, blockposition1, false);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/redstone/NeighborUpdater.java b/src/main/java/net/minecraft/world/level/redstone/NeighborUpdater.java
|
||||
index 934fa443c..ca37ef601 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/redstone/NeighborUpdater.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/redstone/NeighborUpdater.java
|
||||
@@ -64,6 +64,10 @@ public interface NeighborUpdater {
|
||||
}
|
||||
// CraftBukkit end
|
||||
iblockdata.neighborChanged(world, blockposition, block, blockposition1, flag);
|
||||
+ // Spigot Start
|
||||
+ } catch (StackOverflowError ex) {
|
||||
+ lastPhysicsProblem = new BlockPosition(blockposition);
|
||||
+ // Spigot End
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception while updating neighbours");
|
||||
CrashReportSystemDetails crashreportsystemdetails = crashreport.addCategory("Block being updated");
|
||||
+ } catch (StackOverflowError ex) {
|
||||
+ world.lastPhysicsProblem = new BlockPosition(blockposition);
|
||||
+ // Spigot End
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception while updating neighbours");
|
||||
CrashReportSystemDetails crashreportsystemdetails = crashreport.addCategory("Block being updated");
|
||||
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
index 4734d4ae8..b4eeeb0d0 100644
|
||||
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From b620c5729a02c8618fef8a512d6e504a0413ca86 Mon Sep 17 00:00:00 2001
|
||||
From c62916f9bf3f6747956a540828838665827847ef 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 9d942f125..927b59532 100644
|
||||
index 5f718e47d..3ddc3480c 100644
|
||||
--- a/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
@@ -81,6 +81,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
|
@ -44,10 +44,10 @@ index 9d942f125..927b59532 100644
|
|||
this.channel.close(); // We can't wait as this may be called from an event loop.
|
||||
this.disconnectedReason = ichatbasecomponent;
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerConnection.java b/src/main/java/net/minecraft/server/network/ServerConnection.java
|
||||
index a2a2d1fa4..609dc7c5f 100644
|
||||
index e462ddade..a82553db7 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerConnection.java
|
||||
@@ -184,6 +184,10 @@ public class ServerConnection {
|
||||
@@ -185,6 +185,10 @@ public class ServerConnection {
|
||||
networkmanager.setReadOnly();
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
From 2717452042ff819bb909f3132d2ea21692374712 Mon Sep 17 00:00:00 2001
|
||||
From 8920e37b18240700604bcfc89366ab9b416b3e8c 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
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/UserCache.java b/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
index c9a9e6266..961db661e 100644
|
||||
index 8d5c87afd..94bbe31c3 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
@@ -273,7 +273,7 @@ public class UserCache {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From aad118b13837d2426841f23d5e19441144cbfe38 Mon Sep 17 00:00:00 2001
|
||||
From a0b82a022162668f33f88697efc053bfdaf5dc5a 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 d7685e96d..6ffd915f1 100644
|
||||
index a40e1e508..fabbad4d2 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -212,6 +212,19 @@ public abstract class PlayerList {
|
||||
@@ -216,6 +216,19 @@ public abstract class PlayerList {
|
||||
s1 = networkmanager.getRemoteAddress().toString();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From c6bdb1c577ed7b2f18857da17a5c168da37fc73a Mon Sep 17 00:00:00 2001
|
||||
From ff547b4684f46018596ffbed52d3f01b9cf62b87 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 c96292c9f..9ebd21b88 100644
|
||||
index 932307717..fd9f02e44 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
|
||||
@@ -921,6 +921,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
} catch (IOException ioexception1) {
|
||||
MinecraftServer.LOGGER.error("Failed to unlock level {}", this.storageSource.getLevelId(), ioexception1);
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ index c96292c9f..9ebd21b88 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/UserCache.java b/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
index 961db661e..45dd649be 100644
|
||||
index 94bbe31c3..89bbe9350 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
@@ -127,7 +127,7 @@ public class UserCache {
|
||||
|
|
|
@ -1,53 +1,54 @@
|
|||
From a55d63a21fb13c91431336e6986d3a3c26e07cb5 Mon Sep 17 00:00:00 2001
|
||||
From c37b3da2280edf731f270acb2f5359a47e29202f 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
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/network/protocol/game/PacketPlayInBlockPlace.java b/src/main/java/net/minecraft/network/protocol/game/PacketPlayInBlockPlace.java
|
||||
index 16c75cc19..9156180c1 100644
|
||||
index 74612f5f7..afec33eef 100644
|
||||
--- a/src/main/java/net/minecraft/network/protocol/game/PacketPlayInBlockPlace.java
|
||||
+++ b/src/main/java/net/minecraft/network/protocol/game/PacketPlayInBlockPlace.java
|
||||
@@ -8,12 +8,14 @@ import net.minecraft.world.EnumHand;
|
||||
public class PacketPlayInBlockPlace implements Packet<PacketListenerPlayIn> {
|
||||
@@ -9,6 +9,7 @@ public class PacketPlayInBlockPlace implements Packet<PacketListenerPlayIn> {
|
||||
|
||||
private final EnumHand hand;
|
||||
private final int sequence;
|
||||
+ public long timestamp; // Spigot
|
||||
|
||||
public PacketPlayInBlockPlace(EnumHand enumhand) {
|
||||
public PacketPlayInBlockPlace(EnumHand enumhand, int i) {
|
||||
this.hand = enumhand;
|
||||
@@ -16,6 +17,7 @@ public class PacketPlayInBlockPlace implements Packet<PacketListenerPlayIn> {
|
||||
}
|
||||
|
||||
public PacketPlayInBlockPlace(PacketDataSerializer packetdataserializer) {
|
||||
+ this.timestamp = System.currentTimeMillis(); // Spigot
|
||||
this.hand = (EnumHand) packetdataserializer.readEnum(EnumHand.class);
|
||||
this.sequence = packetdataserializer.readVarInt();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/network/protocol/game/PacketPlayInUseItem.java b/src/main/java/net/minecraft/network/protocol/game/PacketPlayInUseItem.java
|
||||
index 5381761ea..e7b7eb9f0 100644
|
||||
index 675909dc6..44ed8f10d 100644
|
||||
--- a/src/main/java/net/minecraft/network/protocol/game/PacketPlayInUseItem.java
|
||||
+++ b/src/main/java/net/minecraft/network/protocol/game/PacketPlayInUseItem.java
|
||||
@@ -10,6 +10,7 @@ public class PacketPlayInUseItem implements Packet<PacketListenerPlayIn> {
|
||||
|
||||
@@ -11,6 +11,7 @@ public class PacketPlayInUseItem implements Packet<PacketListenerPlayIn> {
|
||||
private final MovingObjectPositionBlock blockHit;
|
||||
private final EnumHand hand;
|
||||
private final int sequence;
|
||||
+ public long timestamp; // Spigot
|
||||
|
||||
public PacketPlayInUseItem(EnumHand enumhand, MovingObjectPositionBlock movingobjectpositionblock) {
|
||||
public PacketPlayInUseItem(EnumHand enumhand, MovingObjectPositionBlock movingobjectpositionblock, int i) {
|
||||
this.hand = enumhand;
|
||||
@@ -17,6 +18,7 @@ public class PacketPlayInUseItem implements Packet<PacketListenerPlayIn> {
|
||||
@@ -19,6 +20,7 @@ public class PacketPlayInUseItem implements Packet<PacketListenerPlayIn> {
|
||||
}
|
||||
|
||||
public PacketPlayInUseItem(PacketDataSerializer packetdataserializer) {
|
||||
+ this.timestamp = System.currentTimeMillis(); // Spigot
|
||||
this.hand = (EnumHand) packetdataserializer.readEnum(EnumHand.class);
|
||||
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 96404894f..de4011001 100644
|
||||
index 907866c7a..b5633141a 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
@@ -1500,10 +1500,30 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -1532,10 +1532,30 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,17 +76,17 @@ index 96404894f..de4011001 100644
|
|||
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinuseitem, this, this.player.getLevel());
|
||||
if (this.player.isImmobile()) return; // CraftBukkit
|
||||
+ if (!checkLimit(packetplayinuseitem.timestamp)) return; // Spigot - check limit
|
||||
this.player.connection.ackBlockChangesUpTo(packetplayinuseitem.getSequence());
|
||||
WorldServer worldserver = this.player.getLevel();
|
||||
EnumHand enumhand = packetplayinuseitem.getHand();
|
||||
ItemStack itemstack = this.player.getItemInHand(enumhand);
|
||||
@@ -1554,6 +1574,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -1586,6 +1606,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
public void handleUseItem(PacketPlayInBlockPlace packetplayinblockplace) {
|
||||
PlayerConnectionUtils.ensureRunningOnSameThread(packetplayinblockplace, this, this.player.getLevel());
|
||||
if (this.player.isImmobile()) return; // CraftBukkit
|
||||
+ if (!checkLimit(packetplayinblockplace.timestamp)) return; // Spigot - check limit
|
||||
this.ackBlockChangesUpTo(packetplayinblockplace.getSequence());
|
||||
WorldServer worldserver = this.player.getLevel();
|
||||
EnumHand enumhand = packetplayinblockplace.getHand();
|
||||
ItemStack itemstack = this.player.getItemInHand(enumhand);
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 3f11f4f96e738fbfc2afce08d04c6e4caa1a421f Mon Sep 17 00:00:00 2001
|
||||
From 9e00e7b761dc5ac5e34fdbb8efd057f58e7f7451 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/network/PacketDataSerializer.java b/src/main/java/net/minecraft/network/PacketDataSerializer.java
|
||||
index d241dd38b..8defe3019 100644
|
||||
index e06014976..91bbb9ff4 100644
|
||||
--- a/src/main/java/net/minecraft/network/PacketDataSerializer.java
|
||||
+++ b/src/main/java/net/minecraft/network/PacketDataSerializer.java
|
||||
@@ -481,6 +481,10 @@ public class PacketDataSerializer extends ByteBuf {
|
||||
@@ -564,6 +564,10 @@ public class PacketDataSerializer extends ByteBuf {
|
||||
NBTTagCompound nbttagcompound = null;
|
||||
|
||||
if (item.canBeDepleted() || item.shouldOverrideMultiplayerNbt()) {
|
||||
|
@ -58,7 +58,7 @@ index 4229c88dd..d14b5c38d 100644
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
|
||||
index b3ab8c56c..82ef4a4b2 100644
|
||||
index b4389c1a0..aca227cb2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
|
||||
@@ -77,6 +77,10 @@ import org.bukkit.inventory.meta.Repairable;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 1ad219cb5c9fadac272c01fdefa6b176425571ed Mon Sep 17 00:00:00 2001
|
||||
From 7e7e16af8fdf68d184cf4397d633d49845338459 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,43 +6,43 @@ 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/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
index 262de8928..9baab0e79 100644
|
||||
index cc2e329ac..2b2487ac5 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
@@ -245,6 +245,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -262,6 +262,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
if (gen != null) {
|
||||
chunkgenerator = new org.bukkit.craftbukkit.generator.CustomChunkGenerator(this, chunkgenerator, gen);
|
||||
}
|
||||
+ chunkgenerator.conf = spigotConfig; // Spigot
|
||||
// CraftBukkit end
|
||||
chunkgenerator.ensureStructuresGenerated();
|
||||
boolean flag2 = minecraftserver.forceSynchronousWrites();
|
||||
DataFixer datafixer = minecraftserver.getFixerUpper();
|
||||
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 8f6baef3c..0b8b10f88 100644
|
||||
index cc47b0cf2..43ed956ce 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java
|
||||
@@ -322,7 +322,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
|
||||
@@ -317,7 +317,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
|
||||
}
|
||||
|
||||
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(blockposition);
|
||||
- boolean flag = SeededRandom.seedSlimeChunk(chunkcoordintpair.x, chunkcoordintpair.z, ((GeneratorAccessSeed) generatoraccess).getSeed(), 987234911L).nextInt(10) == 0;
|
||||
+ boolean flag = SeededRandom.seedSlimeChunk(chunkcoordintpair.x, chunkcoordintpair.z, ((GeneratorAccessSeed) generatoraccess).getSeed(), generatoraccess.getMinecraftWorld().spigotConfig.slimeSeed).nextInt(10) == 0; // Spigot
|
||||
|
||||
if (random.nextInt(10) == 0 && flag && blockposition.getY() < 40) {
|
||||
return checkMobSpawnRules(entitytypes, generatoraccess, enummobspawn, blockposition, random);
|
||||
if (randomsource.nextInt(10) == 0 && flag && blockposition.getY() < 40) {
|
||||
return checkMobSpawnRules(entitytypes, generatoraccess, enummobspawn, blockposition, randomsource);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
index 4613925b6..dcb1fa378 100644
|
||||
index ab7c631a9..23d3a9c07 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
@@ -101,6 +101,7 @@ public abstract class ChunkGenerator implements BiomeManager.Provider {
|
||||
/** @deprecated */
|
||||
@Deprecated
|
||||
public final long ringPlacementSeed;
|
||||
@@ -98,6 +98,7 @@ public abstract class ChunkGenerator {
|
||||
private final Map<Structure, List<StructurePlacement>> placementsForStructure;
|
||||
private final Map<ConcentricRingsStructurePlacement, CompletableFuture<List<ChunkCoordIntPair>>> ringPositions;
|
||||
private boolean hasGeneratedPositions;
|
||||
+ public org.spigotmc.SpigotWorldConfig conf; // Spigot
|
||||
|
||||
protected static final <T extends ChunkGenerator> P1<Mu<T>, IRegistry<StructureSet>> commonCodec(Instance<T> instance) {
|
||||
protected static <T extends ChunkGenerator> P1<Mu<T>, IRegistry<StructureSet>> commonCodec(Instance<T> instance) {
|
||||
return instance.group(RegistryOps.retrieveRegistry(IRegistry.STRUCTURE_SET_REGISTRY).forGetter((chunkgenerator) -> {
|
||||
@@ -126,11 +127,72 @@ public abstract class ChunkGenerator implements BiomeManager.Provider {
|
||||
@@ -129,11 +130,72 @@ public abstract class ChunkGenerator {
|
||||
return this.structureOverrides.isPresent() ? ((HolderSet) this.structureOverrides.get()).stream() : this.structureSets.holders().map(Holder::hackyErase);
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,7 @@ index 4613925b6..dcb1fa378 100644
|
|||
+ return possibleStructureSets().map(Holder::value).map((structureset) -> {
|
||||
+ if (structureset.placement() instanceof RandomSpreadStructurePlacement randomConfig) {
|
||||
+ String name = structureSets.getKey(structureset).getPath();
|
||||
+ int seed = randomConfig.salt();
|
||||
+ int seed = randomConfig.salt;
|
||||
+
|
||||
+ switch (name) {
|
||||
+ case "desert_pyramids":
|
||||
|
@ -98,15 +98,15 @@ index 4613925b6..dcb1fa378 100644
|
|||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ structureset = new StructureSet(structureset.structures(), new RandomSpreadStructurePlacement(randomConfig.spacing(), randomConfig.separation(), randomConfig.spreadType(), seed, randomConfig.locateOffset()));
|
||||
+ structureset = new StructureSet(structureset.structures(), new RandomSpreadStructurePlacement(randomConfig.locateOffset, randomConfig.frequencyReductionMethod, randomConfig.frequency, seed, randomConfig.exclusionZone, randomConfig.spacing(), randomConfig.separation(), randomConfig.spreadType()));
|
||||
+ }
|
||||
+ return structureset;
|
||||
+ });
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
private void generatePositions() {
|
||||
Set<Holder<BiomeBase>> set = this.runtimeBiomeSource.possibleBiomes();
|
||||
private void generatePositions(RandomState randomstate) {
|
||||
Set<Holder<BiomeBase>> set = this.biomeSource.possibleBiomes();
|
||||
|
||||
- this.possibleStructureSets().forEach((holder) -> {
|
||||
- StructureSet structureset = (StructureSet) holder.value();
|
||||
|
@ -114,24 +114,19 @@ index 4613925b6..dcb1fa378 100644
|
|||
+ this.possibleStructureSetsSpigot().forEach((holder) -> {
|
||||
+ StructureSet structureset = (StructureSet) holder;
|
||||
+ // Spigot end
|
||||
boolean flag = false;
|
||||
Iterator iterator = structureset.structures().iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
@@ -157,11 +219,11 @@ public abstract class ChunkGenerator implements BiomeManager.Provider {
|
||||
@@ -164,7 +226,7 @@ public abstract class ChunkGenerator {
|
||||
});
|
||||
}
|
||||
|
||||
- private CompletableFuture<List<ChunkCoordIntPair>> generateRingPositions(Holder<StructureSet> holder, ConcentricRingsStructurePlacement concentricringsstructureplacement) {
|
||||
+ private CompletableFuture<List<ChunkCoordIntPair>> generateRingPositions(StructureSet holder, ConcentricRingsStructurePlacement concentricringsstructureplacement) { // Spigot
|
||||
- private CompletableFuture<List<ChunkCoordIntPair>> generateRingPositions(Holder<StructureSet> holder, RandomState randomstate, ConcentricRingsStructurePlacement concentricringsstructureplacement) {
|
||||
+ private CompletableFuture<List<ChunkCoordIntPair>> generateRingPositions(StructureSet holder, RandomState randomstate, ConcentricRingsStructurePlacement concentricringsstructureplacement) { // Spigot
|
||||
return concentricringsstructureplacement.count() == 0 ? CompletableFuture.completedFuture(List.of()) : CompletableFuture.supplyAsync(SystemUtils.wrapThreadWithTaskName("placement calculation", () -> {
|
||||
Stopwatch stopwatch = Stopwatch.createStarted(SystemUtils.TICKER);
|
||||
List<ChunkCoordIntPair> list = new ArrayList();
|
||||
- Set<Holder<BiomeBase>> set = (Set) ((StructureSet) holder.value()).structures().stream().flatMap((structureset_a) -> {
|
||||
+ Set<Holder<BiomeBase>> set = (Set) ((StructureSet) holder).structures().stream().flatMap((structureset_a) -> { // Spigot
|
||||
return ((StructureFeature) structureset_a.structure().value()).biomes().stream();
|
||||
}).collect(Collectors.toSet());
|
||||
int i = concentricringsstructureplacement.distance();
|
||||
@@ -666,9 +728,11 @@ public abstract class ChunkGenerator implements BiomeManager.Provider {
|
||||
@@ -655,9 +717,11 @@ public abstract class ChunkGenerator {
|
||||
ChunkCoordIntPair chunkcoordintpair = ichunkaccess.getPos();
|
||||
SectionPosition sectionposition = SectionPosition.bottomOf(ichunkaccess);
|
||||
|
||||
|
@ -147,10 +142,10 @@ index 4613925b6..dcb1fa378 100644
|
|||
|
||||
while (iterator.hasNext()) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
|
||||
index 0fc38f7f1..8d68f0567 100644
|
||||
index 9818d6271..ed86a0674 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
|
||||
@@ -220,7 +220,7 @@ public class CraftChunk implements Chunk {
|
||||
@@ -221,7 +221,7 @@ public class CraftChunk implements Chunk {
|
||||
@Override
|
||||
public boolean isSlimeChunk() {
|
||||
// 987234911L is deterimined in EntitySlime when seeing if a slime can spawn in a chunk
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 5a8df836eec161febd64dc340ba4152a5efaa5a9 Mon Sep 17 00:00:00 2001
|
||||
From 66ad130b493067a27c9d166c3a717503ad9ec0af 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
|
||||
|
@ -24,7 +24,7 @@ index 1220c2e88..86fb74deb 100644
|
|||
if (bufferedreader != null) {
|
||||
try {
|
||||
diff --git a/src/main/java/net/minecraft/server/players/UserCache.java b/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
index 45dd649be..c871a8cab 100644
|
||||
index 89bbe9350..d5428f7ca 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/UserCache.java
|
||||
@@ -262,6 +262,11 @@ public class UserCache {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 5782bfc607e8cf59d7d0d081d6ef9c29616a044a Mon Sep 17 00:00:00 2001
|
||||
From 301407af5808cc295fbcbbd4c1e8da24e23bf9a6 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 3f6b4603f..c2828b121 100644
|
||||
index 420f558cc..f2556b213 100644
|
||||
--- a/src/main/java/net/minecraft/server/Main.java
|
||||
+++ b/src/main/java/net/minecraft/server/Main.java
|
||||
@@ -121,7 +121,16 @@ public class Main {
|
||||
@@ -122,7 +122,16 @@ public class Main {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 641bafaa37f8cb8dfa36bb6b836f4dcc397bf885 Mon Sep 17 00:00:00 2001
|
||||
From d462701225a3d6727fb0063d1237ff9c4727f796 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 6ebb7a545..83f8a08f2 100644
|
||||
index fc07b273a..a9a615a1e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1730,7 +1730,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1728,7 +1728,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
}
|
||||
AttributeModifiable dummy = new AttributeModifiable(GenericAttributes.MAX_HEALTH, (attribute) -> { });
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 70007b4e71dae3eac73d2afd33260d91fccc8fed Mon Sep 17 00:00:00 2001
|
||||
From 2ec641e93a8df824d956170f5c363f8e8320567c 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 de4011001..b49ecff59 100644
|
||||
index b5633141a..fed83fe7e 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
@@ -551,7 +551,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -579,7 +579,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
d10 = d6 * d6 + d7 * d7 + d8 * d8;
|
||||
boolean flag2 = false;
|
||||
|
||||
|
@ -17,7 +17,7 @@ index de4011001..b49ecff59 100644
|
|||
flag2 = true;
|
||||
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", new Object[]{entity.getName().getString(), this.player.getName().getString(), Math.sqrt(d10)});
|
||||
}
|
||||
@@ -1205,7 +1205,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -1236,7 +1236,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
d11 = d7 * d7 + d8 * d8 + d9 * d9;
|
||||
boolean flag2 = false;
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From f9c35995e501b023f115fc0f9fabc72110189c86 Mon Sep 17 00:00:00 2001
|
||||
From feedeebfb42cfd0f19e390fdbba72c7da45139c4 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 b49ecff59..48a4a0eff 100644
|
||||
index fed83fe7e..28e75378e 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
@@ -524,7 +524,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -552,7 +552,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
}
|
||||
speed *= 2f; // TODO: Get the speed of the vehicle instead of the player
|
||||
|
||||
|
@ -17,7 +17,7 @@ index b49ecff59..48a4a0eff 100644
|
|||
// CraftBukkit end
|
||||
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8});
|
||||
this.connection.send(new PacketPlayOutVehicleMove(entity));
|
||||
@@ -1170,7 +1170,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -1201,7 +1201,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
if (!this.player.isChangingDimension() && (!this.player.getLevel().getGameRules().getBoolean(GameRules.RULE_DISABLE_ELYTRA_MOVEMENT_CHECK) || !this.player.isFallFlying())) {
|
||||
float f2 = this.player.isFallFlying() ? 300.0F : 100.0F;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 301d4e677703bfe3396849129f60372bfaee7c5c Mon Sep 17 00:00:00 2001
|
||||
From ccddb8c16a999a8911ae0d3eb7a348f8ddfef214 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.
|
||||
|
|
|
@ -1,23 +1,10 @@
|
|||
From 79ce9ae574ceb6b0d22e092f255a276a1e7fc031 Mon Sep 17 00:00:00 2001
|
||||
From 339772ebaf722c25fff5d7fbb39c5f940f11409f 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.
|
||||
|
||||
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/AttributeRanged.java b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeRanged.java
|
||||
index dd381de81..c83598d84 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeRanged.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeRanged.java
|
||||
@@ -5,7 +5,7 @@ import net.minecraft.util.MathHelper;
|
||||
public class AttributeRanged extends AttributeBase {
|
||||
|
||||
private final double minValue;
|
||||
- public final double maxValue;
|
||||
+ public double maxValue; // Spigot
|
||||
|
||||
public AttributeRanged(String s, double d0, double d1, double d2) {
|
||||
super(s, d0);
|
||||
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 0d1c6e497..18bb28ad1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/attributes/GenericAttributes.java
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 7c436a38a2868693877b2f50efe8561aa968d6ac Mon Sep 17 00:00:00 2001
|
||||
From 406590ab85194dcb441f1e8cf2d9cdf5f5d839b3 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Van de Wynckel <maxim_vdw@hotmail.com>
|
||||
Date: Wed, 30 Jul 2014 01:19:51 +0200
|
||||
Subject: [PATCH] Only fetch an online UUID in online mode
|
||||
|
@ -12,10 +12,10 @@ You want to store data for player "Test" who never joined. An online UUID is cr
|
|||
The player Test joins with an offline UUID but that will not match the online UUID of the saved data.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index dba66fefa..6ea0d7404 100644
|
||||
index 24d892b38..340765265 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1608,8 +1608,14 @@ public final class CraftServer implements Server {
|
||||
@@ -1591,8 +1591,14 @@ public final class CraftServer implements Server {
|
||||
|
||||
OfflinePlayer result = getPlayerExact(name);
|
||||
if (result == null) {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 7e90e83952988e43048b67273bd6b86e56a5e60a Mon Sep 17 00:00:00 2001
|
||||
From 1c7a6bedc6fab09b02d4c67664b9573715675fac 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 9baab0e79..d94972412 100644
|
||||
index 2b2487ac5..6f98c017d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
@@ -1925,6 +1925,29 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -2004,6 +2004,29 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
public void onTrackingEnd(Entity entity) {
|
||||
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
From 48a8528b94420a734029d9066a5ba513bfc57491 Mon Sep 17 00:00:00 2001
|
||||
From 9777f32b94c1b7d5f3a30fb5c82e8403cfc9b5df Mon Sep 17 00:00:00 2001
|
||||
From: drXor <mcyoung@mit.edu>
|
||||
Date: Fri, 15 Aug 2014 18:11:09 -0400
|
||||
Subject: [PATCH] Remove uneeded validation
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
|
||||
index 82ef4a4b2..d1d05442c 100644
|
||||
index aca227cb2..ad1efdbe0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
|
||||
@@ -304,7 +304,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 9af83986ad60bfd9b85b6162dff7d9c1f8a27aad Mon Sep 17 00:00:00 2001
|
||||
From 071e07c24fcbab95f657a4f259ab123506d6a57e Mon Sep 17 00:00:00 2001
|
||||
From: lazertester <austin.techhead@gmail.com>
|
||||
Date: Sun, 17 Aug 2014 19:56:17 +1000
|
||||
Subject: [PATCH] Add Hunger Config Values
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
||||
index a90a971cc..59eba6701 100644
|
||||
index 4729c3e24..8a6cea609 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java
|
||||
@@ -1352,7 +1352,7 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@@ -1399,7 +1399,7 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ index a90a971cc..59eba6701 100644
|
|||
} else {
|
||||
this.level.playSound((EntityHuman) null, this.getX(), this.getY(), this.getZ(), SoundEffects.PLAYER_ATTACK_NODAMAGE, this.getSoundSource(), 1.0F, 1.0F);
|
||||
if (flag4) {
|
||||
@@ -1525,9 +1525,9 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@@ -1577,9 +1577,9 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
super.jumpFromGround();
|
||||
this.awardStat(StatisticList.JUMP);
|
||||
if (this.isSprinting()) {
|
||||
|
@ -29,7 +29,7 @@ index a90a971cc..59eba6701 100644
|
|||
}
|
||||
|
||||
}
|
||||
@@ -1600,19 +1600,19 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@@ -1652,19 +1652,19 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
i = Math.round((float) Math.sqrt(d0 * d0 + d1 * d1 + d2 * d2) * 100.0F);
|
||||
if (i > 0) {
|
||||
this.awardStat(StatisticList.SWIM_ONE_CM, i);
|
||||
|
@ -52,7 +52,7 @@ index a90a971cc..59eba6701 100644
|
|||
}
|
||||
} else if (this.onClimbable()) {
|
||||
if (d1 > 0.0D) {
|
||||
@@ -1623,13 +1623,13 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@@ -1675,13 +1675,13 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
if (i > 0) {
|
||||
if (this.isSprinting()) {
|
||||
this.awardStat(StatisticList.SPRINT_ONE_CM, i);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From e080d7f2ea8ec63ae83e988e442a3c1f06f8745e Mon Sep 17 00:00:00 2001
|
||||
From 06e0fdfd64993e05dbbda15468555565fa3c6b73 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.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From dd462f56d8bdcc4abb0f10d07bfe09af6429f257 Mon Sep 17 00:00:00 2001
|
||||
From 73982e50a43a2d0047227dfae5d4a850fa2172f6 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,7 +7,7 @@ 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 dce854ccc..a3ced6037 100644
|
||||
index dce854ccc..11c130bc1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/EntityTNTPrimed.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/EntityTNTPrimed.java
|
||||
@@ -63,6 +63,7 @@ public class EntityTNTPrimed extends Entity {
|
||||
|
@ -19,10 +19,10 @@ index dce854ccc..a3ced6037 100644
|
|||
this.setDeltaMovement(this.getDeltaMovement().add(0.0D, -0.04D, 0.0D));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
|
||||
index c57e2d40b..825bb3868 100644
|
||||
index 57f63aa83..b2019384b 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/World.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/World.java
|
||||
@@ -678,6 +678,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -636,6 +636,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
timings.tileEntityTick.stopTiming(); // Spigot
|
||||
this.tickingBlockEntities = false;
|
||||
gameprofilerfiller.pop();
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 776875de851246efad55456beef9d57282321ff9 Mon Sep 17 00:00:00 2001
|
||||
From 9d774a90b6b72e73525010b0c94ffd02cbb2642e Mon Sep 17 00:00:00 2001
|
||||
From: drXor <mcyoung@mit.edu>
|
||||
Date: Sat, 9 Aug 2014 13:56:51 -0400
|
||||
Subject: [PATCH] Configurable Hanging Tick
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/EntityHanging.java b/src/main/java/net/minecraft/world/entity/decoration/EntityHanging.java
|
||||
index 0a79a2eee..b47fd1c13 100644
|
||||
index 7d28b5e45..1dde5897c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/EntityHanging.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/EntityHanging.java
|
||||
@@ -117,7 +117,7 @@ public abstract class EntityHanging extends Entity {
|
||||
@@ -120,7 +120,7 @@ public abstract class EntityHanging extends Entity {
|
||||
public void tick() {
|
||||
if (!this.level.isClientSide) {
|
||||
this.checkOutOfWorld();
|
||||
|
|
|
@ -1,41 +1,46 @@
|
|||
From fcaa2b347e66a09393c4ec1b4a45f4a822995e75 Mon Sep 17 00:00:00 2001
|
||||
From 2e4255a49cba06e21f7872892fbcb984a6c0a080 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Sat, 13 Dec 2014 03:06:05 +0100
|
||||
Subject: [PATCH] BungeeCord Chat API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutChat.java b/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutChat.java
|
||||
index 484ab3140..5148f68a3 100644
|
||||
--- a/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutChat.java
|
||||
+++ b/src/main/java/net/minecraft/network/protocol/game/PacketPlayOutChat.java
|
||||
@@ -10,6 +10,7 @@ import net.minecraft.network.protocol.Packet;
|
||||
public class PacketPlayOutChat implements Packet<PacketListenerPlayOut> {
|
||||
diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.java
|
||||
index 69c974f42..114f48d80 100644
|
||||
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.java
|
||||
+++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundSystemChatPacket.java
|
||||
@@ -8,7 +8,17 @@ import net.minecraft.network.chat.ChatMessageType;
|
||||
import net.minecraft.network.chat.IChatBaseComponent;
|
||||
import net.minecraft.network.protocol.Packet;
|
||||
|
||||
private final IChatBaseComponent message;
|
||||
+ public net.md_5.bungee.api.chat.BaseComponent[] components; // Spigot
|
||||
private final ChatMessageType type;
|
||||
private final UUID sender;
|
||||
-public record ClientboundSystemChatPacket(IChatBaseComponent content, int typeId) implements Packet<PacketListenerPlayOut> {
|
||||
+// Spigot start
|
||||
+public record ClientboundSystemChatPacket(String content, int typeId) implements Packet<PacketListenerPlayOut> {
|
||||
+
|
||||
+ public ClientboundSystemChatPacket(IChatBaseComponent content, int typeId) {
|
||||
+ this(IChatBaseComponent.ChatSerializer.toJson(content), typeId);
|
||||
+ }
|
||||
+
|
||||
+ public ClientboundSystemChatPacket(net.md_5.bungee.api.chat.BaseComponent[] content, int typeId) {
|
||||
+ this(net.md_5.bungee.chat.ComponentSerializer.toString(content), typeId);
|
||||
+ }
|
||||
+ // Spigot end
|
||||
|
||||
@@ -27,7 +28,13 @@ public class PacketPlayOutChat implements Packet<PacketListenerPlayOut> {
|
||||
public ClientboundSystemChatPacket(PacketDataSerializer packetdataserializer) {
|
||||
this(packetdataserializer.readComponent(), packetdataserializer.readVarInt());
|
||||
@@ -16,7 +26,7 @@ public record ClientboundSystemChatPacket(IChatBaseComponent content, int typeId
|
||||
|
||||
@Override
|
||||
public void write(PacketDataSerializer packetdataserializer) {
|
||||
- packetdataserializer.writeComponent(this.message);
|
||||
+ // Spigot start
|
||||
+ if (components != null) {
|
||||
+ packetdataserializer.writeUtf(net.md_5.bungee.chat.ComponentSerializer.toString(components));
|
||||
+ } else {
|
||||
+ packetdataserializer.writeComponent(this.message);
|
||||
+ }
|
||||
+ // Spigot end
|
||||
packetdataserializer.writeByte(this.type.getIndex());
|
||||
packetdataserializer.writeUUID(this.sender);
|
||||
- packetdataserializer.writeComponent(this.content);
|
||||
+ packetdataserializer.writeUtf(this.content, 262144); // Spigot
|
||||
packetdataserializer.writeVarInt(this.typeId);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 6ea0d7404..159a184ae 100644
|
||||
index 340765265..6f56e26bb 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -245,6 +245,8 @@ import org.yaml.snakeyaml.Yaml;
|
||||
@@ -240,6 +240,8 @@ import org.yaml.snakeyaml.Yaml;
|
||||
import org.yaml.snakeyaml.constructor.SafeConstructor;
|
||||
import org.yaml.snakeyaml.error.MarkedYAMLException;
|
||||
|
||||
|
@ -44,7 +49,7 @@ index 6ea0d7404..159a184ae 100644
|
|||
public final class CraftServer implements Server {
|
||||
private final String serverName = "CraftBukkit";
|
||||
private final String serverVersion;
|
||||
@@ -2310,6 +2312,20 @@ public final class CraftServer implements Server {
|
||||
@@ -2293,6 +2295,20 @@ public final class CraftServer implements Server {
|
||||
public void restart() {
|
||||
org.spigotmc.RestartCommand.restart();
|
||||
}
|
||||
|
@ -100,7 +105,7 @@ index 74558e852..13008357b 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 b679deee7..12683cc96 100644
|
||||
index 2b95bfe26..a4e36b96e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -7,6 +7,7 @@ import com.google.common.collect.Lists;
|
||||
|
@ -111,7 +116,7 @@ index b679deee7..12683cc96 100644
|
|||
import net.minecraft.core.BlockPosition;
|
||||
import net.minecraft.nbt.NBTBase;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@@ -1088,6 +1089,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1100,6 +1101,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
// Spigot start
|
||||
private final org.bukkit.entity.Entity.Spigot spigot = new org.bukkit.entity.Entity.Spigot()
|
||||
{
|
||||
|
@ -139,10 +144,10 @@ index b679deee7..12683cc96 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 83f8a08f2..206b68039 100644
|
||||
index a9a615a1e..b230a1f2d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -151,6 +151,8 @@ import org.bukkit.plugin.messaging.StandardMessenger;
|
||||
@@ -149,6 +149,8 @@ import org.bukkit.plugin.messaging.StandardMessenger;
|
||||
import org.bukkit.profile.PlayerProfile;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
|
||||
|
@ -151,7 +156,7 @@ index 83f8a08f2..206b68039 100644
|
|||
@DelegateDeserialization(CraftOfflinePlayer.class)
|
||||
public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
private long firstPlayed = 0;
|
||||
@@ -1951,6 +1953,58 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1949,6 +1951,51 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
return java.util.Collections.unmodifiableSet( ret );
|
||||
}
|
||||
|
@ -163,11 +168,7 @@ index 83f8a08f2..206b68039 100644
|
|||
+
|
||||
+ @Override
|
||||
+ public void sendMessage(BaseComponent... components) {
|
||||
+ if ( getHandle().connection == null ) return;
|
||||
+
|
||||
+ PacketPlayOutChat packet = new PacketPlayOutChat(null, net.minecraft.network.chat.ChatMessageType.SYSTEM, SystemUtils.NIL_UUID);
|
||||
+ packet.components = components;
|
||||
+ getHandle().connection.send(packet);
|
||||
+ this.sendMessage(net.md_5.bungee.api.ChatMessageType.SYSTEM, components);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
|
@ -187,11 +188,7 @@ index 83f8a08f2..206b68039 100644
|
|||
+
|
||||
+ @Override
|
||||
+ public void sendMessage(net.md_5.bungee.api.ChatMessageType position, BaseComponent... components) {
|
||||
+ if ( getHandle().connection == null ) return;
|
||||
+
|
||||
+ PacketPlayOutChat packet = new PacketPlayOutChat(null, net.minecraft.network.chat.ChatMessageType.getForIndex((byte) position.ordinal()), SystemUtils.NIL_UUID);
|
||||
+ packet.components = components;
|
||||
+ getHandle().connection.send(packet);
|
||||
+ this.sendMessage(position, null, components);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
|
@ -203,9 +200,10 @@ index 83f8a08f2..206b68039 100644
|
|||
+ public void sendMessage(net.md_5.bungee.api.ChatMessageType position, UUID sender, BaseComponent... components) {
|
||||
+ if ( getHandle().connection == null ) return;
|
||||
+
|
||||
+ PacketPlayOutChat packet = new PacketPlayOutChat(null, net.minecraft.network.chat.ChatMessageType.getForIndex((byte) position.ordinal()), sender == null ? SystemUtils.NIL_UUID : sender);
|
||||
+ packet.components = components;
|
||||
+ getHandle().connection.send(packet);
|
||||
+ net.minecraft.core.IRegistry<ChatMessageType> iregistry = CraftPlayer.this.getHandle().level.registryAccess().registryOrThrow(net.minecraft.core.IRegistry.CHAT_TYPE_REGISTRY);
|
||||
+ int i = iregistry.getId((ChatMessageType) iregistry.get(ChatMessageType.SYSTEM));
|
||||
+
|
||||
+ getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, i));
|
||||
+ }
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 301f71492f826fc71d316f13b5137c8a8da8b75d Mon Sep 17 00:00:00 2001
|
||||
From 0dc87fe2bb1e006f754ee179c96958ac3f5669e4 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Fri, 20 Feb 2015 21:39:31 +1100
|
||||
Subject: [PATCH] Allow Capping (Tile)Entity Tick Time.
|
||||
|
@ -10,10 +10,10 @@ For tiles there is very little tradeoff for this option, as tile ticks are based
|
|||
This feature was commisioned by Chunkr.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/World.java b/src/main/java/net/minecraft/world/level/World.java
|
||||
index 825bb3868..6345b3cf0 100644
|
||||
index b2019384b..fde96ff46 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/World.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/World.java
|
||||
@@ -146,6 +146,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -152,6 +152,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
||||
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
|
||||
public static BlockPosition lastPhysicsProblem; // Spigot
|
||||
|
@ -23,7 +23,7 @@ index 825bb3868..6345b3cf0 100644
|
|||
|
||||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
@@ -232,6 +235,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -243,6 +246,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
});
|
||||
// CraftBukkit end
|
||||
timings = new SpigotTimings.WorldTimingsHandler(this); // Spigot - code below can generate new world and access timings
|
||||
|
@ -32,7 +32,7 @@ index 825bb3868..6345b3cf0 100644
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -656,20 +661,28 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -614,20 +619,28 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
timings.tileEntityPending.stopTiming(); // Spigot
|
||||
|
||||
timings.tileEntityTick.startTiming(); // Spigot
|
||||
|
@ -64,7 +64,7 @@ index 825bb3868..6345b3cf0 100644
|
|||
+ tilesThisCycle--;
|
||||
+ this.blockEntityTickers.remove(tileTickPosition--);
|
||||
+ // Spigot end
|
||||
} else if (this.shouldTickBlocksAt(ChunkCoordIntPair.asLong(tickingblockentity.getPos()))) {
|
||||
} else if (this.shouldTickBlocksAt(tickingblockentity.getPos())) {
|
||||
tickingblockentity.tick();
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 9f75f761f84fd81ca78b469d69ee74d49fd5de16 Mon Sep 17 00:00:00 2001
|
||||
From 9685f097a0c3bfd97256b23591f635d727960198 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 6ffd915f1..169f25a18 100644
|
||||
index fabbad4d2..8149e56a0 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -147,6 +147,7 @@ public abstract class PlayerList {
|
||||
@@ -151,6 +151,7 @@ public abstract class PlayerList {
|
||||
|
||||
// CraftBukkit start
|
||||
private CraftServer cserver;
|
||||
|
@ -16,7 +16,7 @@ index 6ffd915f1..169f25a18 100644
|
|||
|
||||
public PlayerList(MinecraftServer minecraftserver, IRegistryCustom.Dimension iregistrycustom_dimension, WorldNBTStorage worldnbtstorage, int i) {
|
||||
this.cserver = minecraftserver.server = new CraftServer((DedicatedServer) minecraftserver, this);
|
||||
@@ -262,6 +263,7 @@ public abstract class PlayerList {
|
||||
@@ -266,6 +267,7 @@ public abstract class PlayerList {
|
||||
|
||||
playerconnection.teleport(entityplayer.getX(), entityplayer.getY(), entityplayer.getZ(), entityplayer.getYRot(), entityplayer.getXRot());
|
||||
this.players.add(entityplayer);
|
||||
|
@ -24,7 +24,7 @@ index 6ffd915f1..169f25a18 100644
|
|||
this.playersByUUID.put(entityplayer.getUUID(), entityplayer);
|
||||
// this.broadcastAll(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, new EntityPlayer[]{entityplayer})); // CraftBukkit - replaced with loop below
|
||||
|
||||
@@ -515,6 +517,7 @@ public abstract class PlayerList {
|
||||
@@ -519,6 +521,7 @@ public abstract class PlayerList {
|
||||
worldserver.removePlayerImmediately(entityplayer, Entity.RemovalReason.UNLOADED_WITH_PLAYER);
|
||||
entityplayer.getAdvancements().stopListening();
|
||||
this.players.remove(entityplayer);
|
||||
|
@ -32,7 +32,7 @@ index 6ffd915f1..169f25a18 100644
|
|||
this.server.getCustomBossEvents().onPlayerDisconnect(entityplayer);
|
||||
UUID uuid = entityplayer.getUUID();
|
||||
EntityPlayer entityplayer1 = (EntityPlayer) this.playersByUUID.get(uuid);
|
||||
@@ -659,6 +662,7 @@ public abstract class PlayerList {
|
||||
@@ -663,6 +666,7 @@ public abstract class PlayerList {
|
||||
public EntityPlayer respawn(EntityPlayer entityplayer, WorldServer worldserver, boolean flag, Location location, boolean avoidSuffocation) {
|
||||
entityplayer.stopRiding(); // CraftBukkit
|
||||
this.players.remove(entityplayer);
|
||||
|
@ -40,7 +40,7 @@ index 6ffd915f1..169f25a18 100644
|
|||
entityplayer.getLevel().removePlayerImmediately(entityplayer, Entity.RemovalReason.DISCARDED);
|
||||
BlockPosition blockposition = entityplayer.getRespawnPosition();
|
||||
float f = entityplayer.getRespawnAngle();
|
||||
@@ -778,6 +782,7 @@ public abstract class PlayerList {
|
||||
@@ -782,6 +786,7 @@ public abstract class PlayerList {
|
||||
if (!entityplayer.connection.isDisconnected()) {
|
||||
worldserver1.addRespawnedPlayer(entityplayer1);
|
||||
this.players.add(entityplayer1);
|
||||
|
@ -48,7 +48,7 @@ index 6ffd915f1..169f25a18 100644
|
|||
this.playersByUUID.put(entityplayer1.getUUID(), entityplayer1);
|
||||
}
|
||||
// entityplayer1.initInventoryMenu();
|
||||
@@ -981,19 +986,7 @@ public abstract class PlayerList {
|
||||
@@ -985,19 +990,7 @@ public abstract class PlayerList {
|
||||
|
||||
@Nullable
|
||||
public EntityPlayer getPlayerByName(String s) {
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
From ce2eaf355f0071400f7dde3e17081261f983fe3a Mon Sep 17 00:00:00 2001
|
||||
From 2aeb2f5bad7f1bc4eac0244cc733cd471507db7e 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 927b59532..a4269e547 100644
|
||||
index 3ddc3480c..3e702cfc5 100644
|
||||
--- a/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
+++ b/src/main/java/net/minecraft/network/NetworkManager.java
|
||||
@@ -415,6 +415,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
} else if (this.getPacketListener() != null) {
|
||||
this.getPacketListener().onDisconnect(new ChatMessage("multiplayer.disconnect.generic"));
|
||||
this.getPacketListener().onDisconnect(IChatBaseComponent.translatable("multiplayer.disconnect.generic"));
|
||||
}
|
||||
+ this.queue.clear(); // Free up packet queue.
|
||||
}
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
index 48a4a0eff..215e2132e 100644
|
||||
index 28e75378e..0cbfb61a9 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
|
||||
@@ -1709,7 +1709,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
@@ -1750,7 +1750,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
|
||||
|
||||
public void send(Packet<?> packet, @Nullable GenericFutureListener<? extends Future<? super Void>> genericfuturelistener) {
|
||||
// CraftBukkit start
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 1bb5785f5ae79376421052c9bd83f8706528fe23 Mon Sep 17 00:00:00 2001
|
||||
From fe992b3e3dd6aeb867d75f01b955bc0f09c53847 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Thu, 3 Mar 2016 19:45:46 +1100
|
||||
Subject: [PATCH] Implement SpawnerSpawnEvent.
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
|
||||
index 452de2c89..bd0a49124 100644
|
||||
index de82750c2..69c64e7ac 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
|
||||
@@ -152,6 +152,18 @@ public abstract class MobSpawnerAbstract {
|
||||
@@ -154,6 +154,18 @@ public abstract class MobSpawnerAbstract {
|
||||
}
|
||||
// Spigot End
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue