Updated Upstream (Bukkit/CraftBukkit/Spigot)

Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Warning: this commit contains more mapping changes from upstream, As always, ensure that you
have working backups and test this build before deployment; Developers working on paper will,
yet again, need to delete their work/Minecraft/1.13.2 folder

Bukkit Changes:
7fca5fd4 SPIGOT-4558: Preserve user order in the face of copied defaults in configurations
15c9b1eb Ignore spurious slot IDs sent by client, e.g. in enchanting tables
5d2a10c5 SPIGOT-3747: Add API for force loaded chunks
d6dd2bb3 SPIGOT-3538: Add getHitBlockFace for ProjectileHitEvent
771db4aa SPIGOT-794: Call EntityPlaceEvent for Minecart placement
55462509 Add InventoryView#getSlotType
2f3ce5b6 Remove EntityTransformEvent and CustomItemTagContainer from draft API
f04ad7b6 Make ProjectileLaunchEvent extend EntitySpawnEvent
ccb85808 Define EntitySpawnEvent
b8cc3ebe Add PlayerItemDamageEvent
184a495d Ease ClassLoader Deadlocks Where Possible
11ac4728 Expand Boolean Prompt Values in Conversation API
aae62d51 Added getAllSessionData() to the Conversation API.
9290ff91 Add InventoryView#getInventory API
995e530f Add API to get / set base arrow damage

CraftBukkit Changes:
c4a67eed SPIGOT-4556: Fix plugins closing inventory during drop events
5be2ddcb Replace version constants with methods to prevent compiler inlining
a5b9c7b3 Use API method to create offset command completions
2bc7d1df SPIGOT-3747: Add API for force loaded chunks
a408f375 SPIGOT-3538: Add getHitBlockFace for ProjectileHitEvent
b54b9409 SPIGOT-2864: Make Arrow / Item setTicksLived behave like FallingBlock
79ded7a8 SPIGOT-1811: Death message not shown on respawn screen
b4a4f15d SPIGOT-943: InventoryCloseEvent called on death regardless of open inventory
0afed592 SPIGOT-794: Call EntityPlaceEvent for Minecart placement
2b2d084a Add InventoryView#getSlotType
01a9959a Do not use deprecated ItemSpawnEvent constructor
9642498d SPIGOT-4547: Call EntitySpawnEvent as general spawn fallback event
963f4a5f Add PlayerItemDamageEvent
63db0445 Add API to get / set base arrow damage
531c25d7 Add CraftMagicNumbers.MAPPINGS_VERSION for use by NMS plugins
d05c8b14 Mappings Update
bd36e200 SPIGOT-4551: Ignore invalid attribute modifier slots

Spigot Changes:
518206a1 Remove redundant trove depend
1959ad21 MC-11211,SPIGOT-4552: Fix placing double slabs at y = 255
29ab5e43 SPIGOT-3661: Allow arguments in restart-script
7cc46316 SPIGOT-852: Growth modifiers for beetroots, potatoes, carrots
82e117e1 Squelch "fatal: Resolve operation not in progress" message
0a1a68e7 Mappings Update & Patch Rebuild
This commit is contained in:
Shane Freeder 2019-01-01 03:15:55 +00:00
parent 0318e62b45
commit b68b282439
No known key found for this signature in database
GPG key ID: A3F61EA5A085289C
400 changed files with 3595 additions and 4302 deletions

View file

@ -1,4 +1,4 @@
From 3bdfef7c20a6506b0a133f7de68973203f1612ba Mon Sep 17 00:00:00 2001
From 678d7b0f1eb35e8840a18bad357dd56f9357baa8 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 29 Feb 2016 18:48:17 -0600
Subject: [PATCH] Timings v2
@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2
diff --git a/src/main/java/co/aikar/timings/FullServerTickHandler.java b/src/main/java/co/aikar/timings/FullServerTickHandler.java
new file mode 100644
index 000000000..98079dc0c
index 00000000..98079dc0
--- /dev/null
+++ b/src/main/java/co/aikar/timings/FullServerTickHandler.java
@@ -0,0 +1,82 @@
@ -94,7 +94,7 @@ index 000000000..98079dc0c
+}
diff --git a/src/main/java/co/aikar/timings/NullTimingHandler.java b/src/main/java/co/aikar/timings/NullTimingHandler.java
new file mode 100644
index 000000000..8c43e2061
index 00000000..8c43e206
--- /dev/null
+++ b/src/main/java/co/aikar/timings/NullTimingHandler.java
@@ -0,0 +1,61 @@
@ -161,7 +161,7 @@ index 000000000..8c43e2061
+}
diff --git a/src/main/java/co/aikar/timings/TimedEventExecutor.java b/src/main/java/co/aikar/timings/TimedEventExecutor.java
new file mode 100644
index 000000000..feddcdbd4
index 00000000..feddcdbd
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimedEventExecutor.java
@@ -0,0 +1,81 @@
@ -248,7 +248,7 @@ index 000000000..feddcdbd4
+}
diff --git a/src/main/java/co/aikar/timings/Timing.java b/src/main/java/co/aikar/timings/Timing.java
new file mode 100644
index 000000000..b2260104c
index 00000000..b2260104
--- /dev/null
+++ b/src/main/java/co/aikar/timings/Timing.java
@@ -0,0 +1,76 @@
@ -330,7 +330,7 @@ index 000000000..b2260104c
+}
diff --git a/src/main/java/co/aikar/timings/TimingData.java b/src/main/java/co/aikar/timings/TimingData.java
new file mode 100644
index 000000000..f222d6b7d
index 00000000..f222d6b7
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingData.java
@@ -0,0 +1,120 @@
@ -456,7 +456,7 @@ index 000000000..f222d6b7d
+}
diff --git a/src/main/java/co/aikar/timings/TimingHandler.java b/src/main/java/co/aikar/timings/TimingHandler.java
new file mode 100644
index 000000000..521c985e6
index 00000000..521c985e
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingHandler.java
@@ -0,0 +1,200 @@
@ -662,7 +662,7 @@ index 000000000..521c985e6
+}
diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java
new file mode 100644
index 000000000..28d0954a3
index 00000000..28d0954a
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingHistory.java
@@ -0,0 +1,345 @@
@ -1013,7 +1013,7 @@ index 000000000..28d0954a3
+}
diff --git a/src/main/java/co/aikar/timings/TimingHistoryEntry.java b/src/main/java/co/aikar/timings/TimingHistoryEntry.java
new file mode 100644
index 000000000..0e114eb32
index 00000000..0e114eb3
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingHistoryEntry.java
@@ -0,0 +1,55 @@
@ -1074,7 +1074,7 @@ index 000000000..0e114eb32
+}
diff --git a/src/main/java/co/aikar/timings/TimingIdentifier.java b/src/main/java/co/aikar/timings/TimingIdentifier.java
new file mode 100644
index 000000000..a7f1f44d7
index 00000000..a7f1f44d
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingIdentifier.java
@@ -0,0 +1,106 @@
@ -1186,7 +1186,7 @@ index 000000000..a7f1f44d7
+}
diff --git a/src/main/java/co/aikar/timings/Timings.java b/src/main/java/co/aikar/timings/Timings.java
new file mode 100644
index 000000000..f907649ba
index 00000000..f907649b
--- /dev/null
+++ b/src/main/java/co/aikar/timings/Timings.java
@@ -0,0 +1,284 @@
@ -1476,7 +1476,7 @@ index 000000000..f907649ba
+}
diff --git a/src/main/java/co/aikar/timings/TimingsCommand.java b/src/main/java/co/aikar/timings/TimingsCommand.java
new file mode 100644
index 000000000..56b10e898
index 00000000..56b10e89
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsCommand.java
@@ -0,0 +1,119 @@
@ -1601,7 +1601,7 @@ index 000000000..56b10e898
+}
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
new file mode 100644
index 000000000..df7f42595
index 00000000..df7f4259
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -0,0 +1,342 @@
@ -1949,7 +1949,7 @@ index 000000000..df7f42595
+}
diff --git a/src/main/java/co/aikar/timings/TimingsManager.java b/src/main/java/co/aikar/timings/TimingsManager.java
new file mode 100644
index 000000000..f63e7033c
index 00000000..f63e7033
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsManager.java
@@ -0,0 +1,187 @@
@ -2142,7 +2142,7 @@ index 000000000..f63e7033c
+}
diff --git a/src/main/java/co/aikar/timings/TimingsReportListener.java b/src/main/java/co/aikar/timings/TimingsReportListener.java
new file mode 100644
index 000000000..e7c389c05
index 00000000..e7c389c0
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsReportListener.java
@@ -0,0 +1,72 @@
@ -2220,7 +2220,7 @@ index 000000000..e7c389c05
+}
diff --git a/src/main/java/co/aikar/timings/UnsafeTimingHandler.java b/src/main/java/co/aikar/timings/UnsafeTimingHandler.java
new file mode 100644
index 000000000..5edaba128
index 00000000..5edaba12
--- /dev/null
+++ b/src/main/java/co/aikar/timings/UnsafeTimingHandler.java
@@ -0,0 +1,51 @@
@ -2277,7 +2277,7 @@ index 000000000..5edaba128
+}
diff --git a/src/main/java/co/aikar/util/Counter.java b/src/main/java/co/aikar/util/Counter.java
new file mode 100644
index 000000000..23ac07f2c
index 00000000..23ac07f2
--- /dev/null
+++ b/src/main/java/co/aikar/util/Counter.java
@@ -0,0 +1,35 @@
@ -2318,7 +2318,7 @@ index 000000000..23ac07f2c
+}
diff --git a/src/main/java/co/aikar/util/JSONUtil.java b/src/main/java/co/aikar/util/JSONUtil.java
new file mode 100644
index 000000000..962749750
index 00000000..96274975
--- /dev/null
+++ b/src/main/java/co/aikar/util/JSONUtil.java
@@ -0,0 +1,129 @@
@ -2453,7 +2453,7 @@ index 000000000..962749750
+}
diff --git a/src/main/java/co/aikar/util/LoadingIntMap.java b/src/main/java/co/aikar/util/LoadingIntMap.java
new file mode 100644
index 000000000..24eae4bea
index 00000000..24eae4be
--- /dev/null
+++ b/src/main/java/co/aikar/util/LoadingIntMap.java
@@ -0,0 +1,71 @@
@ -2530,7 +2530,7 @@ index 000000000..24eae4bea
+}
diff --git a/src/main/java/co/aikar/util/LoadingMap.java b/src/main/java/co/aikar/util/LoadingMap.java
new file mode 100644
index 000000000..9a4f9dca8
index 00000000..9a4f9dca
--- /dev/null
+++ b/src/main/java/co/aikar/util/LoadingMap.java
@@ -0,0 +1,339 @@
@ -2875,7 +2875,7 @@ index 000000000..9a4f9dca8
+}
diff --git a/src/main/java/co/aikar/util/MRUMapCache.java b/src/main/java/co/aikar/util/MRUMapCache.java
new file mode 100644
index 000000000..df592d855
index 00000000..df592d85
--- /dev/null
+++ b/src/main/java/co/aikar/util/MRUMapCache.java
@@ -0,0 +1,102 @@
@ -2982,7 +2982,7 @@ index 000000000..df592d855
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 2ce174401..7fdd1a084 100644
index 2ce17440..7fdd1a08 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -568,7 +568,6 @@ public final class Bukkit {
@ -2994,7 +2994,7 @@ index 2ce174401..7fdd1a084 100644
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 63392d5e7..0e7a81c88 100644
index 63392d5e..0e7a81c8 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1150,12 +1150,27 @@ public interface Server extends PluginMessageRecipient {
@ -3028,7 +3028,7 @@ index 63392d5e7..0e7a81c88 100644
*
diff --git a/src/main/java/org/bukkit/command/BufferedCommandSender.java b/src/main/java/org/bukkit/command/BufferedCommandSender.java
new file mode 100644
index 000000000..fd452bce4
index 00000000..fd452bce
--- /dev/null
+++ b/src/main/java/org/bukkit/command/BufferedCommandSender.java
@@ -0,0 +1,18 @@
@ -3051,7 +3051,7 @@ index 000000000..fd452bce4
+ }
+}
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
index 4c931f186..4a479627d 100644
index 4c931f18..4a479627 100644
--- a/src/main/java/org/bukkit/command/Command.java
+++ b/src/main/java/org/bukkit/command/Command.java
@@ -33,7 +33,8 @@ public abstract class Command {
@ -3081,7 +3081,7 @@ index 4c931f186..4a479627d 100644
return true;
}
diff --git a/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
index 502578837..9c80f4640 100644
index 50257883..9c80f464 100644
--- a/src/main/java/org/bukkit/command/FormattedCommandAlias.java
+++ b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
@@ -9,6 +9,7 @@ public class FormattedCommandAlias extends Command {
@ -3104,7 +3104,7 @@ index 502578837..9c80f4640 100644
}
diff --git a/src/main/java/org/bukkit/command/MessageCommandSender.java b/src/main/java/org/bukkit/command/MessageCommandSender.java
new file mode 100644
index 000000000..5527e7c86
index 00000000..5527e7c8
--- /dev/null
+++ b/src/main/java/org/bukkit/command/MessageCommandSender.java
@@ -0,0 +1,105 @@
@ -3214,7 +3214,7 @@ index 000000000..5527e7c86
+
+}
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
index d9183db2f..43e52a77a 100644
index d9183db2..43e52a77 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -29,7 +29,7 @@ public class SimpleCommandMap implements CommandMap {
@ -3249,7 +3249,7 @@ index d9183db2f..43e52a77a 100644
// Note: we don't return the result of target.execute as thats success / failure, we return handled (true) or not handled (false)
diff --git a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
deleted file mode 100644
index bba914d7f..000000000
index bba914d7..00000000
--- a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
+++ /dev/null
@@ -1,253 +0,0 @@
@ -3507,7 +3507,7 @@ index bba914d7f..000000000
- // Spigot end
-}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 5054276ff..0993f31b1 100644
index 5054276f..0993f31b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1575,6 +1575,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@ -3523,7 +3523,7 @@ index 5054276ff..0993f31b1 100644
@Override
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
index 8b130abb7..80c152ba9 100644
index 8b130abb..80c152ba 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -293,7 +293,6 @@ public final class SimplePluginManager implements PluginManager {
@ -3580,10 +3580,10 @@ index 8b130abb7..80c152ba9 100644
}
}
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index 113b899cc..81b428222 100644
index 2d4c75ab..54594546 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -40,7 +40,6 @@ import org.bukkit.plugin.PluginLoader;
@@ -41,7 +41,6 @@ import org.bukkit.plugin.PluginLoader;
import org.bukkit.plugin.RegisteredListener;
import org.bukkit.plugin.TimedRegisteredListener;
import org.bukkit.plugin.UnknownDependencyException;
@ -3591,15 +3591,15 @@ index 113b899cc..81b428222 100644
import org.yaml.snakeyaml.error.YAMLException;
/**
@@ -51,7 +50,6 @@ public final class JavaPluginLoader implements PluginLoader {
@@ -52,7 +51,6 @@ public final class JavaPluginLoader implements PluginLoader {
private final Pattern[] fileFilters = new Pattern[] { Pattern.compile("\\.jar$"), };
private final Map<String, Class<?>> classes = new java.util.concurrent.ConcurrentHashMap<String, Class<?>>(); // Spigot
private final Map<String, Class<?>> classes = new ConcurrentHashMap<String, Class<?>>();
private final List<PluginClassLoader> loaders = new CopyOnWriteArrayList<PluginClassLoader>();
- public static final CustomTimingsHandler pluginParentTimer = new CustomTimingsHandler("** Plugins"); // Spigot
/**
* This class was not meant to be constructed explicitly
@@ -291,26 +289,20 @@ public final class JavaPluginLoader implements PluginLoader {
@@ -292,26 +290,20 @@ public final class JavaPluginLoader implements PluginLoader {
}
}
@ -3629,7 +3629,7 @@ index 113b899cc..81b428222 100644
eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));
} else {
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
index af8af8ef0..44093af29 100644
index 7a8abe75..bc33ff33 100644
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
@@ -23,7 +23,8 @@ import org.bukkit.plugin.PluginDescriptionFile;
@ -3640,10 +3640,10 @@ index af8af8ef0..44093af29 100644
+public final class PluginClassLoader extends URLClassLoader { // Spigot
+ public JavaPlugin getPlugin() { return plugin; } // Spigot
private final JavaPluginLoader loader;
private final Map<String, Class<?>> classes = new java.util.concurrent.ConcurrentHashMap<String, Class<?>>(); // Spigot
private final Map<String, Class<?>> classes = new ConcurrentHashMap<String, Class<?>>();
private final PluginDescriptionFile description;
diff --git a/src/main/java/org/bukkit/util/CachedServerIcon.java b/src/main/java/org/bukkit/util/CachedServerIcon.java
index 5ca863b36..048047067 100644
index 5ca863b3..04804706 100644
--- a/src/main/java/org/bukkit/util/CachedServerIcon.java
+++ b/src/main/java/org/bukkit/util/CachedServerIcon.java
@@ -12,4 +12,6 @@ import org.bukkit.event.server.ServerListPingEvent;
@ -3655,7 +3655,7 @@ index 5ca863b36..048047067 100644
+ public String getData(); // Spigot
+}
diff --git a/src/main/java/org/spigotmc/CustomTimingsHandler.java b/src/main/java/org/spigotmc/CustomTimingsHandler.java
index 8d982974e..e9f76006e 100644
index 8d982974..e9f76006 100644
--- a/src/main/java/org/spigotmc/CustomTimingsHandler.java
+++ b/src/main/java/org/spigotmc/CustomTimingsHandler.java
@@ -1,165 +1,105 @@
@ -3907,5 +3907,5 @@ index 8d982974e..e9f76006e 100644
+
}
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From cb532e30452b3b3a7143ce5764711c2bf41e92cf Mon Sep 17 00:00:00 2001
From 6a8a468f3a3b613765b95dea08c1a426bf7cc379 Mon Sep 17 00:00:00 2001
From: Isaac Moore <rmsy@me.com>
Date: Mon, 29 Feb 2016 18:02:25 -0600
Subject: [PATCH] Add PlayerLocaleChangeEvent
@ -61,5 +61,5 @@ index 00000000..29dd763a
+ }
+}
--
2.18.0
2.20.1

View file

@ -1,11 +1,11 @@
From 61bfc392c8504daea86a2eb450c57e4975dec044 Mon Sep 17 00:00:00 2001
From 34e2633d0c24e40216010eaa456af3b549302069 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Mon, 29 Feb 2016 18:05:37 -0600
Subject: [PATCH] Add player view distance API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index a631529df..4208b0d2c 100644
index a631529d..4208b0d2 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1492,6 +1492,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@ -30,5 +30,5 @@ index a631529df..4208b0d2c 100644
public class Spigot extends Entity.Spigot
{
--
2.19.1
2.20.1

View file

@ -1,14 +1,14 @@
From 9a230e904d502c69610fe0507d3bbaabc19cd059 Mon Sep 17 00:00:00 2001
From b45f9dba0fc2d0d9839d30d4724b86047a8a9e2a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 29 Feb 2016 19:45:21 -0600
Subject: [PATCH] Automatically disable plugins that fail to load
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index 81b42822..3af99b5b 100644
index 54594546..bf972302 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -331,6 +331,10 @@ public final class JavaPluginLoader implements PluginLoader {
@@ -332,6 +332,10 @@ public final class JavaPluginLoader implements PluginLoader {
jPlugin.setEnabled(true);
} catch (Throwable ex) {
server.getLogger().log(Level.SEVERE, "Error occurred while enabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex);
@ -20,5 +20,5 @@ index 81b42822..3af99b5b 100644
// Perhaps abort here, rather than continue going, but as it stands,
--
2.18.0
2.20.1

View file

@ -1,4 +1,4 @@
From f027f34cf88ec478b2d4a18131f4ded8915efd06 Mon Sep 17 00:00:00 2001
From 8782eb89fab27baa72cbe2b29684a49efadbd5af Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@outlook.com>
Date: Thu, 3 Mar 2016 13:20:33 -0700
Subject: [PATCH] Use ASM for event executors.
@ -6,7 +6,7 @@ Subject: [PATCH] Use ASM for event executors.
Uses method handles for private or static methods.
diff --git a/pom.xml b/pom.xml
index b5cc156cd..310c30bb6 100644
index f9fbc40a..1d42d42a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -109,6 +109,17 @@
@ -29,7 +29,7 @@ index b5cc156cd..310c30bb6 100644
<build>
diff --git a/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java b/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java
new file mode 100644
index 000000000..9ff99e3b3
index 00000000..9ff99e3b
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java
@@ -0,0 +1,40 @@
@ -75,7 +75,7 @@ index 000000000..9ff99e3b3
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/executor/StaticMethodHandleEventExecutor.java b/src/main/java/com/destroystokyo/paper/event/executor/StaticMethodHandleEventExecutor.java
new file mode 100644
index 000000000..f60f01005
index 00000000..f60f0100
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/executor/StaticMethodHandleEventExecutor.java
@@ -0,0 +1,39 @@
@ -120,7 +120,7 @@ index 000000000..f60f01005
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/executor/asm/ASMEventExecutorGenerator.java b/src/main/java/com/destroystokyo/paper/event/executor/asm/ASMEventExecutorGenerator.java
new file mode 100644
index 000000000..140cf0ad3
index 00000000..140cf0ad
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/executor/asm/ASMEventExecutorGenerator.java
@@ -0,0 +1,44 @@
@ -170,7 +170,7 @@ index 000000000..140cf0ad3
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/executor/asm/ClassDefiner.java b/src/main/java/com/destroystokyo/paper/event/executor/asm/ClassDefiner.java
new file mode 100644
index 000000000..6941d9fbf
index 00000000..6941d9fb
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/executor/asm/ClassDefiner.java
@@ -0,0 +1,32 @@
@ -208,7 +208,7 @@ index 000000000..6941d9fbf
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/executor/asm/SafeClassDefiner.java b/src/main/java/com/destroystokyo/paper/event/executor/asm/SafeClassDefiner.java
new file mode 100644
index 000000000..1473ff8cd
index 00000000..1473ff8c
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/executor/asm/SafeClassDefiner.java
@@ -0,0 +1,63 @@
@ -277,7 +277,7 @@ index 000000000..1473ff8cd
+}
diff --git a/src/main/java/com/destroystokyo/paper/utils/UnsafeUtils.java b/src/main/java/com/destroystokyo/paper/utils/UnsafeUtils.java
new file mode 100644
index 000000000..62acbf821
index 00000000..62acbf82
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/utils/UnsafeUtils.java
@@ -0,0 +1,33 @@
@ -315,7 +315,7 @@ index 000000000..62acbf821
+ }
+}
diff --git a/src/main/java/org/bukkit/plugin/EventExecutor.java b/src/main/java/org/bukkit/plugin/EventExecutor.java
index 3b2c99ea7..b45b6c1c3 100644
index 3b2c99ea..b45b6c1c 100644
--- a/src/main/java/org/bukkit/plugin/EventExecutor.java
+++ b/src/main/java/org/bukkit/plugin/EventExecutor.java
@@ -4,9 +4,81 @@ import org.bukkit.event.Event;
@ -401,10 +401,10 @@ index 3b2c99ea7..b45b6c1c3 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index 3af99b5bd..72d506d1f 100644
index bf972302..77207f14 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -289,20 +289,7 @@ public final class JavaPluginLoader implements PluginLoader {
@@ -290,20 +290,7 @@ public final class JavaPluginLoader implements PluginLoader {
}
}
@ -427,5 +427,5 @@ index 3af99b5bd..72d506d1f 100644
eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));
} else {
--
2.19.0
2.20.1

View file

@ -1,14 +1,14 @@
From 5639eb8d022329ed99bb9f92f8dbe416d5e4f377 Mon Sep 17 00:00:00 2001
From e711715c7ddc2a309bbcb0156ab188fb95fddd32 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Fri, 4 Mar 2016 03:13:18 -0500
Subject: [PATCH] Arrow pickup rule API
diff --git a/src/main/java/org/bukkit/entity/Arrow.java b/src/main/java/org/bukkit/entity/Arrow.java
index 99814eee..34dde443 100644
index b74d5f9d..99a44006 100644
--- a/src/main/java/org/bukkit/entity/Arrow.java
+++ b/src/main/java/org/bukkit/entity/Arrow.java
@@ -108,4 +108,38 @@ public interface Arrow extends Projectile {
@@ -144,4 +144,38 @@ public interface Arrow extends Projectile {
@Override
Spigot spigot();
// Spigot end
@ -48,5 +48,5 @@ index 99814eee..34dde443 100644
+ // Paper end
}
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 8e86bdb38a51cea9f5b62c820732617366fce895 Mon Sep 17 00:00:00 2001
From e1ee48a404bc7e7c82193a91cc6fa36b1b46c364 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 28 Dec 2016 01:18:55 -0500
Subject: [PATCH] Fireworks API's
@ -34,5 +34,5 @@ index b8a8c075..8c087bb7 100644
+ // Paper end
}
--
2.18.0
2.20.1

View file

@ -1,4 +1,4 @@
From 8b39d39d06c4539f1826da9a4309c0503679928e Mon Sep 17 00:00:00 2001
From 606a3a3606a8406779eb08b91508a22920ed284b Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Fri, 9 Jun 2017 07:24:24 -0700
Subject: [PATCH] Add configuration option to prevent player names from being
@ -58,5 +58,5 @@ index 2abe1208..c660c178 100644
}
return completions;
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From a33b574c104eaa05eebba870a7d61b1a5876d5ed Mon Sep 17 00:00:00 2001
From 06cac40ce638d8f3f57fdb32b3e2a6d377800ac4 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 10 Jun 2017 16:59:40 -0500
Subject: [PATCH] Fix upstream javadoc warnings and errors
@ -21,10 +21,10 @@ index 43239f84..fe8d3468 100644
*/
@Deprecated
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 04573ec2..0750d64c 100644
index 6ce38e03..e66caa41 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1570,6 +1570,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1603,6 +1603,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param count the number of particles
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -32,7 +32,7 @@ index 04573ec2..0750d64c 100644
*/
public <T> void spawnParticle(Particle particle, Location location, int count, T data);
@@ -1585,6 +1586,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1618,6 +1619,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param count the number of particles
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -40,7 +40,7 @@ index 04573ec2..0750d64c 100644
*/
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, T data);
@@ -1634,6 +1636,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1667,6 +1669,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param offsetZ the maximum random offset on the Z axis
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -48,7 +48,7 @@ index 04573ec2..0750d64c 100644
*/
public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, T data);
@@ -1653,6 +1656,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1686,6 +1689,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param offsetZ the maximum random offset on the Z axis
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -56,7 +56,7 @@ index 04573ec2..0750d64c 100644
*/
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, T data);
@@ -1708,6 +1712,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1741,6 +1745,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* particle used (normally speed)
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -64,7 +64,7 @@ index 04573ec2..0750d64c 100644
*/
public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, T data);
@@ -1729,6 +1734,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1762,6 +1767,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* particle used (normally speed)
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
@ -72,7 +72,7 @@ index 04573ec2..0750d64c 100644
*/
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data);
@@ -1751,6 +1757,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1784,6 +1790,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param force whether to send the particle to players within an extended
* range and encourage their client to render it regardless of
* settings
@ -80,7 +80,7 @@ index 04573ec2..0750d64c 100644
*/
public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force);
@@ -1775,6 +1782,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1808,6 +1815,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param force whether to send the particle to players within an extended
* range and encourage their client to render it regardless of
* settings

View file

@ -1,4 +1,4 @@
From 62be624eee349e6f2381582d772249d57a485fc7 Mon Sep 17 00:00:00 2001
From 5e6d3bf1e2743a13eb1876f0513dc3f92bacdccb Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Thu, 21 Sep 2017 19:41:20 +0200
Subject: [PATCH] Add workaround for plugins modifying the parent of the plugin
@ -14,7 +14,7 @@ parent of the plugin logger to avoid this.
diff --git a/src/main/java/com/destroystokyo/paper/utils/PaperPluginLogger.java b/src/main/java/com/destroystokyo/paper/utils/PaperPluginLogger.java
new file mode 100644
index 000000000..d052b2f55
index 00000000..d052b2f5
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/utils/PaperPluginLogger.java
@@ -0,0 +1,39 @@
@ -58,7 +58,7 @@ index 000000000..d052b2f55
+
+}
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPlugin.java b/src/main/java/org/bukkit/plugin/java/JavaPlugin.java
index a81dae439..15f22ade2 100644
index a81dae43..15f22ade 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPlugin.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPlugin.java
@@ -42,7 +42,7 @@ public abstract class JavaPlugin extends PluginBase {
@ -85,7 +85,7 @@ index a81dae439..15f22ade2 100644
/**
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
index 44093af29..ab79b71bf 100644
index bc33ff33..213f6234 100644
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
@@ -36,6 +36,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot
@ -94,9 +94,9 @@ index 44093af29..ab79b71bf 100644
private IllegalStateException pluginState;
+ private java.util.logging.Logger logger; // Paper - add field
// Spigot Start
static
@@ -73,6 +74,8 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot
static {
ClassLoader.registerAsParallelCapable();
@@ -53,6 +54,8 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot
this.manifest = jar.getManifest();
this.url = file.toURI().toURL();
@ -105,7 +105,7 @@ index 44093af29..ab79b71bf 100644
try {
Class<?> jarClass;
try {
@@ -189,6 +192,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot
@@ -169,6 +172,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot
pluginState = new IllegalStateException("Initial initialization");
this.pluginInit = javaPlugin;
@ -114,5 +114,5 @@ index 44093af29..ab79b71bf 100644
}
}
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From ee7e882548af6130d040e4a16132a155e44be107 Mon Sep 17 00:00:00 2001
From af0861873204100e974bd6b187f72c398de472c9 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 18 Mar 2018 12:28:55 -0400
Subject: [PATCH] Player.setPlayerProfile API
@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API
This can be useful for changing name or skins after a player has logged in.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 5f3e085e3..1e349066d 100644
index 5f3e085e..1e349066 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3,6 +3,7 @@ package org.bukkit.entity;
@ -38,5 +38,5 @@ index 5f3e085e3..1e349066d 100644
// Spigot start
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 8ddad2ac0889f686038b73a4b10aaf8a3a6333fc Mon Sep 17 00:00:00 2001
From e1d2e8f216b7fda9a9c87aa3540e2b73307a19d7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 22 Mar 2018 01:39:28 -0400
Subject: [PATCH] getPlayerUniqueId API
@ -57,5 +57,5 @@ index 9e7bc162..b8076fc3 100644
* Gets the plugin manager for interfacing with plugins.
*
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From e730e57eded25def56fa85f4d51aa44cbcc5a135 Mon Sep 17 00:00:00 2001
From 3866b0ae220a8374b807898691fa739df7b004f8 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Wed, 11 Oct 2017 19:30:20 +0200
Subject: [PATCH] Add legacy ping support to PaperServerListPingEvent
@ -29,5 +29,5 @@ index 517d1523..ffda9f6a 100644
+
}
--
2.18.0
2.20.1

View file

@ -1,4 +1,4 @@
From 0ccef7fd8a50d98175e9cac5f171ee4d12d037f3 Mon Sep 17 00:00:00 2001
From 5daba95426cb5d3ab09db50d25acc35aac87bcf0 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 30 Apr 2018 17:55:28 -0400
Subject: [PATCH] Additional world.getNearbyEntities API's
@ -6,7 +6,7 @@ Subject: [PATCH] Additional world.getNearbyEntities API's
Provides more methods to get nearby entities, and filter by types and predicates
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 849ad2cb..99fbf327 100644
index e66caa41..d9010176 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2,6 +2,8 @@ package org.bukkit;
@ -18,7 +18,7 @@ index 849ad2cb..99fbf327 100644
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@@ -447,6 +449,238 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -480,6 +482,238 @@ public interface World extends PluginMessageRecipient, Metadatable {
*/
public Collection<Entity> getEntitiesByClasses(Class<?>... classes);
@ -258,5 +258,5 @@ index 849ad2cb..99fbf327 100644
* Get a list of all players in this World
*
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 2e6605a41302606cb9c28be3fa9d967d67dfd437 Mon Sep 17 00:00:00 2001
From 56c0296c4c259c68f03a2e35acc9e39501046e95 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 29 Aug 2017 23:58:48 -0400
Subject: [PATCH] Expand World.spawnParticle API and add Builder
@ -452,10 +452,10 @@ index 4d0acaf5..827aa00c 100644
* Options which can be applied to redstone dust particles - a particle
* color and size.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 3cc161de..c9b3ff76 100644
index d9010176..379fd2fa 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1970,7 +1970,57 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -2003,7 +2003,57 @@ public interface World extends PluginMessageRecipient, Metadatable {
* the type of this depends on {@link Particle#getDataType()}
* @param <T> Type
*/

View file

@ -1,4 +1,4 @@
From 58698c7b920454d0f0171be3ff53e4df1471dc44 Mon Sep 17 00:00:00 2001
From c5d36c89c26360428075ecd830da4f65b2c2de11 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 1 May 2018 21:33:35 -0400
Subject: [PATCH] Close Plugin Class Loaders on Disable
@ -7,7 +7,7 @@ This should close more memory leaks from /reload and disabling plugins,
by closing the class loader and the jar file.
diff --git a/src/main/java/org/bukkit/plugin/PluginLoader.java b/src/main/java/org/bukkit/plugin/PluginLoader.java
index e7981a1d9..d34756f15 100644
index e7981a1d..d34756f1 100644
--- a/src/main/java/org/bukkit/plugin/PluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/PluginLoader.java
@@ -73,4 +73,19 @@ public interface PluginLoader {
@ -31,7 +31,7 @@ index e7981a1d9..d34756f15 100644
+ // Paper end - close Classloader on disable
}
diff --git a/src/main/java/org/bukkit/plugin/PluginManager.java b/src/main/java/org/bukkit/plugin/PluginManager.java
index e5638d560..b72d5a9bc 100644
index e5638d56..b72d5a9b 100644
--- a/src/main/java/org/bukkit/plugin/PluginManager.java
+++ b/src/main/java/org/bukkit/plugin/PluginManager.java
@@ -154,6 +154,18 @@ public interface PluginManager {
@ -54,7 +54,7 @@ index e5638d560..b72d5a9bc 100644
* Gets a {@link Permission} from its fully qualified name
*
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
index bd0588a20..cb2b0b9cb 100644
index bd0588a2..cb2b0b9c 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -412,17 +412,29 @@ public final class SimplePluginManager implements PluginManager {
@ -100,10 +100,10 @@ index bd0588a20..cb2b0b9cb 100644
lookupNames.clear();
HandlerList.unregisterAll();
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index 72d506d1f..3411a365c 100644
index 77207f14..c7782e7d 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -319,7 +319,7 @@ public final class JavaPluginLoader implements PluginLoader {
@@ -320,7 +320,7 @@ public final class JavaPluginLoader implements PluginLoader {
} catch (Throwable ex) {
server.getLogger().log(Level.SEVERE, "Error occurred while enabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex);
// Paper start - Disable plugins that fail to load
@ -112,7 +112,7 @@ index 72d506d1f..3411a365c 100644
return;
// Paper end
}
@@ -330,7 +330,13 @@ public final class JavaPluginLoader implements PluginLoader {
@@ -331,7 +331,13 @@ public final class JavaPluginLoader implements PluginLoader {
}
}
@ -126,7 +126,7 @@ index 72d506d1f..3411a365c 100644
Validate.isTrue(plugin instanceof JavaPlugin, "Plugin is not associated with this PluginLoader");
if (plugin.isEnabled()) {
@@ -357,6 +363,16 @@ public final class JavaPluginLoader implements PluginLoader {
@@ -358,6 +364,16 @@ public final class JavaPluginLoader implements PluginLoader {
for (String name : names) {
removeClass(name);
}
@ -144,5 +144,5 @@ index 72d506d1f..3411a365c 100644
}
}
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 73be070d77dd79f210bf045c6ec01bf2ecf72f18 Mon Sep 17 00:00:00 2001
From 469a7079d60dae81be5b7752cd439756a62718b7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 16:24:42 -0500
Subject: [PATCH] Expand Explosions API
@ -98,10 +98,10 @@ index 162a76e8..056a4d6b 100644
@Override
public boolean equals(Object obj) {
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 1f63eba8..e83b2ac7 100644
index 379fd2fa..70e7c9e3 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1115,6 +1115,102 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1148,6 +1148,102 @@ public interface World extends PluginMessageRecipient, Metadatable {
*/
public boolean createExplosion(Location loc, float power, boolean setFire);
@ -205,5 +205,5 @@ index 1f63eba8..e83b2ac7 100644
* Gets the {@link Environment} type of this world
*
--
2.19.1
2.20.1

View file

@ -1,14 +1,14 @@
From 596f70a064c3481f5197b4b17cd4126e9dd8799a Mon Sep 17 00:00:00 2001
From 203c520625cc337506bde2c144f1dda95231a000 Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de>
Date: Tue, 3 Jul 2018 16:07:16 +0200
Subject: [PATCH] Add World.getEntity(UUID) API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index e83b2ac7..7c700cc2 100644
index 70e7c9e3..301d9418 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -705,6 +705,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -738,6 +738,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
*/
public Collection<Entity> getNearbyEntities(Location location, double x, double y, double z);
@ -26,5 +26,5 @@ index e83b2ac7..7c700cc2 100644
* Returns a list of entities within a bounding box centered around a
* Location.
--
2.19.1
2.20.1

View file

@ -1,57 +0,0 @@
From 2bf0516d4ec180c0bbd9f50c67f205a99b8c08ca Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de>
Date: Sat, 30 Jun 2018 05:45:04 +0200
Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the
projectile has hit
diff --git a/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java b/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java
index 35f4148bb..db105e764 100644
--- a/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java
+++ b/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java
@@ -12,6 +12,7 @@ public class ProjectileHitEvent extends EntityEvent {
private static final HandlerList handlers = new HandlerList();
private final Entity hitEntity;
private final Block hitBlock;
+ private final org.bukkit.block.BlockFace hitBlockFace; // Paper
public ProjectileHitEvent(final Projectile projectile) {
this(projectile, null, null);
@@ -26,9 +27,16 @@ public class ProjectileHitEvent extends EntityEvent {
}
public ProjectileHitEvent(final Projectile projectile, Entity hitEntity, Block hitBlock) {
+ // Paper Start - Add a constructor that includes a BlockFace parameter
+ this(projectile, hitEntity, hitBlock, null);
+ }
+
+ public ProjectileHitEvent(final Projectile projectile, Entity hitEntity, Block hitBlock, org.bukkit.block.BlockFace hitBlockFace) {
+ // Paper End
super(projectile);
this.hitEntity = hitEntity;
this.hitBlock = hitBlock;
+ this.hitBlockFace = hitBlockFace; // Paper
}
@Override
@@ -45,6 +53,17 @@ public class ProjectileHitEvent extends EntityEvent {
return hitBlock;
}
+ // Paper Start
+ /**
+ * Gets the face of the block that the projectile has hit.
+ *
+ * @return hit block face or else null
+ */
+ public org.bukkit.block.BlockFace getHitBlockFace() {
+ return hitBlockFace;
+ }
+ // Paper End
+
/**
* Gets the entity that was hit, if it was an entity that was hit.
*
--
2.18.0

View file

@ -1,4 +1,4 @@
From e555fe63f21a161afa93b949759f1a0ed9dbea57 Mon Sep 17 00:00:00 2001
From 79b0b5b19b53d8ecf4eeeae5adbd66d271ce7fd1 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 3 Jul 2018 21:52:52 -0400
Subject: [PATCH] InventoryCloseEvent Reason API
@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers
to "confirm" things based on if it was player triggered close or not.
diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
index ca789867d..d4b3caebd 100644
index ca789867..d4b3caeb 100644
--- a/src/main/java/org/bukkit/entity/HumanEntity.java
+++ b/src/main/java/org/bukkit/entity/HumanEntity.java
@@ -138,6 +138,15 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder
@ -27,7 +27,7 @@ index ca789867d..d4b3caebd 100644
* Returns the ItemStack currently in your hand, can be empty.
*
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
index 19889b278..e6e45b936 100644
index 19889b27..e6e45b93 100644
--- a/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
+++ b/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
@@ -11,8 +11,58 @@ import org.bukkit.inventory.InventoryView;
@ -90,5 +90,5 @@ index 19889b278..e6e45b936 100644
/**
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From f2dced1d9d8a844f6760f7d9c39a1c6d1837ff90 Mon Sep 17 00:00:00 2001
From 24a392e31d55b9c82325f678c70eddee787ade76 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 02:25:48 -0400
Subject: [PATCH] Entity#getChunk API

View file

@ -1,4 +1,4 @@
From d3bc8ae26091d52609c73bcd0e6d97f71724aa16 Mon Sep 17 00:00:00 2001
From b1935b33977f5215db28c156d7f75428b14f6ff3 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 15:29:21 -0400
Subject: [PATCH] Vex#getSummoner API
@ -6,7 +6,7 @@ Subject: [PATCH] Vex#getSummoner API
Get's the Mob that summoned this Vex
diff --git a/src/main/java/org/bukkit/entity/Vex.java b/src/main/java/org/bukkit/entity/Vex.java
index a2f2fcaec..d395e405d 100644
index a2f2fcae..d395e405 100644
--- a/src/main/java/org/bukkit/entity/Vex.java
+++ b/src/main/java/org/bukkit/entity/Vex.java
@@ -3,4 +3,10 @@ package org.bukkit.entity;
@ -22,5 +22,5 @@ index a2f2fcaec..d395e405d 100644
+
+}
--
2.18.0
2.20.1

View file

@ -1,4 +1,4 @@
From 218ebb72abe3b026f00a6378ff1529e4e2210c0b Mon Sep 17 00:00:00 2001
From 6a6db0639bc7f151df29e0df293006646abf49b1 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 19 Jul 2018 15:07:02 -0500
Subject: [PATCH] Add an asterisk to legacy API plugins
@ -7,7 +7,7 @@ Not here to name and shame, only so server admins can be aware of which
plugins have and haven't been updated.
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
index a4aabfe7f..f462b631b 100644
index a4aabfe7..f462b631 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -67,4 +67,10 @@ public interface UnsafeValues {
@ -22,7 +22,7 @@ index a4aabfe7f..f462b631b 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
index b1d384e82..72c0c0bc6 100644
index b1d384e8..72c0c0bc 100644
--- a/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/PluginsCommand.java
@@ -38,7 +38,14 @@ public class PluginsCommand extends BukkitCommand {
@ -42,10 +42,10 @@ index b1d384e82..72c0c0bc6 100644
StringBuilder pluginList = new StringBuilder();
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index 3cff01b6b..2b9aad0a7 100644
index c7782e7d..39f92d88 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -303,7 +303,14 @@ public final class JavaPluginLoader implements PluginLoader {
@@ -304,7 +304,14 @@ public final class JavaPluginLoader implements PluginLoader {
Validate.isTrue(plugin instanceof JavaPlugin, "Plugin is not associated with this PluginLoader");
if (!plugin.isEnabled()) {
@ -62,5 +62,5 @@ index 3cff01b6b..2b9aad0a7 100644
JavaPlugin jPlugin = (JavaPlugin) plugin;
--
2.18.0
2.20.1

View file

@ -1,4 +1,4 @@
From 7388904ff97bc9690a82713c6d2dde88ae1551bc Mon Sep 17 00:00:00 2001
From 64eef514b6ae25b70d6492dd9d96b6cdcdd3931f Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 21 Jul 2018 01:51:05 -0500
Subject: [PATCH] EnderDragon Events
@ -6,7 +6,7 @@ Subject: [PATCH] EnderDragon Events
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFireballHitEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFireballHitEvent.java
new file mode 100644
index 000000000..ef2a8dab9
index 00000000..ef2a8dab
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFireballHitEvent.java
@@ -0,0 +1,72 @@
@ -84,7 +84,7 @@ index 000000000..ef2a8dab9
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFlameEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFlameEvent.java
new file mode 100644
index 000000000..d8c3ab330
index 00000000..d8c3ab33
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonFlameEvent.java
@@ -0,0 +1,56 @@
@ -146,7 +146,7 @@ index 000000000..d8c3ab330
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonShootFireballEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonShootFireballEvent.java
new file mode 100644
index 000000000..aa70dda10
index 00000000..aa70dda1
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EnderDragonShootFireballEvent.java
@@ -0,0 +1,56 @@
@ -207,5 +207,5 @@ index 000000000..aa70dda10
+ }
+}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From e3f49113573e7c633b84682c11837436b0eb86c5 Mon Sep 17 00:00:00 2001
From b36a6f13151c1fc128d1c0233f1bb4df1a7f6e76 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 21 Jul 2018 03:10:50 -0500
Subject: [PATCH] PlayerLaunchProjectileEvent
@ -6,7 +6,7 @@ Subject: [PATCH] PlayerLaunchProjectileEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerLaunchProjectileEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerLaunchProjectileEvent.java
new file mode 100644
index 000000000..d2b244a41
index 00000000..d2b244a4
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerLaunchProjectileEvent.java
@@ -0,0 +1,78 @@
@ -89,5 +89,5 @@ index 000000000..d2b244a41
+ }
+}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 38df31e7cde8343c5d9df88d292baf068a60b628 Mon Sep 17 00:00:00 2001
From b25f41eb2d736563f05bf96f5fb27fa6eddfecd9 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 21 Jul 2018 01:59:53 -0500
Subject: [PATCH] PlayerElytraBoostEvent
@ -6,7 +6,7 @@ Subject: [PATCH] PlayerElytraBoostEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java
new file mode 100644
index 000000000..cecb2182c
index 00000000..cecb2182
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerElytraBoostEvent.java
@@ -0,0 +1,80 @@
@ -91,5 +91,5 @@ index 000000000..cecb2182c
+ }
+}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 5209ff5cba1819570522bccc6319375b8c531146 Mon Sep 17 00:00:00 2001
From 00607241674731c78d1bcb0da531d41e6cf92255 Mon Sep 17 00:00:00 2001
From: Anthony MacAllister <anthonymmacallister@gmail.com>
Date: Thu, 26 Jul 2018 15:28:53 -0400
Subject: [PATCH] EntityTransformedEvent
@ -103,5 +103,5 @@ index 00000000..12194f1f
+ }
+}
--
2.17.1
2.20.1

View file

@ -1,11 +1,11 @@
From d1d6a6e701f0046fcae6f5a937d66e7b0698cdc5 Mon Sep 17 00:00:00 2001
From b3cef7931e7f7432927b1fefc8282c4b5e554045 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Wed, 15 Aug 2018 01:26:03 -0700
Subject: [PATCH] Allow disabling armour stand ticking
diff --git a/src/main/java/org/bukkit/entity/ArmorStand.java b/src/main/java/org/bukkit/entity/ArmorStand.java
index 099da6ce1..859f166fb 100644
index 099da6ce..859f166f 100644
--- a/src/main/java/org/bukkit/entity/ArmorStand.java
+++ b/src/main/java/org/bukkit/entity/ArmorStand.java
@@ -275,5 +275,21 @@ public interface ArmorStand extends LivingEntity {
@ -31,5 +31,5 @@ index 099da6ce1..859f166fb 100644
// Paper end
}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From f7db1f306087584741afcbcc990658478a0c17b0 Mon Sep 17 00:00:00 2001
From 691303b8d4cabb5dd2a8b0a2b4d1562a613934f1 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 27 Jul 2018 22:36:17 -0500
Subject: [PATCH] SkeletonHorse Additions
@ -6,7 +6,7 @@ Subject: [PATCH] SkeletonHorse Additions
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/SkeletonHorseTrapEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/SkeletonHorseTrapEvent.java
new file mode 100644
index 000000000..55bae018e
index 00000000..55bae018
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/SkeletonHorseTrapEvent.java
@@ -0,0 +1,43 @@
@ -54,7 +54,7 @@ index 000000000..55bae018e
+}
+
diff --git a/src/main/java/org/bukkit/entity/SkeletonHorse.java b/src/main/java/org/bukkit/entity/SkeletonHorse.java
index b2c6b6a86..ba9983463 100644
index b2c6b6a8..ba998346 100644
--- a/src/main/java/org/bukkit/entity/SkeletonHorse.java
+++ b/src/main/java/org/bukkit/entity/SkeletonHorse.java
@@ -3,4 +3,12 @@ package org.bukkit.entity;
@ -72,5 +72,5 @@ index b2c6b6a86..ba9983463 100644
+ // Paper end
+}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From a05d7aa6619f01679e452a714e900a5c14f4ffdc Mon Sep 17 00:00:00 2001
From df879ce4d5f270cd7b52d86948b8a4401a9d543d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 25 Jul 2018 01:36:07 -0400
Subject: [PATCH] Expand Location Manipulation API
@ -6,7 +6,7 @@ Subject: [PATCH] Expand Location Manipulation API
Adds set(x, y, z), add(base, x, y, z), subtract(base, x, y, z);
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
index 056a4d6bb..8dcb15fb8 100644
index 056a4d6b..8dcb15fb 100644
--- a/src/main/java/org/bukkit/Location.java
+++ b/src/main/java/org/bukkit/Location.java
@@ -503,6 +503,51 @@ public class Location implements Cloneable, ConfigurationSerializable {
@ -62,5 +62,5 @@ index 056a4d6bb..8dcb15fb8 100644
* @return A new location where X/Y/Z are on the Block location (integer value of X/Y/Z)
*/
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From a25458fced284f9f77b50f45aab28446751859de Mon Sep 17 00:00:00 2001
From ee715356b1b15cf9d00a6761b77d10dbbc08b2e5 Mon Sep 17 00:00:00 2001
From: willies952002 <admin@domnian.com>
Date: Thu, 26 Jul 2018 02:22:44 -0400
Subject: [PATCH] Expand ArmorStand API
@ -8,7 +8,7 @@ Add the following:
- Enable/Disable slot interactions
diff --git a/src/main/java/org/bukkit/entity/ArmorStand.java b/src/main/java/org/bukkit/entity/ArmorStand.java
index 859f166fb..eda4873d5 100644
index 859f166f..eda4873d 100644
--- a/src/main/java/org/bukkit/entity/ArmorStand.java
+++ b/src/main/java/org/bukkit/entity/ArmorStand.java
@@ -1,5 +1,6 @@
@ -115,5 +115,5 @@ index 859f166fb..eda4873d5 100644
// Paper end
}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From b08e64c433d4014812d1c11d8ef43268f6804dcb Mon Sep 17 00:00:00 2001
From 0f9d603a9e7c9ab64802df817318b11c73fc40e3 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 20 Jul 2018 23:36:55 -0500
Subject: [PATCH] AnvilDamageEvent
@ -6,7 +6,7 @@ Subject: [PATCH] AnvilDamageEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/block/AnvilDamagedEvent.java b/src/main/java/com/destroystokyo/paper/event/block/AnvilDamagedEvent.java
new file mode 100644
index 000000000..fd3c5c02e
index 00000000..fd3c5c02
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/block/AnvilDamagedEvent.java
@@ -0,0 +1,139 @@
@ -150,5 +150,5 @@ index 000000000..fd3c5c02e
+ }
+}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 2c3530cf31446f0d52627710e8417518c98b3565 Mon Sep 17 00:00:00 2001
From dabd3e4d0f10c1edbf09632a331af369251570b1 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 9 Sep 2018 00:32:05 -0400
Subject: [PATCH] Remove deadlock risk in firing async events
@ -16,7 +16,7 @@ which results in a hard crash.
This change removes the synchronize and adds some protection around enable/disable
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
index cb2b0b9cb..a7dd902fb 100644
index cb2b0b9c..a7dd902f 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -385,7 +385,7 @@ public final class SimplePluginManager implements PluginManager {
@ -79,7 +79,7 @@ index cb2b0b9cb..a7dd902fb 100644
RegisteredListener[] listeners = handlers.getRegisteredListeners();
diff --git a/src/test/java/org/bukkit/plugin/PluginManagerTest.java b/src/test/java/org/bukkit/plugin/PluginManagerTest.java
index 6b86128e1..56308c0c6 100644
index 6b86128e..56308c0c 100644
--- a/src/test/java/org/bukkit/plugin/PluginManagerTest.java
+++ b/src/test/java/org/bukkit/plugin/PluginManagerTest.java
@@ -19,7 +19,7 @@ public class PluginManagerTest {
@ -118,5 +118,5 @@ index 6b86128e1..56308c0c6 100644
@Test
public void testAsyncUnlocked() throws InterruptedException {
--
2.19.0
2.20.1

View file

@ -1,11 +1,11 @@
From 540ea528206d24ac317b8f88b0524917a54dc7ca Mon Sep 17 00:00:00 2001
From ee92360b2c18d34c94f3e40c293fdc53ac681ba5 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Thu, 2 Aug 2018 08:44:20 -0500
Subject: [PATCH] Add hand to bucket events
diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java
index 8fb121a91..7b9596f30 100644
index 8fb121a9..7b9596f3 100644
--- a/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java
@@ -5,6 +5,7 @@ import org.bukkit.block.Block;
@ -30,7 +30,7 @@ index 8fb121a91..7b9596f30 100644
public HandlerList getHandlers() {
return handlers;
diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java
index 56584687f..3dbe428ba 100644
index 56584687..3dbe428b 100644
--- a/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java
@@ -5,6 +5,7 @@ import org.bukkit.block.Block;
@ -82,7 +82,7 @@ index 56584687f..3dbe428ba 100644
return cancelled;
}
diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java
index 94e042a36..884b9240b 100644
index 94e042a3..884b9240 100644
--- a/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java
@@ -5,6 +5,7 @@ import org.bukkit.block.Block;
@ -107,5 +107,5 @@ index 94e042a36..884b9240b 100644
public HandlerList getHandlers() {
return handlers;
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 3d3caa8002d35ede44fd008d5b92ff4db850dfc6 Mon Sep 17 00:00:00 2001
From 158e880fb788c001e8f0488860132577c9b0bdc9 Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Date: Sun, 15 Jul 2018 22:17:55 +0300
Subject: [PATCH] Add TNTPrimeEvent
@ -6,7 +6,7 @@ Subject: [PATCH] Add TNTPrimeEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/block/TNTPrimeEvent.java b/src/main/java/com/destroystokyo/paper/event/block/TNTPrimeEvent.java
new file mode 100644
index 000000000..2ae8826bb
index 00000000..2ae8826b
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/block/TNTPrimeEvent.java
@@ -0,0 +1,108 @@
@ -119,5 +119,5 @@ index 000000000..2ae8826bb
+ }
+}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From e1702becffffcfef95443310f01d1b93dcd5e38f Mon Sep 17 00:00:00 2001
From 29b931883c7086125b1f923b07f1282da12564f0 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 4 Aug 2018 19:37:35 -0400
Subject: [PATCH] Provide Chunk Coordinates as a Long API
@ -7,7 +7,7 @@ Allows you to easily access the chunks X/z as a long, and a method
to look up by the long key too.
diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java
index 079b9feb..b347a3cc 100644
index 441ed7ad..33cd0ea0 100644
--- a/src/main/java/org/bukkit/Chunk.java
+++ b/src/main/java/org/bukkit/Chunk.java
@@ -23,6 +23,32 @@ public interface Chunk {
@ -44,7 +44,7 @@ index 079b9feb..b347a3cc 100644
* Gets the world containing this chunk
*
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 7c700cc2..00d72565 100644
index 301d9418..deabd400 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -139,6 +139,21 @@ public interface World extends PluginMessageRecipient, Metadatable {
@ -70,5 +70,5 @@ index 7c700cc2..00d72565 100644
* Checks if the specified {@link Chunk} is loaded
*
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From bad3fe871eeaf7fe3ce39307f84193c264c833cb Mon Sep 17 00:00:00 2001
From 950ee556b124e63be9df736c7a6297cdfa3030d7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 29 Feb 2016 17:43:33 -0600
Subject: [PATCH] Async Chunks API
@ -8,7 +8,7 @@ Adds API's to load or generate chunks asynchronously.
Also adds utility methods to Entity to teleport asynchronously.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 00d72565..8e322cab 100644
index deabd400..92688252 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -152,6 +152,352 @@ public interface World extends PluginMessageRecipient, Metadatable {
@ -365,7 +365,7 @@ index 00d72565..8e322cab 100644
/**
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index f94160bf..5ee57656 100644
index 2dd7a03c..59787c47 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -135,6 +135,28 @@ public interface Entity extends Metadatable, CommandSender, Nameable {
@ -398,5 +398,5 @@ index f94160bf..5ee57656 100644
* Returns a list of entities within a bounding box centered around this
* entity
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From acdfbc0be6e8f8c4802d06818ad3fc506bbd2924 Mon Sep 17 00:00:00 2001
From 6361a0fad5e6fda97790f4f72d39cdda3b766fcb Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 10 Aug 2018 22:08:34 -0400
Subject: [PATCH] Make EnderDragon extend Mob
@ -18,5 +18,5 @@ index 7170d37a..3ba49208 100644
/**
* Represents a phase or action that an Ender Dragon can perform.
--
2.19.1
2.20.1

View file

@ -1,11 +1,11 @@
From 137d156f83cec3d2648e58d9701643131e773877 Mon Sep 17 00:00:00 2001
From c70c957d8f12e7449791fc452632a12e3b316800 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 15 Aug 2018 01:04:58 -0400
Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots
diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java
index b347a3ccf..8a8043351 100644
index 33cd0ea0..35407d5e 100644
--- a/src/main/java/org/bukkit/Chunk.java
+++ b/src/main/java/org/bukkit/Chunk.java
@@ -93,12 +93,24 @@ public interface Chunk {
@ -35,5 +35,5 @@ index b347a3ccf..8a8043351 100644
/**
* Checks if the chunk is loaded.
--
2.19.0
2.20.1

View file

@ -1,11 +1,11 @@
From db089bcf65dcc04d651a6f5a1efc594ffc0956eb Mon Sep 17 00:00:00 2001
From 437e17e4c522a9e7f87441f3b44efc36166f8b53 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 15 Aug 2018 01:19:37 -0400
Subject: [PATCH] Don't use snapshots for Timings Tile Entity reports
diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java
index c2c2fb83..769facd8 100644
index 28d0954a..7ad9400a 100644
--- a/src/main/java/co/aikar/timings/TimingHistory.java
+++ b/src/main/java/co/aikar/timings/TimingHistory.java
@@ -118,7 +118,7 @@ public class TimingHistory {
@ -18,5 +18,5 @@ index c2c2fb83..769facd8 100644
Bukkit.getLogger().warning("Null tileentity detected in chunk at position x: " + chunk.getX() + ", z: " + chunk.getZ());
continue;
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 6c57e466396348da4e30c996c0d1f3b8555d5ea2 Mon Sep 17 00:00:00 2001
From 10ce18ced17baa36f2ffe0e9a3604e314d20830f Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Tue, 14 Aug 2018 21:42:10 -0700
Subject: [PATCH] Allow Blocks to be accessed via a long key
@ -49,7 +49,7 @@ index 8dcb15fb..7e1ee875 100644
* @return A new location where X/Y/Z are the center of the block
*/
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 6635285f..071a8490 100644
index 92688252..1467debe 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -75,6 +75,37 @@ public interface World extends PluginMessageRecipient, Metadatable {

View file

@ -1,4 +1,4 @@
From 9525177fd2b2c81a4b586beaa0df3f4190c7fca8 Mon Sep 17 00:00:00 2001
From 6c82e7b5c506dfd85e0f5d607c218966c035e06c Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 24 Aug 2018 08:18:27 -0500
Subject: [PATCH] Slime Pathfinder Events
@ -207,5 +207,5 @@ index 1119e26e..c4791f95 100644
+ // Paper end
}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From f36153fbc7b8b55a0bb0529803d9e1fc60c14f36 Mon Sep 17 00:00:00 2001
From 5bc40b8e037de01dacf424153054ac40301efefa Mon Sep 17 00:00:00 2001
From: cswhite2000 <18whitechristop@gmail.com>
Date: Tue, 21 Aug 2018 19:39:46 -0700
Subject: [PATCH] isChunkGenerated API
@ -33,7 +33,7 @@ index 7e1ee875..9457832b 100644
/**
* Sets the position of this Location and returns itself
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index adace47c..de89122e 100644
index 1467debe..668c9b7a 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -184,6 +184,17 @@ public interface World extends PluginMessageRecipient, Metadatable {
@ -55,5 +55,5 @@ index adace47c..de89122e 100644
* This is the Legacy API before Java 8 was supported. Java 8 Consumer is provided,
* as well as future support
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 9170ad8b1b11975233995f46a677b145286c471b Mon Sep 17 00:00:00 2001
From eb0f960daf853e86b7b33d48033746b6fe4a0e4d Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 24 Aug 2018 11:50:16 -0500
Subject: [PATCH] Add More Creeper API
@ -98,5 +98,5 @@ index f957d836..b9877fb8 100644
+ // Paper end
}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From db18095b2d1d5564f7b2395ed59f548b79e50e7c Mon Sep 17 00:00:00 2001
From f5a1ce4f2c76ea0c0e04db4c4f8e292923864147 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 25 Aug 2018 19:56:42 -0500
Subject: [PATCH] Add PhantomPreSpawnEvent
@ -59,5 +59,5 @@ index 1a1044ed..65b703a2 100644
+ // Paper end
}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 488d14432be0bcc7e88db13e81a1e60de0789365 Mon Sep 17 00:00:00 2001
From f6670ef133f3fce494c9f54045f6267657603349 Mon Sep 17 00:00:00 2001
From: Sotr <i@omc.hk>
Date: Thu, 23 Aug 2018 16:14:25 +0800
Subject: [PATCH] Add source block to BlockPhysicsEvent
@ -44,5 +44,5 @@ index 5e47eabe..9d9e4712 100644
/**
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 3f760c70899a4bd65a6c1489e7508f64b60b7339 Mon Sep 17 00:00:00 2001
From 28b07fbe11475f6ab3ce856ba3aa93cb64bfc4c5 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 28 Aug 2018 23:04:06 -0400
Subject: [PATCH] Inventory#removeItemAnySlot
@ -43,5 +43,5 @@ index 2dbba001..ec58e972 100644
* Returns all ItemStacks from the inventory
*
--
2.19.0
2.20.1

View file

@ -1,55 +0,0 @@
From 14a1db13c30927e0e9b1b1b9540aab8f749b1df7 Mon Sep 17 00:00:00 2001
From: willies952002 <admin@domnian.com>
Date: Wed, 29 Aug 2018 00:37:30 -0400
Subject: [PATCH] Add Force-Loaded Chunk API
diff --git a/src/main/java/org/bukkit/Chunk.java b/src/main/java/org/bukkit/Chunk.java
index 8a804335..4b9e0ca4 100644
--- a/src/main/java/org/bukkit/Chunk.java
+++ b/src/main/java/org/bukkit/Chunk.java
@@ -168,4 +168,20 @@ public interface Chunk {
* @return true if slimes are able to spawn in this chunk
*/
boolean isSlimeChunk();
+
+ // Paper start - Force-Loaded Chunk API
+ /**
+ * Checks if the chunk is currently force-loaded
+ *
+ * @return true if the chunk is force-loaded, otherwise false
+ */
+ boolean isForceLoaded();
+
+ /**
+ * Set's whether a chunk is force-loaded or not
+ *
+ * @param force whether or not to force load this chunk
+ */
+ void setForceLoaded(boolean force);
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index de89122e..aa28c452 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -195,6 +195,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
return isChunkGenerated((int) chunkKey, (int) (chunkKey >> 32));
}
+ /**
+ * Checks if a chunk is force-loaded.
+ * Note: This will only return true if the chunk is also generated
+ *
+ * @param x X-coordinate of the chunk
+ * @param z Z-coordinate of the chunk
+ * @return true if the chunk is force-loaded. otherwise false
+ */
+ public boolean isChunkForceLoaded(int x, int z);
+
/**
* This is the Legacy API before Java 8 was supported. Java 8 Consumer is provided,
* as well as future support
--
2.19.1

View file

@ -1,4 +1,4 @@
From f7250d46b04c8d3ea217087c674301f006f92287 Mon Sep 17 00:00:00 2001
From 797ddcb8d1d7aaa58ed9a7c7fb867158e932facc Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Mon, 3 Sep 2018 18:13:53 -0500
Subject: [PATCH] Add ray tracing methods to LivingEntity
@ -6,7 +6,7 @@ Subject: [PATCH] Add ray tracing methods to LivingEntity
diff --git a/src/main/java/com/destroystokyo/paper/block/TargetBlockInfo.java b/src/main/java/com/destroystokyo/paper/block/TargetBlockInfo.java
new file mode 100644
index 000000000..fe43d9557
index 00000000..fe43d955
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/block/TargetBlockInfo.java
@@ -0,0 +1,50 @@
@ -61,7 +61,7 @@ index 000000000..fe43d9557
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index e3bc04e1c..bd47e7209 100644
index e3bc04e1..bd47e720 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -78,6 +78,77 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@ -143,5 +143,5 @@ index e3bc04e1c..bd47e7209 100644
* Gets the last two blocks along the living entity's line of sight.
* <p>
--
2.19.1
2.20.1

View file

@ -1,11 +1,11 @@
From fa58997c542e7d960489559b70bc4219db6dbd5c Mon Sep 17 00:00:00 2001
From 288d6642d635afea38e19dfd087b11ddd00224c5 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Tue, 4 Sep 2018 15:01:54 -0500
Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index c9f027f99..7f6ae5d16 100644
index c9f027f9..7f6ae5d1 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1907,6 +1907,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@ -36,5 +36,5 @@ index c9f027f99..7f6ae5d16 100644
// Spigot start
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From aef4c17d56b4333e03d4a071b0f3fd61a7c9bab8 Mon Sep 17 00:00:00 2001
From 693483de100436c064845dd752f5f1ee987450fd Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Tue, 21 Aug 2018 01:32:28 +0100
Subject: [PATCH] Improve death events
@ -173,5 +173,5 @@ index ab9e81fd..fef134c6 100644
+ // Paper end
}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 8287fe3f64b74ccd77c5b7e26d4ac557be8d8998 Mon Sep 17 00:00:00 2001
From e56639fa55ad0e1d2a489c71c999dfba9aafda53 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 9 Sep 2018 12:39:06 -0400
Subject: [PATCH] Mob Pathfinding API
@ -13,7 +13,7 @@ You can use EntityPathfindEvent to cancel new pathfinds from overriding your cur
diff --git a/src/main/java/com/destroystokyo/paper/entity/Pathfinder.java b/src/main/java/com/destroystokyo/paper/entity/Pathfinder.java
new file mode 100644
index 000000000..d6953b390
index 00000000..d6953b39
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/entity/Pathfinder.java
@@ -0,0 +1,167 @@
@ -185,7 +185,7 @@ index 000000000..d6953b390
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Mob.java b/src/main/java/org/bukkit/entity/Mob.java
index d029d34ea..48eddcd30 100644
index d029d34e..48eddcd3 100644
--- a/src/main/java/org/bukkit/entity/Mob.java
+++ b/src/main/java/org/bukkit/entity/Mob.java
@@ -7,6 +7,14 @@ import org.bukkit.loot.Lootable;
@ -204,5 +204,5 @@ index d029d34ea..48eddcd30 100644
* Instructs this Mob to set the specified LivingEntity as its target.
* <p>
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From ceef7057702a9be623ecad7664d826ab2516bd0e Mon Sep 17 00:00:00 2001
From 830ac878de07dc95bcef19e838d0d5bf78986b47 Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Date: Wed, 12 Sep 2018 18:53:35 +0300
Subject: [PATCH] Add an API for CanPlaceOn and CanDestroy NBT values
@ -217,7 +217,7 @@ index fe8d3468..074769c1 100644
return key;
}
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
index df51f3ca..e9f640fb 100644
index 4d0351c4..03e3cfd4 100644
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
@@ -82,13 +82,13 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable {
@ -245,7 +245,7 @@ index df51f3ca..e9f640fb 100644
* Returns an empty map if none.
*
* @return An immutable copy of the enchantments
@@ -365,4 +365,83 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable {
@@ -363,4 +363,83 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable {
Spigot spigot();
// Spigot end
@ -330,5 +330,5 @@ index df51f3ca..e9f640fb 100644
+ // Paper end
}
--
2.19.2
2.20.1

View file

@ -1,4 +1,4 @@
From 8cc83558c69d808807f58f7fd8986921a4bf285c Mon Sep 17 00:00:00 2001
From 64ae4c1416201184004acc97e8973c304b5382e7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 13 Sep 2018 20:51:50 -0400
Subject: [PATCH] Performance & Concurrency Improvements to Permissions
@ -18,7 +18,7 @@ Optimized it to simply be a single get call cutting permission map
lookups in half.
diff --git a/src/main/java/org/bukkit/permissions/PermissibleBase.java b/src/main/java/org/bukkit/permissions/PermissibleBase.java
index d4cb00a82..486f69f86 100644
index d4cb00a8..486f69f8 100644
--- a/src/main/java/org/bukkit/permissions/PermissibleBase.java
+++ b/src/main/java/org/bukkit/permissions/PermissibleBase.java
@@ -68,8 +68,11 @@ public class PermissibleBase implements Permissible {
@ -110,5 +110,5 @@ index d4cb00a82..486f69f86 100644
}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From e76b659f5e22697dc759adffd8ed7d470cc020a2 Mon Sep 17 00:00:00 2001
From b40f077ca0c583d5bd25b14c8ecd7e3eed96b4be Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 13 Sep 2018 21:39:26 -0400
Subject: [PATCH] Add ItemStackRecipeChoice Draft API
@ -9,7 +9,7 @@ Allows creating recipes that must match isSimilar to full item stack.
diff --git a/src/main/java/com/destroystokyo/paper/inventory/ItemStackRecipeChoice.java b/src/main/java/com/destroystokyo/paper/inventory/ItemStackRecipeChoice.java
new file mode 100644
index 000000000..43e6576b1
index 00000000..43e6576b
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/inventory/ItemStackRecipeChoice.java
@@ -0,0 +1,51 @@
@ -65,5 +65,5 @@ index 000000000..43e6576b1
+ }
+}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 85d81decb16af5bacff8ec75be26f94d1c81b5fa Mon Sep 17 00:00:00 2001
From cb8dd2ae05fdc76057c79ecd8936954fd812a9e1 Mon Sep 17 00:00:00 2001
From: Tassu <git@tassu.me>
Date: Thu, 13 Sep 2018 08:45:01 +0300
Subject: [PATCH] Implement furnace cook speed multiplier API

View file

@ -1,4 +1,4 @@
From 32a60bd35059c35a3e7d359a37400769b93c6e31 Mon Sep 17 00:00:00 2001
From 03de4ff3ffc69cd1597f223ab8154466131f3283 Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Tue, 18 Sep 2018 23:50:10 +0100
Subject: [PATCH] PreSpawnerSpawnEvent
@ -10,7 +10,7 @@ spawners.
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/PreSpawnerSpawnEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/PreSpawnerSpawnEvent.java
new file mode 100644
index 000000000..d72212105
index 00000000..d7221210
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/PreSpawnerSpawnEvent.java
@@ -0,0 +1,27 @@
@ -42,5 +42,5 @@ index 000000000..d72212105
+ }
+}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 7a42dca8e149969ed13cdae48a9cdf98262a3319 Mon Sep 17 00:00:00 2001
From beb196480c0a50f244dfbc99d7d8f8f8f9123e03 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 22 Sep 2018 18:41:01 -0400
Subject: [PATCH] Remove Precondition on name for AttributeModifier
@ -6,7 +6,7 @@ Subject: [PATCH] Remove Precondition on name for AttributeModifier
Vanilla allows empty names
diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java
index 2bc9878ff..0943eee46 100644
index 2bc9878f..0943eee4 100644
--- a/src/main/java/org/bukkit/attribute/AttributeModifier.java
+++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java
@@ -30,10 +30,10 @@ public class AttributeModifier implements ConfigurationSerializable {
@ -23,5 +23,5 @@ index 2bc9878ff..0943eee46 100644
this.operation = operation;
this.slot = slot;
--
2.19.0
2.20.1

View file

@ -1,11 +1,11 @@
From 36f2224286f0b66b0230f0ad4cfd914c603d8488 Mon Sep 17 00:00:00 2001
From 9f8161e612c20011aefaab900ee328d011344ce7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 6 Oct 2018 21:14:29 -0400
Subject: [PATCH] Material API additions
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index 14cae61fb..393024343 100644
index 14cae61f..39302434 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -72,6 +72,7 @@ import org.bukkit.material.MaterialData;
@ -40,5 +40,5 @@ index 14cae61fb..393024343 100644
* Do not use for any reason.
*
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 340d4255fde17caa3dff4eed9f2c63aab197f877 Mon Sep 17 00:00:00 2001
From add76949997b755d73d123817b65e0551d58f6b3 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 17 Jul 2018 01:27:15 -0400
Subject: [PATCH] Add Material Tags
@ -8,7 +8,7 @@ are related to each other by a trait.
diff --git a/src/main/java/com/destroystokyo/paper/MaterialSetTag.java b/src/main/java/com/destroystokyo/paper/MaterialSetTag.java
new file mode 100644
index 000000000..b4f78e075
index 00000000..b4f78e07
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/MaterialSetTag.java
@@ -0,0 +1,139 @@
@ -153,7 +153,7 @@ index 000000000..b4f78e075
+}
diff --git a/src/main/java/com/destroystokyo/paper/MaterialTags.java b/src/main/java/com/destroystokyo/paper/MaterialTags.java
new file mode 100644
index 000000000..7a48445da
index 00000000..7a48445d
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/MaterialTags.java
@@ -0,0 +1,377 @@
@ -536,7 +536,7 @@ index 000000000..7a48445da
+}
diff --git a/src/test/java/com/destroystokyo/paper/MaterialTagsTest.java b/src/test/java/com/destroystokyo/paper/MaterialTagsTest.java
new file mode 100644
index 000000000..328c51471
index 00000000..328c5147
--- /dev/null
+++ b/src/test/java/com/destroystokyo/paper/MaterialTagsTest.java
@@ -0,0 +1,25 @@
@ -566,7 +566,7 @@ index 000000000..328c51471
+ }
+}
diff --git a/src/test/java/org/bukkit/TestServer.java b/src/test/java/org/bukkit/TestServer.java
index 2d8403206..613675c3b 100644
index 2d840320..613675c3 100644
--- a/src/test/java/org/bukkit/TestServer.java
+++ b/src/test/java/org/bukkit/TestServer.java
@@ -30,6 +30,16 @@ public class TestServer implements InvocationHandler {
@ -587,5 +587,5 @@ index 2d8403206..613675c3b 100644
Server.class.getMethod("getPluginManager"),
new MethodHandler() {
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 1b3e6a9e6dba9df96c4080e4bbcb5afe9466637c Mon Sep 17 00:00:00 2001
From 58c627929f89adfa0b2353bd1d9e01984e462b03 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 6 Oct 2018 21:47:09 -0500
Subject: [PATCH] Allow setting the vex's summoner
@ -30,5 +30,5 @@ index d395e405..78f0082e 100644
+ // Paper end
}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 4b568e4b100ab191c511089dd45114dee7e1c7b8 Mon Sep 17 00:00:00 2001
From c3cd722b840b3e0a65f7592c33897c9b9dee852c Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 22 Sep 2018 00:32:53 -0500
Subject: [PATCH] Add LivingEntity#getTargetEntity
@ -6,7 +6,7 @@ Subject: [PATCH] Add LivingEntity#getTargetEntity
diff --git a/src/main/java/com/destroystokyo/paper/entity/TargetEntityInfo.java b/src/main/java/com/destroystokyo/paper/entity/TargetEntityInfo.java
new file mode 100644
index 000000000..5df8eed23
index 00000000..5df8eed2
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/entity/TargetEntityInfo.java
@@ -0,0 +1,35 @@
@ -46,7 +46,7 @@ index 000000000..5df8eed23
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index bd47e7209..34a8fe3f7 100644
index bd47e720..34a8fe3f 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -147,6 +147,50 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@ -101,5 +101,5 @@ index bd47e7209..34a8fe3f7 100644
/**
--
2.19.1
2.20.1

View file

@ -1,14 +1,14 @@
From 09dee3bad3aecdc375e9059a0679536b3dc2a23b Mon Sep 17 00:00:00 2001
From 57018093cd49e64641888299c3c0645fe7d157e3 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sun, 7 Oct 2018 00:54:15 -0500
Subject: [PATCH] Add sun related API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index aa28c452..27e58136 100644
index 668c9b7a..67e062b8 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1423,6 +1423,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1446,6 +1446,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
*/
public void setFullTime(long time);
@ -44,5 +44,5 @@ index 48eddcd3..1b108a4a 100644
/**
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 11cd00a4ed9f1c168842b3fe90c2a16c07241e1f Mon Sep 17 00:00:00 2001
From ce30c5582810d5202d0a72af02321e2a0ee1420c Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 12 Oct 2018 01:37:16 -0500
Subject: [PATCH] Here's Johnny!
@ -41,5 +41,5 @@ index b8ea68a8..c5d9e76a 100644
+ // Paper end
+}
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 2b4c99b420dceb1f6c57d19416ba20d1eee8005b Mon Sep 17 00:00:00 2001
From 853b766f604c2846ccace37753d58df97c8834b1 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 28 Sep 2018 17:08:09 -0500
Subject: [PATCH] Turtle API
@ -6,7 +6,7 @@ Subject: [PATCH] Turtle API
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleGoHomeEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleGoHomeEvent.java
new file mode 100644
index 000000000..11248ee93
index 00000000..11248ee9
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleGoHomeEvent.java
@@ -0,0 +1,45 @@
@ -57,7 +57,7 @@ index 000000000..11248ee93
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
new file mode 100644
index 000000000..7cb00f78d
index 00000000..7cb00f78
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
@@ -0,0 +1,81 @@
@ -144,7 +144,7 @@ index 000000000..7cb00f78d
+}
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
new file mode 100644
index 000000000..5d53ee08b
index 00000000..5d53ee08
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
@@ -0,0 +1,57 @@
@ -206,7 +206,7 @@ index 000000000..5d53ee08b
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Turtle.java b/src/main/java/org/bukkit/entity/Turtle.java
index 0a4cd2993..e547eead4 100644
index 0a4cd299..e547eead 100644
--- a/src/main/java/org/bukkit/entity/Turtle.java
+++ b/src/main/java/org/bukkit/entity/Turtle.java
@@ -1,6 +1,53 @@
@ -265,5 +265,5 @@ index 0a4cd2993..e547eead4 100644
+ // Paper end
+}
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 9848837a4d460976eaaa3643870f52c3f3ecc95c Mon Sep 17 00:00:00 2001
From 2c380e9b76d24bea7deef42af4e95bcf6e3fec2a Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 6 Oct 2018 20:54:13 -0500
Subject: [PATCH] Implement getters and setters for EntityItem owner and
@ -58,5 +58,5 @@ index 2e98e4f9..8049b36c 100644
// Paper end
}
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 44a47707ed4cc9e39a4e054061e8b58c6eb02790 Mon Sep 17 00:00:00 2001
From fb900dc1cd53f7634e16210beac32550300cfc85 Mon Sep 17 00:00:00 2001
From: Caleb Bassham <caleb.bassham@gmail.com>
Date: Fri, 28 Sep 2018 02:30:56 -0500
Subject: [PATCH] Add spectator target events
@ -131,5 +131,5 @@ index 00000000..ce23caaf
+ }
+}
--
2.19.1
2.20.1

View file

@ -1,11 +1,11 @@
From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001
From 3df85d0e4c57460cf7644e4acd0a42ce53bd05f6 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 12 Oct 2018 03:47:26 -0500
Subject: [PATCH] Add more Witch API
diff --git a/src/main/java/org/bukkit/entity/Witch.java b/src/main/java/org/bukkit/entity/Witch.java
index 7ac07ac07ac0..7ac07ac07ac0 100644
index 4b27f689..64ec8409 100644
--- a/src/main/java/org/bukkit/entity/Witch.java
+++ b/src/main/java/org/bukkit/entity/Witch.java
@@ -2,8 +2,42 @@ package org.bukkit.entity;
@ -53,5 +53,5 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
+ // Paper end
}
--
2.19.1
2.20.1

View file

@ -1,11 +1,11 @@
From f8b5db1f226e671fc1fd422e4723eb8eaa70eddc Mon Sep 17 00:00:00 2001
From 7a729003770c77b436b94759d729f350a35ab14e Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 18 Nov 2018 19:44:54 +0000
Subject: [PATCH] Make the default permission message configurable
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 233a71540..22ca2900c 100644
index 233a7154..22ca2900 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1463,6 +1463,14 @@ public final class Bukkit {
@ -24,7 +24,7 @@ index 233a71540..22ca2900c 100644
* Creates a PlayerProfile for the specified uuid, with name as null
* @param uuid UUID to create profile for
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index b8076fc3f..9c78f18f6 100644
index b8076fc3..9c78f18f 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1265,6 +1265,12 @@ public interface Server extends PluginMessageRecipient {
@ -41,7 +41,7 @@ index b8076fc3f..9c78f18f6 100644
* Creates a PlayerProfile for the specified uuid, with name as null
* @param uuid UUID to create profile for
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
index 4a479627d..77171cd17 100644
index 4a479627..77171cd1 100644
--- a/src/main/java/org/bukkit/command/Command.java
+++ b/src/main/java/org/bukkit/command/Command.java
@@ -180,7 +180,7 @@ public abstract class Command {
@ -54,5 +54,5 @@ index 4a479627d..77171cd17 100644
for (String line : permissionMessage.replace("<permission>", permission).split("\n")) {
target.sendMessage(line);
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 9cc1d43c347c163357f283529d7fd0a9cefb5474 Mon Sep 17 00:00:00 2001
From f09172180ea930533e2dfb629a6cd104ba613df4 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 18 Nov 2018 15:53:43 +0000
Subject: [PATCH] Support cancellation supression of EntityDismount/VehicleExit
@ -108,5 +108,5 @@ index 4110d3bb..555899ef 100644
public HandlerList getHandlers()
{
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From 8fc89f6aa5cd95b3b784cefd12a6e7e4bd4db165 Mon Sep 17 00:00:00 2001
From 565b1a1d7031594461aa7fac5a6a63eb1ff7f803 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sun, 7 Oct 2018 04:29:51 -0500
Subject: [PATCH] Add more Zombie API
@ -65,5 +65,5 @@ index 48034198..615dd990 100644
+ // Paper end
}
--
2.20.0
2.20.1

View file

@ -1,4 +1,4 @@
From eb7842870179959eb5cec665ae4e51cda37da706 Mon Sep 17 00:00:00 2001
From c607e328655c95d9773323d6c79c5e544ee27fe7 Mon Sep 17 00:00:00 2001
From: DoNotSpamPls <7570108+DoNotSpamPls@users.noreply.github.com>
Date: Tue, 23 Oct 2018 19:32:55 +0300
Subject: [PATCH] Change the reserved channel check to be sensible
@ -33,5 +33,5 @@ index c15fa003..31ff2f61 100644
}
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From c82f656c16764f1c42045bc102ad89c43d43a1db Mon Sep 17 00:00:00 2001
From f0efe7dcddc56cd20983c541c42537f1d78f7b0b Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Sun, 7 Oct 2018 12:05:06 -0700
Subject: [PATCH] Add PlayerConnectionCloseEvent
@ -129,5 +129,5 @@ index 00000000..80896bbf
+ }
+}
--
2.20.0
2.20.1

View file

@ -1,11 +1,11 @@
From 4319757a25f8a0f330e9925ab19944eb2d4c337c Mon Sep 17 00:00:00 2001
From ebaa3f2ecf523cfb023fba78355399fccb79a173 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Mon, 29 Feb 2016 20:40:33 -0600
Subject: [PATCH] POM Changes
diff --git a/pom.xml b/pom.xml
index ccf92b011..f0fc37abf 100644
index b423d5be5..713034015 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,12 +1,11 @@
@ -45,7 +45,7 @@ index ccf92b011..f0fc37abf 100644
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
@@ -101,34 +100,22 @@
@@ -95,34 +94,22 @@
<!-- This builds a completely 'ready to start' jar with all dependencies inside -->
<build>
@ -91,7 +91,7 @@ index ccf92b011..f0fc37abf 100644
</goals>
</execution>
</executions>
@@ -138,11 +125,13 @@
@@ -132,11 +119,13 @@
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
@ -106,7 +106,7 @@ index ccf92b011..f0fc37abf 100644
<Implementation-Vendor>${maven.build.timestamp}</Implementation-Vendor>
<Specification-Title>Bukkit</Specification-Title>
<Specification-Version>${api.version}</Specification-Version>
@@ -182,20 +171,23 @@
@@ -176,20 +165,23 @@
<goal>shade</goal>
</goals>
<configuration>
@ -138,7 +138,7 @@ index ccf92b011..f0fc37abf 100644
<relocation>
<pattern>org.bukkit.craftbukkit</pattern>
<shadedPattern>org.bukkit.craftbukkit.v${minecraft_version}</shadedPattern>
@@ -221,18 +213,6 @@
@@ -215,18 +207,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
@ -171,5 +171,5 @@ index 93046379d..674096cab 100644
if (stream != null) {
--
2.19.2
2.20.1

View file

@ -1,4 +1,4 @@
From 1b71f76b3adb5f3ea991080df8180a1473da4e12 Mon Sep 17 00:00:00 2001
From adc03c34bceae0b048f7b8fa4e32c9aa42eda25a Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Mon, 29 Feb 2016 21:02:09 -0600
Subject: [PATCH] Paper config files
@ -511,7 +511,7 @@ index 000000000..a73865739
+ }
+}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index cdfd9a8fb..b5e5c385d 100644
index 229c25338..197d116c6 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -192,6 +192,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@ -531,10 +531,10 @@ index cdfd9a8fb..b5e5c385d 100644
DedicatedServer.LOGGER.info("Generating keypair");
this.a(MinecraftEncryption.b());
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index f04e87c57..c93cab858 100644
index 5289325a2..b1a4a6d70 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -135,9 +135,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@@ -133,9 +133,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
private static final DataWatcherObject<Boolean> aG = DataWatcher.a(Entity.class, DataWatcherRegistry.i);
private static final DataWatcherObject<Boolean> aH = DataWatcher.a(Entity.class, DataWatcherRegistry.i);
public boolean inChunk;
@ -548,7 +548,7 @@ index f04e87c57..c93cab858 100644
public boolean impulse;
public int portalCooldown;
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index 207bad41e..bcdc790ba 100644
index ee16fac91..b8abd6363 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -2,6 +2,8 @@ package net.minecraft.server;
@ -561,7 +561,7 @@ index 207bad41e..bcdc790ba 100644
import java.util.function.Function;
import java.util.stream.Stream;
@@ -333,4 +335,10 @@ public class EntityTypes<T extends Entity> {
return new EntityTypes(this.a, this.b, this.c, this.d, type);
return new EntityTypes<>(this.a, this.b, this.c, this.d, type);
}
}
+
@ -572,10 +572,10 @@ index 207bad41e..bcdc790ba 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 673764369..0920ef2d1 100644
index 6ea9eaa1a..5531f5205 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -134,6 +134,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -130,6 +130,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
private int tickPosition;
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
@ -584,7 +584,7 @@ index 673764369..0920ef2d1 100644
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
private boolean guardEntityList; // Spigot
public static boolean haveWeSilencedAPhysicsCrash;
@@ -156,6 +158,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -152,6 +154,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
protected World(IDataManager idatamanager, @Nullable PersistentCollection persistentcollection, WorldData worlddata, WorldProvider worldprovider, MethodProfiler methodprofiler, boolean flag, ChunkGenerator gen, org.bukkit.World.Environment env) {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot
@ -667,7 +667,7 @@ index 8b51997fc..e9ea75579 100644
};
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 95f7a9587..87bc8e2d9 100644
index 2578c4957..d3c2abc39 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -39,31 +39,31 @@ public class SpigotWorldConfig
@ -708,5 +708,5 @@ index 95f7a9587..87bc8e2d9 100644
config.addDefault( "world-settings.default." + path, def );
return config.getString( "world-settings." + worldName + "." + path, config.getString( "world-settings.default." + path ) );
--
2.20.0
2.20.1

View file

@ -1,393 +1,156 @@
From dadb0a624cab08627738eb8b0538dc25bf636f10 Mon Sep 17 00:00:00 2001
From 7ad9c299e87d66f79104c9f21043392b0d60700d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 30 Mar 2016 19:36:20 -0400
Subject: [PATCH] MC Dev fixes
diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java
index 25a1edc45..f1ad18511 100644
--- a/src/main/java/net/minecraft/server/BaseBlockPosition.java
+++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java
@@ -98,8 +98,4 @@ public class BaseBlockPosition implements Comparable<BaseBlockPosition> {
return MoreObjects.toStringHelper(this).add("x", this.getX()).add("y", this.getY()).add("z", this.getZ()).toString();
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
index bcb4b5e5c..c399bdecc 100644
--- a/src/main/java/net/minecraft/server/BiomeBase.java
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
@@ -124,7 +124,7 @@ public abstract class BiomeBase {
@Nullable
public static BiomeBase a(BiomeBase biomebase) {
- return (BiomeBase) BiomeBase.aH.fromId(IRegistry.BIOME.a((Object) biomebase));
+ return (BiomeBase) BiomeBase.aH.fromId(IRegistry.BIOME.a(biomebase)); // Paper - decompile fix
}
- // $FF: synthetic method
- public int compareTo(Object object) {
- return this.compareTo((BaseBlockPosition)object);
- }
}
public static <C extends WorldGenFeatureConfiguration> WorldGenCarverWrapper<C> a(WorldGenCarver<C> worldgencarver, C c0) {
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
index 66c38df1f..50e29464b 100644
index bd2a67cfc..330f5d0c1 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -178,10 +178,6 @@ public class BlockPosition extends BaseBlockPosition {
}
}
@@ -10,7 +10,7 @@ import org.apache.logging.log4j.Logger;
@Immutable
public class BlockPosition extends BaseBlockPosition {
- // $FF: synthetic method
- protected Object computeNext() {
- return this.computeNext();
- }
};
};
- private static final Logger b = LogManager.getLogger();
+ //private static final Logger b = LogManager.getLogger(); // Paper - variable name conflict, logger isn't used
public static final BlockPosition ZERO = new BlockPosition(0, 0, 0);
private static final int c = 1 + MathHelper.e(MathHelper.c(30000000));
private static final int d = BlockPosition.c;
@@ -147,7 +147,7 @@ public class BlockPosition extends BaseBlockPosition {
return a(Math.min(blockposition.getX(), blockposition1.getX()), Math.min(blockposition.getY(), blockposition1.getY()), Math.min(blockposition.getZ(), blockposition1.getZ()), Math.max(blockposition.getX(), blockposition1.getX()), Math.max(blockposition.getY(), blockposition1.getY()), Math.max(blockposition.getZ(), blockposition1.getZ()));
}
@@ -209,8 +205,11 @@ public class BlockPosition extends BaseBlockPosition {
- public static Iterable<BlockPosition> a(int i, int j, int k, int l, int i1, int j1) {
+ public static Iterable<BlockPosition> a(int ix, int jx, int kx, int l, int i1, int j1) { // Paper - decompile fix
return () -> {
return new AbstractIterator<BlockPosition>() {
private boolean g = true;
@@ -158,21 +158,21 @@ public class BlockPosition extends BaseBlockPosition {
protected BlockPosition computeNext() {
if (this.g) {
this.g = false;
- this.h = i;
- this.i = j;
- this.j = k;
- return new BlockPosition(i, j, k);
+ this.h = ix; // Paper - decompile fix
+ this.i = jx; // Paper - decompile fix
+ this.j = kx; // Paper - decompile fix
+ return new BlockPosition(ix, jx, kx);
} else if (this.h == l && this.i == i1 && this.j == j1) {
return (BlockPosition) this.endOfData();
} else {
if (this.h < l) {
++this.h;
} else if (this.i < i1) {
- this.h = i;
+ this.h = ix; // Paper - decompile fix
++this.i;
} else if (this.j < j1) {
- this.h = i;
- this.i = j;
+ this.h = ix; // Paper - decompile fix
+ this.i = jx; // Paper - decompile fix
++this.j;
}
@@ -206,8 +206,11 @@ public class BlockPosition extends BaseBlockPosition {
if (this.g.b < l) {
++this.g.b;
} else if (this.g.c < i1) {
+ this.g.b = ix; // Paper - decompile fix Readd line removed by the decompiler
+ this.g.b = i; // Paper - decompile fix Readd line removed by the decompiler
++this.g.c;
} else if (this.g.d < j1) {
+ this.g.b = ix; // Paper - decompile fix Readd line removed by the decompiler
+ this.g.c = jx; // Paper - decompile fix Readd line removed by the decompiler
+ this.g.b = i; // Paper - decompile fix Readd line removed by the decompiler
+ this.g.c = j; // Paper - decompile fix Readd line removed by the decompiler
++this.g.d;
}
@@ -218,18 +217,10 @@ public class BlockPosition extends BaseBlockPosition {
}
}
diff --git a/src/main/java/net/minecraft/server/BlockStateEnum.java b/src/main/java/net/minecraft/server/BlockStateEnum.java
index 401b6d970..986b9ccea 100644
--- a/src/main/java/net/minecraft/server/BlockStateEnum.java
+++ b/src/main/java/net/minecraft/server/BlockStateEnum.java
@@ -20,10 +20,10 @@ public class BlockStateEnum<T extends Enum<T> & INamable> extends BlockState<T>
protected BlockStateEnum(String s, Class<T> oclass, Collection<T> collection) {
super(s, oclass);
this.a = ImmutableSet.copyOf(collection);
- Iterator iterator = collection.iterator();
+ Iterator<T> iterator = collection.iterator(); // Paper - decompile fix
- // $FF: synthetic method
- protected Object computeNext() {
- return this.computeNext();
- }
};
};
}
while (iterator.hasNext()) {
- T t0 = (Enum) iterator.next();
+ T t0 = iterator.next(); // Paper - Decompile fix
String s1 = ((INamable) t0).getName();
- // $FF: synthetic method
- public BaseBlockPosition d(BaseBlockPosition baseblockposition) {
- return this.d(baseblockposition);
- }
public static class MutableBlockPosition extends BlockPosition {
protected int b;
@@ -314,10 +305,6 @@ public class BlockPosition extends BaseBlockPosition {
return new BlockPosition(this);
}
- // $FF: synthetic method
- public BaseBlockPosition d(BaseBlockPosition baseblockposition) {
- return super.d(baseblockposition);
- }
}
public static final class b extends BlockPosition.MutableBlockPosition implements AutoCloseable {
@@ -389,34 +376,5 @@ public class BlockPosition extends BaseBlockPosition {
}
}
- // $FF: synthetic method
- public BlockPosition.MutableBlockPosition d(int i, int j, int k) {
- return this.d(i, j, k);
- }
-
- // $FF: synthetic method
- public BlockPosition.MutableBlockPosition c(EnumDirection enumdirection, int i) {
- return this.c(enumdirection, i);
- }
-
- // $FF: synthetic method
- public BlockPosition.MutableBlockPosition c(EnumDirection enumdirection) {
- return this.c(enumdirection);
- }
-
- // $FF: synthetic method
- public BlockPosition.MutableBlockPosition g(BaseBlockPosition baseblockposition) {
- return this.g(baseblockposition);
- }
-
- // $FF: synthetic method
- public BlockPosition.MutableBlockPosition c(double d0, double d1, double d2) {
- return this.c(d0, d1, d2);
- }
-
- // $FF: synthetic method
- public BlockPosition.MutableBlockPosition c(int i, int j, int k) {
- return this.c(i, j, k);
- }
}
}
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
index 3bd0c56d4..304e47bf2 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -72,11 +72,11 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
public int onResize(int ix, T object) {
this.b();
DataBits databits = this.a;
- DataPalette datapalette = this.h;
+ DataPalette<T> datapalette = this.h; // Paper - decompile fix
this.b(ix);
for(int jx = 0; jx < databits.b(); ++jx) {
- Object object1 = datapalette.a(databits.a(jx));
+ T object1 = datapalette.a(databits.a(jx)); // Paper - decompile fix
if (object1 != null) {
this.setBlockIndex(jx, object1);
}
@@ -103,7 +103,7 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
}
protected T a(int ix) {
- Object object = this.h.a(this.a.a(ix));
+ T object = this.h.a(this.a.a(ix)); // Paper - decompile fix
return (T)(object == null ? this.g : object);
}
@@ -127,7 +127,7 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
long[] along = nbttagcompound.o(s1);
int jx = along.length * 64 / 4096;
if (this.h == this.b) {
- DataPaletteHash datapalettehash = new DataPaletteHash(this.d, ix, this.c, this.e, this.f);
+ DataPaletteHash<T> datapalettehash = new DataPaletteHash(this.d, ix, this.c, this.e, this.f); // Paper - decompile fix
datapalettehash.a(nbttaglist);
DataBits databits = new DataBits(ix, 4096, along);
diff --git a/src/main/java/net/minecraft/server/DedicatedPlayerList.java b/src/main/java/net/minecraft/server/DedicatedPlayerList.java
index 5eded6dc2..11f9642e6 100644
--- a/src/main/java/net/minecraft/server/DedicatedPlayerList.java
+++ b/src/main/java/net/minecraft/server/DedicatedPlayerList.java
@@ -136,7 +136,7 @@ public class DedicatedPlayerList extends PlayerList {
}
// $FF: synthetic method
- public MinecraftServer getServer() {
+ public MinecraftServer getMinecraftServer() { // Paper - decompile fix
return this.getServer();
}
}
if (this.b.containsKey(s1)) {
diff --git a/src/main/java/net/minecraft/server/DefinedStructure.java b/src/main/java/net/minecraft/server/DefinedStructure.java
index 8bfa218a6..e2e60d3ed 100644
index 66b168396..83db94c4a 100644
--- a/src/main/java/net/minecraft/server/DefinedStructure.java
+++ b/src/main/java/net/minecraft/server/DefinedStructure.java
@@ -77,7 +77,7 @@ public class DefinedStructure {
@@ -85,7 +85,7 @@ public class DefinedStructure {
}
private void a(World world, BlockPosition blockposition, BlockPosition blockposition1) {
- List list = world.a(Entity.class, new AxisAlignedBB(blockposition, blockposition1), (entity1) -> {
+ List<Entity> list = world.a(Entity.class, new AxisAlignedBB(blockposition, blockposition1),(java.util.function.Predicate<? super Entity>) (entity1) -> { // Paper - decompile fix
return !(entity1 instanceof EntityHuman);
- List<Entity> list = world.a(Entity.class, new AxisAlignedBB(blockposition, blockposition1), (entity) -> {
+ List<Entity> list = world.a(Entity.class, new AxisAlignedBB(blockposition, blockposition1), (java.util.function.Predicate<? super Entity>) (entity) -> { // Paper - decompile fix
return !(entity instanceof EntityHuman);
});
this.b.clear();
@@ -145,12 +145,12 @@ public class DefinedStructure {
if (this.a.isEmpty()) {
return false;
} else {
- List list = definedstructureinfo.a(this.a, blockposition);
+ List<BlockInfo> list = definedstructureinfo.a(this.a, blockposition); // Paper - decompile fix
if ((!list.isEmpty() || !definedstructureinfo.h() && !this.b.isEmpty()) && this.c.getX() >= 1 && this.c.getY() >= 1 && this.c.getZ() >= 1) {
Block block = definedstructureinfo.i();
StructureBoundingBox structureboundingbox = definedstructureinfo.j();
- ArrayList arraylist = Lists.newArrayListWithCapacity(definedstructureinfo.m() ? list.size() : 0);
- ArrayList arraylist1 = Lists.newArrayListWithCapacity(list.size());
+ ArrayList<BlockPosition> arraylist = Lists.newArrayListWithCapacity(definedstructureinfo.m() ? list.size() : 0); // Paper - decompile fix
+ ArrayList<Pair> arraylist1 = Lists.newArrayListWithCapacity(list.size()); // Paper - decompile fix
int j = Integer.MAX_VALUE;
int k = Integer.MAX_VALUE;
int l = Integer.MAX_VALUE;
@@ -427,7 +427,7 @@ public class DefinedStructure {
nbttagcompound.set("blocks", new NBTTagList());
nbttagcompound.set("palette", new NBTTagList());
} else {
- ArrayList arraylist = Lists.newArrayList();
+ ArrayList<DefinedStructure.a> arraylist = Lists.newArrayList(); // Paper - decompile fix
DefinedStructure.a definedstructure$a = new DefinedStructure.a();
arraylist.add(definedstructure$a);
diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java
index 6695f8d77..e1ea8da88 100644
--- a/src/main/java/net/minecraft/server/EnchantmentManager.java
+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java
@@ -51,7 +51,7 @@ public class EnchantmentManager {
public static void a(Map<Enchantment, Integer> map, ItemStack itemstack) {
NBTTagList nbttaglist = new NBTTagList();
@@ -235,7 +235,7 @@ public class DefinedStructure {
boolean flag = true;
EnumDirection[] aenumdirection = new EnumDirection[] { EnumDirection.UP, EnumDirection.NORTH, EnumDirection.EAST, EnumDirection.SOUTH, EnumDirection.WEST};
- for(Entry entry : map.entrySet()) {
+ for(Entry<Enchantment, Integer> entry : map.entrySet()) { // Paper - decompile fix
Enchantment enchantment = (Enchantment)entry.getKey();
if (enchantment != null) {
int i = entry.getValue();
@@ -146,7 +146,7 @@ public class EnchantmentManager {
}
- int l1;
+ //int l1; // Paper - decompile fix
public static int a(Enchantment enchantment, EntityLiving entityliving) {
- List list = enchantment.a(entityliving);
+ List<ItemStack> list = enchantment.a(entityliving); // Paper - decompile fix
if (list == null) {
return 0;
} else {
@@ -224,7 +224,7 @@ public class EnchantmentManager {
}
while (flag && !list1.isEmpty()) {
flag = false;
@@ -245,7 +245,7 @@ public class DefinedStructure {
BlockPosition blockposition2 = (BlockPosition) iterator1.next();
Fluid fluid1 = generatoraccess.getFluid(blockposition2);
public static ItemStack b(Enchantment enchantment, EntityLiving entityliving) {
- List list = enchantment.a(entityliving);
+ List<ItemStack> list = enchantment.a(entityliving);// Paper - decompile fix
if (list.isEmpty()) {
return ItemStack.a;
} else {
@@ -260,7 +260,7 @@ public class EnchantmentManager {
}
- for (l1 = 0; l1 < aenumdirection.length && !fluid1.d(); ++l1) {
+ for (int l1 = 0; l1 < aenumdirection.length && !fluid1.d(); ++l1) { // Paper - decompile fix
Fluid fluid2 = generatoraccess.getFluid(blockposition2.shift(aenumdirection[l1]));
public static ItemStack a(Random random, ItemStack itemstack, int i, boolean flag) {
- List list = b(random, itemstack, i, flag);
+ List<WeightedRandomEnchant> list = b(random, itemstack, i, flag); // Paper - decompile fix
boolean flag1 = itemstack.getItem() == Items.BOOK;
if (flag1) {
itemstack = new ItemStack(Items.ENCHANTED_BOOK);
@@ -328,7 +328,7 @@ public class EnchantmentManager {
}
if (fluid2.getHeight() > fluid1.getHeight() || fluid2.d() && !fluid1.d()) {
@@ -270,7 +270,7 @@ public class DefinedStructure {
int i2 = j;
int j2 = k;
public static List<WeightedRandomEnchant> a(int i, ItemStack itemstack, boolean flag) {
- ArrayList arraylist = Lists.newArrayList();
+ ArrayList<WeightedRandomEnchant> arraylist = Lists.newArrayList();
Item item = itemstack.getItem();
boolean flag1 = itemstack.getItem() == Items.BOOK;
- l1 = l;
+ int l1 = l; // Paper - decompile fix
Iterator iterator2 = list2.iterator();
diff --git a/src/main/java/net/minecraft/server/EntityDragonFireball.java b/src/main/java/net/minecraft/server/EntityDragonFireball.java
index 04cff50cb..e746a6a0d 100644
--- a/src/main/java/net/minecraft/server/EntityDragonFireball.java
+++ b/src/main/java/net/minecraft/server/EntityDragonFireball.java
@@ -14,7 +14,7 @@ public class EntityDragonFireball extends EntityFireball {
protected void a(MovingObjectPosition movingobjectposition) {
if (movingobjectposition.entity == null || !movingobjectposition.entity.s(this.shooter)) {
if (!this.world.isClientSide) {
- List list = this.world.a(EntityLiving.class, this.getBoundingBox().grow(4.0D, 2.0D, 4.0D));
+ List<EntityLiving> list = this.world.a(EntityLiving.class, this.getBoundingBox().grow(4.0D, 2.0D, 4.0D)); // Paper - decompile fix
EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.locX, this.locY, this.locZ);
entityareaeffectcloud.setSource(this.shooter);
entityareaeffectcloud.setParticle(Particles.j);
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
index 4dee04581..9c48bb3c9 100644
--- a/src/main/java/net/minecraft/server/EntityLlama.java
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
@@ -371,11 +371,6 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
public void s(boolean var1) {
}
Pair pair;
@@ -717,7 +717,7 @@ public class DefinedStructure {
public IBlockData a(int i) {
IBlockData iblockdata = (IBlockData) this.b.fromId(i);
- // $FF: synthetic method
- public EntityAgeable createChild(EntityAgeable entityageable) {
- return this.createChild(entityageable);
- }
-
static class a extends PathfinderGoalNearestAttackableTarget<EntityWolf> {
public a(EntityLlama entityllama) {
super(entityllama, EntityWolf.class, 16, false, true, (Predicate)null);
diff --git a/src/main/java/net/minecraft/server/EnumDirection.java b/src/main/java/net/minecraft/server/EnumDirection.java
index 23ca6fc50..44c91ba26 100644
--- a/src/main/java/net/minecraft/server/EnumDirection.java
+++ b/src/main/java/net/minecraft/server/EnumDirection.java
@@ -232,10 +232,6 @@ public enum EnumDirection implements INamable {
return d0;
}
- // $FF: synthetic method
- public boolean test(@Nullable Object object) {
- return super.test((EnumDirection)object);
- }
},
Y("y") {
public int a(int var1, int i, int var3) {
@@ -246,10 +242,6 @@ public enum EnumDirection implements INamable {
return d0;
}
- // $FF: synthetic method
- public boolean test(@Nullable Object object) {
- return super.test((EnumDirection)object);
- }
},
Z("z") {
public int a(int var1, int var2, int i) {
@@ -260,10 +252,6 @@ public enum EnumDirection implements INamable {
return d0;
}
- // $FF: synthetic method
- public boolean test(@Nullable Object object) {
- return super.test((EnumDirection)object);
- }
};
private static final Map<String, EnumDirection.EnumAxis> d = (Map)Arrays.stream(values()).collect(Collectors.toMap(EnumDirection.EnumAxis::a, (enumdirection$enumaxis) -> {
@@ -315,10 +303,6 @@ public enum EnumDirection implements INamable {
public abstract double a(double var1, double var3, double var5);
- // $FF: synthetic method
- public boolean test(@Nullable Object object) {
- return this.test((EnumDirection)object);
- }
}
public static enum EnumAxisDirection {
@@ -366,9 +350,5 @@ public enum EnumDirection implements INamable {
return Iterators.forArray(this.c);
- return iblockdata == null ? DefinedStructure.a.a : iblockdata;
+ return iblockdata == null ? a : iblockdata; // Paper - decompile fix
}
- // $FF: synthetic method
- public boolean test(@Nullable Object object) {
- return this.test((EnumDirection)object);
- }
}
}
diff --git a/src/main/java/net/minecraft/server/IChatBaseComponent.java b/src/main/java/net/minecraft/server/IChatBaseComponent.java
index 0e0571a6c..8fc45c697 100644
--- a/src/main/java/net/minecraft/server/IChatBaseComponent.java
+++ b/src/main/java/net/minecraft/server/IChatBaseComponent.java
@@ -389,14 +389,5 @@ public interface IChatBaseComponent extends Message, Iterable<IChatBaseComponent
}
}
- // $FF: synthetic method
- public JsonElement serialize(Object object, Type type, JsonSerializationContext jsonserializationcontext) {
- return this.serialize((IChatBaseComponent)object, type, jsonserializationcontext);
- }
-
- // $FF: synthetic method
- public Object deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
- return this.deserialize(jsonelement, type, jsondeserializationcontext);
- }
}
}
diff --git a/src/main/java/net/minecraft/server/LocaleLanguage.java b/src/main/java/net/minecraft/server/LocaleLanguage.java
index 4157fcea3..ba03b9dcc 100644
--- a/src/main/java/net/minecraft/server/LocaleLanguage.java
+++ b/src/main/java/net/minecraft/server/LocaleLanguage.java
@@ -27,7 +27,7 @@ public class LocaleLanguage {
JsonElement jsonelement = (JsonElement)(new Gson()).fromJson(new InputStreamReader(inputstream, StandardCharsets.UTF_8), JsonElement.class);
JsonObject jsonobject = ChatDeserializer.m(jsonelement, "strings");
- for(Entry entry : jsonobject.entrySet()) {
+ for(Entry<String, JsonElement> entry : jsonobject.entrySet()) {// Paper - Decompile fix
String s = b.matcher(ChatDeserializer.a((JsonElement)entry.getValue(), (String)entry.getKey())).replaceAll("%$1s");
this.d.put(entry.getKey(), s);
}
diff --git a/src/main/java/net/minecraft/server/LootSelectorEntry.java b/src/main/java/net/minecraft/server/LootSelectorEntry.java
index 252b0f3ed..86df2b969 100644
--- a/src/main/java/net/minecraft/server/LootSelectorEntry.java
+++ b/src/main/java/net/minecraft/server/LootSelectorEntry.java
@@ -82,14 +82,5 @@ public abstract class LootSelectorEntry {
return jsonobject;
}
- // $FF: synthetic method
- public JsonElement serialize(Object object, Type type, JsonSerializationContext jsonserializationcontext) {
- return this.serialize((LootSelectorEntry)object, type, jsonserializationcontext);
- }
-
- // $FF: synthetic method
- public Object deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
- return this.deserialize(jsonelement, type, jsondeserializationcontext);
- }
}
}
public Iterator<IBlockData> iterator() {
diff --git a/src/main/java/net/minecraft/server/NBTBase.java b/src/main/java/net/minecraft/server/NBTBase.java
index 48d04b540..de9168a9c 100644
index 1425584ed..b2757aad8 100644
--- a/src/main/java/net/minecraft/server/NBTBase.java
+++ b/src/main/java/net/minecraft/server/NBTBase.java
@@ -87,7 +87,7 @@ public interface NBTBase {
@@ -88,7 +88,7 @@ public interface NBTBase {
}
}
@ -396,31 +159,8 @@ index 48d04b540..de9168a9c 100644
default String asString() {
return this.toString();
diff --git a/src/main/java/net/minecraft/server/NBTList.java b/src/main/java/net/minecraft/server/NBTList.java
index 456b5f492..54f2935c0 100644
--- a/src/main/java/net/minecraft/server/NBTList.java
+++ b/src/main/java/net/minecraft/server/NBTList.java
@@ -25,6 +25,7 @@ public abstract class NBTList<T extends NBTBase> extends AbstractList<T> impleme
public abstract void b(int var1);
// $FF: synthetic method
+ /* // Paper start- Decompile fix
public Object set(int i, Object object) {
return this.set(i, (NBTBase)object);
}
@@ -32,5 +33,9 @@ public abstract class NBTList<T extends NBTBase> extends AbstractList<T> impleme
// $FF: synthetic method
public Object get(int i) {
return this.get(i);
- }
+ }*/
+
+ @Override
+ public abstract NBTBase clone();
+ // Paper end- Decompile fix
}
diff --git a/src/main/java/net/minecraft/server/NBTTagByteArray.java b/src/main/java/net/minecraft/server/NBTTagByteArray.java
index 973f28cc5..21a6f488a 100644
index 767013cae..e0fb6fb49 100644
--- a/src/main/java/net/minecraft/server/NBTTagByteArray.java
+++ b/src/main/java/net/minecraft/server/NBTTagByteArray.java
@@ -66,7 +66,8 @@ public class NBTTagByteArray extends NBTList<NBTTagByte> {
@ -434,197 +174,94 @@ index 973f28cc5..21a6f488a 100644
System.arraycopy(this.data, 0, abyte, 0, this.data.length);
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
index 8e6cce15f..1b72df8cd 100644
index 2b7b8be8a..27debcfca 100644
--- a/src/main/java/net/minecraft/server/NBTTagList.java
+++ b/src/main/java/net/minecraft/server/NBTTagList.java
@@ -12,7 +12,7 @@ import org.apache.logging.log4j.Logger;
@@ -14,7 +14,7 @@ import org.apache.logging.log4j.Logger;
public class NBTTagList extends NBTList<NBTBase> {
private static final Logger f = LogManager.getLogger();
- private List<NBTBase> list = Lists.newArrayList();
+ public List<NBTBase> list = Lists.newArrayList(); // Paper
private byte type = 0;
public NBTTagList() {
@@ -281,11 +281,7 @@ public class NBTTagList extends NBTList<NBTBase> {
return this.type;
}
- // $FF: synthetic method
- public NBTBase clone() {
- return this.clone();
- }
-
+ /* // Paper start - Decompile fix
// $FF: synthetic method
public Object remove(int i) {
return this.remove(i);
@@ -305,4 +301,5 @@ public class NBTTagList extends NBTList<NBTBase> {
public boolean add(Object object) {
return this.add((NBTBase)object);
}
+ */ // Paper end - Decompile fix
}
diff --git a/src/main/java/net/minecraft/server/PacketEncoder.java b/src/main/java/net/minecraft/server/PacketEncoder.java
index a717ad95f..ff7e20dfc 100644
--- a/src/main/java/net/minecraft/server/PacketEncoder.java
+++ b/src/main/java/net/minecraft/server/PacketEncoder.java
@@ -48,8 +48,4 @@ public class PacketEncoder extends MessageToByteEncoder<Packet<?>> {
}
}
- // $FF: synthetic method
- protected void encode(ChannelHandlerContext channelhandlercontext, Object object, ByteBuf bytebuf) throws Exception {
- this.encode(channelhandlercontext, (Packet)object, bytebuf);
- }
}
diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java
index 8bc7c0ccd..faaad0f41 100644
--- a/src/main/java/net/minecraft/server/ProtoChunk.java
+++ b/src/main/java/net/minecraft/server/ProtoChunk.java
@@ -483,14 +483,4 @@ public class ProtoChunk implements IChunkAccess {
public void b(boolean flag) {
this.u = flag;
}
-
- // $FF: synthetic method
- public TickList l() {
- return this.l();
- }
-
- // $FF: synthetic method
- public TickList k() {
- return this.k();
- }
}
public NBTTagList() {}
diff --git a/src/main/java/net/minecraft/server/Registry.java b/src/main/java/net/minecraft/server/Registry.java
index 5be9f0ff2..9efec49d6 100644
index 723372f26..9efec49d6 100644
--- a/src/main/java/net/minecraft/server/Registry.java
+++ b/src/main/java/net/minecraft/server/Registry.java
@@ -1,4 +1,8 @@
@@ -1,3 +1,8 @@
package net.minecraft.server;
-public interface Registry extends Iterable {
-public interface Registry extends Iterable {}
+import java.util.Iterator;
+public interface Registry<T> extends Iterable<T> { // Paper - decompile fix
+
+ @Override
+ Iterator<T> iterator(); // Paper - decompile fix
}
+}
diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java
index 8d1f9237a..a21006290 100644
index 50410264f..a894f7886 100644
--- a/src/main/java/net/minecraft/server/RegistryBlockID.java
+++ b/src/main/java/net/minecraft/server/RegistryBlockID.java
@@ -26,7 +26,7 @@ public class RegistryBlockID<T> implements Registry<T> {
this.b.put(object, i);
@@ -27,7 +27,7 @@ public class RegistryBlockID<T> implements Registry<T> {
this.b.put(t0, i);
while(this.c.size() <= i) {
- this.c.add((Object)null);
while (this.c.size() <= i) {
- this.c.add((Object) null);
+ this.c.add(null); // Paper - decompile fix
}
this.c.set(i, object);
this.c.set(i, t0);
diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java
index 03c603362..d03ac0e70 100644
index 9400a4369..5a5c464ea 100644
--- a/src/main/java/net/minecraft/server/RegistryID.java
+++ b/src/main/java/net/minecraft/server/RegistryID.java
@@ -49,7 +49,7 @@ public class RegistryID<K> implements Registry<K> {
}
@@ -17,9 +17,9 @@ public class RegistryID<K> implements Registry<K> {
private void d(int i) {
- Object[] aobject = this.b;
+ K[] aobject = this.b; // Paper - decompile fix
int[] aint = this.c;
this.b = (K[])(new Object[i]);
public RegistryID(int i) {
i = (int) ((float) i / 0.8F);
- this.b = (Object[]) (new Object[i]);
+ this.b = (K[]) (new Object[i]); // Paper - decompile fix
this.c = new int[i];
diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java
index 364dadfbd..c338d09bf 100644
--- a/src/main/java/net/minecraft/server/ServerPing.java
+++ b/src/main/java/net/minecraft/server/ServerPing.java
@@ -100,15 +100,6 @@ public class ServerPing {
return jsonobject;
}
- // $FF: synthetic method
- public JsonElement serialize(Object object, Type type, JsonSerializationContext jsonserializationcontext) {
- return this.serialize((ServerPing)object, type, jsonserializationcontext);
- }
-
- // $FF: synthetic method
- public Object deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
- return this.deserialize(jsonelement, type, jsondeserializationcontext);
- }
- this.d = (Object[]) (new Object[i]);
+ this.d = (K[]) (new Object[i]); // Paper - decompile fix
}
public static class ServerData {
@@ -144,15 +135,6 @@ public class ServerPing {
return jsonobject;
}
public int getId(@Nullable K k0) {
@@ -54,9 +54,9 @@ public class RegistryID<K> implements Registry<K> {
K[] ak = this.b;
int[] aint = this.c;
- // $FF: synthetic method
- public JsonElement serialize(Object object, Type type, JsonSerializationContext jsonserializationcontext) {
- return this.serialize((ServerPing.ServerData)object, type, jsonserializationcontext);
- }
-
- // $FF: synthetic method
- public Object deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
- return this.deserialize(jsonelement, type, jsondeserializationcontext);
- }
}
}
- this.b = (Object[]) (new Object[i]);
+ this.b = (K[]) (new Object[i]); // Paper - decompile fix
this.c = new int[i];
- this.d = (Object[]) (new Object[i]);
+ this.d = (K[]) (new Object[i]); // Paper - decompile fix
this.e = 0;
this.f = 0;
@@ -228,15 +210,6 @@ public class ServerPing {
return jsonobject;
}
- // $FF: synthetic method
- public JsonElement serialize(Object object, Type type, JsonSerializationContext jsonserializationcontext) {
- return this.serialize((ServerPing.ServerPingPlayerSample)object, type, jsonserializationcontext);
- }
-
- // $FF: synthetic method
- public Object deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
- return this.deserialize(jsonelement, type, jsondeserializationcontext);
- }
}
}
}
diff --git a/src/main/java/net/minecraft/server/ShapeDetector.java b/src/main/java/net/minecraft/server/ShapeDetector.java
index 475bf35fa..78234cbdd 100644
--- a/src/main/java/net/minecraft/server/ShapeDetector.java
+++ b/src/main/java/net/minecraft/server/ShapeDetector.java
@@ -106,10 +106,6 @@ public class ShapeDetector {
return new ShapeDetectorBlock(this.a, blockposition, this.b);
}
- // $FF: synthetic method
- public Object load(Object object) throws Exception {
- return this.load((BlockPosition)object);
- }
}
public static class ShapeDetectorCollection {
diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java
index c1bbacfc1..f0a826cd1 100644
index c01a05b25..478bf4997 100644
--- a/src/main/java/net/minecraft/server/WorldPersistentData.java
+++ b/src/main/java/net/minecraft/server/WorldPersistentData.java
@@ -7,6 +7,7 @@ import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import it.unimi.dsi.fastutil.objects.ObjectIterator;
import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry;
import java.io.DataInputStream;
+import java.io.DataOutput;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -98,7 +99,7 @@ public class WorldPersistentData {
}
@@ -39,14 +39,14 @@ public class WorldPersistentData {
DataOutputStream dataoutputstream = new DataOutputStream(new FileOutputStream(file1));
- NBTCompressedStreamTools.a(nbttagcompound, dataoutputstream);
+ NBTCompressedStreamTools.a(nbttagcompound, (DataOutput) dataoutputstream); // Paper - decompile fix
dataoutputstream.close();
@Nullable
public <T extends PersistentBase> T a(Function<String, T> function, String s) {
- PersistentBase persistentbase = (PersistentBase) this.data.get(s);
+ T persistentbase = (T) this.data.get(s); // Paper - decompile fix
if (persistentbase == null && this.e != null) {
try {
File file = this.e.getDataFile(this.b, s);
if (file != null && file.exists()) {
- persistentbase = (PersistentBase) function.apply(s);
+ persistentbase = function.apply(s); // Paper - decompile fix
persistentbase.a(a(this.e, this.b, s, 1631).getCompound("data"));
this.data.put(s, persistentbase);
}
} catch (Exception exception) {
--
2.20.0
2.20.1

View file

@ -1,46 +1,37 @@
From a1159c5878541b6ae4bf920b87f42f7ce31dd1cf Mon Sep 17 00:00:00 2001
From 646ec56566f565a905815eed2e67eeeae9bac57b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Mon, 28 Mar 2016 20:55:47 -0400
Subject: [PATCH] MC Utils
diff --git a/src/main/java/net/minecraft/server/AttributeInstance.java b/src/main/java/net/minecraft/server/AttributeInstance.java
index 1c1a6a37a..0929e0189 100644
index be179ba21..c53bc8230 100644
--- a/src/main/java/net/minecraft/server/AttributeInstance.java
+++ b/src/main/java/net/minecraft/server/AttributeInstance.java
@@ -20,8 +20,10 @@ public interface AttributeInstance {
@@ -21,8 +21,10 @@ public interface AttributeInstance {
@Nullable
AttributeModifier a(UUID var1);
AttributeModifier a(UUID uuid);
+ default void addModifier(AttributeModifier modifier) { b(modifier); } // Paper - OBFHELPER
void b(AttributeModifier var1);
void b(AttributeModifier attributemodifier);
+ default void removeModifier(AttributeModifier modifier) { c(modifier); } // Paper - OBFHELPER
void c(AttributeModifier var1);
void c(AttributeModifier attributemodifier);
void b(UUID var1);
void b(UUID uuid);
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
index 50e29464b..880ce16b1 100644
index 186fd5121..75a0f1386 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -9,7 +9,7 @@ import org.apache.logging.log4j.Logger;
@Immutable
public class BlockPosition extends BaseBlockPosition {
- private static final Logger b = LogManager.getLogger();
+ //private static final Logger b = LogManager.getLogger(); // Paper - variable name conflict, logger isn't used
public static final BlockPosition ZERO = new BlockPosition(0, 0, 0);
private static final int c = 1 + MathHelper.e(MathHelper.c(30000000));
private static final int d = c;
@@ -44,6 +44,7 @@ public class BlockPosition extends BaseBlockPosition {
return d0 == 0.0D && d1 == 0.0D && d2 == 0.0D ? this : new BlockPosition((double)this.getX() + d0, (double)this.getY() + d1, (double)this.getZ() + d2);
@@ -45,6 +45,7 @@ public class BlockPosition extends BaseBlockPosition {
return d0 == 0.0D && d1 == 0.0D && d2 == 0.0D ? this : new BlockPosition((double) this.getX() + d0, (double) this.getY() + d1, (double) this.getZ() + d2);
}
+ public BlockPosition add(int i, int j, int k) {return a(i, j, k);} // Paper - OBFHELPER
public BlockPosition a(int ix, int jx, int kx) {
return ix == 0 && jx == 0 && kx == 0 ? this : new BlockPosition(this.getX() + ix, this.getY() + jx, this.getZ() + kx);
public BlockPosition a(int i, int j, int k) {
return i == 0 && j == 0 && k == 0 ? this : new BlockPosition(this.getX() + i, this.getY() + j, this.getZ() + k);
}
@@ -182,6 +183,7 @@ public class BlockPosition extends BaseBlockPosition {
@@ -183,6 +184,7 @@ public class BlockPosition extends BaseBlockPosition {
};
}
@ -48,7 +39,7 @@ index 50e29464b..880ce16b1 100644
public BlockPosition h() {
return this;
}
@@ -270,6 +272,7 @@ public class BlockPosition extends BaseBlockPosition {
@@ -342,6 +344,7 @@ public class BlockPosition extends BaseBlockPosition {
return this.d;
}
@ -56,7 +47,7 @@ index 50e29464b..880ce16b1 100644
public BlockPosition.MutableBlockPosition c(int i, int j, int k) {
this.b = i;
this.c = j;
@@ -277,6 +280,7 @@ public class BlockPosition extends BaseBlockPosition {
@@ -349,6 +352,7 @@ public class BlockPosition extends BaseBlockPosition {
return this;
}
@ -65,10 +56,10 @@ index 50e29464b..880ce16b1 100644
return this.c(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2));
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 40f892b24..22fec8697 100644
index 1ff78eed4..417c015e5 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -32,7 +32,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent;
@@ -31,7 +31,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent;
public class Chunk implements IChunkAccess {
private static final Logger d = LogManager.getLogger();
@ -77,7 +68,7 @@ index 40f892b24..22fec8697 100644
private final ChunkSection[] sections;
private final BiomeBase[] f;
private final boolean[] g;
@@ -705,6 +705,7 @@ public class Chunk implements IChunkAccess {
@@ -704,6 +704,7 @@ public class Chunk implements IChunkAccess {
return this.a(blockposition, Chunk.EnumTileEntityState.CHECK);
}
@ -86,23 +77,23 @@ index 40f892b24..22fec8697 100644
public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) {
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java
index 744762b8b..d9608121b 100644
index 34586bca6..b0c004b1f 100644
--- a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java
+++ b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java
@@ -23,6 +23,8 @@ public class ChunkCoordIntPair {
@@ -24,6 +24,8 @@ public class ChunkCoordIntPair {
return a(this.x, this.z);
}
+ public static long asLong(final BlockPosition pos) { return a(pos.getX() >> 4, pos.getZ() >> 4); } // Paper - OBFHELPER
+ public static long asLong(int x, int z) { return a(x, z); } // Paper - OBFHELPER
public static long a(int i, int j) {
return (long)i & 4294967295L | ((long)j & 4294967295L) << 32;
return (long) i & 4294967295L | ((long) j & 4294967295L) << 32;
}
diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
index 3919c1fba..772382144 100644
index cc9604749..70a95c263 100644
--- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
+++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
@@ -16,7 +16,7 @@ import org.apache.logging.log4j.Logger;
@@ -13,7 +13,7 @@ import org.apache.logging.log4j.Logger;
public class ChunkTaskScheduler extends Scheduler<ChunkCoordIntPair, ChunkStatus, ProtoChunk> {
private static final Logger b = LogManager.getLogger();
@ -112,10 +103,10 @@ index 3919c1fba..772382144 100644
private final IChunkLoader e;
private final IAsyncTaskHandler f;
diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java
index 95ca5f6d8..0dc948a37 100644
index d24ec3d53..9e83610f1 100644
--- a/src/main/java/net/minecraft/server/DataBits.java
+++ b/src/main/java/net/minecraft/server/DataBits.java
@@ -54,6 +54,7 @@ public class DataBits {
@@ -60,6 +60,7 @@ public class DataBits {
}
}
@ -124,37 +115,34 @@ index 95ca5f6d8..0dc948a37 100644
return this.a;
}
diff --git a/src/main/java/net/minecraft/server/DataPalette.java b/src/main/java/net/minecraft/server/DataPalette.java
index 7f905b1e0..fa5b9262b 100644
index dae40b9cd..2ee879196 100644
--- a/src/main/java/net/minecraft/server/DataPalette.java
+++ b/src/main/java/net/minecraft/server/DataPalette.java
@@ -3,10 +3,11 @@ package net.minecraft.server;
import javax.annotation.Nullable;
@@ -4,8 +4,10 @@ import javax.annotation.Nullable;
public interface DataPalette<T> {
+ default int getOrCreateIdFor(T object) { return this.a(object); } // Paper - OBFHELPER
int a(T var1);
int a(T t0);
- @Nullable
- T a(int var1);
+ @Nullable default T getObject(int dataBits) { return this.a(dataBits); } // Paper - OBFHELPER
+ @Nullable T a(int var1);
void b(PacketDataSerializer var1);
@Nullable
T a(int i);
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
index 304e47bf2..6e7454b13 100644
index 59cbbdcb3..6fcfc5ef7 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -7,7 +7,7 @@ import java.util.function.Function;
import java.util.stream.Collectors;
@@ -8,7 +8,7 @@ import java.util.stream.Collectors;
public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
- private final DataPalette<T> b;
+ private final DataPalette<T> b;private final DataPalette<T> getDataPaletteGlobal() { return this.b; } // Paper - OBFHELPER
private final DataPaletteExpandable<T> c = (var0, var1) -> {
+ private final DataPalette<T> b; private final DataPalette<T> getDataPaletteGlobal() { return this.b; } // Paper - OBFHELPER
private final DataPaletteExpandable<T> c = (i, object) -> {
return 0;
};
@@ -15,9 +15,9 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
@@ -16,9 +16,9 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
private final Function<NBTTagCompound, T> e;
private final Function<T, NBTTagCompound> f;
private final T g;
@ -167,16 +155,16 @@ index 304e47bf2..6e7454b13 100644
private final ReentrantLock j = new ReentrantLock();
private void b() {
@@ -51,6 +51,7 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
return jx << 8 | k << 4 | ix;
@@ -53,6 +53,7 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
return j << 8 | k << 4 | i;
}
+ private void initialize(int bitsPerObject) { this.b(bitsPerObject); } // Paper - OBFHELPER
private void b(int ix) {
if (ix != this.i) {
this.i = ix;
@@ -107,6 +108,7 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
return (T)(object == null ? this.g : object);
private void b(int i) {
if (i != this.i) {
this.i = i;
@@ -115,6 +116,7 @@ public class DataPaletteBlock<T> implements DataPaletteExpandable<T> {
return t0 == null ? this.g : t0;
}
+ public void writeDataPaletteBlock(PacketDataSerializer packetDataSerializer) { this.b(packetDataSerializer); } // Paper - OBFHELPER
@ -196,10 +184,10 @@ index 372afbe94..20b7c2c6d 100644
private float b;
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 550c7a355..b039ff1b5 100644
index a3d088bbd..cca047b04 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -124,6 +124,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -125,6 +125,7 @@ public abstract class EntityInsentient extends EntityLiving {
return this.goalTarget;
}
@ -208,7 +196,7 @@ index 550c7a355..b039ff1b5 100644
// CraftBukkit start - fire event
setGoalTarget(entityliving, EntityTargetEvent.TargetReason.UNKNOWN, true);
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 341af9c16..14c481220 100644
index 892e1aca7..ed859ccf9 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -122,6 +122,7 @@ public abstract class EntityLiving extends Entity {
@ -220,14 +208,13 @@ index 341af9c16..14c481220 100644
@Override
public float getBukkitYaw() {
diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java
index c9e596367..70830bbf4 100644
index 5f9255df1..5ea517043 100644
--- a/src/main/java/net/minecraft/server/EntityMonster.java
+++ b/src/main/java/net/minecraft/server/EntityMonster.java
@@ -1,11 +1,14 @@
package net.minecraft.server;
@@ -2,11 +2,13 @@ package net.minecraft.server;
public abstract class EntityMonster extends EntityCreature implements IMonster {
+
+ public org.bukkit.craftbukkit.entity.CraftMonster getBukkitMonster() { return (org.bukkit.craftbukkit.entity.CraftMonster) super.getBukkitEntity(); } // Paper
protected EntityMonster(EntityTypes<?> entitytypes, World world) {
super(entitytypes, world);
@ -239,7 +226,7 @@ index c9e596367..70830bbf4 100644
return SoundCategory.HOSTILE;
}
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index bcdc790ba..339abdc01 100644
index b8abd6363..a07ee150c 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -3,6 +3,7 @@ package net.minecraft.server;
@ -252,7 +239,7 @@ index bcdc790ba..339abdc01 100644
import java.util.function.Function;
@@ -123,9 +124,20 @@ public class EntityTypes<T extends Entity> {
public static <T extends Entity> EntityTypes<T> a(String s, EntityTypes.a<T> entitytypes_a) {
EntityTypes entitytypes = entitytypes_a.a(s);
EntityTypes<T> entitytypes = entitytypes_a.a(s);
+ // Paper start
+ if (clsToKeyMap == null ) clsToKeyMap = new java.util.HashMap<>();
@ -290,18 +277,10 @@ index bcdc790ba..339abdc01 100644
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 7047b7c70..92f8d0633 100644
index d55f52fe9..27705106b 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -26,6 +26,7 @@ import org.bukkit.TreeType;
import org.bukkit.block.BlockState;
import org.bukkit.craftbukkit.block.CraftBlock;
import org.bukkit.craftbukkit.block.CraftBlockState;
+import org.bukkit.craftbukkit.inventory.CraftItemStack;
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
import org.bukkit.entity.Player;
import org.bukkit.event.block.BlockFertilizeEvent;
@@ -574,6 +575,17 @@ public final class ItemStack {
@@ -578,6 +578,17 @@ public final class ItemStack {
return this.tag != null ? this.tag.getList("Enchantments", 10) : new NBTTagList();
}
@ -642,19 +621,19 @@ index 000000000..c97e116aa
+ }
+}
diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java
index 447b56323..db4e4b859 100644
index 434471215..8c5d6c1d3 100644
--- a/src/main/java/net/minecraft/server/NBTTagCompound.java
+++ b/src/main/java/net/minecraft/server/NBTTagCompound.java
@@ -23,7 +23,7 @@ import org.apache.logging.log4j.Logger;
public class NBTTagCompound implements NBTBase {
@@ -23,7 +23,7 @@ public class NBTTagCompound implements NBTBase {
private static final Logger f = LogManager.getLogger();
private static final Pattern g = Pattern.compile("[A-Za-z0-9._+-]+");
- private final Map<String, NBTBase> map = Maps.newHashMap();
+ public final Map<String, NBTBase> map = Maps.newHashMap(); // Paper
public NBTTagCompound() {
}
@@ -89,11 +89,13 @@ public class NBTTagCompound implements NBTBase {
public NBTTagCompound() {}
@@ -95,11 +95,13 @@ public class NBTTagCompound implements NBTBase {
this.map.put(s, new NBTTagLong(i));
}
@ -668,29 +647,11 @@ index 447b56323..db4e4b859 100644
@Nullable
public UUID a(String s) {
return new UUID(this.getLong(s + "Most"), this.getLong(s + "Least"));
@@ -322,7 +324,7 @@ public class NBTTagCompound implements NBTBase {
public String toString() {
StringBuilder stringbuilder = new StringBuilder("{");
- Object object = this.map.keySet();
+ Collection<String> object = this.map.keySet(); // Paper - decompile fix
if (f.isDebugEnabled()) {
ArrayList arraylist = Lists.newArrayList(this.map.keySet());
Collections.sort(arraylist);
@@ -476,7 +478,7 @@ public class NBTTagCompound implements NBTBase {
}
// $FF: synthetic method
- public NBTBase clone() {
+ public NBTBase clone_bad() { // Paper - decompile fix
return this.clone();
}
}
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index db52ffad4..d5bbc5f8e 100644
index d85bc522c..e2fc41d6d 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -44,7 +44,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -43,7 +43,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
return new DefaultEventLoopGroup(0, (new ThreadFactoryBuilder()).setNameFormat("Netty Local Client IO #%d").setDaemon(true).build());
});
private final EnumProtocolDirection h;
@ -699,7 +660,7 @@ index db52ffad4..d5bbc5f8e 100644
private final ReentrantReadWriteLock j = new ReentrantReadWriteLock();
public Channel channel;
public SocketAddress socketAddress;
@@ -168,6 +168,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -167,6 +167,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
}
@ -707,7 +668,7 @@ index db52ffad4..d5bbc5f8e 100644
private void b(Packet<?> packet, @Nullable GenericFutureListener<? extends Future<? super Void>> genericfuturelistener) {
EnumProtocol enumprotocol = EnumProtocol.a(packet);
EnumProtocol enumprotocol1 = (EnumProtocol) this.channel.attr(NetworkManager.c).get();
@@ -208,6 +209,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -207,6 +208,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
}
@ -715,7 +676,7 @@ index db52ffad4..d5bbc5f8e 100644
private void o() {
if (this.channel != null && this.channel.isOpen()) {
this.j.readLock().lock();
@@ -334,9 +336,9 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -333,9 +335,9 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
static class QueuedPacket {
@ -740,22 +701,22 @@ index 7582151ae..d05f1e02c 100644
for (int j = 1; j < 5; ++j) {
if ((i & -1 << j * 7) == 0) {
diff --git a/src/main/java/net/minecraft/server/PacketEncoder.java b/src/main/java/net/minecraft/server/PacketEncoder.java
index ff7e20dfc..3448f6c53 100644
index d54177bdc..2aa805eef 100644
--- a/src/main/java/net/minecraft/server/PacketEncoder.java
+++ b/src/main/java/net/minecraft/server/PacketEncoder.java
@@ -38,6 +38,7 @@ public class PacketEncoder extends MessageToByteEncoder<Packet<?>> {
@@ -42,6 +42,7 @@ public class PacketEncoder extends MessageToByteEncoder<Packet<?>> {
packet.b(packetdataserializer);
} catch (Throwable throwable) {
a.error(throwable);
PacketEncoder.a.error(throwable);
+ throwable.printStackTrace(); // Paper - WHAT WAS IT? WHO DID THIS TO YOU? WHAT DID YOU SEE?
if (packet.a()) {
throw new SkipEncodeException(throwable);
} else {
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
index 12d6c99cf..af382815f 100644
index 395215bbd..f2159bc2d 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
@@ -11,7 +11,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
@@ -13,7 +13,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
private int a;
private int b;
private int c;
@ -764,7 +725,7 @@ index 12d6c99cf..af382815f 100644
private List<NBTTagCompound> e;
private boolean f;
@@ -85,6 +85,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
@@ -97,6 +97,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
return bytebuf;
}
@ -773,10 +734,10 @@ index 12d6c99cf..af382815f 100644
int j = 0;
ChunkSection[] achunksection = chunk.getSections();
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index bbc8c0007..2b6c797ce 100644
index bb7ef0518..e35f17843 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -68,9 +68,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -67,9 +67,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
private final MinecraftServer minecraftServer;
public EntityPlayer player;
private int e;
@ -790,22 +751,22 @@ index bbc8c0007..2b6c797ce 100644
private volatile int chatThrottle;
private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle");
diff --git a/src/main/java/net/minecraft/server/PotionUtil.java b/src/main/java/net/minecraft/server/PotionUtil.java
index 8fce3b022..58ac6eafc 100644
index 6740b396a..ea08c5a1c 100644
--- a/src/main/java/net/minecraft/server/PotionUtil.java
+++ b/src/main/java/net/minecraft/server/PotionUtil.java
@@ -103,6 +103,7 @@ public class PotionUtil {
@@ -110,6 +110,7 @@ public class PotionUtil {
return nbttagcompound == null ? Potions.EMPTY : PotionRegistry.a(nbttagcompound.getString("Potion"));
}
+ public static ItemStack addPotionToItemStack(ItemStack itemstack, PotionRegistry potionregistry) { return a(itemstack, potionregistry); } // Paper - OBFHELPER
public static ItemStack a(ItemStack itemstack, PotionRegistry potionregistry) {
MinecraftKey minecraftkey = IRegistry.POTION.getKey(potionregistry);
if (potionregistry == Potions.EMPTY) {
diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java
index a21006290..6c6f006f3 100644
index a894f7886..93935e7c7 100644
--- a/src/main/java/net/minecraft/server/RegistryBlockID.java
+++ b/src/main/java/net/minecraft/server/RegistryBlockID.java
@@ -54,6 +54,7 @@ public class RegistryBlockID<T> implements Registry<T> {
@@ -56,6 +56,7 @@ public class RegistryBlockID<T> implements Registry<T> {
return Iterators.filter(this.c.iterator(), Predicates.notNull());
}
@ -814,39 +775,50 @@ index a21006290..6c6f006f3 100644
return this.b.size();
}
diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java
index 25d4907b3..1f6de76a7 100644
index 8cb97b894..5e71d2ac2 100644
--- a/src/main/java/net/minecraft/server/SystemUtils.java
+++ b/src/main/java/net/minecraft/server/SystemUtils.java
@@ -34,8 +34,8 @@ public class SystemUtils {
@@ -35,8 +35,8 @@ public class SystemUtils {
return Collectors.toMap(Entry::getKey, Entry::getValue);
}
- public static <T extends Comparable<T>> String a(IBlockState<T> iblockstate, Object object) {
- return iblockstate.a((Comparable)object);
+ public static <T extends Comparable<T>> String a(IBlockState<T> iblockstate, T object) { // Paper - decompile fix
- return iblockstate.a((Comparable) object);
+ public static <T extends Comparable<T>> String a(IBlockState<T> iblockstate, T object) {
+ return iblockstate.a(object); // Paper - decompile fix
}
public static String a(String s, @Nullable MinecraftKey minecraftkey) {
@@ -47,7 +47,7 @@ public class SystemUtils {
@@ -48,7 +48,7 @@ public class SystemUtils {
}
public static long getMonotonicNanos() {
- return a.getAsLong();
- return SystemUtils.a.getAsLong();
+ return System.nanoTime(); // Paper
}
public static long getTimeMillis() {
@@ -109,7 +109,7 @@ public class SystemUtils {
@@ -108,7 +108,7 @@ public class SystemUtils {
futuretask.run();
return (V)futuretask.get();
return futuretask.get();
} catch (ExecutionException executionexception) {
- logger.fatal("Error executing task", executionexception);
+ logger.fatal("Error executing task", executionexception.getCause() != null ? executionexception.getCause() : executionexception); // Paper
} catch (InterruptedException interruptedexception) {
logger.fatal("Error executing task", interruptedexception);
}
@@ -169,7 +169,7 @@ public class SystemUtils {
@@ -144,8 +144,8 @@ public class SystemUtils {
public static <T> T b(Iterable<T> iterable, @Nullable T t0) {
Iterator<T> iterator = iterable.iterator();
- Object object;
- Object object1;
+ T object; // Paper - decompile fix
+ T object1; // Paper - decompile fix
for (object1 = null; iterator.hasNext(); object1 = object) {
object = iterator.next();
@@ -170,7 +170,7 @@ public class SystemUtils {
}
public static <K> Strategy<K> g() {

View file

@ -1,4 +1,4 @@
From a67441f309fdc542158b62334ea269cc94e47738 Mon Sep 17 00:00:00 2001
From f1a6ed4b7cd1fe9d614bcc100d83226d9b7e529f Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Fri, 24 Mar 2017 23:56:01 -0500
Subject: [PATCH] Paper Metrics
@ -647,7 +647,7 @@ index 000000000..e257d6b36
+ }
+}
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index cde8ec432..87a7b6980 100644
index f0473d9bf..255b8bed0 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -41,6 +41,7 @@ public class PaperConfig {
@ -671,10 +671,10 @@ index cde8ec432..87a7b6980 100644
static void readConfig(Class<?> clazz, Object instance) {
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 9b40db46c..9dca5aeda 100644
index 11c4d53df..fe3bad583 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -84,6 +84,7 @@ public class SpigotConfig
@@ -83,6 +83,7 @@ public class SpigotConfig
MinecraftServer.getServer().server.getCommandMap().register( entry.getKey(), "Spigot", entry.getValue() );
}
@ -682,7 +682,7 @@ index 9b40db46c..9dca5aeda 100644
if ( metrics == null )
{
try
@@ -95,6 +96,7 @@ public class SpigotConfig
@@ -94,6 +95,7 @@ public class SpigotConfig
Bukkit.getServer().getLogger().log( Level.SEVERE, "Could not start metrics service", ex );
}
}
@ -691,5 +691,5 @@ index 9b40db46c..9dca5aeda 100644
static void readConfig(Class<?> clazz, Object instance)
--
2.19.1
2.20.1

View file

@ -1,4 +1,4 @@
From a4cd0a3d6497c3e0f9dc2e006b52b705d1624b56 Mon Sep 17 00:00:00 2001
From 418c4f16ed43996663c1d7843189b5c783988622 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 01:40:13 -0400
Subject: [PATCH] Add MinecraftKey Information to Objects
@ -6,7 +6,7 @@ Subject: [PATCH] Add MinecraftKey Information to Objects
Stores the reference to the objects respective MinecraftKey
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
index 961966e169..56700fc596 100644
index 961966e16..56700fc59 100644
--- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
+++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
@@ -171,7 +171,7 @@ public class PaperCommand extends Command {
@ -19,10 +19,10 @@ index 961966e169..56700fc596 100644
MutablePair<Integer, Map<ChunkCoordIntPair, Integer>> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap()));
ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ());
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index ffaa425ec8..19a3ba79f2 100644
index b1a4a6d70..e72ccefc2 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -46,7 +46,7 @@ import org.bukkit.event.entity.EntityPortalEvent;
@@ -44,7 +44,7 @@ import org.bukkit.event.entity.EntityPortalEvent;
import org.bukkit.plugin.PluginManager;
// CraftBukkit end
@ -31,7 +31,7 @@ index ffaa425ec8..19a3ba79f2 100644
// CraftBukkit start
private static final int CURRENT_LEVEL = 2;
@@ -74,7 +74,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@@ -72,7 +72,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
private static final AxisAlignedBB b = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 0.0D, 0.0D, 0.0D);
private static double c = 1.0D;
private static int entityCount;
@ -40,7 +40,7 @@ index ffaa425ec8..19a3ba79f2 100644
private int id;
public boolean j;
public final List<Entity> passengers;
@@ -1761,12 +1761,29 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@@ -1759,12 +1759,29 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
return true;
}
@ -64,7 +64,7 @@ index ffaa425ec8..19a3ba79f2 100644
+ }
@Nullable
public final String getSaveID() {
- EntityTypes entitytypes = this.P();
- EntityTypes<?> entitytypes = this.P();
- MinecraftKey minecraftkey = EntityTypes.getName(entitytypes);
-
- return entitytypes.a() && minecraftkey != null ? minecraftkey.toString() : null;
@ -75,7 +75,7 @@ index ffaa425ec8..19a3ba79f2 100644
protected abstract void a(NBTTagCompound nbttagcompound);
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index 5c1ab6a0b6..cd411a1423 100644
index a07ee150c..d74bfa120 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -240,6 +240,7 @@ public class EntityTypes<T extends Entity> {
@ -88,7 +88,7 @@ index 5c1ab6a0b6..cd411a1423 100644
}
diff --git a/src/main/java/net/minecraft/server/KeyedObject.java b/src/main/java/net/minecraft/server/KeyedObject.java
new file mode 100644
index 0000000000..743142d030
index 000000000..743142d03
--- /dev/null
+++ b/src/main/java/net/minecraft/server/KeyedObject.java
@@ -0,0 +1,9 @@
@ -102,7 +102,7 @@ index 0000000000..743142d030
+ }
+}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 62b6e6eb38..7390061bf0 100644
index 62b6e6eb3..7390061bf 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -7,11 +7,11 @@ import org.apache.logging.log4j.Logger;
@ -147,5 +147,5 @@ index 62b6e6eb38..7390061bf0 100644
public World getWorld() {
return this.world;
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From 89c7eb82c66a25dc178e94900fe26e498351762e Mon Sep 17 00:00:00 2001
From 8530b48c5697baa5a57bb85b04151485deb0257c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 02:10:36 -0400
Subject: [PATCH] Store reference to current Chunk for Entity and Block
@ -8,10 +8,10 @@ This enables us a fast reference to the entities current chunk instead
of having to look it up by hashmap lookups.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 5dd08018c..d1d8c3be6 100644
index 417c015e5..b728a44f5 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -37,7 +37,7 @@ public class Chunk implements IChunkAccess {
@@ -36,7 +36,7 @@ public class Chunk implements IChunkAccess {
private final BiomeBase[] f;
private final boolean[] g;
private final Map<BlockPosition, NBTTagCompound> h;
@ -20,7 +20,7 @@ index 5dd08018c..d1d8c3be6 100644
public final World world;
public final Map<HeightMap.Type, HeightMap> heightMap;
public final int locX;
@@ -67,7 +67,30 @@ public class Chunk implements IChunkAccess {
@@ -66,7 +66,30 @@ public class Chunk implements IChunkAccess {
// CraftBukkit start - Neighbor loaded cache for chunk lighting and entity ticking
private int neighbors = 0x1 << 12;
public long chunkKey;
@ -51,7 +51,7 @@ index 5dd08018c..d1d8c3be6 100644
public boolean areNeighborsLoaded(final int radius) {
switch (radius) {
case 2:
@@ -98,7 +121,7 @@ public class Chunk implements IChunkAccess {
@@ -97,7 +120,7 @@ public class Chunk implements IChunkAccess {
this.g = new boolean[256];
this.h = Maps.newHashMap();
this.heightMap = Maps.newEnumMap(HeightMap.Type.class);
@ -60,7 +60,7 @@ index 5dd08018c..d1d8c3be6 100644
this.p = Maps.newHashMap();
this.q = Maps.newHashMap();
this.r = new ShortList[16];
@@ -658,6 +681,9 @@ public class Chunk implements IChunkAccess {
@@ -657,6 +680,9 @@ public class Chunk implements IChunkAccess {
entity.chunkY = k;
entity.chunkZ = this.locZ;
this.entitySlices[k].add(entity);
@ -70,7 +70,7 @@ index 5dd08018c..d1d8c3be6 100644
}
public void a(HeightMap.Type heightmap_type, long[] along) {
@@ -676,8 +702,12 @@ public class Chunk implements IChunkAccess {
@@ -675,8 +701,12 @@ public class Chunk implements IChunkAccess {
if (i >= this.entitySlices.length) {
i = this.entitySlices.length - 1;
}
@ -85,7 +85,7 @@ index 5dd08018c..d1d8c3be6 100644
}
public boolean c(BlockPosition blockposition) {
@@ -886,6 +916,7 @@ public class Chunk implements IChunkAccess {
@@ -885,6 +915,7 @@ public class Chunk implements IChunkAccess {
}
}
// Spigot End
@ -94,10 +94,10 @@ index 5dd08018c..d1d8c3be6 100644
// Do not pass along players, as doing so can get them stuck outside of time.
// (which for example disables inventory icon updates and prevents block breaking)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index a6eb8ab6c..50176b97b 100644
index e72ccefc2..48ec5e047 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -134,7 +134,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -132,7 +132,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
private static final DataWatcherObject<Boolean> aF = DataWatcher.a(Entity.class, DataWatcherRegistry.i);
private static final DataWatcherObject<Boolean> aG = DataWatcher.a(Entity.class, DataWatcherRegistry.i);
private static final DataWatcherObject<Boolean> aH = DataWatcher.a(Entity.class, DataWatcherRegistry.i);
@ -106,7 +106,7 @@ index a6eb8ab6c..50176b97b 100644
public int chunkX; public int getChunkX() { return chunkX; } // Paper - OBFHELPER
public int chunkY; public int getChunkY() { return chunkY; } // Paper - OBFHELPER
public int chunkZ; public int getChunkZ() { return chunkZ; } // Paper - OBFHELPER
@@ -1762,6 +1762,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1760,6 +1760,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
// Paper start
@ -192,5 +192,5 @@ index 2c57a4f03..153efb9b9 100644
/**
* Order is *EXTREMELY* important -- keep it right! =D
--
2.20.0
2.20.1

View file

@ -1,4 +1,4 @@
From a00c2b358e7f0ce360d28c8e803026470f3ee940 Mon Sep 17 00:00:00 2001
From fcea42cc3d3d4bc1e4ade7725e589b16b6a018e3 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 02:13:59 -0400
Subject: [PATCH] Store counts for each Entity/Block Entity Type
@ -6,10 +6,10 @@ Subject: [PATCH] Store counts for each Entity/Block Entity Type
Opens door for future patches to optimize performance
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index d1d8c3be6..4d04fdda7 100644
index b728a44f5..23dee9b56 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -68,15 +68,19 @@ public class Chunk implements IChunkAccess {
@@ -67,15 +67,19 @@ public class Chunk implements IChunkAccess {
private int neighbors = 0x1 << 12;
public long chunkKey;
// Paper start
@ -29,7 +29,7 @@ index d1d8c3be6..4d04fdda7 100644
}
return replaced;
}
@@ -86,6 +90,7 @@ public class Chunk implements IChunkAccess {
@@ -85,6 +89,7 @@ public class Chunk implements IChunkAccess {
TileEntity removed = super.remove(key);
if (removed != null) {
removed.setCurrentChunk(null);
@ -37,7 +37,7 @@ index d1d8c3be6..4d04fdda7 100644
}
return removed;
}
@@ -683,6 +688,7 @@ public class Chunk implements IChunkAccess {
@@ -682,6 +687,7 @@ public class Chunk implements IChunkAccess {
this.entitySlices[k].add(entity);
// Paper start
entity.setCurrentChunk(this);
@ -45,7 +45,7 @@ index d1d8c3be6..4d04fdda7 100644
// Paper end
}
@@ -707,6 +713,7 @@ public class Chunk implements IChunkAccess {
@@ -706,6 +712,7 @@ public class Chunk implements IChunkAccess {
return;
}
entity.setCurrentChunk(null);
@ -54,5 +54,5 @@ index d1d8c3be6..4d04fdda7 100644
}
--
2.20.0
2.20.1

View file

@ -1,4 +1,4 @@
From 87fd657aa5de36c8b09b9d2463708b818665f008 Mon Sep 17 00:00:00 2001
From 7d6ad95befec8dab636401c55bce7bba66ec4c34 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 3 Mar 2016 04:00:11 -0600
Subject: [PATCH] Timings v2
@ -297,10 +297,10 @@ index 255b8bed0..fe148495b 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index a30b21ad2..83b1ef0fc 100644
index c09961be9..dbf1089ba 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -23,6 +23,15 @@ public class Block implements IMaterial {
@@ -22,6 +22,15 @@ public class Block implements IMaterial {
protected final boolean i;
protected final SoundEffectType stepSound;
protected final Material material;
@ -317,10 +317,10 @@ index a30b21ad2..83b1ef0fc 100644
private final float frictionFactor;
protected final BlockStateList<Block, IBlockData> blockStateList;
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 4d04fdda7..9970a58ed 100644
index 23dee9b56..eca1284cc 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -855,6 +855,7 @@ public class Chunk implements IChunkAccess {
@@ -854,6 +854,7 @@ public class Chunk implements IChunkAccess {
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(this.bukkitChunk, this.needsDecoration));
if (this.needsDecoration) {
@ -328,7 +328,7 @@ index 4d04fdda7..9970a58ed 100644
BlockSand.instaFall = true;
java.util.Random random = new java.util.Random();
random.setSeed(world.getSeed());
@@ -875,6 +876,7 @@ public class Chunk implements IChunkAccess {
@@ -874,6 +875,7 @@ public class Chunk implements IChunkAccess {
}
BlockSand.instaFall = false;
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk));
@ -357,19 +357,19 @@ index df2711a5f..732c8793e 100644
return chunk1;
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index b859a5b9e..60abc5f28 100644
index 0397ce610..44c1dfe92 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -90,7 +90,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -88,7 +88,7 @@ public class ChunkProviderServer implements IChunkProvider {
}
if (flag) {
- try {
+ try (co.aikar.timings.Timing timing = world.timings.syncChunkLoadTimer.startTiming()) { // Paper
// CraftBukkit - decompile error
chunk = this.chunkLoader.a(this.world, i, j, (chunk1) -> {
chunk1.setLastSaved(this.world.getTime());
@@ -106,8 +106,7 @@ public class ChunkProviderServer implements IChunkProvider {
this.chunks.put(ChunkCoordIntPair.a(i, j), chunk1);
@@ -103,8 +103,7 @@ public class ChunkProviderServer implements IChunkProvider {
this.asyncTaskHandler.postToMainThread(chunk::addEntities);
return chunk;
} else if (flag1) {
@ -378,8 +378,8 @@ index b859a5b9e..60abc5f28 100644
+ try (co.aikar.timings.Timing timing = world.timings.chunkGeneration.startTiming()) { // Paper
this.batchScheduler.b();
this.batchScheduler.a(new ChunkCoordIntPair(i, j));
CompletableFuture<ProtoChunk> completablefuture = this.batchScheduler.c(); // CraftBukkit - decompile error
@@ -116,7 +115,7 @@ public class ChunkProviderServer implements IChunkProvider {
CompletableFuture<ProtoChunk> completablefuture = this.batchScheduler.c();
@@ -113,7 +112,7 @@ public class ChunkProviderServer implements IChunkProvider {
} catch (RuntimeException runtimeexception) {
throw this.a(i, j, (Throwable) runtimeexception);
}
@ -388,7 +388,7 @@ index b859a5b9e..60abc5f28 100644
} else {
return null;
}
@@ -206,7 +205,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -203,7 +202,7 @@ public class ChunkProviderServer implements IChunkProvider {
}
public void saveChunk(IChunkAccess ichunkaccess, boolean unloaded) { // Spigot
@ -398,7 +398,7 @@ index b859a5b9e..60abc5f28 100644
this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot
} catch (IOException ioexception) {
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 1b8c28096..62a63dfa8 100644
index e7ed23453..63533d237 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -1,5 +1,6 @@
@ -408,7 +408,7 @@ index 1b8c28096..62a63dfa8 100644
import com.google.common.collect.Maps;
import com.mojang.datafixers.DataFixTypes;
import com.mojang.datafixers.DataFixer;
@@ -682,7 +683,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -666,7 +667,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
public void loadEntities(NBTTagCompound nbttagcompound, Chunk chunk) {
NBTTagList nbttaglist = nbttagcompound.getList("Entities", 10);
World world = chunk.getWorld();
@ -417,7 +417,7 @@ index 1b8c28096..62a63dfa8 100644
for (int i = 0; i < nbttaglist.size(); ++i) {
NBTTagCompound nbttagcompound1 = nbttaglist.getCompound(i);
@@ -691,8 +692,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -675,8 +676,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
chunk.f(true);
}
@ -426,7 +426,7 @@ index 1b8c28096..62a63dfa8 100644
NBTTagList nbttaglist1 = nbttagcompound.getList("TileEntities", 10);
for (int j = 0; j < nbttaglist1.size(); ++j) {
@@ -709,8 +708,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -693,8 +692,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
}
}
}
@ -435,7 +435,7 @@ index 1b8c28096..62a63dfa8 100644
if (nbttagcompound.hasKeyOfType("TileTicks", 9) && world.getBlockTickList() instanceof TickListServer) {
((TickListServer) world.getBlockTickList()).a(nbttagcompound.getList("TileTicks", 10));
@@ -719,7 +716,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -703,7 +700,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
if (nbttagcompound.hasKeyOfType("LiquidTicks", 9) && world.getFluidTickList() instanceof TickListServer) {
((TickListServer) world.getFluidTickList()).a(nbttagcompound.getList("LiquidTicks", 10));
}
@ -445,10 +445,10 @@ index 1b8c28096..62a63dfa8 100644
}
diff --git a/src/main/java/net/minecraft/server/CustomFunction.java b/src/main/java/net/minecraft/server/CustomFunction.java
index cc9e8465c..1bd3a0f77 100644
index 65574eb2e..bc87cfc4b 100644
--- a/src/main/java/net/minecraft/server/CustomFunction.java
+++ b/src/main/java/net/minecraft/server/CustomFunction.java
@@ -13,12 +13,22 @@ public class CustomFunction {
@@ -12,12 +12,22 @@ public class CustomFunction {
private final CustomFunction.c[] a;
private final MinecraftKey b;
@ -472,10 +472,10 @@ index cc9e8465c..1bd3a0f77 100644
return this.b;
}
diff --git a/src/main/java/net/minecraft/server/CustomFunctionData.java b/src/main/java/net/minecraft/server/CustomFunctionData.java
index b8a626dd4..323b2e6dc 100644
index f28f4f3cd..6b417be1d 100644
--- a/src/main/java/net/minecraft/server/CustomFunctionData.java
+++ b/src/main/java/net/minecraft/server/CustomFunctionData.java
@@ -109,7 +109,7 @@ public class CustomFunctionData implements ITickable, IResourcePackListener {
@@ -100,7 +100,7 @@ public class CustomFunctionData implements ITickable, IResourcePackListener {
return 0;
} else {
@ -485,7 +485,7 @@ index b8a626dd4..323b2e6dc 100644
int j = 0;
CustomFunction.c[] acustomfunction_c = customfunction.b();
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index b5e5c385d..7f4c76669 100644
index 197d116c6..0ebada490 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -29,7 +29,7 @@ import org.apache.logging.log4j.Level;
@ -538,10 +538,10 @@ index b5e5c385d..7f4c76669 100644
return waitable.get();
} catch (java.util.concurrent.ExecutionException e) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 50176b97b..f960db23d 100644
index 48ec5e047..f36ab639f 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender;
@@ -27,7 +27,8 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Hanging;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Vehicle;
@ -551,7 +551,7 @@ index 50176b97b..f960db23d 100644
import org.bukkit.event.entity.EntityCombustByEntityEvent;
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
@@ -160,7 +161,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -158,7 +159,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public boolean valid;
public org.bukkit.projectiles.ProjectileSource projectileSource; // For projectiles only
public boolean forceExplosionKnockback; // SPIGOT-949
@ -560,7 +560,7 @@ index 50176b97b..f960db23d 100644
// Spigot start
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
public final boolean defaultActivationState;
@@ -537,7 +538,6 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -535,7 +536,6 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
public void move(EnumMoveType enummovetype, double d0, double d1, double d2) {
@ -568,7 +568,7 @@ index 50176b97b..f960db23d 100644
if (this.noclip) {
this.a(this.getBoundingBox().d(d0, d1, d2));
this.recalcPosition();
@@ -887,7 +887,6 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -885,7 +885,6 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.world.methodProfiler.exit();
}
@ -577,7 +577,7 @@ index 50176b97b..f960db23d 100644
protected float ab() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 14c481220..92a55bdf6 100644
index ed859ccf9..31bbbbd96 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -32,7 +32,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@ -653,15 +653,15 @@ index 14c481220..92a55bdf6 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
index 22db1fad1..d7f33bd53 100644
index cd462f7df..45ab33d1a 100644
--- a/src/main/java/net/minecraft/server/EntityTracker.java
+++ b/src/main/java/net/minecraft/server/EntityTracker.java
@@ -168,7 +168,7 @@ public class EntityTracker {
public void updatePlayers() {
ArrayList arraylist = Lists.newArrayList();
List<EntityPlayer> list = Lists.newArrayList();
Iterator iterator = this.c.iterator();
-
+ world.timings.tracker1.startTiming(); // Spigot
+ world.timings.tracker1.startTiming(); // Paper
while (iterator.hasNext()) {
EntityTrackerEntry entitytrackerentry = (EntityTrackerEntry) iterator.next();
@ -669,22 +669,22 @@ index 22db1fad1..d7f33bd53 100644
}
}
}
+ world.timings.tracker1.stopTiming(); // Spigot
+ world.timings.tracker1.stopTiming(); // Paper
+ world.timings.tracker2.startTiming(); // Spigot
for (int i = 0; i < arraylist.size(); ++i) {
EntityPlayer entityplayer = (EntityPlayer) arraylist.get(i);
+ world.timings.tracker2.startTiming(); // Paper
for (int i = 0; i < list.size(); ++i) {
EntityPlayer entityplayer = (EntityPlayer) list.get(i);
Iterator iterator1 = this.c.iterator();
@@ -194,6 +196,7 @@ public class EntityTracker {
}
}
}
+ world.timings.tracker2.stopTiming(); // Spigot
+ world.timings.tracker2.stopTiming(); // Paper
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 37211c33a..97690499f 100644
index 963c7e777..edb1748fd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1,5 +1,6 @@
@ -694,7 +694,7 @@ index 37211c33a..97690499f 100644
import com.google.common.base.Stopwatch;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
@@ -67,8 +68,8 @@ import org.bukkit.craftbukkit.CraftServer;
@@ -62,8 +63,8 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.Main;
import org.bukkit.event.server.ServerLoadEvent;
// CraftBukkit end
@ -704,7 +704,7 @@ index 37211c33a..97690499f 100644
public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStatistics, ICommandListener, Runnable {
@@ -620,6 +621,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -615,6 +616,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
// CraftBukkit end
MinecraftServer.LOGGER.info("Stopping server");
@ -712,7 +712,7 @@ index 37211c33a..97690499f 100644
// CraftBukkit start
if (this.server != null) {
this.server.disablePlugins();
@@ -821,7 +823,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -816,7 +818,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
public void t() {}
protected void a(BooleanSupplier booleansupplier) {
@ -721,7 +721,7 @@ index 37211c33a..97690499f 100644
this.slackActivityAccountant.tickStarted(); // Spigot
long i = SystemUtils.getMonotonicNanos();
@@ -848,7 +850,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -843,7 +845,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit
@ -729,7 +729,7 @@ index 37211c33a..97690499f 100644
this.methodProfiler.enter("save");
this.playerList.savePlayers();
// Spigot Start
@@ -863,7 +864,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -858,7 +859,6 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
// this.saveChunks(true);
// Spigot End
this.methodProfiler.exit();
@ -737,7 +737,7 @@ index 37211c33a..97690499f 100644
}
this.methodProfiler.enter("snooper");
@@ -884,14 +884,14 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -879,14 +879,14 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.methodProfiler.exit();
org.spigotmc.WatchdogThread.tick(); // Spigot
this.slackActivityAccountant.tickEnded(l); // Spigot
@ -756,7 +756,7 @@ index 37211c33a..97690499f 100644
this.methodProfiler.enter("jobs");
FutureTask futuretask;
@@ -899,26 +899,27 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -894,26 +894,27 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
while ((futuretask = (FutureTask) this.f.poll()) != null) {
SystemUtils.a(futuretask, MinecraftServer.LOGGER);
}
@ -791,7 +791,7 @@ index 37211c33a..97690499f 100644
// Send time updates to everyone, it will get the right time from the world the player is in.
if (this.ticks % 20 == 0) {
for (int i = 0; i < this.getPlayerList().players.size(); ++i) {
@@ -926,7 +927,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -921,7 +922,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time
}
}
@ -800,7 +800,7 @@ index 37211c33a..97690499f 100644
// WorldServer worldserver; // CraftBukkit - dropped down
long i;
@@ -985,29 +986,27 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -980,29 +981,27 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.methodProfiler.exit();
this.methodProfiler.enter("tracker");
@ -837,7 +837,7 @@ index 37211c33a..97690499f 100644
this.methodProfiler.exit();
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index ceac52fe5..29e24940f 100644
index c24f4a8fe..e01222ad2 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -1,5 +1,6 @@
@ -847,7 +847,7 @@ index ceac52fe5..29e24940f 100644
import com.google.common.collect.AbstractIterator;
import com.google.common.collect.ComparisonChain;
import com.google.common.collect.Lists;
@@ -86,6 +87,7 @@ public class PlayerChunkMap {
@@ -84,6 +85,7 @@ public class PlayerChunkMap {
int j;
if (i - this.k > 8000L) {
@ -855,7 +855,7 @@ index ceac52fe5..29e24940f 100644
this.k = i;
for (j = 0; j < this.i.size(); ++j) {
@@ -93,9 +95,11 @@ public class PlayerChunkMap {
@@ -91,9 +93,11 @@ public class PlayerChunkMap {
playerchunk.d();
playerchunk.c();
}
@ -867,7 +867,7 @@ index ceac52fe5..29e24940f 100644
Iterator iterator = this.f.iterator();
while (iterator.hasNext()) {
@@ -104,25 +108,31 @@ public class PlayerChunkMap {
@@ -102,23 +106,29 @@ public class PlayerChunkMap {
}
this.f.clear();
@ -877,9 +877,8 @@ index ceac52fe5..29e24940f 100644
if (this.l && i % 4L == 0L) {
this.l = false;
+ try (Timing ignored = world.timings.doChunkMapSortMissing.startTiming()) { // Paper
// CraftBukkit start
Collections.sort(this.h, (playerchunkx, playerchunk1x) -> {
return ComparisonChain.start().compare(playerchunkx.g(), playerchunk1x.g()).result();
Collections.sort(this.h, (playerchunk1, playerchunk2) -> {
return ComparisonChain.start().compare(playerchunk1.g(), playerchunk2.g()).result();
});
+ } // Paper timing
}
@ -887,11 +886,10 @@ index ceac52fe5..29e24940f 100644
if (this.m && i % 4L == 2L) {
this.m = false;
+ try (Timing ignored = world.timings.doChunkMapSortSendToPlayers.startTiming()) { // Paper
Collections.sort(this.g, (playerchunkx, playerchunk1x) -> {
return ComparisonChain.start().compare(playerchunkx.g(), playerchunk1x.g()).result();
Collections.sort(this.g, (playerchunk1, playerchunk2) -> {
return ComparisonChain.start().compare(playerchunk1.g(), playerchunk2.g()).result();
});
+ } // Paper timing
// CraftBukkit end
}
if (!this.h.isEmpty()) {
@ -899,7 +897,7 @@ index ceac52fe5..29e24940f 100644
// Spigot start
org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant;
activityAccountant.startActivity(0.5);
@@ -154,10 +164,12 @@ public class PlayerChunkMap {
@@ -150,10 +160,12 @@ public class PlayerChunkMap {
}
activityAccountant.endActivity(); // Spigot
@ -912,7 +910,7 @@ index ceac52fe5..29e24940f 100644
Iterator iterator2 = this.g.iterator();
while (iterator2.hasNext()) {
@@ -171,14 +183,17 @@ public class PlayerChunkMap {
@@ -167,14 +179,17 @@ public class PlayerChunkMap {
}
}
}
@ -931,10 +929,10 @@ index ceac52fe5..29e24940f 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 2b6c797ce..0a887789a 100644
index f0e87416e..723fce204 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -59,6 +59,7 @@ import org.bukkit.inventory.CraftingInventory;
@@ -58,6 +58,7 @@ import org.bukkit.inventory.CraftingInventory;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.InventoryView;
import org.bukkit.util.NumberConversions;
@ -942,7 +940,7 @@ index 2b6c797ce..0a887789a 100644
// CraftBukkit end
public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -136,7 +137,6 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -135,7 +136,6 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
// CraftBukkit end
public void tick() {
@ -950,7 +948,7 @@ index 2b6c797ce..0a887789a 100644
this.syncPosition();
this.player.playerTick();
this.player.setLocation(this.l, this.m, this.n, this.player.yaw, this.player.pitch);
@@ -209,7 +209,6 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -208,7 +208,6 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
this.player.resetIdleTimer(); // CraftBukkit - SPIGOT-854
this.disconnect(new ChatMessage("multiplayer.disconnect.idling", new Object[0]));
}
@ -986,28 +984,29 @@ index 2b6c797ce..0a887789a 100644
// this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s);
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
index 616797dc6..3a5daf670 100644
index 6c88d0c86..8bf94c1b9 100644
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
@@ -1,10 +1,16 @@
@@ -1,11 +1,17 @@
package net.minecraft.server;
+import co.aikar.timings.MinecraftTimings; // Paper
+import co.aikar.timings.Timing; // Paper
+
public class PlayerConnectionUtils {
public static <T extends PacketListener> void ensureMainThread(Packet<T> packet, T packetlistener, IAsyncTaskHandler iasynctaskhandler) throws CancelledPacketHandleException {
public static <T extends PacketListener> void ensureMainThread(Packet<T> packet, T t0, IAsyncTaskHandler iasynctaskhandler) throws CancelledPacketHandleException {
if (!iasynctaskhandler.isMainThread()) {
+ Timing timing = MinecraftTimings.getPacketTiming(packet); // Paper
iasynctaskhandler.postToMainThread(() -> {
+ try (Timing ignored = timing.startTiming()) { // Paper
packet.a(packetlistener);
+ }
+ try (Timing ignored = timing.startTiming()) { // Paper
packet.a(t0);
+ } // Paper - timings
});
throw CancelledPacketHandleException.INSTANCE;
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 9db7d7e30..aef650774 100644
index 8d90b674a..aab49bf68 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1,5 +1,6 @@
@ -1017,7 +1016,7 @@ index 9db7d7e30..aef650774 100644
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -1174,10 +1175,11 @@ public abstract class PlayerList {
@@ -1173,10 +1174,11 @@ public abstract class PlayerList {
}
public void savePlayers() {
@ -1031,7 +1030,7 @@ index 9db7d7e30..aef650774 100644
public WhiteList getWhitelist() {
diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java
index 0d0b4d873..774134103 100644
index 0da57948a..6571fc595 100644
--- a/src/main/java/net/minecraft/server/TickListServer.java
+++ b/src/main/java/net/minecraft/server/TickListServer.java
@@ -24,13 +24,19 @@ public class TickListServer<T> implements TickList<T> {
@ -1105,7 +1104,7 @@ index c69209497..68ac014aa 100644
private final TileEntityTypes<?> e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER
protected World world;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 0920ef2d1..230517907 100644
index 5531f5205..209091a9c 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1,5 +1,6 @@
@ -1115,7 +1114,7 @@ index 0920ef2d1..230517907 100644
import com.google.common.base.MoreObjects;
import com.google.common.collect.Lists;
import it.unimi.dsi.fastutil.longs.LongSet;
@@ -26,13 +27,13 @@ import com.google.common.collect.Maps;
@@ -24,7 +25,6 @@ import java.util.ArrayList;
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.block.BlockState;
@ -1123,14 +1122,7 @@ index 0920ef2d1..230517907 100644
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.craftbukkit.block.CraftBlockState;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
+import org.bukkit.craftbukkit.util.LongHashSet; // Paper
import org.bukkit.event.block.BlockCanBuildEvent;
import org.bukkit.event.block.BlockPhysicsEvent;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
@@ -136,7 +137,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -132,7 +132,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
@ -1139,7 +1131,7 @@ index 0920ef2d1..230517907 100644
private boolean guardEntityList; // Spigot
public static boolean haveWeSilencedAPhysicsCrash;
public static String blockLocation;
@@ -205,7 +206,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -201,7 +201,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
});
this.getServer().addWorld(this.world);
// CraftBukkit end
@ -1148,7 +1140,7 @@ index 0920ef2d1..230517907 100644
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
}
@@ -1080,6 +1081,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1076,6 +1076,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
}
this.methodProfiler.exitEnter("remove");
@ -1156,7 +1148,7 @@ index 0920ef2d1..230517907 100644
this.entityList.removeAll(this.g);
int j;
@@ -1100,6 +1102,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1096,6 +1097,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
this.g.clear();
this.p_();
@ -1164,7 +1156,7 @@ index 0920ef2d1..230517907 100644
this.methodProfiler.exitEnter("regular");
CrashReport crashreport1;
@@ -1109,6 +1112,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1105,6 +1107,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
timings.entityTick.startTiming(); // Spigot
guardEntityList = true; // Spigot
// CraftBukkit start - Use field for loop variable
@ -1172,7 +1164,7 @@ index 0920ef2d1..230517907 100644
int entitiesThisCycle = 0;
if (tickPosition < 0) tickPosition = 0;
for (entityLimiter.initTick();
@@ -1130,10 +1134,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1126,10 +1129,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
this.methodProfiler.enter("tick");
if (!entity.dead && !(entity instanceof EntityPlayer)) {
try {
@ -1186,7 +1178,7 @@ index 0920ef2d1..230517907 100644
crashreport1 = CrashReport.a(throwable1, "Ticking entity");
crashreportsystemdetails1 = crashreport1.a("Entity being ticked");
entity.appendEntityCrashDetails(crashreportsystemdetails1);
@@ -1258,6 +1263,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1254,6 +1258,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
}
timings.tileEntityPending.stopTiming(); // Spigot
@ -1194,7 +1186,7 @@ index 0920ef2d1..230517907 100644
this.methodProfiler.exit();
this.methodProfiler.exit();
}
@@ -1316,7 +1322,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1312,7 +1317,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
}
// CraftBukkit end
@ -1202,7 +1194,7 @@ index 0920ef2d1..230517907 100644
entity.N = entity.locX;
entity.O = entity.locY;
entity.P = entity.locZ;
@@ -1324,6 +1329,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1320,6 +1324,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
entity.lastPitch = entity.pitch;
if (flag && entity.inChunk) {
++entity.ticksLived;
@ -1210,7 +1202,7 @@ index 0920ef2d1..230517907 100644
if (entity.isPassenger()) {
entity.aH();
} else {
@@ -1387,8 +1393,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1383,8 +1388,6 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
}
}
}
@ -1220,7 +1212,7 @@ index 0920ef2d1..230517907 100644
public boolean a(@Nullable Entity entity, VoxelShape voxelshape) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 23c80f80a..2450421d4 100644
index 0a32a767e..60939cc33 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1,5 +1,6 @@
@ -1230,25 +1222,21 @@ index 23c80f80a..2450421d4 100644
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.util.concurrent.ListenableFuture;
@@ -71,7 +72,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
IRegistry<Block> iregistry1 = IRegistry.BLOCK; // CraftBukkit - decompile error
IRegistry.BLOCK.getClass();
- this.nextTickListBlock = new TickListServer<>(this, predicate, function, iregistry1::getOrDefault, this::b); // CraftBukkit - decompile error
+ this.nextTickListBlock = new TickListServer<>(this, predicate, function, iregistry1::getOrDefault, this::b, "Blocks"); // CraftBukkit - decompile error // Paper - Timings v2
Predicate<FluidType> predicate2 = (fluidtype) -> { // CraftBukkit - decompile error
return fluidtype == null || fluidtype == FluidTypes.a;
};
@@ -80,7 +81,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
function = iregistry::getKey;
IRegistry<FluidType> iregistry2 = IRegistry.FLUID; // CraftBukkit - decompile error
IRegistry.FLUID.getClass();
- this.nextTickListFluid = new TickListServer<>(this, predicate2, function, iregistry2::getOrDefault, this::a); // CraftBukkit - decompile error
+ this.nextTickListFluid = new TickListServer<>(this, predicate2, function, iregistry2::getOrDefault, this::a, "Fluids"); // CraftBukkit - decompile error // Paper - Timings v2
@@ -59,10 +60,11 @@ public class WorldServer extends World implements IAsyncTaskHandler {
// CraftBukkit end
this.nextTickListBlock = new TickListServer<>(this, (block) -> {
return block == null || block.getBlockData().isAir();
- }, IRegistry.BLOCK::getKey, IRegistry.BLOCK::getOrDefault, this::b);
+ }, IRegistry.BLOCK::getKey, IRegistry.BLOCK::getOrDefault, this::b, "Blocks"); // Paper - timings
+
this.nextTickListFluid = new TickListServer<>(this, (fluidtype) -> {
return fluidtype == null || fluidtype == FluidTypes.EMPTY;
- }, IRegistry.FLUID::getKey, IRegistry.FLUID::getOrDefault, this::a);
+ }, IRegistry.FLUID::getKey, IRegistry.FLUID::getOrDefault, this::a, "Fluids"); // Paper - timings
this.siegeManager = new VillageSiege(this);
this.d = new ObjectLinkedOpenHashSet();
this.server = minecraftserver;
@@ -297,13 +298,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -279,13 +281,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
timings.doChunkUnload.stopTiming(); // Spigot
this.methodProfiler.exitEnter("tickPending");
@ -1266,7 +1254,7 @@ index 23c80f80a..2450421d4 100644
this.methodProfiler.exitEnter("chunkMap");
timings.doChunkMap.startTiming(); // Spigot
this.manager.flush();
@@ -533,6 +534,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -515,6 +517,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
}
this.methodProfiler.exitEnter("tickBlocks");
@ -1274,7 +1262,7 @@ index 23c80f80a..2450421d4 100644
if (i > 0) {
ChunkSection[] achunksection = chunk.getSections();
int i1 = achunksection.length;
@@ -564,6 +566,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -546,6 +549,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
}
}
}
@ -1282,7 +1270,7 @@ index 23c80f80a..2450421d4 100644
}
this.methodProfiler.exit();
@@ -869,6 +872,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -851,6 +855,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
if (chunkproviderserver.d()) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
@ -1290,7 +1278,7 @@ index 23c80f80a..2450421d4 100644
if (iprogressupdate != null) {
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
}
@@ -878,7 +882,9 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -860,7 +865,9 @@ public class WorldServer extends World implements IAsyncTaskHandler {
iprogressupdate.c(new ChatMessage("menu.savingChunks", new Object[0]));
}
@ -1298,9 +1286,9 @@ index 23c80f80a..2450421d4 100644
chunkproviderserver.a(flag);
+ timings.worldSaveChunks.stopTiming(); // Paper
// CraftBukkit - ArrayList -> Collection
java.util.Collection arraylist = chunkproviderserver.a();
Iterator iterator = arraylist.iterator();
@@ -890,7 +896,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
java.util.Collection<Chunk> list = chunkproviderserver.a();
Iterator iterator = list.iterator();
@@ -872,7 +879,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
chunkproviderserver.unload(chunk);
}
}
@ -1309,7 +1297,7 @@ index 23c80f80a..2450421d4 100644
}
}
@@ -903,6 +909,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -885,6 +892,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
}
protected void a() throws ExceptionWorldConflict {
@ -1317,7 +1305,7 @@ index 23c80f80a..2450421d4 100644
this.checkSession();
Iterator iterator = this.server.getWorlds().iterator();
@@ -932,6 +939,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -914,6 +922,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
this.worldData.c(this.server.getBossBattleCustomData().c());
this.dataManager.saveWorldData(this.worldData, this.server.getPlayerList().t());
this.h().a();
@ -1577,10 +1565,10 @@ index 413dd35f0..52a8c48fa 100644
public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b1a5937b1..b5afd5d1c 100644
index ab944fc67..7993581c2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1720,6 +1720,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1726,6 +1726,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
packet.components = components;
getHandle().playerConnection.sendPacket(packet);
}
@ -1818,5 +1806,5 @@ index c1071c92e..a99c0cea0 100644
}
}
--
2.20.0
2.20.1

View file

@ -1,4 +1,4 @@
From 0b7b250edea62c25ecaa5abf3a83298d4365d9ef Mon Sep 17 00:00:00 2001
From 92ac86da3d4646d3219b8d7a4984c2690acd9467 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:24:16 -0600
Subject: [PATCH] Allow nerfed mobs to jump
@ -19,10 +19,10 @@ index a55163a45..341038fc4 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/ControllerJump.java b/src/main/java/net/minecraft/server/ControllerJump.java
index 74a40671e..5d6260ded 100644
index 4ed5192c6..489beed26 100644
--- a/src/main/java/net/minecraft/server/ControllerJump.java
+++ b/src/main/java/net/minecraft/server/ControllerJump.java
@@ -12,6 +12,7 @@ public class ControllerJump {
@@ -13,6 +13,7 @@ public class ControllerJump {
this.a = true;
}
@ -31,10 +31,10 @@ index 74a40671e..5d6260ded 100644
this.b.o(this.a);
this.a = false;
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 7cf459d26..9d4d8c697 100644
index cca047b04..f31f31c37 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -32,6 +32,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -33,6 +33,7 @@ public abstract class EntityInsentient extends EntityLiving {
private final EntityAIBodyControl b;
protected NavigationAbstract navigation;
public PathfinderGoalSelector goalSelector;
@ -42,7 +42,7 @@ index 7cf459d26..9d4d8c697 100644
public PathfinderGoalSelector targetSelector;
private EntityLiving goalTarget;
private final EntitySenses bC;
@@ -646,6 +647,12 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -647,6 +648,12 @@ public abstract class EntityInsentient extends EntityLiving {
// Spigot Start
if ( this.fromMobSpawner )
{
@ -56,10 +56,10 @@ index 7cf459d26..9d4d8c697 100644
}
// Spigot End
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
index 15c04f890..7db180fa9 100644
index 0d9505138..38a0b2db1 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
@@ -5,14 +5,17 @@ public class PathfinderGoalFloat extends PathfinderGoal {
@@ -6,14 +6,17 @@ public class PathfinderGoalFloat extends PathfinderGoal {
public PathfinderGoalFloat(EntityInsentient entityinsentient) {
this.a = entityinsentient;
@ -78,5 +78,5 @@ index 15c04f890..7db180fa9 100644
if (this.a.getRandom().nextFloat() < 0.8F) {
this.a.getControllerJump().a();
--
2.19.2
2.20.1

View file

@ -1,4 +1,4 @@
From 1b2fe04861331c81c67b51e17ae2596e8a03473a Mon Sep 17 00:00:00 2001
From 0d8ee36dbb6764ff3cde5a629eee498f7c4240e7 Mon Sep 17 00:00:00 2001
From: Suddenly <suddenly@suddenly.coffee>
Date: Tue, 1 Mar 2016 13:51:54 -0600
Subject: [PATCH] Add configurable despawn distances for living entities
@ -30,10 +30,10 @@ index 341038fc4..3e1f4be10 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 9d4d8c697..8f4319c80 100644
index f31f31c37..42a073d70 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -625,13 +625,13 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -626,13 +626,13 @@ public abstract class EntityInsentient extends EntityLiving {
double d2 = entityhuman.locZ - this.locZ;
double d3 = d0 * d0 + d1 * d1 + d2 * d2;
@ -51,5 +51,5 @@ index 9d4d8c697..8f4319c80 100644
}
}
--
2.19.2
2.20.1

View file

@ -1,11 +1,11 @@
From f53a589e0196b116fe888b7cdadc4d356f122ba6 Mon Sep 17 00:00:00 2001
From 95f9f5f005624432004e2a747ee6e5abed0819e3 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 3 Mar 2016 03:53:43 -0600
Subject: [PATCH] Allow for toggling of spawn chunks
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 02f7e506e3..cef0c47ac7 100644
index 3e1f4be10..3f734327c 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -108,4 +108,10 @@ public class PaperWorldConfig {
@ -20,10 +20,10 @@ index 02f7e506e3..cef0c47ac7 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index c3c435cab9..30a46a50fb 100644
index 209091a9c..ed227d8e8 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -207,6 +207,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -202,6 +202,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
this.getServer().addWorld(this.world);
// CraftBukkit end
timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
@ -32,5 +32,5 @@ index c3c435cab9..30a46a50fb 100644
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
}
--
2.18.0
2.20.1

View file

@ -1,11 +1,11 @@
From 12e9eb10a5ab02e4a5c0bb869ec4115f93f458db Mon Sep 17 00:00:00 2001
From c2c5e7da6e22bdab35fda8998f1426f1df3dbb0c Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 14:14:15 -0600
Subject: [PATCH] Drop falling block and tnt entities at the specified height
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 3f734327c0..1ed58f4bba 100644
index 3f734327c..1ed58f4bb 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -114,4 +114,14 @@ public class PaperWorldConfig {
@ -24,10 +24,10 @@ index 3f734327c0..1ed58f4bba 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 320146783b..06b7182a45 100644
index f36ab639f..4baf5750e 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1865,6 +1865,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1863,6 +1863,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.a(itemstack, 0.0F);
}
@ -36,7 +36,7 @@ index 320146783b..06b7182a45 100644
public EntityItem a(ItemStack itemstack, float f) {
if (itemstack.isEmpty()) {
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index 01045058ce..25960cff2a 100644
index 4e4c8cc50..a6eae266d 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -86,6 +86,17 @@ public class EntityFallingBlock extends Entity {
@ -58,7 +58,7 @@ index 01045058ce..25960cff2a 100644
blockposition = new BlockPosition(this);
boolean flag = this.block.getBlock() instanceof BlockConcretePowder;
diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
index 7edc028527..5ceb3f2068 100644
index 3977498c4..5dc52b6b8 100644
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
+++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
@@ -57,6 +57,13 @@ public class EntityTNTPrimed extends Entity {
@ -76,5 +76,5 @@ index 7edc028527..5ceb3f2068 100644
this.motY *= 0.9800000190734863D;
this.motZ *= 0.9800000190734863D;
--
2.19.0
2.20.1

View file

@ -1,4 +1,4 @@
From a108d9cee628d6f30506090b13eea565d11d66b6 Mon Sep 17 00:00:00 2001
From fbb55750ab525c22cc9d0971daae118e62f75a17 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 14:32:43 -0600
Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
@ -6,23 +6,23 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java
index b64cac252..526f3af51 100644
index 220ca7bca..e13e17bdd 100644
--- a/src/main/java/net/minecraft/server/EULA.java
+++ b/src/main/java/net/minecraft/server/EULA.java
@@ -49,7 +49,7 @@ public class EULA {
Properties properties = new Properties();
@@ -52,7 +52,7 @@ public class EULA {
fileoutputstream = new FileOutputStream(this.b);
properties.setProperty("eula", "false");
- properties.store(fileoutputstream, "By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).");
+ properties.store(fileoutputstream, "By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).\nYou also agree that tacos are tasty, and the best food in the world."); // Paper - fix lag);
} catch (Exception exception) {
a.warn("Failed to save {}", this.b, exception);
EULA.a.warn("Failed to save {}", this.b, exception);
} finally {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2d812b024..8a6589d95 100644
index edb1748fd..b5f30b2b2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1213,7 +1213,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1208,7 +1208,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
public String getServerModName() {
@ -32,7 +32,7 @@ index 2d812b024..8a6589d95 100644
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 174605b6e..29b016e17 100644
index da57751f7..ed0221f0d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -162,7 +162,7 @@ import org.bukkit.event.server.TabCompleteEvent;
@ -116,5 +116,5 @@ index 14a1084aa..21316d67f 100644
log.log( Level.SEVERE, "------------------------------" );
//
--
2.19.1
2.20.1

View file

@ -1,14 +1,14 @@
From 164c726a9beb2ae4706cee345a93948451828d46 Mon Sep 17 00:00:00 2001
From c2d0e15e8095c773c163ea2a5f62ae6dcb8d56c5 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com>
Date: Tue, 1 Mar 2016 14:47:52 -0600
Subject: [PATCH] Player affects spawning API
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 05360531c..1aec6d7c3 100644
index 4308269d4..70d5a69f8 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -71,6 +71,9 @@ public abstract class EntityHuman extends EntityLiving {
@@ -68,6 +68,9 @@ public abstract class EntityHuman extends EntityLiving {
private final ItemCooldown ce;
@Nullable
public EntityFishingHook hookedFish;
@ -19,10 +19,10 @@ index 05360531c..1aec6d7c3 100644
// CraftBukkit start
public boolean fauxSleeping;
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index ef3c94221..ac250182b 100644
index 42a073d70..4809af8f0 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -619,7 +619,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -620,7 +620,7 @@ public abstract class EntityInsentient extends EntityLiving {
} else {
EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D);
@ -32,7 +32,7 @@ index ef3c94221..ac250182b 100644
double d1 = entityhuman.locY - this.locY;
double d2 = entityhuman.locZ - this.locZ;
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
index 850569f6b..f958bd5ba 100644
index 3c566ebd0..ba40e03fc 100644
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
@@ -96,7 +96,7 @@ public class EntitySilverfish extends EntityMonster {
@ -45,7 +45,7 @@ index 850569f6b..f958bd5ba 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index afe039905..ff564508f 100644
index 6ca0e19cb..4eaa5d93b 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -37,7 +37,7 @@ public final class SpawnerCreature {
@ -58,18 +58,18 @@ index afe039905..ff564508f 100644
j = MathHelper.floor(entityhuman.locZ / 16.0D);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index b116239f2..73c47c517 100644
index ed227d8e8..dab1be9b6 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -34,6 +34,7 @@ import org.bukkit.craftbukkit.block.data.CraftBlockData;
@@ -30,6 +30,7 @@ import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.craftbukkit.block.CraftBlockState;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.craftbukkit.util.CraftMagicNumbers;
import org.bukkit.craftbukkit.util.LongHashSet; // Paper
+import org.bukkit.entity.Player;
import org.bukkit.event.block.BlockCanBuildEvent;
+import org.bukkit.craftbukkit.util.LongHashSet; // Paper
import org.bukkit.event.block.BlockPhysicsEvent;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
@@ -2389,7 +2390,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
import org.bukkit.generator.ChunkGenerator;
@@ -2384,7 +2385,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
for (int i = 0; i < this.players.size(); ++i) {
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
@ -79,10 +79,10 @@ index b116239f2..73c47c517 100644
if (d3 < 0.0D || d4 < d3 * d3) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b5afd5d1c..47da00948 100644
index 7993581c2..4a30435a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1633,7 +1633,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1639,7 +1639,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
return getHandle().locale;
@ -103,5 +103,5 @@ index b5afd5d1c..47da00948 100644
@Override
public void updateCommands() {
--
2.20.0
2.20.1

View file

@ -1,14 +1,14 @@
From 729ed20118acbca8d55fbfb71d3d02ef0a27314b Mon Sep 17 00:00:00 2001
From 5011c4049d2d9d65d19fd159a63811744bfb7ddb Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 15:08:03 -0600
Subject: [PATCH] Remove invalid mob spawner tile entities
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 9970a58ed..da2548603 100644
index eca1284cc..0a436133a 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -798,6 +798,10 @@ public class Chunk implements IChunkAccess {
@@ -797,6 +797,10 @@ public class Chunk implements IChunkAccess {
tileentity.z();
this.tileEntities.put(blockposition.h(), tileentity);
// CraftBukkit start
@ -20,5 +20,5 @@ index 9970a58ed..da2548603 100644
System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ()
+ " (" + getType(blockposition) + ") where there was no entity tile!");
--
2.20.0
2.20.1

View file

@ -1,24 +1,11 @@
From fe5d1f6d166e14ba309e16fb90c12c82ab35e5c4 Mon Sep 17 00:00:00 2001
From 38eae291e775cae8925a2d2b580a30f09cecd2d5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 8 Mar 2015 22:55:25 -0600
Subject: [PATCH] Optimize TileEntity Ticking
diff --git a/src/main/java/net/minecraft/server/BlockChest.java b/src/main/java/net/minecraft/server/BlockChest.java
index 9ffec378a9..5401f7d754 100644
--- a/src/main/java/net/minecraft/server/BlockChest.java
+++ b/src/main/java/net/minecraft/server/BlockChest.java
@@ -216,7 +216,7 @@ public class BlockChest extends BlockTileEntity implements IFluidSource, IFluidC
}
private boolean b(World world, BlockPosition blockposition) {
- List list = world.a(EntityOcelot.class, new AxisAlignedBB((double)blockposition.getX(), (double)(blockposition.getY() + 1), (double)blockposition.getZ(), (double)(blockposition.getX() + 1), (double)(blockposition.getY() + 2), (double)(blockposition.getZ() + 1)));
+ List<EntityOcelot> list = world.a(EntityOcelot.class, new AxisAlignedBB((double)blockposition.getX(), (double)(blockposition.getY() + 1), (double)blockposition.getZ(), (double)(blockposition.getX() + 1), (double)(blockposition.getY() + 2), (double)(blockposition.getZ() + 1))); // Paper - decompile fix
if (!list.isEmpty()) {
for(EntityOcelot entityocelot : list) {
if (entityocelot.isSitting()) {
diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java
index ad601a39d9..9573a4ecdf 100644
index 2b03896e2..c46b761cc 100644
--- a/src/main/java/net/minecraft/server/TileEntityChest.java
+++ b/src/main/java/net/minecraft/server/TileEntityChest.java
@@ -7,7 +7,7 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity;
@ -47,7 +34,7 @@ index ad601a39d9..9573a4ecdf 100644
+ // Paper end
this.f = 0;
f = 5.0F;
List list = this.world.a(EntityHuman.class, new AxisAlignedBB((double) ((float) i - 5.0F), (double) ((float) j - 5.0F), (double) ((float) k - 5.0F), (double) ((float) (i + 1) + 5.0F), (double) ((float) (j + 1) + 5.0F), (double) ((float) (k + 1) + 5.0F)));
List<EntityHuman> list = this.world.a(EntityHuman.class, new AxisAlignedBB((double) ((float) i - 5.0F), (double) ((float) j - 5.0F), (double) ((float) k - 5.0F), (double) ((float) (i + 1) + 5.0F), (double) ((float) (j + 1) + 5.0F), (double) ((float) (k + 1) + 5.0F)));
@@ -134,13 +140,17 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
}
}
@ -104,7 +91,7 @@ index ad601a39d9..9573a4ecdf 100644
int newPower = Math.max(0, Math.min(15, this.f));
diff --git a/src/main/java/net/minecraft/server/TileEntityEnderChest.java b/src/main/java/net/minecraft/server/TileEntityEnderChest.java
index 05de26405e..bc851d2a04 100644
index ee19595d3..f2df6f395 100644
--- a/src/main/java/net/minecraft/server/TileEntityEnderChest.java
+++ b/src/main/java/net/minecraft/server/TileEntityEnderChest.java
@@ -1,6 +1,6 @@
@ -112,10 +99,10 @@ index 05de26405e..bc851d2a04 100644
-public class TileEntityEnderChest extends TileEntity implements ITickable {
+public class TileEntityEnderChest extends TileEntity { // Paper - Remove ITickable
public float a;
public float e;
public int f;
@@ -16,16 +16,34 @@ public class TileEntityEnderChest extends TileEntity implements ITickable {
@@ -17,19 +17,37 @@ public class TileEntityEnderChest extends TileEntity implements ITickable {
}
this.e = this.a;
@ -124,7 +111,9 @@ index 05de26405e..bc851d2a04 100644
int i = this.position.getX();
int j = this.position.getY();
int k = this.position.getZ();
float fx = 0.1F;
float f = 0.1F;
double d0;
+ */
+ // Paper start
+ }
@ -134,9 +123,11 @@ index 05de26405e..bc851d2a04 100644
+ int k = this.position.getZ();
+ // Paper end
if (this.f > 0 && this.a == 0.0F) {
double d0 = (double)i + 0.5D;
double d1 = (double)k + 0.5D;
this.world.a((EntityHuman)null, d0, (double)j + 0.5D, d1, SoundEffects.BLOCK_ENDER_CHEST_OPEN, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
double d1 = (double) i + 0.5D;
- d0 = (double) k + 0.5D;
+ double d0 = (double) k + 0.5D; // Paper
this.world.a((EntityHuman) null, d1, (double) j + 0.5D, d0, SoundEffects.BLOCK_ENDER_CHEST_OPEN, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
}
-
+ // Paper start
@ -149,9 +140,9 @@ index 05de26405e..bc851d2a04 100644
+ double d0;
+ // Paper end
if (this.f == 0 && this.a > 0.0F || this.f > 0 && this.a < 1.0F) {
float f2 = this.a;
if (this.f > 0) {
@@ -69,11 +87,13 @@ public class TileEntityEnderChest extends TileEntity implements ITickable {
float f1 = this.a;
@@ -76,11 +94,13 @@ public class TileEntityEnderChest extends TileEntity implements ITickable {
public void c() {
++this.f;
this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.f);
@ -166,5 +157,5 @@ index 05de26405e..bc851d2a04 100644
public boolean a(EntityHuman entityhuman) {
--
2.18.0
2.20.1

View file

@ -1,4 +1,4 @@
From fd0cba99aee112db7620e0860c08f2c65c982ee4 Mon Sep 17 00:00:00 2001
From e990ffd965e20df1b41e07f7861db7bf2584fb8c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 1 Mar 2016 23:09:29 -0600
Subject: [PATCH] Further improve server tick loop
@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly.
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ffda9d793..4acb908ec 100644
index b5f30b2b2..b12d9fbe8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -146,7 +146,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -141,7 +141,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
public org.bukkit.command.ConsoleCommandSender console;
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
public ConsoleReader reader;
@ -24,7 +24,7 @@ index ffda9d793..4acb908ec 100644
public final Thread primaryThread;
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
@@ -156,7 +156,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -151,7 +151,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
// Spigot start
public static final int TPS = 20;
public static final int TICK_TIME = 1000000000 / TPS;
@ -33,7 +33,7 @@ index ffda9d793..4acb908ec 100644
public final double[] recentTps = new double[ 3 ];
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -689,7 +689,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -684,7 +684,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
private boolean canSleepForTick() {
@ -42,7 +42,7 @@ index ffda9d793..4acb908ec 100644
}
// Spigot Start
@@ -697,6 +697,57 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -692,6 +692,57 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
{
return ( avg * exp ) + ( tps * ( 1 - exp ) );
}
@ -100,7 +100,7 @@ index ffda9d793..4acb908ec 100644
// Spigot End
public void run() {
@@ -709,29 +760,47 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -704,29 +755,47 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
// Spigot start
Arrays.fill( recentTps, 20 );
@ -224,5 +224,5 @@ index be2e31dea..6d21c3269 100644
return ( ( tps > 18.0 ) ? ChatColor.GREEN : ( tps > 16.0 ) ? ChatColor.YELLOW : ChatColor.RED ).toString()
+ ( ( tps > 20.0 ) ? "*" : "" ) + Math.min( Math.round( tps * 100.0 ) / 100.0, 20.0 );
--
2.20.0
2.20.1

View file

@ -1,14 +1,14 @@
From f1f93c9e37b210e625b5881a7fe266309283a08b Mon Sep 17 00:00:00 2001
From fcc79c8edbb43bcd014c6d87d2b2edd1460744f3 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 23:45:08 -0600
Subject: [PATCH] Entity Origin API
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 7c2a8c5c8..cc6ae6634 100644
index 4baf5750e..ca5212f20 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -162,6 +162,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -160,6 +160,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public org.bukkit.projectiles.ProjectileSource projectileSource; // For projectiles only
public boolean forceExplosionKnockback; // SPIGOT-949
public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper
@ -16,7 +16,7 @@ index 7c2a8c5c8..cc6ae6634 100644
// Spigot start
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
public final boolean defaultActivationState;
@@ -1606,6 +1607,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1604,6 +1605,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
}
@ -28,7 +28,7 @@ index 7c2a8c5c8..cc6ae6634 100644
return nbttagcompound;
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Saving entity NBT");
@@ -1747,6 +1753,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1745,6 +1751,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
// CraftBukkit end
@ -42,7 +42,7 @@ index 7c2a8c5c8..cc6ae6634 100644
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Loading entity NBT");
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being loaded");
@@ -1822,6 +1835,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1820,6 +1833,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
protected abstract void b(NBTTagCompound nbttagcompound);
@ -51,7 +51,7 @@ index 7c2a8c5c8..cc6ae6634 100644
NBTTagList nbttaglist = new NBTTagList();
double[] adouble1 = adouble;
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index dc173e14f..596ac18a7 100644
index a6eae266d..489dd861d 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -249,6 +249,14 @@ public class EntityFallingBlock extends Entity {
@ -89,22 +89,22 @@ index 5dc52b6b8..2c28633c4 100644
@Nullable
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
index 1b72df8cd..ae8be435c 100644
index 27debcfca..22027321b 100644
--- a/src/main/java/net/minecraft/server/NBTTagList.java
+++ b/src/main/java/net/minecraft/server/NBTTagList.java
@@ -174,6 +174,7 @@ public class NBTTagList extends NBTList<NBTBase> {
@@ -182,6 +182,7 @@ public class NBTTagList extends NBTList<NBTBase> {
return new int[0];
}
+ public final double getDoubleAt(int i) { return this.k(i); } // Paper - OBFHELPER
public double k(int i) {
if (i >= 0 && i < this.list.size()) {
NBTBase nbtbase = (NBTBase)this.list.get(i);
NBTBase nbtbase = (NBTBase) this.list.get(i);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 73c47c517..ab74b1add 100644
index dab1be9b6..59b1f9043 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -918,6 +918,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -913,6 +913,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
int j = MathHelper.floor(entity.locZ / 16.0D);
boolean flag = entity.attachedToPlayer;
@ -135,5 +135,5 @@ index 153efb9b9..df7c77e9a 100644
+ // Paper end
}
--
2.20.0
2.20.1

View file

@ -1,4 +1,4 @@
From 207ee34b2e3af0d3f6ac16d639cccc9857bc16cf Mon Sep 17 00:00:00 2001
From ef71a8a38a32ae6a68b253e74b46badf1cf175a0 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 1 Mar 2016 23:52:34 -0600
Subject: [PATCH] Prevent tile entity and entity crashes
@ -23,10 +23,10 @@ index 68ac014aa..c5212417c 100644
}
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index ab74b1add..5d5a9f0bb 100644
index 59b1f9043..086d64628 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1147,10 +1147,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1142,10 +1142,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
entity.tickTimer.stopTiming(); // Paper
} catch (Throwable throwable1) {
entity.tickTimer.stopTiming();
@ -43,7 +43,7 @@ index ab74b1add..5d5a9f0bb 100644
}
}
@@ -1213,10 +1215,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1208,10 +1210,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
((ITickable) tileentity).tick();
this.methodProfiler.exit();
} catch (Throwable throwable2) {
@ -62,5 +62,5 @@ index ab74b1add..5d5a9f0bb 100644
// Spigot start
finally {
--
2.20.0
2.20.1

View file

@ -1,4 +1,4 @@
From 65611361ad1379efabc6de8576ae3282f808ff3b Mon Sep 17 00:00:00 2001
From 35478e5d1a29397305e7c48247c5fe853074d2a2 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 23:58:50 -0600
Subject: [PATCH] Configurable top of nether void damage
@ -20,10 +20,10 @@ index 1ed58f4bb..39d565db1 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index cc6ae6634..99716419e 100644
index ca5212f20..f57c5b6a4 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -463,9 +463,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -461,9 +461,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.fallDistance *= 0.5F;
}
@ -39,7 +39,7 @@ index cc6ae6634..99716419e 100644
if (!this.world.isClientSide) {
this.setFlag(0, this.fireTicks > 0);
@@ -475,6 +481,14 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -473,6 +479,14 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.world.methodProfiler.exit();
}
@ -54,7 +54,7 @@ index cc6ae6634..99716419e 100644
protected void E() {
if (this.portalCooldown > 0) {
--this.portalCooldown;
@@ -526,6 +540,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -524,6 +538,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.fireTicks = 0;
}
@ -63,10 +63,10 @@ index cc6ae6634..99716419e 100644
this.die();
}
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index a2f334968..e741c7f83 100644
index 9000d2d7b..a8a64d054 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -195,9 +195,15 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT
@@ -193,9 +193,15 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT
this.setDamage(this.getDamage() - 1.0F);
}
@ -83,5 +83,5 @@ index a2f334968..e741c7f83 100644
int i;
--
2.20.0
2.20.1

View file

@ -1,4 +1,4 @@
From 3e0df901f487044ce2782c682f66e627e9411eb3 Mon Sep 17 00:00:00 2001
From 55ff099f0d6ecf7d813d7951a9f590020b97d147 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 2 Mar 2016 00:52:31 -0600
Subject: [PATCH] Lighting Queue
@ -63,10 +63,10 @@ index 39d565db1..8f6f0288b 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index da2548603..87ec4d1a2 100644
index 0a436133a..2afd6befa 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -95,6 +95,7 @@ public class Chunk implements IChunkAccess {
@@ -94,6 +94,7 @@ public class Chunk implements IChunkAccess {
return removed;
}
}
@ -74,7 +74,7 @@ index da2548603..87ec4d1a2 100644
// Paper end
public boolean areNeighborsLoaded(final int radius) {
switch (radius) {
@@ -285,7 +286,7 @@ public class Chunk implements IChunkAccess {
@@ -284,7 +285,7 @@ public class Chunk implements IChunkAccess {
private void g(boolean flag) {
this.world.methodProfiler.enter("recheckGaps");
@ -83,7 +83,7 @@ index da2548603..87ec4d1a2 100644
for (int i = 0; i < 16; ++i) {
for (int j = 0; j < 16; ++j) {
if (this.g[i + j * 16]) {
@@ -336,7 +337,7 @@ public class Chunk implements IChunkAccess {
@@ -335,7 +336,7 @@ public class Chunk implements IChunkAccess {
}
private void a(int i, int j, int k, int l) {
@ -92,7 +92,7 @@ index da2548603..87ec4d1a2 100644
for (int i1 = k; i1 < l; ++i1) {
this.world.c(EnumSkyBlock.SKY, new BlockPosition(i, i1, j));
}
@@ -536,6 +537,7 @@ public class Chunk implements IChunkAccess {
@@ -535,6 +536,7 @@ public class Chunk implements IChunkAccess {
if (flag1) {
this.initLighting();
} else {
@ -100,7 +100,7 @@ index da2548603..87ec4d1a2 100644
int i1 = iblockdata.b(this.world, blockposition);
int j1 = iblockdata1.b(this.world, blockposition);
@@ -543,6 +545,7 @@ public class Chunk implements IChunkAccess {
@@ -542,6 +544,7 @@ public class Chunk implements IChunkAccess {
if (i1 != j1 && (i1 < j1 || this.getBrightness(EnumSkyBlock.SKY, blockposition) > 0 || this.getBrightness(EnumSkyBlock.BLOCK, blockposition) > 0)) {
this.c(i, k);
}
@ -108,7 +108,7 @@ index da2548603..87ec4d1a2 100644
}
TileEntity tileentity;
@@ -1361,6 +1364,16 @@ public class Chunk implements IChunkAccess {
@@ -1360,6 +1363,16 @@ public class Chunk implements IChunkAccess {
return this.D == 8;
}
@ -126,10 +126,10 @@ index da2548603..87ec4d1a2 100644
IMMEDIATE, QUEUED, CHECK;
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 60abc5f28..6a9b9fa2a 100644
index 44c1dfe92..fe189a841 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -314,6 +314,7 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -310,6 +310,7 @@ public class ChunkProviderServer implements IChunkProvider {
return false;
}
save = event.isSaveChunk();
@ -138,10 +138,10 @@ index 60abc5f28..6a9b9fa2a 100644
// Update neighbor counts
for (int x = -2; x < 3; x++) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4acb908ec..194f8441e 100644
index b12d9fbe8..f547a6ad7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -894,7 +894,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -889,7 +889,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
protected void a(BooleanSupplier booleansupplier) {
co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper
this.slackActivityAccountant.tickStarted(); // Spigot
@ -150,7 +150,7 @@ index 4acb908ec..194f8441e 100644
++this.ticks;
if (this.S) {
@@ -952,6 +952,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -947,6 +947,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.methodProfiler.exit();
this.methodProfiler.exit();
org.spigotmc.WatchdogThread.tick(); // Spigot
@ -263,10 +263,10 @@ index 000000000..9783f3a0d
+ }
+}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 5d5a9f0bb..69f55d0dd 100644
index 086d64628..bf05c47a1 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -335,7 +335,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -330,7 +330,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
if (iblockdata2.b(this, blockposition) != iblockdata1.b(this, blockposition) || iblockdata2.e() != iblockdata1.e()) {
this.methodProfiler.enter("checkLight");
@ -276,5 +276,5 @@ index 5d5a9f0bb..69f55d0dd 100644
}
--
2.20.0
2.20.1

View file

@ -1,4 +1,4 @@
From 218a1980882ca92ea3578f3ad4d3a34804dbda7e Mon Sep 17 00:00:00 2001
From 8389f574485f07e27a681ea473b5028947250219 Mon Sep 17 00:00:00 2001
From: DoctorDark <doctordark11@gmail.com>
Date: Wed, 16 Mar 2016 02:21:39 -0500
Subject: [PATCH] Configurable end credits
@ -20,10 +20,10 @@ index 8f6f0288b..5aee23dce 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index d0d93b1eb..2804bfc0a 100644
index 5e60bdb40..301119d3e 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -61,7 +61,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -58,7 +58,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
private long cu = SystemUtils.getMonotonicMillis();
private Entity spectatedEntity;
public boolean worldChangeInvuln;
@ -32,7 +32,7 @@ index d0d93b1eb..2804bfc0a 100644
private final RecipeBookServer recipeBook;
private Vec3D cz;
private int cA;
@@ -649,6 +649,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -651,6 +651,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.world.kill(this);
if (!this.viewingCredits) {
this.viewingCredits = true;
@ -41,5 +41,5 @@ index d0d93b1eb..2804bfc0a 100644
this.cx = true;
}
--
2.20.0
2.20.1

View file

@ -1,20 +1,20 @@
From b45b30d876512ac7815531b094830438c30de107 Mon Sep 17 00:00:00 2001
From c32e5c2cb240c0c70aad5d9c62b49b28a265ffa1 Mon Sep 17 00:00:00 2001
From: Iceee <andrew@opticgaming.tv>
Date: Wed, 2 Mar 2016 01:39:52 -0600
Subject: [PATCH] Fix lag from explosions processing dead entities
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index d564aaf60..92e3a49e2 100644
index 33809baf2..c4db6367e 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -111,7 +111,14 @@ public class Explosion {
int i1 = MathHelper.floor(this.posY + (double) f3 + 1.0D);
int j1 = MathHelper.floor(this.posZ - (double) f3 - 1.0D);
int k1 = MathHelper.floor(this.posZ + (double) f3 + 1.0D);
- List list = this.world.getEntities(this.source, new AxisAlignedBB((double) i, (double) l, (double) j1, (double) j, (double) i1, (double) k1));
- List<Entity> list = this.world.getEntities(this.source, new AxisAlignedBB((double) i, (double) l, (double) j1, (double) j, (double) i1, (double) k1));
+ // Paper start - Fix lag from explosions processing dead entities
+ List list = this.world.getEntities(this.source, new AxisAlignedBB((double) i, (double) l, (double) j1, (double) j, (double) i1, (double) k1), new com.google.common.base.Predicate<Entity>() {
+ List<Entity> list = this.world.getEntities(this.source, new AxisAlignedBB((double) i, (double) l, (double) j1, (double) j, (double) i1, (double) k1), new com.google.common.base.Predicate<Entity>() {
+ @Override
+ public boolean apply(Entity entity) {
+ return IEntitySelector.canAITarget().test(entity) && !entity.dead;
@ -25,27 +25,17 @@ index d564aaf60..92e3a49e2 100644
for (int l1 = 0; l1 < list.size(); ++l1) {
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index 2e2fb85cf..7b7fd6b9b 100644
index 8225a8258..bbcbb6232 100644
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -13,6 +13,7 @@ public final class IEntitySelector {
@@ -14,6 +14,7 @@ public final class IEntitySelector {
public static final Predicate<Entity> d = (entity) -> {
return entity instanceof IInventory && entity.isAlive();
};
+ public static Predicate<Entity> canAITarget() { return e; } // Paper - OBFHELPER
public static final Predicate<Entity> e = (entity) -> {
return !(entity instanceof EntityHuman) || !((EntityHuman)entity).isSpectator() && !((EntityHuman)entity).u();
return !(entity instanceof EntityHuman) || !((EntityHuman) entity).isSpectator() && !((EntityHuman) entity).u();
};
@@ -96,9 +97,5 @@ public final class IEntitySelector {
}
}
- // $FF: synthetic method
- public boolean test(@Nullable Object object) {
- return this.test((Entity)object);
- }
}
}
--
2.20.0
2.20.1

View file

@ -1,4 +1,4 @@
From bbbcb6b95ae225470a3f41c3cd0e6fe294587320 Mon Sep 17 00:00:00 2001
From 6ae47c32adde3d935976cbc9b200e1e068c6ea0a Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 11:59:48 -0600
Subject: [PATCH] Optimize explosions
@ -25,7 +25,7 @@ index 5aee23dce..2ec3d9355 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index 92e3a49e2..10c415b37 100644
index c4db6367e..3e44b2d54 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -137,7 +137,7 @@ public class Explosion {
@ -124,10 +124,10 @@ index 92e3a49e2..10c415b37 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 194f8441e..eef8d2b5a 100644
index f547a6ad7..7a2f128d3 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1059,6 +1059,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1054,6 +1054,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
worldserver.getTracker().updatePlayers();
this.methodProfiler.exit();
this.methodProfiler.exit();
@ -136,18 +136,18 @@ index 194f8441e..eef8d2b5a 100644
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 69f55d0dd..00880d54f 100644
index bf05c47a1..ac602abc0 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -24,6 +24,7 @@ import org.apache.logging.log4j.Logger;
@@ -22,6 +22,7 @@ import org.apache.logging.log4j.Logger;
// CraftBukkit start
import com.google.common.collect.Maps;
import java.util.ArrayList;
+import java.util.HashMap; // Paper
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.block.BlockState;
@@ -145,6 +146,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -140,6 +141,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
private org.spigotmc.TickLimiter entityLimiter;
private org.spigotmc.TickLimiter tileLimiter;
private int tileTickPosition;
@ -156,5 +156,5 @@ index 69f55d0dd..00880d54f 100644
public CraftWorld getWorld() {
return this.world;
--
2.20.0
2.20.1

View file

@ -1,14 +1,14 @@
From 0fc496b449eaf0a6b9cb98c8ab8d345e297a35a6 Mon Sep 17 00:00:00 2001
From 34ef67b5834b8d47cc7f8947ff4148c6f679fa9b Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Wed, 2 Mar 2016 14:35:27 -0600
Subject: [PATCH] Add player view distance API
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 1aec6d7c3..1185769ca 100644
index 70d5a69f8..f28ca6bb4 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -74,6 +74,15 @@ public abstract class EntityHuman extends EntityLiving {
@@ -71,6 +71,15 @@ public abstract class EntityHuman extends EntityLiving {
// Paper start
public boolean affectsSpawning = true;
// Paper end
@ -25,7 +25,7 @@ index 1aec6d7c3..1185769ca 100644
// CraftBukkit start
public boolean fauxSleeping;
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
index d7f33bd53..63e22bd9a 100644
index 45ab33d1a..3854ae976 100644
--- a/src/main/java/net/minecraft/server/EntityTracker.java
+++ b/src/main/java/net/minecraft/server/EntityTracker.java
@@ -200,6 +200,7 @@ public class EntityTracker {
@ -37,7 +37,7 @@ index d7f33bd53..63e22bd9a 100644
Iterator iterator = this.c.iterator();
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index 6a622f72e..4272d2036 100644
index d00401ce1..dd6c84b4a 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -435,7 +435,7 @@ public class EntityTrackerEntry {
@ -50,10 +50,10 @@ index 6a622f72e..4272d2036 100644
return d0 >= (double) (-i) && d0 <= (double) i && d1 >= (double) (-i) && d1 <= (double) i && this.tracker.a(entityplayer);
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 29e24940f..653031af4 100644
index e01222ad2..55161af9c 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -35,7 +35,7 @@ public class PlayerChunkMap {
@@ -33,7 +33,7 @@ public class PlayerChunkMap {
private final List<PlayerChunk> g = Lists.newLinkedList();
private final List<PlayerChunk> h = Lists.newLinkedList();
private final List<PlayerChunk> i = Lists.newArrayList();
@ -62,7 +62,7 @@ index 29e24940f..653031af4 100644
private long k;
private boolean l = true;
private boolean m = true;
@@ -261,8 +261,11 @@ public class PlayerChunkMap {
@@ -257,8 +257,11 @@ public class PlayerChunkMap {
// CraftBukkit start - Load nearby chunks first
List<ChunkCoordIntPair> chunkList = new LinkedList<ChunkCoordIntPair>();
@ -76,7 +76,7 @@ index 29e24940f..653031af4 100644
chunkList.add(new ChunkCoordIntPair(k, l));
}
}
@@ -281,8 +284,11 @@ public class PlayerChunkMap {
@@ -277,8 +280,11 @@ public class PlayerChunkMap {
int i = (int) entityplayer.d >> 4;
int j = (int) entityplayer.e >> 4;
@ -90,7 +90,7 @@ index 29e24940f..653031af4 100644
PlayerChunk playerchunk = this.getChunk(k, l);
if (playerchunk != null) {
@@ -312,7 +318,8 @@ public class PlayerChunkMap {
@@ -308,7 +314,8 @@ public class PlayerChunkMap {
if (d2 >= 64.0D) {
int k = (int) entityplayer.d >> 4;
int l = (int) entityplayer.e >> 4;
@ -100,7 +100,7 @@ index 29e24940f..653031af4 100644
int j1 = i - k;
int k1 = j - l;
@@ -356,6 +363,8 @@ public class PlayerChunkMap {
@@ -352,6 +359,8 @@ public class PlayerChunkMap {
return playerchunk != null && playerchunk.d(entityplayer) && playerchunk.e();
}
@ -109,7 +109,7 @@ index 29e24940f..653031af4 100644
public void a(int i) {
i = MathHelper.clamp(i, 3, 32);
if (i != this.j) {
@@ -365,36 +374,55 @@ public class PlayerChunkMap {
@@ -361,36 +370,55 @@ public class PlayerChunkMap {
while (iterator.hasNext()) {
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
@ -187,7 +187,7 @@ index 29e24940f..653031af4 100644
private void e() {
this.l = true;
@@ -473,4 +501,32 @@ public class PlayerChunkMap {
@@ -469,4 +497,32 @@ public class PlayerChunkMap {
}
}
// CraftBukkit end
@ -221,7 +221,7 @@ index 29e24940f..653031af4 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index ff564508f..4233b94a1 100644
index 4eaa5d93b..6720a9648 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -44,7 +44,7 @@ public final class SpawnerCreature {
@ -234,10 +234,10 @@ index ff564508f..4233b94a1 100644
for (int i1 = -b0; i1 <= b0; ++i1) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 6635f1a4a..d2ff18cf7 100644
index 31140ed18..1a4527f30 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1646,6 +1646,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1652,6 +1652,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean getAffectsSpawning() {
return this.getHandle().affectsSpawning;
}
@ -276,5 +276,5 @@ index a95f93eb7..09df00e94 100644
animalBB = player.getBoundingBox().grow( animalActivationRange, 256, animalActivationRange );
monsterBB = player.getBoundingBox().grow( monsterActivationRange, 256, monsterActivationRange );
--
2.20.0
2.20.1

View file

@ -1,11 +1,11 @@
From 3de68b79f98b2fc517ad7300d8c1e0d8b9940bc7 Mon Sep 17 00:00:00 2001
From 252e5a6798a4f1635081f343bb1d95bf4fb4d2fb Mon Sep 17 00:00:00 2001
From: Sudzzy <originmc@outlook.com>
Date: Wed, 2 Mar 2016 14:52:43 -0600
Subject: [PATCH] Disable thunder
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 4679246662..13253f6e9c 100644
index 467924666..13253f6e9 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -155,4 +155,9 @@ public class PaperWorldConfig {
@ -19,10 +19,10 @@ index 4679246662..13253f6e9c 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index e4d03b6779..f39ce330f6 100644
index 60939cc33..54c1b484a 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -491,7 +491,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -474,7 +474,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
int l;
BlockPosition blockposition;
@ -32,5 +32,5 @@ index e4d03b6779..f39ce330f6 100644
l = this.m >> 2;
blockposition = this.a(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15)));
--
2.19.0
2.20.1

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