NOT FINISHED!!! Current Progress on 1.13-pre7 update

This work is 100% unfinished. I am pushing it up so that we as a team
can work on this update.

Do not try to use this branch. You will fail.
This commit is contained in:
Aikar 2018-07-14 21:53:17 -04:00
parent a8c28e1920
commit 5b6dfb3463
No known key found for this signature in database
GPG Key ID: 401ADFC9891FAAFE
234 changed files with 3554 additions and 5857 deletions

View File

@ -1,14 +1,14 @@
From 19a0ed42ec75273fa4ccab45bb726f5d1a90c4c2 Mon Sep 17 00:00:00 2001 From 7439e7e3c94eb559415193440a9e1515335819c7 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 00:16:08 +0100 Date: Tue, 1 Mar 2016 00:16:08 +0100
Subject: [PATCH] POM changes Subject: [PATCH] POM changes
diff --git a/pom.xml b/pom.xml diff --git a/pom.xml b/pom.xml
index 99ff13b3..cc8fca48 100644 index 3e6c8707..c2d0651e 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -3,13 +3,19 @@ @@ -3,29 +3,35 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -20,9 +20,8 @@ index 99ff13b3..cc8fca48 100644
+ <version>dev-SNAPSHOT</version> + <version>dev-SNAPSHOT</version>
+ </parent> + </parent>
+ +
+ <groupId>com.destroystokyo.paper</groupId>
+ <artifactId>paper-api</artifactId> + <artifactId>paper-api</artifactId>
<version>1.13-pre5-R0.1-SNAPSHOT</version> <version>1.13-pre7-R0.1-SNAPSHOT</version>
<packaging>jar</packaging> <packaging>jar</packaging>
- <name>Spigot-API</name> - <name>Spigot-API</name>
@ -32,7 +31,13 @@ index 99ff13b3..cc8fca48 100644
<description>An enhanced plugin API for Minecraft servers.</description> <description>An enhanced plugin API for Minecraft servers.</description>
<properties> <properties>
@@ -20,12 +26,12 @@ - <maven.compiler.source>1.7</maven.compiler.source>
- <maven.compiler.target>1.7</maven.compiler.target>
+ <!-- Paper - #Logic -->
+ <maven.compiler.source>1.8</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<distributionManagement> <distributionManagement>
<repository> <repository>
@ -111,7 +116,7 @@ index 99ff13b3..cc8fca48 100644
- <plugin> - <plugin>
- <groupId>org.codehaus.mojo</groupId> - <groupId>org.codehaus.mojo</groupId>
- <artifactId>animal-sniffer-maven-plugin</artifactId> - <artifactId>animal-sniffer-maven-plugin</artifactId>
- <version>1.16</version> - <version>1.17</version>
- <executions> - <executions>
- <execution> - <execution>
- <phase>process-classes</phase> - <phase>process-classes</phase>
@ -123,7 +128,7 @@ index 99ff13b3..cc8fca48 100644
- <configuration> - <configuration>
- <signature> - <signature>
- <groupId>org.codehaus.mojo.signature</groupId> - <groupId>org.codehaus.mojo.signature</groupId>
- <artifactId>java18</artifactId> - <artifactId>java17</artifactId>
- <version>1.0</version> - <version>1.0</version>
- </signature> - </signature>
- </configuration> - </configuration>

View File

@ -1,4 +1,4 @@
From 53fb6f06b531517937c55be04dc33916403c6c5c Mon Sep 17 00:00:00 2001 From 0845d92e6aa2ddf0d67519da4af0713f77e9eed0 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 29 Feb 2016 18:48:17 -0600 Date: Mon, 29 Feb 2016 18:48:17 -0600
Subject: [PATCH] Timings v2 Subject: [PATCH] Timings v2
@ -3529,10 +3529,10 @@ index bba914d7..00000000
- // Spigot end - // Spigot end
-} -}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 86eca9e1..116a1e7a 100644 index 115c5b0b..90b22bcc 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1541,6 +1541,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline @@ -1535,6 +1535,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
public void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { public void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet."); throw new UnsupportedOperationException("Not supported yet.");
} }
@ -3602,7 +3602,7 @@ index 8b130abb..80c152ba 100644
} }
} }
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index 80c6a72e..759c4617 100644 index 113b899c..81b42822 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/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; @@ -40,7 +40,6 @@ import org.bukkit.plugin.PluginLoader;
@ -3621,7 +3621,7 @@ index 80c6a72e..759c4617 100644
/** /**
* This class was not meant to be constructed explicitly * This class was not meant to be constructed explicitly
@@ -289,26 +287,20 @@ public final class JavaPluginLoader implements PluginLoader { @@ -291,26 +289,20 @@ public final class JavaPluginLoader implements PluginLoader {
} }
} }

View File

@ -1,4 +1,4 @@
From 2964c90dcc4e0304b7c77475523c9a7eab2ea98b Mon Sep 17 00:00:00 2001 From 6930a5ac9c5a9fba958a9d72769f6be40c406fd0 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net> From: Byteflux <byte@byteflux.net>
Date: Mon, 29 Feb 2016 17:50:31 -0600 Date: Mon, 29 Feb 2016 17:50:31 -0600
Subject: [PATCH] Entity Origin API Subject: [PATCH] Entity Origin API
@ -25,10 +25,10 @@ index 28b169d2..9b0f97f1 100644
+ // Paper end + // Paper end
} }
diff --git a/src/main/java/org/bukkit/entity/FallingBlock.java b/src/main/java/org/bukkit/entity/FallingBlock.java diff --git a/src/main/java/org/bukkit/entity/FallingBlock.java b/src/main/java/org/bukkit/entity/FallingBlock.java
index 0b5c062f..48d6c951 100644 index 9d34e691..b0b1defc 100644
--- a/src/main/java/org/bukkit/entity/FallingBlock.java --- a/src/main/java/org/bukkit/entity/FallingBlock.java
+++ b/src/main/java/org/bukkit/entity/FallingBlock.java +++ b/src/main/java/org/bukkit/entity/FallingBlock.java
@@ -50,4 +50,15 @@ public interface FallingBlock extends Entity { @@ -52,4 +52,15 @@ public interface FallingBlock extends Entity {
* @param hurtEntities whether entities will be damaged by this block. * @param hurtEntities whether entities will be damaged by this block.
*/ */
void setHurtEntities(boolean hurtEntities); void setHurtEntities(boolean hurtEntities);

View File

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

View File

@ -1,14 +1,14 @@
From 983f39e99a72d696cce6d90cd3688cbffbf5bf22 Mon Sep 17 00:00:00 2001 From 627bc079ead8a9849e8b0046a4045aa8ff3a69f8 Mon Sep 17 00:00:00 2001
From: mrapple <tony@oc.tc> From: mrapple <tony@oc.tc>
Date: Sun, 25 Nov 2012 13:47:27 -0600 Date: Sun, 25 Nov 2012 13:47:27 -0600
Subject: [PATCH] Add methods for working with arrows stuck in living entities Subject: [PATCH] Add methods for working with arrows stuck in living entities
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 5a30fa93..be51e389 100644 index 97c2172b..f6ae0a6d 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -360,4 +360,19 @@ public interface LivingEntity extends Attributable, Entity, Damageable, Projecti @@ -376,4 +376,19 @@ public interface LivingEntity extends Attributable, Entity, Damageable, Projecti
* @return collision status * @return collision status
*/ */
boolean isCollidable(); boolean isCollidable();
@ -29,5 +29,5 @@ index 5a30fa93..be51e389 100644
+ // Paper end + // Paper end
} }
-- --
2.13.3.windows.1 2.18.0

View File

@ -1,11 +1,11 @@
From 38ccae5eed9ac184d71461d0b9fce2b7659bb80e Mon Sep 17 00:00:00 2001 From 25ab827755fbe15e9f3c4165140a16be9689ed81 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com> From: Jedediah Smith <jedediah@silencegreys.com>
Date: Sat, 4 Apr 2015 22:59:54 -0400 Date: Sat, 4 Apr 2015 22:59:54 -0400
Subject: [PATCH] Complete resource pack API Subject: [PATCH] Complete resource pack API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 5955b20c..f1876a05 100644 index 1837a14c..5638a077 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1206,7 +1206,9 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline @@ -1206,7 +1206,9 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
@ -77,30 +77,34 @@ index 5955b20c..f1876a05 100644
public class Spigot extends Entity.Spigot public class Spigot extends Entity.Spigot
{ {
diff --git a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java b/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java diff --git a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java b/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java
index 4c498016..4c838519 100644 index 4c498016..aa18a766 100644
--- a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java --- a/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerResourcePackStatusEvent.java
@@ -10,13 +10,28 @@ import org.bukkit.event.HandlerList; @@ -10,13 +10,32 @@ import org.bukkit.event.HandlerList;
public class PlayerResourcePackStatusEvent extends PlayerEvent { public class PlayerResourcePackStatusEvent extends PlayerEvent {
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
+ @Deprecated
+ private final String hash; // Paper + private final String hash; // Paper
private final Status status; private final Status status;
+ @Deprecated // Paper
public PlayerResourcePackStatusEvent(final Player who, Status resourcePackStatus) { public PlayerResourcePackStatusEvent(final Player who, Status resourcePackStatus) {
super(who); super(who);
+ this.hash = null; // Paper + this.hash = null; // Paper
this.status = resourcePackStatus; this.status = resourcePackStatus;
} }
+ // Paper start + @Deprecated // Paper
+ public PlayerResourcePackStatusEvent(final Player who, Status resourcePackStatus, String hash) { + public PlayerResourcePackStatusEvent(final Player who, Status resourcePackStatus, String hash) {
+ super(who); + super(who);
+ this.hash = hash; // Paper + this.hash = hash; // Paper
+ this.status = resourcePackStatus; + this.status = resourcePackStatus;
+ } + }
+ +
+ @Deprecated
+ /**
+ * @deprecated Hash does not seem to ever be set
+ */
+ public String getHash() { + public String getHash() {
+ return this.hash; + return this.hash;
+ } + }

View File

@ -1,4 +1,4 @@
From e3d8a0f30c3e83f2308268ca6221478f46a82008 Mon Sep 17 00:00:00 2001 From 39bd1036ea8a04cd417c8bab59421ef5e7ba6e0c Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@outlook.com> From: Techcable <Techcable@outlook.com>
Date: Thu, 3 Mar 2016 13:20:33 -0700 Date: Thu, 3 Mar 2016 13:20:33 -0700
Subject: [PATCH] Use ASM for event executors. 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. Uses method handles for private or static methods.
diff --git a/pom.xml b/pom.xml diff --git a/pom.xml b/pom.xml
index f5e8d49d..dfc6c9b5 100644 index 5e2024ca..bd9146dd 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -127,6 +127,17 @@ @@ -127,6 +127,17 @@
@ -401,10 +401,10 @@ index 3b2c99ea..b45b6c1c 100644
+ // Paper end + // Paper end
} }
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index d8b9c244..40fd71dc 100644 index 3af99b5b..72d506d1 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -287,20 +287,7 @@ public final class JavaPluginLoader implements PluginLoader { @@ -289,20 +289,7 @@ public final class JavaPluginLoader implements PluginLoader {
} }
} }

View File

@ -1,11 +1,11 @@
From e859235a5d23ac1232b75122a23aa4dc605a3d1c Mon Sep 17 00:00:00 2001 From 08d440055e45edea4106415945fcfe5b7c3d1318 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 20 Dec 2016 15:55:55 -0500 Date: Tue, 20 Dec 2016 15:55:55 -0500
Subject: [PATCH] Add String based Action Bar API Subject: [PATCH] Add String based Action Bar API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index f1876a05..d06f26b9 100644 index 5638a077..bc2f9621 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -394,6 +394,26 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline @@ -394,6 +394,26 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
@ -47,7 +47,7 @@ index f1876a05..d06f26b9 100644
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
spigot().sendMessage(position, components); spigot().sendMessage(position, components);
} }
@@ -1749,9 +1771,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline @@ -1743,9 +1765,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
/** /**
* Sends the component to the specified screen position of this player * Sends the component to the specified screen position of this player
* *
@ -59,7 +59,7 @@ index f1876a05..d06f26b9 100644
public void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent component) { public void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet."); throw new UnsupportedOperationException("Not supported yet.");
} }
@@ -1759,9 +1783,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline @@ -1753,9 +1777,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
/** /**
* Sends an array of components as a single message to the specified screen position of this player * Sends an array of components as a single message to the specified screen position of this player
* *

View File

@ -1,4 +1,4 @@
From 569e6283060854cef2140d7a3ad0b2690911215b Mon Sep 17 00:00:00 2001 From bc65fcc9a464b4c8d7b28758d6fad8d98eefa05d Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 10 Jun 2017 16:59:40 -0500 Date: Sat, 10 Jun 2017 16:59:40 -0500
Subject: [PATCH] Fix upstream javadoc warnings and errors Subject: [PATCH] Fix upstream javadoc warnings and errors
@ -6,10 +6,10 @@ Subject: [PATCH] Fix upstream javadoc warnings and errors
Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues. Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues.
diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java
index 19632d17..de1b1112 100644 index 1ed8f7e4..bd5238ce 100644
--- a/src/main/java/org/bukkit/NamespacedKey.java --- a/src/main/java/org/bukkit/NamespacedKey.java
+++ b/src/main/java/org/bukkit/NamespacedKey.java +++ b/src/main/java/org/bukkit/NamespacedKey.java
@@ -27,8 +27,8 @@ public final class NamespacedKey { @@ -38,8 +38,8 @@ public final class NamespacedKey {
/** /**
* Create a key in a specific namespace. * Create a key in a specific namespace.
* *
@ -21,10 +21,10 @@ index 19632d17..de1b1112 100644
*/ */
@Deprecated @Deprecated
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 65156e80..6417cefa 100644 index 1e980d2d..4cc70326 100644
--- a/src/main/java/org/bukkit/World.java --- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java
@@ -1365,6 +1365,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -1376,6 +1376,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param count the number of particles * @param count the number of particles
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -32,7 +32,7 @@ index 65156e80..6417cefa 100644
*/ */
public <T> void spawnParticle(Particle particle, Location location, int count, T data); public <T> void spawnParticle(Particle particle, Location location, int count, T data);
@@ -1380,6 +1381,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -1391,6 +1392,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param count the number of particles * @param count the number of particles
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -40,7 +40,7 @@ index 65156e80..6417cefa 100644
*/ */
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, T data); public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, T data);
@@ -1429,6 +1431,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -1440,6 +1442,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param offsetZ the maximum random offset on the Z axis * @param offsetZ the maximum random offset on the Z axis
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -48,7 +48,7 @@ index 65156e80..6417cefa 100644
*/ */
public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, T data); public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, T data);
@@ -1448,6 +1451,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -1459,6 +1462,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param offsetZ the maximum random offset on the Z axis * @param offsetZ the maximum random offset on the Z axis
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -56,7 +56,7 @@ index 65156e80..6417cefa 100644
*/ */
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, T data); public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, T data);
@@ -1503,6 +1507,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -1514,6 +1518,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* particle used (normally speed) * particle used (normally speed)
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -64,7 +64,7 @@ index 65156e80..6417cefa 100644
*/ */
public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, T data); public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, T data);
@@ -1524,6 +1529,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -1535,6 +1540,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* particle used (normally speed) * particle used (normally speed)
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -112,7 +112,7 @@ index cfce8fa5..8660070b 100644
*/ */
@Deprecated @Deprecated
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index d06f26b9..5c29c11e 100644 index bc2f9621..47a12d71 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -409,7 +409,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline @@ -409,7 +409,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline

View File

@ -1,47 +0,0 @@
From 3fe26d396837d1f3aad927133722332e4d1f7b51 Mon Sep 17 00:00:00 2001
From: willies952002 <admin@domnian.com>
Date: Thu, 20 Jul 2017 18:05:36 -0400
Subject: [PATCH] Allow Changing of Player Sample in ServerListPingEvent
diff --git a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
index 3c38d857..cb8d0fcd 100644
--- a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
+++ b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
@@ -2,6 +2,7 @@ package org.bukkit.event.server;
import java.net.InetAddress;
import java.util.Iterator;
+import java.util.List;
import org.apache.commons.lang.Validate;
import org.bukkit.entity.Player;
@@ -145,4 +146,25 @@ public class ServerListPingEvent extends ServerEvent implements Iterable<Player>
public Iterator<Player> iterator() throws UnsupportedOperationException {
throw new UnsupportedOperationException();
}
+
+ // Paper start
+ private java.util.List<String> sample;
+
+ /**
+ * @deprecated Will be replaced in 1.13
+ */
+ @Deprecated
+ public void setSampleText(java.util.List<String> sample) {
+ this.sample = sample;
+ }
+
+ /**
+ * @deprecated Will be replaced in 1.13
+ */
+ @Deprecated
+ public java.util.List<String> getSampleText() {
+ return sample;
+ }
+ // Paper end
+
}
--
2.15.1

View File

@ -1,4 +1,4 @@
From 5b40b7e3f882c44f18249d89dbbeb93298af3535 Mon Sep 17 00:00:00 2001 From d64ec328014274efa75dfacaf6b37cb11f642f69 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 10 Dec 2016 16:12:48 -0500 Date: Sat, 10 Dec 2016 16:12:48 -0500
Subject: [PATCH] Improve the Saddle API for Horses Subject: [PATCH] Improve the Saddle API for Horses
@ -78,5 +78,5 @@ index 00000000..7944f26a
+ +
+public interface SaddledHorseInventory extends AbstractHorseInventory {} +public interface SaddledHorseInventory extends AbstractHorseInventory {}
-- --
2.16.1 2.18.0

View File

@ -1,4 +1,4 @@
From 575bbab52d06b324acd9b8758d454d74a859c8d0 Mon Sep 17 00:00:00 2001 From ac29eaf3c0dc567bfbe8e20a323cdfaefd6242b8 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 4 May 2016 23:55:48 -0400 Date: Wed, 4 May 2016 23:55:48 -0400
Subject: [PATCH] ensureServerConversions API Subject: [PATCH] ensureServerConversions API
@ -7,7 +7,7 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr
to ensure it meets latest minecraft expectations. to ensure it meets latest minecraft expectations.
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
index f74f8ae9..ab33e09e 100644 index 762c43d6..045c26d9 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java --- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java +++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
@@ -134,4 +134,16 @@ public interface ItemFactory { @@ -134,4 +134,16 @@ public interface ItemFactory {

View File

@ -1,4 +1,4 @@
From 83009175cba71dcdd63ac621aeb5453073fe2c7f Mon Sep 17 00:00:00 2001 From b2d5adef80eed3964ab16df2c98789763d150fd7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 4 May 2016 23:55:48 -0400 Date: Wed, 4 May 2016 23:55:48 -0400
Subject: [PATCH] Add getI18NDisplayName API Subject: [PATCH] Add getI18NDisplayName API
@ -8,7 +8,7 @@ Currently the server only supports the English language. To override this,
You must replace the language file embedded in the server jar. You must replace the language file embedded in the server jar.
diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java
index ab33e09e..061954f9 100644 index 045c26d9..47bbc0f9 100644
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java --- a/src/main/java/org/bukkit/inventory/ItemFactory.java
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java +++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
@@ -145,5 +145,15 @@ public interface ItemFactory { @@ -145,5 +145,15 @@ public interface ItemFactory {

View File

@ -1,4 +1,4 @@
From 69a0afed643918933b0ad8f6d81780dafa33cf6b Mon Sep 17 00:00:00 2001 From 1dfa87d569f72303f04c3a29130145c91f25f506 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 3 Jul 2017 18:11:34 -0500 Date: Mon, 3 Jul 2017 18:11:34 -0500
Subject: [PATCH] ProfileWhitelistVerifyEvent Subject: [PATCH] ProfileWhitelistVerifyEvent
@ -134,5 +134,5 @@ index 00000000..662e79e3
+ } + }
+} +}
-- --
2.15.1 2.18.0

View File

@ -1,4 +1,4 @@
From 665b880ec9616fbc2aea0aee0d2d2dbf2a3613e8 Mon Sep 17 00:00:00 2001 From 86390176ccf85c98f464e5ff6bb90f27952ae60a Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Mon, 31 Jul 2017 02:08:55 -0500 Date: Mon, 31 Jul 2017 02:08:55 -0500
Subject: [PATCH] Make /plugins list alphabetical Subject: [PATCH] Make /plugins list alphabetical
@ -50,5 +50,5 @@ index e40b03a7..b1d384e8 100644
} }
} }
-- --
2.15.1 2.18.0

View File

@ -1,4 +1,4 @@
From ac9baf5c2739f255205d959cc519be2db01773da Mon Sep 17 00:00:00 2001 From 7963cbbdb5c04bb9f749576c89573aaf1c2279bb Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Mon, 31 Jul 2017 01:49:43 -0500 Date: Mon, 31 Jul 2017 01:49:43 -0500
Subject: [PATCH] LivingEntity#setKiller Subject: [PATCH] LivingEntity#setKiller

View File

@ -1,4 +1,4 @@
From f27a613d49050d6941376ec69d0efa182cab743c Mon Sep 17 00:00:00 2001 From 99c169a9b437e6bd0088d70cb74c81a221808521 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net> From: Minecrell <minecrell@minecrell.net>
Date: Thu, 21 Sep 2017 16:14:13 +0200 Date: Thu, 21 Sep 2017 16:14:13 +0200
Subject: [PATCH] Handle plugin prefixes in implementation logging Subject: [PATCH] Handle plugin prefixes in implementation logging
@ -40,5 +40,5 @@ index 16b1eb37..0abad9ad 100644
/** /**
-- --
2.15.1 2.18.0

View File

@ -1,4 +1,4 @@
From 8ae719b2fa6b1e3a270d8cdc7ecea48d8137f2a4 Mon Sep 17 00:00:00 2001 From 78649d9322cf676aeca08d8f43053600d34a619d Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net> From: Minecrell <minecrell@minecrell.net>
Date: Thu, 21 Sep 2017 16:33:12 +0200 Date: Thu, 21 Sep 2017 16:33:12 +0200
Subject: [PATCH] Allow plugins to use SLF4J for logging Subject: [PATCH] Allow plugins to use SLF4J for logging
@ -14,7 +14,7 @@ it without having to shade it in the plugin and going through
several layers of logging abstraction. several layers of logging abstraction.
diff --git a/pom.xml b/pom.xml diff --git a/pom.xml b/pom.xml
index e1a39bfe..db9a57b0 100644 index 44a8b2a5..c176dd7b 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -121,6 +121,14 @@ @@ -121,6 +121,14 @@

View File

@ -1,4 +1,4 @@
From 4c8bb1fd1597ec5da47cec0832b705ee68572209 Mon Sep 17 00:00:00 2001 From 0f5f1f61e5e6128993289722564719846613ed1b Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net> From: Minecrell <minecrell@minecrell.net>
Date: Thu, 21 Sep 2017 19:41:20 +0200 Date: Thu, 21 Sep 2017 19:41:20 +0200
Subject: [PATCH] Add workaround for plugins modifying the parent of the plugin Subject: [PATCH] Add workaround for plugins modifying the parent of the plugin

View File

@ -1,4 +1,4 @@
From 01c9b5fa055b84a9b62c60cc067cbe2cdd35d18f Mon Sep 17 00:00:00 2001 From cb37a11f62d5ad49044c57e9364911f5914708d9 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 28 Sep 2017 17:21:32 -0400 Date: Thu, 28 Sep 2017 17:21:32 -0400
Subject: [PATCH] Add PlayerJumpEvent Subject: [PATCH] Add PlayerJumpEvent
@ -112,5 +112,5 @@ index 00000000..dd24f9b0
+ } + }
+} +}
-- --
2.15.1 2.18.0

View File

@ -1,4 +1,4 @@
From d40adbcb5398dc21486b6b6c8817d751fe9ced12 Mon Sep 17 00:00:00 2001 From e3792c13f6e712593072cb31dc951110ff1e6632 Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net> From: Minecrell <minecrell@minecrell.net>
Date: Tue, 10 Oct 2017 18:44:42 +0200 Date: Tue, 10 Oct 2017 18:44:42 +0200
Subject: [PATCH] Expose client protocol version and virtual host Subject: [PATCH] Expose client protocol version and virtual host
@ -55,7 +55,7 @@ index 00000000..9072e384
+ +
+} +}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 5c29c11e..60cdd620 100644 index 47a12d71..362467e5 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -31,7 +31,7 @@ import org.bukkit.scoreboard.Scoreboard; @@ -31,7 +31,7 @@ import org.bukkit.scoreboard.Scoreboard;

View File

@ -1,4 +1,4 @@
From 62575a75cec03d048cabfce9933dc35c93532832 Mon Sep 17 00:00:00 2001 From a19dc4df4d2e6230616f78cc0eec847092cded18 Mon Sep 17 00:00:00 2001
From: pkt77 <parkerkt77@gmail.com> From: pkt77 <parkerkt77@gmail.com>
Date: Fri, 10 Nov 2017 23:45:59 -0500 Date: Fri, 10 Nov 2017 23:45:59 -0500
Subject: [PATCH] Add PlayerArmorChangeEvent Subject: [PATCH] Add PlayerArmorChangeEvent

View File

@ -1,4 +1,4 @@
From e0beaa49adfc67cd4d5144e22f2c3e3c20f13b3b Mon Sep 17 00:00:00 2001 From 5b78e31d0aeb0cfcf2d3e108326c660d3cfd7aa1 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 6 Nov 2017 21:10:01 -0500 Date: Mon, 6 Nov 2017 21:10:01 -0500
Subject: [PATCH] API to get a BlockState without a snapshot Subject: [PATCH] API to get a BlockState without a snapshot
@ -9,7 +9,7 @@ on the real tile entity.
This is useful for where performance is needed This is useful for where performance is needed
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
index bda9900e..d5d0e255 100644 index 1aa3373f..9aab043c 100644
--- a/src/main/java/org/bukkit/block/Block.java --- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java
@@ -242,6 +242,15 @@ public interface Block extends Metadatable { @@ -242,6 +242,15 @@ public interface Block extends Metadatable {

View File

@ -1,4 +1,4 @@
From ce5e52c29872bfca3e47d91777b075db4ce21d20 Mon Sep 17 00:00:00 2001 From 2fe82eb2c39bc39aa0264a02db45e8bf643d1d26 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 26 Nov 2017 13:17:09 -0500 Date: Sun, 26 Nov 2017 13:17:09 -0500
Subject: [PATCH] AsyncTabCompleteEvent Subject: [PATCH] AsyncTabCompleteEvent
@ -247,5 +247,5 @@ index 6ac437d5..df6eb53d 100644
@Override @Override
-- --
2.15.1 2.18.0

View File

@ -1,4 +1,4 @@
From 252d7dcf7c5531b482ea92f756a6847d9b26ad84 Mon Sep 17 00:00:00 2001 From 92fba1efc29b3550577a18bcf74cb41327f59019 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 9 Dec 2017 12:40:25 -0500 Date: Sat, 9 Dec 2017 12:40:25 -0500
Subject: [PATCH] Display warning on deprecated recipe API Subject: [PATCH] Display warning on deprecated recipe API
@ -34,5 +34,5 @@ index ca5c09b8..f2dd46f2 100644
} }
-- --
2.15.1 2.18.0

View File

@ -1,4 +1,4 @@
From 1dcc1f273169ef66f371e8d44ae5133bc314b7df Mon Sep 17 00:00:00 2001 From 6acec34388a520536f958b9c92c632892c2cef27 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 22:00:41 -0500 Date: Tue, 19 Dec 2017 22:00:41 -0500
Subject: [PATCH] PlayerPickupExperienceEvent Subject: [PATCH] PlayerPickupExperienceEvent
@ -88,5 +88,5 @@ index 00000000..f9ef95cd
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 796e5d95f60258b2f2c2e8d665f09c5d01fb9823 Mon Sep 17 00:00:00 2001 From 51c1f56626683e98d9c9728d6ebc399e0123a91b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 22:56:24 -0500 Date: Tue, 19 Dec 2017 22:56:24 -0500
Subject: [PATCH] ExperienceOrbMergeEvent Subject: [PATCH] ExperienceOrbMergeEvent
@ -96,5 +96,5 @@ index 00000000..fb5b4b86
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 3fda9a76e026397bae881455bd5ec05d774be252 Mon Sep 17 00:00:00 2001 From 468f4768ac979bb546fe16cc286ed533ac26e04e Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 20 Dec 2017 17:38:07 -0500 Date: Wed, 20 Dec 2017 17:38:07 -0500
Subject: [PATCH] Ability to apply mending to XP API Subject: [PATCH] Ability to apply mending to XP API
@ -10,7 +10,7 @@ of giving the player experience points.
Both an API To standalone mend, and apply mending logic to .giveExp has been added. Both an API To standalone mend, and apply mending logic to .giveExp has been added.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 60cdd620..32ead009 100644 index 362467e5..6709168b 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -916,12 +916,33 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline @@ -916,12 +916,33 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline

View File

@ -1,4 +1,4 @@
From 3c047d4917be9616b971aa725a2682d45f814b6d Mon Sep 17 00:00:00 2001 From 4171ce67cc2901442e728da492533f9fec795711 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 14 Jan 2018 16:59:43 -0500 Date: Sun, 14 Jan 2018 16:59:43 -0500
Subject: [PATCH] PreCreatureSpawnEvent Subject: [PATCH] PreCreatureSpawnEvent
@ -119,5 +119,5 @@ index 00000000..bac1cef3
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 54bc8edf2d329bbfeb5e48fda52d44bf6fe8a47e Mon Sep 17 00:00:00 2001 From ce4a90e4f24108e85f7c66050711c1b5667085bb Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 14 Jan 2018 17:31:37 -0500 Date: Sun, 14 Jan 2018 17:31:37 -0500
Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent
@ -76,5 +76,5 @@ index 00000000..7c6953a7
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 96d8312552c442c8489d6dbb914f0623ad74b66b Mon Sep 17 00:00:00 2001 From fd43f9fb69c2e0792c33ee16e007134728a3df2d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Fri, 19 Jan 2018 00:29:28 -0500 Date: Fri, 19 Jan 2018 00:29:28 -0500
Subject: [PATCH] Add SkullMeta.setPlayerProfile API Subject: [PATCH] Add SkullMeta.setPlayerProfile API
@ -7,22 +7,21 @@ This allows you to create already filled textures on Skulls to avoid texture loo
which commonly cause rate limit issues with Mojang API which commonly cause rate limit issues with Mojang API
diff --git a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java diff --git a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
index c60860e1..3eea5909 100644 index 15c1dfd9..a458000f 100644
--- a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java --- a/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
+++ b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java +++ b/src/main/java/org/bukkit/inventory/meta/SkullMeta.java
@@ -1,8 +1,11 @@ @@ -1,7 +1,10 @@
package org.bukkit.inventory.meta; package org.bukkit.inventory.meta;
+import com.destroystokyo.paper.profile.PlayerProfile; +import com.destroystokyo.paper.profile.PlayerProfile;
import org.bukkit.Material; +import javax.annotation.Nullable;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
+import javax.annotation.Nullable;
+ +
/** /**
* Represents a skull ({@link Material#SKULL_ITEM}) that can have an owner. * Represents a skull that can have an owner.
*/ */
@@ -37,6 +40,20 @@ public interface SkullMeta extends ItemMeta { @@ -36,6 +39,20 @@ public interface SkullMeta extends ItemMeta {
@Deprecated @Deprecated
boolean setOwner(String owner); boolean setOwner(String owner);
@ -44,5 +43,5 @@ index c60860e1..3eea5909 100644
* Gets the owner of the skull. * Gets the owner of the skull.
* *
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 6411e77da00dacbe848850db4660c86130fda955 Mon Sep 17 00:00:00 2001 From f932e1e9c552db09887c010fbb179ddf05d4a416 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 2 Jan 2018 00:31:08 -0500 Date: Tue, 2 Jan 2018 00:31:08 -0500
Subject: [PATCH] Fill Profile Property Events Subject: [PATCH] Fill Profile Property Events
@ -169,5 +169,5 @@ index 00000000..aba0c087
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From afa05f7fef0d3337d684319325143b4d441cea16 Mon Sep 17 00:00:00 2001 From b19e61438f5405ee5e004322bed0fea411f18924 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 19 Jan 2018 08:15:14 -0600 Date: Fri, 19 Jan 2018 08:15:14 -0600
Subject: [PATCH] PlayerAdvancementCriterionGrantEvent Subject: [PATCH] PlayerAdvancementCriterionGrantEvent
@ -69,5 +69,5 @@ index 00000000..b65ee9e5
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From f8f9ee57846ba4838769c0eb20ef870dc14cb793 Mon Sep 17 00:00:00 2001 From 68d7994d386398bd6ad0a51efbb58f1d1357ba0d Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sat, 27 Jan 2018 17:06:24 -0500 Date: Sat, 27 Jan 2018 17:06:24 -0500
Subject: [PATCH] Add ArmorStand Item Meta Subject: [PATCH] Add ArmorStand Item Meta
@ -95,5 +95,5 @@ index 00000000..7e4acfff
+ void setMarker(boolean marker); + void setMarker(boolean marker);
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From cd7a3c2d083750dfd3c520841072a4b7ed8c469b Mon Sep 17 00:00:00 2001 From 3d903c7ed998ce99c37f5b392021b982b9283955 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Thu, 18 Jan 2018 01:00:27 -0500 Date: Thu, 18 Jan 2018 01:00:27 -0500
Subject: [PATCH] Optimize Hoppers Subject: [PATCH] Optimize Hoppers
@ -38,5 +38,5 @@ index 06ec99ae..b44cc45b 100644
} }
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 3ff6fc393591f3a29c98ae084e1c67be2eacdee6 Mon Sep 17 00:00:00 2001 From bc63e16534cb5f723604669f5acb8b70ad600eab Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 24 Feb 2018 00:55:52 -0500 Date: Sat, 24 Feb 2018 00:55:52 -0500
Subject: [PATCH] Tameable#getOwnerUniqueId API Subject: [PATCH] Tameable#getOwnerUniqueId API
@ -33,5 +33,5 @@ index 44497aa3..0987c1e8 100644
*/ */
public AnimalTamer getOwner(); public AnimalTamer getOwner();
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 41c7e4edd8c9d6e23f7a546ccee245eea652f073 Mon Sep 17 00:00:00 2001 From c438100df0d0e3f2210c8a932e596c0dd327ca29 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 18 Mar 2018 11:43:30 -0400 Date: Sun, 18 Mar 2018 11:43:30 -0400
Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent
@ -51,5 +51,5 @@ index 1d571889..0c16128e 100644
this.message = ""; this.message = "";
this.name = name; this.name = name;
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From d2e267fceb2a1990a2a95c57fd50e653212e5260 Mon Sep 17 00:00:00 2001 From cbeaccc81b0cf819614ee7f57c7ec2f63aa3477f Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net> From: Minecrell <minecrell@minecrell.net>
Date: Wed, 11 Oct 2017 15:55:38 +0200 Date: Wed, 11 Oct 2017 15:55:38 +0200
Subject: [PATCH] Add extended PaperServerListPingEvent Subject: [PATCH] Add extended PaperServerListPingEvent
@ -366,5 +366,5 @@ index 04804706..44563482 100644
+ // Paper end + // Paper end
} }
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 8ccc5f587f1e755b7136c87160b2134637905d98 Mon Sep 17 00:00:00 2001 From dff56416f41aa3ed9bfe8eb38174279b2c189ac4 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 18 Mar 2018 12:28:55 -0400 Date: Sun, 18 Mar 2018 12:28:55 -0400
Subject: [PATCH] Player.setPlayerProfile API 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. 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 diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 32ead009..cd82ff64 100644 index 6709168b..99080b27 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/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; @@ -3,6 +3,7 @@ package org.bukkit.entity;

View File

@ -1,77 +0,0 @@
From d35e326f5e55fa14cdf9b1eacba970704ddcc16e Mon Sep 17 00:00:00 2001
From: Minecrell <minecrell@minecrell.net>
Date: Mon, 27 Nov 2017 16:21:19 +0100
Subject: [PATCH] Implement deprecated player sample API
diff --git a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
index dd1deafd..db992df2 100644
--- a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java
@@ -4,6 +4,7 @@ import static java.util.Objects.requireNonNull;
import com.destroystokyo.paper.network.StatusClient;
import com.destroystokyo.paper.profile.PlayerProfile;
+import com.google.common.base.Strings;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
@@ -316,4 +317,25 @@ public class PaperServerListPingEvent extends ServerListPingEvent implements Can
}
}
+ // TODO: Remove in 1.13
+
+ @Override
+ @Deprecated
+ public List<String> getSampleText() {
+ List<String> sampleText = new ArrayList<>();
+ for (PlayerProfile profile : getPlayerSample()) {
+ sampleText.add(Strings.nullToEmpty(profile.getName()));
+ }
+ return sampleText;
+ }
+
+ @Override
+ @Deprecated
+ public void setSampleText(List<String> sample) {
+ getPlayerSample().clear();
+ for (String name : sample) {
+ getPlayerSample().add(Bukkit.createProfile(name));
+ }
+ }
+
}
diff --git a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
index cb8d0fcd..116d7c7a 100644
--- a/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
+++ b/src/main/java/org/bukkit/event/server/ServerListPingEvent.java
@@ -4,6 +4,7 @@ import java.net.InetAddress;
import java.util.Iterator;
import java.util.List;
+import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
import org.apache.commons.lang.Validate;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
@@ -151,7 +152,7 @@ public class ServerListPingEvent extends ServerEvent implements Iterable<Player>
private java.util.List<String> sample;
/**
- * @deprecated Will be replaced in 1.13
+ * @deprecated Will be removed in 1.13, use {@link PaperServerListPingEvent#getPlayerSample()}
*/
@Deprecated
public void setSampleText(java.util.List<String> sample) {
@@ -159,7 +160,7 @@ public class ServerListPingEvent extends ServerEvent implements Iterable<Player>
}
/**
- * @deprecated Will be replaced in 1.13
+ * @deprecated Will be removed in 1.13, use {@link PaperServerListPingEvent#getPlayerSample()}
*/
@Deprecated
public java.util.List<String> getSampleText() {
--
2.17.1

View File

@ -1,4 +1,4 @@
From 154ed7732b789705984e91d137eb41bd27e6857e Mon Sep 17 00:00:00 2001 From 9a6d0e5ca85f0cc9a82b7eaa2dc4435cffc6c3d7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Thu, 22 Mar 2018 01:39:28 -0400 Date: Thu, 22 Mar 2018 01:39:28 -0400
Subject: [PATCH] getPlayerUniqueId API Subject: [PATCH] getPlayerUniqueId API

View File

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

View File

@ -1,4 +1,4 @@
From 184976102b7c58792c87b7092f76f9ed9a4c5d4e Mon Sep 17 00:00:00 2001 From c8afd6a6b8a7485805ed3eab9cd3b5faf59f6b28 Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <mikroskeem@mikroskeem.eu> From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Date: Sun, 1 Apr 2018 02:28:43 +0300 Date: Sun, 1 Apr 2018 02:28:43 +0300
Subject: [PATCH] Add method to open already placed sign Subject: [PATCH] Add method to open already placed sign
@ -23,5 +23,5 @@ index 3939d4af..dd95773e 100644
+ // Paper end + // Paper end
} }
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 2b7db879b8f87e7539717559348c34dfcee58f70 Mon Sep 17 00:00:00 2001 From df28e17f5f2d148f78f8ae0c03a3a7b51da7b081 Mon Sep 17 00:00:00 2001
From: Kyle Wood <demonwav@gmail.com> From: Kyle Wood <demonwav@gmail.com>
Date: Thu, 1 Mar 2018 19:37:52 -0600 Date: Thu, 1 Mar 2018 19:37:52 -0600
Subject: [PATCH] Add version history to version command Subject: [PATCH] Add version history to version command
@ -197,5 +197,5 @@ index 044361af..c45faf4c 100644
PluginDescriptionFile desc = plugin.getDescription(); PluginDescriptionFile desc = plugin.getDescription();
sender.sendMessage(ChatColor.GREEN + desc.getName() + ChatColor.WHITE + " version " + ChatColor.GREEN + desc.getVersion()); sender.sendMessage(ChatColor.GREEN + desc.getName() + ChatColor.WHITE + " version " + ChatColor.GREEN + desc.getVersion());
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 68981606bad552b49cd120b84b751263dd27c5dc Mon Sep 17 00:00:00 2001 From 78be1ecf7b7a0c39cef11e710ab52f7257805913 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 28 Apr 2018 10:28:50 -0400 Date: Sat, 28 Apr 2018 10:28:50 -0400
Subject: [PATCH] Add Ban Methods to Player Objects Subject: [PATCH] Add Ban Methods to Player Objects
@ -69,7 +69,7 @@ index 3ab2e4c7..8daf2ddc 100644
/** /**
* Checks if this player is whitelisted or not * Checks if this player is whitelisted or not
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index cd82ff64..2dd9ecfb 100644 index 99080b27..59c6a097 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1,10 +1,14 @@ @@ -1,10 +1,14 @@

View File

@ -1,4 +1,4 @@
From 83671e59f09544a3abe88beef5ed74eb454489f9 Mon Sep 17 00:00:00 2001 From a76bc604a4fc380fd9fbadf1c30959c6724bc8e0 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 30 Apr 2018 13:14:30 -0400 Date: Mon, 30 Apr 2018 13:14:30 -0400
Subject: [PATCH] EndermanEscapeEvent Subject: [PATCH] EndermanEscapeEvent
@ -96,5 +96,5 @@ index 00000000..0d15a8ab
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 285b525bcd3fb261160e811c4174086878e58d58 Mon Sep 17 00:00:00 2001 From ae31d989fe8cdbe48cb5f36db3e9fd7e1a913a97 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 30 Apr 2018 13:29:15 -0400 Date: Mon, 30 Apr 2018 13:29:15 -0400
Subject: [PATCH] Enderman.teleportRandomly() Subject: [PATCH] Enderman.teleportRandomly()
@ -6,7 +6,7 @@ Subject: [PATCH] Enderman.teleportRandomly()
Ability to trigger the vanilla "teleport randomly" mechanic of an enderman. Ability to trigger the vanilla "teleport randomly" mechanic of an enderman.
diff --git a/src/main/java/org/bukkit/entity/Enderman.java b/src/main/java/org/bukkit/entity/Enderman.java diff --git a/src/main/java/org/bukkit/entity/Enderman.java b/src/main/java/org/bukkit/entity/Enderman.java
index c8b4efde..bc2df752 100644 index ab827f83..459ec0c9 100644
--- a/src/main/java/org/bukkit/entity/Enderman.java --- a/src/main/java/org/bukkit/entity/Enderman.java
+++ b/src/main/java/org/bukkit/entity/Enderman.java +++ b/src/main/java/org/bukkit/entity/Enderman.java
@@ -8,6 +8,17 @@ import org.bukkit.material.MaterialData; @@ -8,6 +8,17 @@ import org.bukkit.material.MaterialData;
@ -25,7 +25,7 @@ index c8b4efde..bc2df752 100644
+ // Paper end + // Paper end
+ +
/** /**
* Get the id and data of the block that the Enderman is carrying. * Gets the id and data of the block that the Enderman is carrying.
* *
-- --
2.18.0 2.18.0

View File

@ -1,4 +1,4 @@
From b2de08cdbc2ad955bf2f000aa9377b6c23d82b8b Mon Sep 17 00:00:00 2001 From 5dbaacdda092901a3fbc3dc89d42fa53f9869cfe Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 30 Apr 2018 17:55:28 -0400 Date: Mon, 30 Apr 2018 17:55:28 -0400
Subject: [PATCH] Additional world.getNearbyEntities API's 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 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 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 6417cefa..9b49ed38 100644 index 4cc70326..97badc63 100644
--- a/src/main/java/org/bukkit/World.java --- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java
@@ -2,11 +2,14 @@ package org.bukkit; @@ -2,11 +2,14 @@ package org.bukkit;
@ -24,7 +24,7 @@ index 6417cefa..9b49ed38 100644
import org.bukkit.block.Biome; import org.bukkit.block.Biome;
import org.bukkit.block.Block; import org.bukkit.block.Block;
@@ -492,6 +495,205 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -503,6 +506,205 @@ public interface World extends PluginMessageRecipient, Metadatable {
*/ */
public Collection<Entity> getEntitiesByClasses(Class<?>... classes); public Collection<Entity> getEntitiesByClasses(Class<?>... classes);

View File

@ -1,4 +1,4 @@
From fab29e96a141caa798cc94404c6625cee93401c8 Mon Sep 17 00:00:00 2001 From 35e2de767d021fbac9df464ada1422955342bfd6 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 30 Apr 2018 19:27:31 -0400 Date: Mon, 30 Apr 2018 19:27:31 -0400
Subject: [PATCH] Location.isChunkLoaded() API Subject: [PATCH] Location.isChunkLoaded() API
@ -17,5 +17,5 @@ index 5c3d42cc..1ddebf3c 100644
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (obj == null) { if (obj == null) {
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 571654be037ad2ec4d0457f75787e01209855415 Mon Sep 17 00:00:00 2001 From c6a4a37ea77dbc070c7c5297f41a2331a519968a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 29 Aug 2017 23:58:48 -0400 Date: Tue, 29 Aug 2017 23:58:48 -0400
Subject: [PATCH] Expand World.spawnParticle API and add Builder Subject: [PATCH] Expand World.spawnParticle API and add Builder
@ -410,10 +410,10 @@ index 4d0acaf5..0ae85d85 100644
* Options which can be applied to redstone dust particles - a particle * Options which can be applied to redstone dust particles - a particle
* color and size. * color and size.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 9b49ed38..cc74cf53 100644 index 97badc63..a22e47ea 100644
--- a/src/main/java/org/bukkit/World.java --- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java
@@ -1733,7 +1733,31 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -1744,7 +1744,31 @@ public interface World extends PluginMessageRecipient, Metadatable {
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
* @param <T> Type * @param <T> Type
*/ */

View File

@ -1,4 +1,4 @@
From e92bcc778ef8292d527034e43d8621ce6759eb4c Mon Sep 17 00:00:00 2001 From 954a377e0960f18820e9ef8a3098d5f0358a284d Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 1 May 2018 20:17:44 -0400 Date: Tue, 1 May 2018 20:17:44 -0400
Subject: [PATCH] EndermanAttackPlayerEvent Subject: [PATCH] EndermanAttackPlayerEvent
@ -106,5 +106,5 @@ index 00000000..55912659
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 13d2ed50d6346f5c8eb7833dd99f7c61e8fd0b29 Mon Sep 17 00:00:00 2001 From 9e505b4488cc6cb5a94d213092c949a2895c7cad Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 1 May 2018 21:33:35 -0400 Date: Tue, 1 May 2018 21:33:35 -0400
Subject: [PATCH] Close Plugin Class Loaders on Disable Subject: [PATCH] Close Plugin Class Loaders on Disable
@ -100,10 +100,10 @@ index bd0588a2..cb2b0b9c 100644
lookupNames.clear(); lookupNames.clear();
HandlerList.unregisterAll(); HandlerList.unregisterAll();
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index 40fd71dc..3e87c3dd 100644 index 72d506d1..3cff01b6 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -317,7 +317,7 @@ public final class JavaPluginLoader implements PluginLoader { @@ -319,7 +319,7 @@ public final class JavaPluginLoader implements PluginLoader {
} catch (Throwable ex) { } catch (Throwable ex) {
server.getLogger().log(Level.SEVERE, "Error occurred while enabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", 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 // Paper start - Disable plugins that fail to load
@ -112,7 +112,7 @@ index 40fd71dc..3e87c3dd 100644
return; return;
// Paper end // Paper end
} }
@@ -328,7 +328,13 @@ public final class JavaPluginLoader implements PluginLoader { @@ -330,7 +330,13 @@ public final class JavaPluginLoader implements PluginLoader {
} }
} }
@ -126,7 +126,7 @@ index 40fd71dc..3e87c3dd 100644
Validate.isTrue(plugin instanceof JavaPlugin, "Plugin is not associated with this PluginLoader"); Validate.isTrue(plugin instanceof JavaPlugin, "Plugin is not associated with this PluginLoader");
if (plugin.isEnabled()) { if (plugin.isEnabled()) {
@@ -355,6 +361,16 @@ public final class JavaPluginLoader implements PluginLoader { @@ -357,6 +363,16 @@ public final class JavaPluginLoader implements PluginLoader {
for (String name : names) { for (String name : names) {
removeClass(name); removeClass(name);
} }
@ -144,5 +144,5 @@ index 40fd71dc..3e87c3dd 100644
} }
} }
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 7afba907835ff028bc6df4bbc8a61c721913e328 Mon Sep 17 00:00:00 2001 From be2efe30ca0ea347d901f873e416d2e9b4973156 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 16 May 2018 20:26:16 -0400 Date: Wed, 16 May 2018 20:26:16 -0400
Subject: [PATCH] WitchConsumePotionEvent Subject: [PATCH] WitchConsumePotionEvent
@ -115,5 +115,5 @@ index 00000000..6ef6367b
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 56bcd520031264156557ee37406ad31801e4615e Mon Sep 17 00:00:00 2001 From 4b9da1b2e0d668e73dba9a673984af7d0be648cd Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 16 May 2018 20:39:09 -0400 Date: Wed, 16 May 2018 20:39:09 -0400
Subject: [PATCH] WitchThrowPotionEvent Subject: [PATCH] WitchThrowPotionEvent
@ -79,5 +79,5 @@ index 6ef6367b..77487e28 100644
@Override @Override
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From b3a03a0fef09bf81b68cda7d9bbeca9fbe0620f8 Mon Sep 17 00:00:00 2001 From fedd7fd91d2e697183c38f16f58ba29791a4ab28 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Thu, 24 May 2018 21:01:13 -0400 Date: Thu, 24 May 2018 21:01:13 -0400
Subject: [PATCH] Location.toBlockLocation/toCenterLocation() Subject: [PATCH] Location.toBlockLocation/toCenterLocation()
@ -40,5 +40,5 @@ index 1ddebf3c..916238c4 100644
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (obj == null) { if (obj == null) {
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 65451a70d7b009c6be27094e4bce37b1fa9e0055 Mon Sep 17 00:00:00 2001 From c6aee3dcccadea3bd3d205b5a57976282695ffd6 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 3 Jun 2018 04:10:13 -0400 Date: Sun, 3 Jun 2018 04:10:13 -0400
Subject: [PATCH] PotionEffect clone methods Subject: [PATCH] PotionEffect clone methods
@ -40,5 +40,5 @@ index e7b86f85..53fb428f 100644
int type = getInt(map, TYPE); int type = getInt(map, TYPE);
PotionEffectType effect = PotionEffectType.getById(type); PotionEffectType effect = PotionEffectType.getById(type);
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 2f1e07e1372f23f43228dfa883f7c68b3693efc0 Mon Sep 17 00:00:00 2001 From 22191113338e641960b5fa666940463514f187cb Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 5 Jun 2018 22:47:08 -0400 Date: Tue, 5 Jun 2018 22:47:08 -0400
Subject: [PATCH] WitchReadyPotionEvent Subject: [PATCH] WitchReadyPotionEvent
@ -83,5 +83,5 @@ index 00000000..5082662a
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From bcf7365a6ac997f6b7e3276a64c010a244d5d642 Mon Sep 17 00:00:00 2001 From a51daa61f1e96d6ddce2e5a205da53be66293ba2 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 5 Jun 2018 22:59:50 -0400 Date: Tue, 5 Jun 2018 22:59:50 -0400
Subject: [PATCH] ItemStack#getMaxItemUseDuration Subject: [PATCH] ItemStack#getMaxItemUseDuration

View File

@ -1,4 +1,4 @@
From 68c89dbfd099490e99b0c394d263cb6f7ca05c7e Mon Sep 17 00:00:00 2001 From 15c16def63477471b46d0e8620061f60a87afb9e Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com> From: Shane Freeder <theboyetronic@gmail.com>
Date: Sat, 9 Jun 2018 13:08:21 +0100 Date: Sat, 9 Jun 2018 13:08:21 +0100
Subject: [PATCH] Add EntityTeleportEndGatewayEvent Subject: [PATCH] Add EntityTeleportEndGatewayEvent
@ -40,5 +40,5 @@ index 00000000..80899ecb
+ +
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 80cc0c18e993c665f6aaf581b65e6c627a4a5805 Mon Sep 17 00:00:00 2001 From 3945a9c95cb03bb2b784ca479a563e7c58dcfeb8 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 16 Jun 2018 13:41:00 -0400 Date: Sat, 16 Jun 2018 13:41:00 -0400
Subject: [PATCH] Add SentientNPC Interface to Entities Subject: [PATCH] Add SentientNPC Interface to Entities
@ -152,17 +152,6 @@ index 0d87d203..d4eee19c 100644
/** /**
* @return The size of the slime * @return The size of the slime
diff --git a/src/main/java/org/bukkit/entity/WaterMob.java b/src/main/java/org/bukkit/entity/WaterMob.java
index 3e89ca0c..8d105e72 100644
--- a/src/main/java/org/bukkit/entity/WaterMob.java
+++ b/src/main/java/org/bukkit/entity/WaterMob.java
@@ -3,4 +3,5 @@ package org.bukkit.entity;
/**
* Represents a Water Mob
*/
-public interface WaterMob extends LivingEntity {}
+public interface WaterMob extends LivingEntity, com.destroystokyo.paper.entity.SentientNPC { // Paper
+}
-- --
2.18.0 2.18.0

View File

@ -1,14 +1,14 @@
From cfe3f366cacec9477b3f69fdf9da3e70c11d1b09 Mon Sep 17 00:00:00 2001 From 118e1b69d8392749b045d2022d9acc9ccef3de5e Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 16 Jun 2018 01:17:39 -0500 Date: Sat, 16 Jun 2018 01:17:39 -0500
Subject: [PATCH] Make shield blocking delay configurable Subject: [PATCH] Make shield blocking delay configurable
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 42cf95e1..5921c952 100644 index 700ed29f..7ea7ccf0 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -385,5 +385,19 @@ public interface LivingEntity extends Attributable, Entity, Damageable, Projecti @@ -401,5 +401,19 @@ public interface LivingEntity extends Attributable, Entity, Damageable, Projecti
* @param arrows Number of arrows to stick in this entity * @param arrows Number of arrows to stick in this entity
*/ */
void setArrowsStuck(int arrows); void setArrowsStuck(int arrows);
@ -29,5 +29,5 @@ index 42cf95e1..5921c952 100644
// Paper end // Paper end
} }
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 700930b99045dbef4f1c65e7edda7d67edb3680c Mon Sep 17 00:00:00 2001 From c80d0e0381e3d1b215422e47bb2d3006a14eaf92 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sat, 15 Jun 2013 19:52:04 -0400 Date: Sat, 15 Jun 2013 19:52:04 -0400
Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
@ -39,5 +39,5 @@ index f8c91a13..c9eb75aa 100644
this.projectile = projectile; this.projectile = projectile;
this.force = force; this.force = force;
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 8dae21e28f695e73fa04d18e1bdc00d2436cbf22 Mon Sep 17 00:00:00 2001 From a709f75d9481442be8e2c93a1aea4d952ae0ea0b Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com> From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Mon, 18 Jun 2018 00:41:46 -0500 Date: Mon, 18 Jun 2018 00:41:46 -0500
Subject: [PATCH] Add "getNearbyXXX" methods to Location Subject: [PATCH] Add "getNearbyXXX" methods to Location
@ -220,5 +220,5 @@ index 916238c4..c1689168 100644
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 464e3985e5e2c29198f15414c94c9abb75d8aed3 Mon Sep 17 00:00:00 2001 From 92facfd2330948fd4cce26393a114a210833044c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 18 Jun 2018 01:09:27 -0400 Date: Mon, 18 Jun 2018 01:09:27 -0400
Subject: [PATCH] PlayerReadyArrowEvent Subject: [PATCH] PlayerReadyArrowEvent
@ -101,5 +101,5 @@ index 00000000..c6add1b1
+ } + }
+} +}
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From ec1d10299d09e368cbafa5917ea3f34d11ad6ef5 Mon Sep 17 00:00:00 2001 From 09c65738e9deb67f2f09af03f8fdf7e55030239a Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de> From: Brokkonaut <hannos17@gmx.de>
Date: Mon, 18 Jun 2018 15:40:39 +0200 Date: Mon, 18 Jun 2018 15:40:39 +0200
Subject: [PATCH] Add EntityKnockbackByEntityEvent Subject: [PATCH] Add EntityKnockbackByEntityEvent
@ -78,5 +78,5 @@ index 00000000..99f7ef70
+ } + }
+} +}
-- --
2.16.1.windows.1 2.18.0

View File

@ -1,4 +1,4 @@
From 8e19f89eca90b5ea616a877f3a0d9c2379a42bda Mon Sep 17 00:00:00 2001 From fecce987f570eaaf23ffd3482a77dd263e98060f Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 19 Dec 2017 16:24:42 -0500 Date: Tue, 19 Dec 2017 16:24:42 -0500
Subject: [PATCH] Expand Explosions API Subject: [PATCH] Expand Explosions API
@ -95,10 +95,10 @@ index c1689168..d0d86e1a 100644
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index cc74cf53..2c1056d1 100644 index a22e47ea..04c174f7 100644
--- a/src/main/java/org/bukkit/World.java --- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java
@@ -914,6 +914,99 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -925,6 +925,99 @@ public interface World extends PluginMessageRecipient, Metadatable {
*/ */
public boolean createExplosion(Location loc, float power, boolean setFire); public boolean createExplosion(Location loc, float power, boolean setFire);

View File

@ -1,4 +1,4 @@
From 4de5eaeaa68379e316e7c851d6e6e66f2ccdd996 Mon Sep 17 00:00:00 2001 From 88883a05c172e4fcf52f583bee5640675156df5b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Fri, 22 Jun 2018 22:59:18 -0400 Date: Fri, 22 Jun 2018 22:59:18 -0400
Subject: [PATCH] ItemStack API additions for quantity/flags/lore Subject: [PATCH] ItemStack API additions for quantity/flags/lore

View File

@ -1,4 +1,4 @@
From d76f522b7f164a56a7f9651170e439739ef6e015 Mon Sep 17 00:00:00 2001 From b438ad8c47194fc97e310672e407a79feeee73dd Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Fri, 29 Jun 2018 00:19:19 -0400 Date: Fri, 29 Jun 2018 00:19:19 -0400
Subject: [PATCH] LivingEntity Hand Raised/Item Use API Subject: [PATCH] LivingEntity Hand Raised/Item Use API
@ -6,7 +6,7 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API
How long an entity has raised hands to charge an attack or use an item How long an entity has raised hands to charge an attack or use an item
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 5921c952..5ccb8ef3 100644 index 7ea7ccf0..fea831e6 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -10,6 +10,7 @@ import org.bukkit.Material; @@ -10,6 +10,7 @@ import org.bukkit.Material;
@ -17,7 +17,7 @@ index 5921c952..5ccb8ef3 100644
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.bukkit.projectiles.ProjectileSource; import org.bukkit.projectiles.ProjectileSource;
@@ -399,5 +400,27 @@ public interface LivingEntity extends Attributable, Entity, Damageable, Projecti @@ -415,5 +416,27 @@ public interface LivingEntity extends Attributable, Entity, Damageable, Projecti
* @param delay Delay in ticks * @param delay Delay in ticks
*/ */
void setShieldBlockingDelay(int delay); void setShieldBlockingDelay(int delay);

View File

@ -1,4 +1,4 @@
From d2a1657e1c25dc241d143ee6486513c024a5695b Mon Sep 17 00:00:00 2001 From c803b354f0aafbc01e813d8c2c1dae0c933251ba Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 26 Jun 2018 21:34:40 -0400 Date: Tue, 26 Jun 2018 21:34:40 -0400
Subject: [PATCH] RangedEntity API Subject: [PATCH] RangedEntity API

View File

@ -1,4 +1,4 @@
From 664f399ae92f6c74e4dd132d24c7abe3181c9fc6 Mon Sep 17 00:00:00 2001 From 24a9e71e950ac0ff3a753f35aed71fa638f71290 Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de> From: Brokkonaut <hannos17@gmx.de>
Date: Sat, 30 Jun 2018 05:45:04 +0200 Date: Sat, 30 Jun 2018 05:45:04 +0200
Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the
@ -53,5 +53,5 @@ index 35f4148b..db105e76 100644
* Gets the entity that was hit, if it was an entity that was hit. * Gets the entity that was hit, if it was an entity that was hit.
* *
-- --
2.16.1.windows.1 2.18.0

View File

@ -1,14 +1,14 @@
From 0db5338a2f3a427e6341c3e7bef58f9ec644a1e7 Mon Sep 17 00:00:00 2001 From e4c6eec43f3bdf6061fd52063aeb259f0de63da2 Mon Sep 17 00:00:00 2001
From: Brokkonaut <hannos17@gmx.de> From: Brokkonaut <hannos17@gmx.de>
Date: Tue, 3 Jul 2018 16:07:16 +0200 Date: Tue, 3 Jul 2018 16:07:16 +0200
Subject: [PATCH] Add World.getEntity(UUID) API 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 diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 2c1056d1..c98349cc 100644 index 04c174f7..121033e9 100644
--- a/src/main/java/org/bukkit/World.java --- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java
@@ -714,6 +714,16 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -725,6 +725,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
*/ */
public Collection<Entity> getNearbyEntities(Location location, double x, double y, double z); public Collection<Entity> getNearbyEntities(Location location, double x, double y, double z);

View File

@ -1,4 +1,4 @@
From eeec38e29cc2041734e18b87f80400f63fa7734c Mon Sep 17 00:00:00 2001 From 97af6ce4d4a8a8b3fdf945fb6c9b7e474def6c4c Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 3 Jul 2018 21:52:52 -0400 Date: Tue, 3 Jul 2018 21:52:52 -0400
Subject: [PATCH] InventoryCloseEvent Reason API Subject: [PATCH] InventoryCloseEvent Reason API

View File

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

View File

@ -1,4 +1,4 @@
From 02a5c50ac1f88560d7555bc299b4d785f9aa63a4 Mon Sep 17 00:00:00 2001 From b906caf7828cd434767fed31635d853b077d7d09 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 15:29:21 -0400 Date: Wed, 4 Jul 2018 15:29:21 -0400
Subject: [PATCH] Vex#getOwner API Subject: [PATCH] Vex#getOwner API

View File

@ -1,11 +1,11 @@
From 5258658fb54ee446f0043988e56a589b2e9ffdae Mon Sep 17 00:00:00 2001 From 05b70bbd7bf543c94832d486d58987b490016c8d Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Mon, 29 Feb 2016 20:40:33 -0600 Date: Mon, 29 Feb 2016 20:40:33 -0600
Subject: [PATCH] POM Changes Subject: [PATCH] POM Changes
diff --git a/pom.xml b/pom.xml diff --git a/pom.xml b/pom.xml
index 1278c628e..4abf8dde7 100644 index 958eb763a..17bc80776 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -1,12 +1,12 @@ @@ -1,12 +1,12 @@
@ -17,7 +17,7 @@ index 1278c628e..4abf8dde7 100644
+ <groupId>com.destroystokyo.paper</groupId> + <groupId>com.destroystokyo.paper</groupId>
+ <artifactId>paper</artifactId> + <artifactId>paper</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.12.2-R0.1-SNAPSHOT</version> <version>1.13-pre7-R0.1-SNAPSHOT</version>
- <name>Spigot</name> - <name>Spigot</name>
- <url>http://www.spigotmc.org</url> - <url>http://www.spigotmc.org</url>
+ <name>Paper</name> + <name>Paper</name>
@ -25,7 +25,7 @@ index 1278c628e..4abf8dde7 100644
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -21,8 +21,8 @@ @@ -21,16 +21,16 @@
</properties> </properties>
<parent> <parent>
@ -36,9 +36,8 @@ index 1278c628e..4abf8dde7 100644
<version>dev-SNAPSHOT</version> <version>dev-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath> <relativePath>../pom.xml</relativePath>
</parent> </parent>
@@ -36,8 +36,8 @@
<scope>compile</scope> <dependencies>
</dependency>
<dependency> <dependency>
- <groupId>org.spigotmc</groupId> - <groupId>org.spigotmc</groupId>
- <artifactId>spigot-api</artifactId> - <artifactId>spigot-api</artifactId>
@ -47,7 +46,7 @@ index 1278c628e..4abf8dde7 100644
<version>${project.version}</version> <version>${project.version}</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
@@ -108,34 +108,22 @@ @@ -101,34 +101,22 @@
<!-- This builds a completely 'ready to start' jar with all dependencies inside --> <!-- This builds a completely 'ready to start' jar with all dependencies inside -->
<build> <build>
@ -93,9 +92,9 @@ index 1278c628e..4abf8dde7 100644
</goals> </goals>
</execution> </execution>
</executions> </executions>
@@ -145,11 +133,12 @@ @@ -138,11 +126,12 @@
<artifactId>maven-jar-plugin</artifactId> <artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version> <version>2.4</version>
<configuration> <configuration>
+ <forceCreation>true</forceCreation> <!-- Required to prevent shading the jar multiple times --> + <forceCreation>true</forceCreation> <!-- Required to prevent shading the jar multiple times -->
<archive> <archive>
@ -107,7 +106,7 @@ index 1278c628e..4abf8dde7 100644
<Implementation-Vendor>${maven.build.timestamp}</Implementation-Vendor> <Implementation-Vendor>${maven.build.timestamp}</Implementation-Vendor>
<Specification-Title>Bukkit</Specification-Title> <Specification-Title>Bukkit</Specification-Title>
<Specification-Version>${api.version}</Specification-Version> <Specification-Version>${api.version}</Specification-Version>
@@ -189,19 +178,22 @@ @@ -182,19 +171,22 @@
<goal>shade</goal> <goal>shade</goal>
</goals> </goals>
<configuration> <configuration>
@ -138,7 +137,7 @@ index 1278c628e..4abf8dde7 100644
<relocation> <relocation>
<pattern>org.bukkit.craftbukkit</pattern> <pattern>org.bukkit.craftbukkit</pattern>
<shadedPattern>org.bukkit.craftbukkit.v${minecraft_version}</shadedPattern> <shadedPattern>org.bukkit.craftbukkit.v${minecraft_version}</shadedPattern>
@@ -227,18 +219,6 @@ @@ -220,18 +212,6 @@
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version> <version>3.7.0</version>
@ -157,7 +156,7 @@ index 1278c628e..4abf8dde7 100644
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@@ -258,6 +238,11 @@ @@ -250,6 +230,11 @@
<profiles> <profiles>
<profile> <profile>
<id>development</id> <id>development</id>
@ -183,5 +182,5 @@ index 93046379d..674096cab 100644
if (stream != null) { if (stream != null) {
-- --
2.15.0 2.18.0

View File

@ -1,4 +1,4 @@
From ea90973fc4de71ac189efc820005ea00590223b5 Mon Sep 17 00:00:00 2001 From 95d232b2294d238a0e77279b32e6870003ab28ba Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Mon, 29 Feb 2016 21:02:09 -0600 Date: Mon, 29 Feb 2016 21:02:09 -0600
Subject: [PATCH] Paper config files Subject: [PATCH] Paper config files
@ -6,12 +6,15 @@ Subject: [PATCH] Paper config files
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
new file mode 100644 new file mode 100644
index 00000000..ecd1c65a index 000000000..e8f7b7292
--- /dev/null --- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
@@ -0,0 +1,193 @@ @@ -0,0 +1,237 @@
+package com.destroystokyo.paper; +package com.destroystokyo.paper;
+ +
+import com.google.common.base.Functions;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps; +import com.google.common.collect.Maps;
+import net.minecraft.server.*; +import net.minecraft.server.*;
+import org.apache.commons.lang3.tuple.MutablePair; +import org.apache.commons.lang3.tuple.MutablePair;
@ -44,20 +47,61 @@ index 00000000..ecd1c65a
+ @Override + @Override
+ public List<String> tabComplete(CommandSender sender, String alias, String[] args, Location location) throws IllegalArgumentException { + public List<String> tabComplete(CommandSender sender, String alias, String[] args, Location location) throws IllegalArgumentException {
+ if (args.length <= 1) + if (args.length <= 1)
+ return CommandAbstract.getListMatchingLast(args, "heap", "entity", "reload", "version"); + return getListMatchingLast(args, "heap", "entity", "reload", "version");
+ +
+ switch (args[0].toLowerCase(Locale.ENGLISH)) + switch (args[0].toLowerCase(Locale.ENGLISH))
+ { + {
+ case "entity": + case "entity":
+ if (args.length == 2) + if (args.length == 2)
+ return CommandAbstract.getListMatchingLast(args, "help", "list"); + return getListMatchingLast(args, "help", "list");
+ if (args.length == 3) + if (args.length == 3)
+ return CommandAbstract.getListMatchingLast(args, EntityTypes.getEntityNameList().stream().map(MinecraftKey::toString).sorted().toArray(String[]::new)); + return getListMatchingLast(args, EntityTypes.getEntityNameList().stream().map(MinecraftKey::toString).sorted().toArray(String[]::new));
+ break; + break;
+ } + }
+ return Collections.emptyList(); + return Collections.emptyList();
+ } + }
+ +
+ // Code from Mojang - copyright them
+ public static List<String> getListMatchingLast(String[] args, String... matches) {
+ return getListMatchingLast(args, (Collection) Arrays.asList(matches));
+ }
+
+ public static boolean matches(String s, String s1) {
+ return s1.regionMatches(true, 0, s, 0, s.length());
+ }
+
+ public static List<String> getListMatchingLast(String[] strings, Collection<?> collection) {
+ String last = strings[strings.length - 1];
+ ArrayList<String> results = Lists.newArrayList();
+
+ if (!collection.isEmpty()) {
+ Iterator iterator = Iterables.transform(collection, Functions.toStringFunction()).iterator();
+
+ while (iterator.hasNext()) {
+ String s1 = (String) iterator.next();
+
+ if (matches(last, s1)) {
+ results.add(s1);
+ }
+ }
+
+ if (results.isEmpty()) {
+ iterator = collection.iterator();
+
+ while (iterator.hasNext()) {
+ Object object = iterator.next();
+
+ if (object instanceof MinecraftKey && matches(last, ((MinecraftKey) object).getKey())) {
+ results.add(String.valueOf(object));
+ }
+ }
+ }
+ }
+
+ return results;
+ }
+ // end copy stuff
+
+ @Override + @Override
+ public boolean execute(CommandSender sender, String commandLabel, String[] args) { + public boolean execute(CommandSender sender, String commandLabel, String[] args) {
+ if (!testPermission(sender)) return true; + if (!testPermission(sender)) return true;
@ -139,7 +183,7 @@ index 00000000..ecd1c65a
+ +
+ List<Entity> entities = world.entityList; + List<Entity> entities = world.entityList;
+ entities.forEach(e -> { + entities.forEach(e -> {
+ MinecraftKey key = EntityTypes.getKey(e); + MinecraftKey key = new MinecraftKey(""); // TODO: update in next patch
+ +
+ MutablePair<Integer, Map<ChunkCoordIntPair, Integer>> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); + MutablePair<Integer, Map<ChunkCoordIntPair, Integer>> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap()));
+ ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ()); + ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ());
@ -205,7 +249,7 @@ index 00000000..ecd1c65a
+} +}
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
new file mode 100644 new file mode 100644
index 00000000..3d8ee9ed index 000000000..3d8ee9ed3
--- /dev/null --- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -0,0 +1,173 @@ @@ -0,0 +1,173 @@
@ -384,7 +428,7 @@ index 00000000..3d8ee9ed
+} +}
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
new file mode 100644 new file mode 100644
index 00000000..621bf705 index 000000000..621bf7051
--- /dev/null --- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -0,0 +1,66 @@ @@ -0,0 +1,66 @@
@ -454,23 +498,11 @@ index 00000000..621bf705
+ return config.getString("world-settings." + worldName + "." + path, config.getString("world-settings.default." + path)); + return config.getString("world-settings." + worldName + "." + path, config.getString("world-settings.default." + path));
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/server/CommandAbstract.java b/src/main/java/net/minecraft/server/CommandAbstract.java
index 76501e29..76bf04f5 100644
--- a/src/main/java/net/minecraft/server/CommandAbstract.java
+++ b/src/main/java/net/minecraft/server/CommandAbstract.java
@@ -634,6 +634,7 @@ public abstract class CommandAbstract implements ICommand {
return s1.regionMatches(true, 0, s, 0, s.length());
}
+ public static List<String> getListMatchingLast(String[] args, String... matches) { return a(args, matches); } // Paper - OBFHELPER
public static List<String> a(String[] astring, String... astring1) {
return a(astring, (Collection) Arrays.asList(astring1));
}
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 8c5361d6..e1cb96a8 100644 index 8563712d9..9155aa727 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java --- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -184,6 +184,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -192,6 +192,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
org.spigotmc.SpigotConfig.init((File) options.valueOf("spigot-settings")); org.spigotmc.SpigotConfig.init((File) options.valueOf("spigot-settings"));
org.spigotmc.SpigotConfig.registerCommands(); org.spigotmc.SpigotConfig.registerCommands();
// Spigot end // Spigot end
@ -482,47 +514,51 @@ index 8c5361d6..e1cb96a8 100644
DedicatedServer.LOGGER.info("Generating keypair"); DedicatedServer.LOGGER.info("Generating keypair");
this.a(MinecraftEncryption.b()); this.a(MinecraftEncryption.b());
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index b944be5c..40f06c5b 100644 index 015959b9f..f3f8b65be 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -122,9 +122,9 @@ public abstract class Entity implements ICommandListener { @@ -134,9 +134,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
private static final DataWatcherObject<Boolean> aD = DataWatcher.a(Entity.class, DataWatcherRegistry.h); private static final DataWatcherObject<Boolean> aG = DataWatcher.a(Entity.class, DataWatcherRegistry.i);
private static final DataWatcherObject<Boolean> aE = DataWatcher.a(Entity.class, DataWatcherRegistry.h); private static final DataWatcherObject<Boolean> aH = DataWatcher.a(Entity.class, DataWatcherRegistry.i);
public boolean aa; public boolean inChunk;
- public int ab; - public int ae;
- public int ac; - public int af;
- public int ad; - public int ag;
+ public int ab; public int getChunkX() { return ab; } // Paper - OBFHELPER + public int ae; public int getChunkX() { return ae; } // Paper - OBFHELPER
+ public int ac; public int getChunkY() { return ac; } // Paper - OBFHELPER + public int af; public int getChunkY() { return af; } // Paper - OBFHELPER
+ public int ad; public int getChunkZ() { return ad; } // Paper - OBFHELPER + public int ag; public int getChunkZ() { return ag; } // Paper - OBFHELPER
public boolean ah; public boolean ak;
public boolean impulse; public boolean impulse;
public int portalCooldown; public int portalCooldown;
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index eb6a955e..77b81a57 100644 index a0c701f35..557a3f97f 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java --- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -21,6 +21,7 @@ public class EntityTypes { @@ -2,6 +2,8 @@ package net.minecraft.server;
public static final Set<MinecraftKey> d = Sets.newHashSet();
private static final List<String> g = Lists.newArrayList();
+ @Nullable public static MinecraftKey getKey(Entity entity) { return a(entity); } // Paper - OBFHELPER import com.mojang.datafixers.DataFixUtils;
@Nullable import com.mojang.datafixers.types.Type;
public static MinecraftKey a(Entity entity) { +
return getName(entity.getClass()); +import java.util.Set;
@@ -78,6 +79,7 @@ public class EntityTypes { import java.util.UUID;
return entity; import java.util.function.Function;
} import javax.annotation.Nullable;
@@ -323,4 +325,10 @@ public class EntityTypes<T extends Entity> {
+ public static Set<MinecraftKey> getEntityNameList() { return a(); } // Paper - OBFHELPER return new EntityTypes(this.a, this.b, this.c, this.d, type);
public static Set<MinecraftKey> a() { }
return EntityTypes.d;
} }
+
+ // Paper start
+ public static Set<MinecraftKey> getEntityNameList() {
+ return REGISTRY.keySet();
+ }
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 740633d9..843320ff 100644 index c7f5cba2d..330ea4e72 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -129,6 +129,8 @@ public abstract class World implements IBlockAccess { @@ -127,6 +127,8 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
private int tickPosition; private int tickPosition;
public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot
@ -531,7 +567,7 @@ index 740633d9..843320ff 100644
public final SpigotTimings.WorldTimingsHandler timings; // Spigot public final SpigotTimings.WorldTimingsHandler timings; // Spigot
private boolean guardEntityList; // Spigot private boolean guardEntityList; // Spigot
public static boolean haveWeSilencedAPhysicsCrash; public static boolean haveWeSilencedAPhysicsCrash;
@@ -151,6 +153,7 @@ public abstract class World implements IBlockAccess { @@ -149,6 +151,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
protected World(IDataManager idatamanager, WorldData worlddata, WorldProvider worldprovider, MethodProfiler methodprofiler, boolean flag, ChunkGenerator gen, org.bukkit.World.Environment env) { protected World(IDataManager idatamanager, WorldData worlddata, WorldProvider worldprovider, MethodProfiler methodprofiler, boolean flag, ChunkGenerator gen, org.bukkit.World.Environment env) {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot
@ -540,10 +576,10 @@ index 740633d9..843320ff 100644
this.world = new CraftWorld((WorldServer) this, gen, env); this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 0d320baa..b2bbccb5 100644 index 8b118e81e..dad2dc959 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -699,6 +699,7 @@ public final class CraftServer implements Server { @@ -742,6 +742,7 @@ public final class CraftServer implements Server {
} }
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
@ -551,7 +587,7 @@ index 0d320baa..b2bbccb5 100644
for (WorldServer world : console.worlds) { for (WorldServer world : console.worlds) {
world.worldData.setDifficulty(difficulty); world.worldData.setDifficulty(difficulty);
world.setSpawnFlags(monsters, animals); world.setSpawnFlags(monsters, animals);
@@ -714,6 +715,7 @@ public final class CraftServer implements Server { @@ -757,6 +758,7 @@ public final class CraftServer implements Server {
world.ticksPerMonsterSpawns = this.getTicksPerMonsterSpawns(); world.ticksPerMonsterSpawns = this.getTicksPerMonsterSpawns();
} }
world.spigotConfig.init(); // Spigot world.spigotConfig.init(); // Spigot
@ -559,15 +595,15 @@ index 0d320baa..b2bbccb5 100644
} }
pluginManager.clearPlugins(); pluginManager.clearPlugins();
@@ -721,6 +723,7 @@ public final class CraftServer implements Server { @@ -764,6 +766,7 @@ public final class CraftServer implements Server {
resetRecipes(); resetRecipes();
reloadData(); reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot org.spigotmc.SpigotConfig.registerCommands(); // Spigot
+ com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper + com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*"); overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*");
ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions");
int pollCount = 0; @@ -1879,4 +1882,26 @@ public final class CraftServer implements Server {
@@ -1783,4 +1786,26 @@ public final class CraftServer implements Server {
{ {
return spigot; return spigot;
} }
@ -595,7 +631,7 @@ index 0d320baa..b2bbccb5 100644
+ // Paper end + // Paper end
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index a151451d..0c5862a3 100644 index c234b8749..5e49bca8a 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -126,6 +126,14 @@ public class Main { @@ -126,6 +126,14 @@ public class Main {
@ -614,7 +650,7 @@ index a151451d..0c5862a3 100644
}; };
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 01e73eb8..0b66f5e3 100644 index 9128f7754..7b1a9a8a0 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -39,31 +39,31 @@ public class SpigotWorldConfig @@ -39,31 +39,31 @@ public class SpigotWorldConfig
@ -655,5 +691,5 @@ index 01e73eb8..0b66f5e3 100644
config.addDefault( "world-settings.default." + path, def ); config.addDefault( "world-settings.default." + path, def );
return config.getString( "world-settings." + worldName + "." + path, config.getString( "world-settings.default." + path ) ); return config.getString( "world-settings." + worldName + "." + path, config.getString( "world-settings.default." + path ) );
-- --
2.15.1.windows.2 2.18.0

View File

@ -1,256 +1,19 @@
From f4214b8d94c5a9690fa2e41f7b547545dec26549 Mon Sep 17 00:00:00 2001 From 79ef4326d4c33e7ce3ee139aa0ed5c101762af81 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 30 Mar 2016 19:36:20 -0400 Date: Wed, 30 Mar 2016 19:36:20 -0400
Subject: [PATCH] MC Dev fixes 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 diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
index d4f412742..d55e180d7 100644 index e8f7b7292..a0ebc1eaa 100644
--- a/src/main/java/net/minecraft/server/BaseBlockPosition.java --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
+++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
@@ -89,7 +89,7 @@ public class BaseBlockPosition implements Comparable<BaseBlockPosition> { @@ -234,4 +234,5 @@ public class PaperCommand extends Command {
return MoreObjects.toStringHelper(this).add("x", this.getX()).add("y", this.getY()).add("z", this.getZ()).toString();
}
- public int compareTo(Object object) { Command.broadcastCommandMessage(sender, ChatColor.GREEN + "Paper config reload complete.");
+ public int compareTo(BaseBlockPosition object) { // Paper - decompile fix
return this.l((BaseBlockPosition) object);
} }
+
} }
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
index 62a9c92f8..1b7599769 100644
--- a/src/main/java/net/minecraft/server/BiomeBase.java
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
@@ -46,7 +46,7 @@ public abstract class BiomeBase {
protected List<BiomeBase.BiomeMeta> w;
public static int a(BiomeBase biomebase) {
- return BiomeBase.REGISTRY_ID.a((Object) biomebase);
+ return BiomeBase.REGISTRY_ID.a(biomebase); // Paper - decompile fix
}
@Nullable
diff --git a/src/main/java/net/minecraft/server/CommandAbstract.java b/src/main/java/net/minecraft/server/CommandAbstract.java
index 76bf04f56..a99d0f870 100644
--- a/src/main/java/net/minecraft/server/CommandAbstract.java
+++ b/src/main/java/net/minecraft/server/CommandAbstract.java
@@ -231,7 +231,7 @@ public abstract class CommandAbstract implements ICommand {
}
if (object != null && oclass.isAssignableFrom(object.getClass())) {
- return (Entity) object;
+ return (T) object; // Paper - fix decompile error
} else {
throw new ExceptionEntityNotFound(s);
}
@@ -448,7 +448,7 @@ public abstract class CommandAbstract implements ICommand {
}
private static <T extends Comparable<T>> IBlockData a(IBlockData iblockdata, IBlockState<T> iblockstate, Comparable<?> comparable) {
- return iblockdata.set(iblockstate, comparable);
+ return iblockdata.set(iblockstate, (T) comparable); // Paper - fix decompiler error
}
public static Predicate<IBlockData> b(final Block block, String s) throws ExceptionInvalidBlockState {
@@ -541,7 +541,7 @@ public abstract class CommandAbstract implements ICommand {
@Nullable
private static <T extends Comparable<T>> T a(IBlockState<T> iblockstate, String s) {
- return (Comparable) iblockstate.b(s).orNull();
+ return iblockstate.b(s).orNull(); // Paper - fix decompiler error
}
public static String a(Object[] aobject) {
@@ -693,7 +693,7 @@ public abstract class CommandAbstract implements ICommand {
return this.getCommand().compareTo(icommand.getCommand());
}
- public int compareTo(Object object) {
+ public int compareTo(ICommand object) { // Paper - fix decompile error
return this.a((ICommand) object);
}
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index 77b81a575..ba461ad48 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -34,7 +34,7 @@ public class EntityTypes {
@Nullable
public static String b(Entity entity) {
- int i = EntityTypes.b.a((Object) entity.getClass());
+ int i = EntityTypes.b.a(entity.getClass()); // Paper - Decompile fix
return i == -1 ? null : (String) EntityTypes.g.get(i);
}
@@ -254,7 +254,7 @@ public class EntityTypes {
EntityTypes.d.add(minecraftkey);
while (EntityTypes.g.size() <= i) {
- EntityTypes.g.add((Object) null);
+ EntityTypes.g.add(null); // Paper - Decompile fix
}
EntityTypes.g.set(i, s1);
diff --git a/src/main/java/net/minecraft/server/LotoSelectorEntry.java b/src/main/java/net/minecraft/server/LotoSelectorEntry.java
index a540167d6..b2860555d 100644
--- a/src/main/java/net/minecraft/server/LotoSelectorEntry.java
+++ b/src/main/java/net/minecraft/server/LotoSelectorEntry.java
@@ -85,11 +85,11 @@ public abstract class LotoSelectorEntry {
return jsonobject;
}
- public JsonElement serialize(Object object, Type type, JsonSerializationContext jsonserializationcontext) {
+ public JsonElement serialize(LotoSelectorEntry object, Type type, JsonSerializationContext jsonserializationcontext) {
return this.a((LotoSelectorEntry) object, type, jsonserializationcontext);
}
- public Object deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
+ public LotoSelectorEntry deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
return this.a(jsonelement, type, jsondeserializationcontext);
}
}
diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java
index 58f47d0de..8860a0129 100644
--- a/src/main/java/net/minecraft/server/RegistryBlockID.java
+++ b/src/main/java/net/minecraft/server/RegistryBlockID.java
@@ -8,7 +8,7 @@ import java.util.Iterator;
import java.util.List;
import javax.annotation.Nullable;
-public class RegistryBlockID<T> implements Registry<T> {
+public class RegistryBlockID<T> implements Registry { // Paper - Fix decompile error
private final IdentityHashMap<T, Integer> a;
private final List<T> b;
@@ -26,7 +26,7 @@ public class RegistryBlockID<T> implements Registry<T> {
this.a.put(t0, Integer.valueOf(i));
while (this.b.size() <= i) {
- this.b.add((Object) null);
+ this.b.add(null); // Paper - Fix decompile error
}
this.b.set(i, t0);
diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java
index 2179664a0..981582212 100644
--- a/src/main/java/net/minecraft/server/ServerPing.java
+++ b/src/main/java/net/minecraft/server/ServerPing.java
@@ -57,7 +57,8 @@ public class ServerPing {
public Serializer() {}
- public ServerPing a(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
+ // Paper - decompile fix
+ public ServerPing deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
JsonObject jsonobject = ChatDeserializer.m(jsonelement, "status");
ServerPing serverping = new ServerPing();
@@ -80,7 +81,8 @@ public class ServerPing {
return serverping;
}
- public JsonElement a(ServerPing serverping, Type type, JsonSerializationContext jsonserializationcontext) {
+ // Paper - decompile fix
+ public JsonElement serialize(ServerPing serverping, Type type, JsonSerializationContext jsonserializationcontext) {
JsonObject jsonobject = new JsonObject();
if (serverping.a() != null) {
@@ -101,14 +103,6 @@ public class ServerPing {
return jsonobject;
}
-
- public JsonElement serialize(Object object, Type type, JsonSerializationContext jsonserializationcontext) {
- return this.a((ServerPing) object, type, jsonserializationcontext);
- }
-
- public Object deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
- return this.a(jsonelement, type, jsondeserializationcontext);
- }
}
public static class ServerData {
@@ -133,27 +127,21 @@ public class ServerPing {
public Serializer() {}
- public ServerPing.ServerData a(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
+ // Paper - decompile fix
+ public ServerPing.ServerData deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
JsonObject jsonobject = ChatDeserializer.m(jsonelement, "version");
return new ServerPing.ServerData(ChatDeserializer.h(jsonobject, "name"), ChatDeserializer.n(jsonobject, "protocol"));
}
- public JsonElement a(ServerPing.ServerData serverping_serverdata, Type type, JsonSerializationContext jsonserializationcontext) {
+ // Paper - decompile fix
+ public JsonElement serialize(ServerPing.ServerData serverping_serverdata, Type type, JsonSerializationContext jsonserializationcontext) {
JsonObject jsonobject = new JsonObject();
jsonobject.addProperty("name", serverping_serverdata.a());
jsonobject.addProperty("protocol", Integer.valueOf(serverping_serverdata.getProtocolVersion()));
return jsonobject;
}
-
- public JsonElement serialize(Object object, Type type, JsonSerializationContext jsonserializationcontext) {
- return this.a((ServerPing.ServerData) object, type, jsonserializationcontext);
- }
-
- public Object deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
- return this.a(jsonelement, type, jsondeserializationcontext);
- }
}
}
@@ -188,7 +176,8 @@ public class ServerPing {
public Serializer() {}
- public ServerPing.ServerPingPlayerSample a(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
+ // Paper - decompile fix
+ public ServerPing.ServerPingPlayerSample deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
JsonObject jsonobject = ChatDeserializer.m(jsonelement, "players");
ServerPing.ServerPingPlayerSample serverping_serverpingplayersample = new ServerPing.ServerPingPlayerSample(ChatDeserializer.n(jsonobject, "max"), ChatDeserializer.n(jsonobject, "online"));
@@ -212,7 +201,8 @@ public class ServerPing {
return serverping_serverpingplayersample;
}
- public JsonElement a(ServerPing.ServerPingPlayerSample serverping_serverpingplayersample, Type type, JsonSerializationContext jsonserializationcontext) {
+ // Paper - decompile fix
+ public JsonElement serialize(ServerPing.ServerPingPlayerSample serverping_serverpingplayersample, Type type, JsonSerializationContext jsonserializationcontext) {
JsonObject jsonobject = new JsonObject();
jsonobject.addProperty("max", Integer.valueOf(serverping_serverpingplayersample.a()));
@@ -234,14 +224,6 @@ public class ServerPing {
return jsonobject;
}
-
- public JsonElement serialize(Object object, Type type, JsonSerializationContext jsonserializationcontext) {
- return this.a((ServerPing.ServerPingPlayerSample) object, type, jsonserializationcontext);
- }
-
- public Object deserialize(JsonElement jsonelement, Type type, JsonDeserializationContext jsondeserializationcontext) throws JsonParseException {
- return this.a(jsonelement, type, jsondeserializationcontext);
- }
}
}
}
diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemFactoryTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemFactoryTest.java
index f5bcbdbe1..3190cadfc 100644
--- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemFactoryTest.java
+++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemFactoryTest.java
@@ -20,7 +20,7 @@ public class ItemFactoryTest extends AbstractTestingBase {
@Test
public void testKnownAttributes() throws Throwable {
- final ZipInputStream nmsZipStream = new ZipInputStream(CommandAbstract.class/* Magic class that isn't imported! */.getProtectionDomain().getCodeSource().getLocation().openStream());
+ final ZipInputStream nmsZipStream = new ZipInputStream(net.minecraft.server.HttpUtilities.class/* Magic class that isn't imported! */.getProtectionDomain().getCodeSource().getLocation().openStream()); // Paper
final Collection<String> names = new HashSet<String>();
for (ZipEntry clazzEntry; (clazzEntry = nmsZipStream.getNextEntry()) != null; ) {
final String entryName = clazzEntry.getName();
-- --
2.17.1 2.18.0

View File

@ -1,4 +1,4 @@
From 41ab68c2065785eadb3187c52f0f1711df713537 Mon Sep 17 00:00:00 2001 From c6779cede78872af84c68078b5c44deff9b32089 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Fri, 24 Mar 2017 23:56:01 -0500 Date: Fri, 24 Mar 2017 23:56:01 -0500
Subject: [PATCH] Paper Metrics Subject: [PATCH] Paper Metrics
@ -671,10 +671,10 @@ index 3d8ee9ed3..5ab2cf6ee 100644
static void readConfig(Class<?> clazz, Object instance) { 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 diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 1b5158c0d..9ce3e1365 100644 index ac36ea08e..09100408e 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java --- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -83,6 +83,7 @@ public class SpigotConfig @@ -84,6 +84,7 @@ public class SpigotConfig
MinecraftServer.getServer().server.getCommandMap().register( entry.getKey(), "Spigot", entry.getValue() ); MinecraftServer.getServer().server.getCommandMap().register( entry.getKey(), "Spigot", entry.getValue() );
} }
@ -682,7 +682,7 @@ index 1b5158c0d..9ce3e1365 100644
if ( metrics == null ) if ( metrics == null )
{ {
try try
@@ -94,6 +95,7 @@ public class SpigotConfig @@ -95,6 +96,7 @@ public class SpigotConfig
Bukkit.getServer().getLogger().log( Level.SEVERE, "Could not start metrics service", ex ); Bukkit.getServer().getLogger().log( Level.SEVERE, "Could not start metrics service", ex );
} }
} }
@ -691,5 +691,5 @@ index 1b5158c0d..9ce3e1365 100644
static void readConfig(Class<?> clazz, Object instance) static void readConfig(Class<?> clazz, Object instance)
-- --
2.17.1 2.18.0

View File

@ -1,30 +1,70 @@
From 471ff10805ee8ef1b93d19bd05a91b9f372417c9 Mon Sep 17 00:00:00 2001 From a0f2f840d13536973078d4e2700e65ceff320081 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 01:40:13 -0400 Date: Wed, 4 Jul 2018 01:40:13 -0400
Subject: [PATCH] Add MinecraftKey Information to Objects Subject: [PATCH] Add MinecraftKey Information to Objects
Stores the reference to the objects respective MinecraftKey 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 a0ebc1eaa..e4c771a39 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 {
List<Entity> entities = world.entityList;
entities.forEach(e -> {
- MinecraftKey key = new MinecraftKey(""); // TODO: update in next patch
+ MinecraftKey key = e.getMinecraftKey();
MutablePair<Integer, Map<ChunkCoordIntPair, Integer>> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap()));
ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ());
@@ -234,5 +234,5 @@ public class PaperCommand extends Command {
Command.broadcastCommandMessage(sender, ChatColor.GREEN + "Paper config reload complete.");
}
-
+
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index ed39b122e..3a8902bf1 100644 index 515c9d875..53fc37088 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -41,7 +41,7 @@ import org.bukkit.event.entity.EntityPortalEvent; @@ -45,7 +45,7 @@ import org.bukkit.event.entity.EntityPortalEvent;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
// CraftBukkit end // CraftBukkit end
-public abstract class Entity implements ICommandListener { -public abstract class Entity implements INamableTileEntity, ICommandListener {
+public abstract class Entity implements ICommandListener, KeyedObject { // Paper +public abstract class Entity implements INamableTileEntity, ICommandListener, KeyedObject { // Paper
// CraftBukkit start // CraftBukkit start
private static final int CURRENT_LEVEL = 2; private static final int CURRENT_LEVEL = 2;
@@ -1702,11 +1702,23 @@ public abstract class Entity implements ICommandListener { @@ -73,7 +73,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;
- private final EntityTypes<?> g;
+ private final EntityTypes<?> g; public EntityTypes<?> getEntityType() { return g; } // Paper - OBFHELPER
private int id;
public boolean j;
public final List<Entity> passengers;
@@ -197,6 +197,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
} else {
this.defaultActivationState = false;
}
+ // Paper start
+ this.entityKey = EntityTypes.getName(entitytypes);
+ this.entityKeyString = this.entityKey != null ? this.entityKey.toString() : null;
+ // Paper end
// Spigot end
this.datawatcher = new DataWatcher(this);
@@ -1781,12 +1785,24 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
return true; return true;
} }
+ // Paper start + // Paper start
+ public final MinecraftKey entityKey = EntityTypes.getKey(this); + public final MinecraftKey entityKey;
+ public final String entityKeyString = entityKey != null ? entityKey.toString() : null; + public final String entityKeyString;
+ +
+ @Override + @Override
+ public MinecraftKey getMinecraftKey() { + public MinecraftKey getMinecraftKey() {
@ -37,14 +77,28 @@ index ed39b122e..3a8902bf1 100644
+ } + }
@Nullable @Nullable
public final String getSaveID() { public final String getSaveID() {
- MinecraftKey minecraftkey = EntityTypes.a(this); - EntityTypes entitytypes = this.P();
- MinecraftKey minecraftkey = EntityTypes.getName(entitytypes);
- -
- return minecraftkey == null ? null : minecraftkey.toString(); - return entitytypes.a() && minecraftkey != null ? minecraftkey.toString() : null;
+ return entityKeyString; + EntityTypes type = this.getEntityType();
+ return type != null && type.isPersistable() ? entityKeyString : null;
+ // Paper end + // Paper end
} }
protected abstract void a(NBTTagCompound nbttagcompound); 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 557a3f97f..97cfd6695 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -226,6 +226,7 @@ public class EntityTypes<T extends Entity> {
}
}
+ public boolean isPersistable() { return a(); } // Paper - OBFHELPER
public boolean a() {
return this.aV;
}
diff --git a/src/main/java/net/minecraft/server/KeyedObject.java b/src/main/java/net/minecraft/server/KeyedObject.java diff --git a/src/main/java/net/minecraft/server/KeyedObject.java b/src/main/java/net/minecraft/server/KeyedObject.java
new file mode 100644 new file mode 100644
index 000000000..61c2b993c index 000000000..61c2b993c
@ -60,10 +114,10 @@ index 000000000..61c2b993c
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 5a5a588e7..672ba3134 100644 index 093e7eb7f..b09325097 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java --- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -7,7 +7,7 @@ import org.apache.logging.log4j.Logger; @@ -7,11 +7,11 @@ import org.apache.logging.log4j.Logger;
import org.spigotmc.CustomTimingsHandler; // Spigot import org.spigotmc.CustomTimingsHandler; // Spigot
import org.bukkit.inventory.InventoryHolder; // CraftBukkit import org.bukkit.inventory.InventoryHolder; // CraftBukkit
@ -72,15 +126,22 @@ index 5a5a588e7..672ba3134 100644
public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getTileEntityTimings(this); // Spigot public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getTileEntityTimings(this); // Spigot
private static final Logger a = LogManager.getLogger(); private static final Logger a = LogManager.getLogger();
@@ -27,8 +27,21 @@ public abstract class TileEntity { - private final TileEntityTypes<?> e;
TileEntity.f.a(new MinecraftKey(s), oclass); + private final TileEntityTypes<?> e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER
protected World world;
protected BlockPosition position;
protected boolean d;
@@ -21,8 +21,25 @@ public abstract class TileEntity {
public TileEntity(TileEntityTypes<?> tileentitytypes) {
this.position = BlockPosition.ZERO;
this.e = tileentitytypes;
+ // Paper start
+ this.tileEntityKey = TileEntityTypes.a(tileentitytypes);
+ this.tileEntityKeyString = tileEntityKey != null ? tileEntityKey.toString() : null;
} }
- @Nullable + public final MinecraftKey tileEntityKey;
- public static MinecraftKey a(Class<? extends TileEntity> oclass) { + public final String tileEntityKeyString;
+ // Paper start
+ public final MinecraftKey tileEntityKey = getKey(this.getClass());
+ public final String tileEntityKeyString = tileEntityKey != null ? tileEntityKey.toString() : null;
+ +
+ @Override + @Override
+ public MinecraftKey getMinecraftKey() { + public MinecraftKey getMinecraftKey() {
@ -91,11 +152,11 @@ index 5a5a588e7..672ba3134 100644
+ public String getMinecraftKeyString() { + public String getMinecraftKeyString() {
+ return tileEntityKeyString; + return tileEntityKeyString;
+ } + }
+ @Nullable public static MinecraftKey getKey(Class<? extends TileEntity> oclass) { return a(oclass); } // Paper - OBFHELPER + // Paper end
+ @Nullable public static MinecraftKey a(Class<? extends TileEntity> oclass) { +
return (MinecraftKey) TileEntity.f.b(oclass); @Nullable
} public World getWorld() {
return this.world;
-- --
2.18.0 2.18.0

View File

@ -1,4 +1,4 @@
From 8613a4e2ae9a4bb6faef75b90d69728a88692dc1 Mon Sep 17 00:00:00 2001 From 9f15dcf160d9412793b5069dfa9d92e692ac1abc Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 02:10:36 -0400 Date: Wed, 4 Jul 2018 02:10:36 -0400
Subject: [PATCH] Store reference to current Chunk for Entity and Block Subject: [PATCH] Store reference to current Chunk for Entity and Block
@ -8,22 +8,22 @@ This enables us a fast reference to the entities current chunk instead
of having to look it up by hashmap lookups. 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 diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 4bbebb25a..68008fe6a 100644 index 9500c456d..120e66c78 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -25,7 +25,7 @@ public class Chunk { @@ -33,7 +33,7 @@ public class Chunk implements IChunkAccess {
private final byte[] g; private final BiomeBase[] g;
private final int[] h; private final boolean[] h;
private final boolean[] i; private final Map<BlockPosition, NBTTagCompound> i;
- private boolean j; - private boolean j;
+ private boolean j; public boolean isLoaded() { return j; } // Paper - OBFHELPER + private boolean j; public boolean isLoaded() { return j; } // Paper - OBFHELPER
public final World world; public final World world;
public final int[] heightMap; public final Map<HeightMap.Type, HeightMap> heightMap;
public final int locX; public final int locX;
@@ -33,6 +33,30 @@ public class Chunk { @@ -63,7 +63,30 @@ public class Chunk implements IChunkAccess {
private boolean m; // CraftBukkit start - Neighbor loaded cache for chunk lighting and entity ticking
public final Map<BlockPosition, TileEntity> tileEntities; private int neighbors = 0x1 << 12;
public final List<Entity>[] entitySlices; // Spigot public long chunkKey;
+ // Paper start + // Paper start
+ private class TileEntityHashMap extends java.util.HashMap<BlockPosition, TileEntity> { + private class TileEntityHashMap extends java.util.HashMap<BlockPosition, TileEntity> {
+ @Override + @Override
@ -37,7 +37,7 @@ index 4bbebb25a..68008fe6a 100644
+ } + }
+ return replaced; + return replaced;
+ } + }
+
+ @Override + @Override
+ public TileEntity remove(Object key) { + public TileEntity remove(Object key) {
+ TileEntity removed = super.remove(key); + TileEntity removed = super.remove(key);
@ -48,46 +48,52 @@ index 4bbebb25a..68008fe6a 100644
+ } + }
+ } + }
+ // Paper end + // Paper end
private boolean done; public boolean areNeighborsLoaded(final int radius) {
private boolean lit; switch (radius) {
private boolean r; case 2:
@@ -80,7 +104,7 @@ public class Chunk { @@ -94,7 +117,7 @@ public class Chunk implements IChunkAccess {
this.g = new byte[256]; this.h = new boolean[256];
this.h = new int[256]; this.i = Maps.newHashMap();
this.i = new boolean[256]; this.heightMap = Maps.newHashMap();
- this.tileEntities = Maps.newHashMap(); - this.tileEntities = Maps.newHashMap();
+ this.tileEntities = new TileEntityHashMap(); // Paper + this.tileEntities = new TileEntityHashMap(); // Paper
this.x = 4096; this.q = Maps.newHashMap();
this.y = Queues.newConcurrentLinkedQueue(); this.r = Maps.newHashMap();
this.entitySlices = (List[]) (new List[16]); // Spigot this.s = new ShortList[16];
@@ -624,6 +648,9 @@ public class Chunk { @@ -646,6 +669,9 @@ public class Chunk implements IChunkAccess {
this.entityCount.adjustOrPutValue( creatureType.a(), 1, 1 ); entity.af = k;
} entity.ag = this.locZ;
} this.entitySlices[k].add(entity);
+ // Paper start + // Paper start
+ entity.setCurrentChunk(this); + entity.setCurrentChunk(this);
+ // Paper end + // Paper end
// Spigot end
} }
@@ -656,6 +683,9 @@ public class Chunk { public void a(HeightMap.Type heightmap_type, long[] along) {
this.entityCount.adjustValue( creatureType.a(), -1 ); @@ -664,8 +690,12 @@ public class Chunk implements IChunkAccess {
} if (i >= this.entitySlices.length) {
i = this.entitySlices.length - 1;
} }
-
- this.entitySlices[i].remove(entity);
+ // Paper start + // Paper start
+ if (!this.entitySlices[i].remove(entity)) {
+ return;
+ }
+ entity.setCurrentChunk(null); + entity.setCurrentChunk(null);
+ // Paper end + // Paper end
// Spigot end
} }
public boolean c(BlockPosition blockposition) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 3a8902bf1..4af566b36 100644 index 53fc37088..1ef52cc6d 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1703,6 +1703,38 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -1786,6 +1786,40 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} }
// Paper start // Paper start
+
+ private java.lang.ref.WeakReference<Chunk> currentChunk = null; + private java.lang.ref.WeakReference<Chunk> currentChunk = null;
+ +
+ public void setCurrentChunk(Chunk chunk) { + public void setCurrentChunk(Chunk chunk) {
@ -120,17 +126,19 @@ index 3a8902bf1..4af566b36 100644
+ public Chunk getChunkAtLocation() { + public Chunk getChunkAtLocation() {
+ return getCurrentChunkAt((int)Math.floor(locX) >> 4, (int)Math.floor(locZ) >> 4); + return getCurrentChunkAt((int)Math.floor(locX) >> 4, (int)Math.floor(locZ) >> 4);
+ } + }
public final MinecraftKey entityKey = EntityTypes.getKey(this); +
public final String entityKeyString = entityKey != null ? entityKey.toString() : null; public final MinecraftKey entityKey;
public final String entityKeyString;
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 672ba3134..d7132c3c0 100644 index b09325097..b992360ac 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java --- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -28,6 +28,14 @@ public abstract class TileEntity implements KeyedObject { @@ -38,6 +38,15 @@ public abstract class TileEntity implements KeyedObject {
public String getMinecraftKeyString() {
return tileEntityKeyString;
} }
+
// Paper start
+ private java.lang.ref.WeakReference<Chunk> currentChunk = null; + private java.lang.ref.WeakReference<Chunk> currentChunk = null;
+ public Chunk getCurrentChunk() { + public Chunk getCurrentChunk() {
+ final Chunk chunk = currentChunk != null ? currentChunk.get() : world.getChunkIfLoaded(position.getX() >> 4, position.getZ() >> 4); + final Chunk chunk = currentChunk != null ? currentChunk.get() : world.getChunkIfLoaded(position.getX() >> 4, position.getZ() >> 4);
@ -139,11 +147,11 @@ index 672ba3134..d7132c3c0 100644
+ public void setCurrentChunk(Chunk chunk) { + public void setCurrentChunk(Chunk chunk) {
+ this.currentChunk = chunk != null ? new java.lang.ref.WeakReference<>(chunk) : null; + this.currentChunk = chunk != null ? new java.lang.ref.WeakReference<>(chunk) : null;
+ } + }
public final MinecraftKey tileEntityKey = getKey(this.getClass()); // Paper end
public final String tileEntityKeyString = tileEntityKey != null ? tileEntityKey.toString() : null;
@Nullable
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index c5a194ffe..833e3111d 100644 index 70143c4d3..1e3675e4f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -9,6 +9,7 @@ import java.util.UUID; @@ -9,6 +9,7 @@ import java.util.UUID;
@ -154,7 +162,7 @@ index c5a194ffe..833e3111d 100644
import org.bukkit.EntityEffect; import org.bukkit.EntityEffect;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Server; import org.bukkit.Server;
@@ -39,6 +40,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -40,6 +41,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
this.entity = entity; this.entity = entity;
} }

View File

@ -1,4 +1,4 @@
From 9638089fa0dcff84f21fc77d17a984b430eb3423 Mon Sep 17 00:00:00 2001 From fd0ed98b73db46e809681e54d3b823d7b710b507 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 02:13:59 -0400 Date: Wed, 4 Jul 2018 02:13:59 -0400
Subject: [PATCH] Store counts for each Entity/Block Entity Type Subject: [PATCH] Store counts for each Entity/Block Entity Type
@ -6,12 +6,12 @@ Subject: [PATCH] Store counts for each Entity/Block Entity Type
Opens door for future patches to optimize performance 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 diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index b40e60942..952c96c0c 100644 index 120e66c78..0ae780c8e 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -34,15 +34,19 @@ public class Chunk { @@ -64,15 +64,19 @@ public class Chunk implements IChunkAccess {
public final Map<BlockPosition, TileEntity> tileEntities; private int neighbors = 0x1 << 12;
public final List<Entity>[] entitySlices; // Spigot public long chunkKey;
// Paper start // Paper start
+ public final co.aikar.util.Counter<String> entityCounts = new co.aikar.util.Counter<>(); + public final co.aikar.util.Counter<String> entityCounts = new co.aikar.util.Counter<>();
+ public final co.aikar.util.Counter<String> tileEntityCounts = new co.aikar.util.Counter<>(); + public final co.aikar.util.Counter<String> tileEntityCounts = new co.aikar.util.Counter<>();
@ -29,7 +29,7 @@ index b40e60942..952c96c0c 100644
} }
return replaced; return replaced;
} }
@@ -52,6 +56,7 @@ public class Chunk { @@ -82,6 +86,7 @@ public class Chunk implements IChunkAccess {
TileEntity removed = super.remove(key); TileEntity removed = super.remove(key);
if (removed != null) { if (removed != null) {
removed.setCurrentChunk(null); removed.setCurrentChunk(null);
@ -37,22 +37,22 @@ index b40e60942..952c96c0c 100644
} }
return removed; return removed;
} }
@@ -650,6 +655,7 @@ public class Chunk { @@ -671,6 +676,7 @@ public class Chunk implements IChunkAccess {
} this.entitySlices[k].add(entity);
// Paper start // Paper start
entity.setCurrentChunk(this); entity.setCurrentChunk(this);
+ entityCounts.increment(entity.entityKeyString); + entityCounts.increment(entity.entityKeyString);
// Paper end // Paper end
// Spigot end
} }
@@ -685,6 +691,7 @@ public class Chunk {
@@ -695,6 +701,7 @@ public class Chunk implements IChunkAccess {
return;
} }
// Paper start
entity.setCurrentChunk(null); entity.setCurrentChunk(null);
+ entityCounts.decrement(entity.entityKeyString); + entityCounts.decrement(entity.entityKeyString);
// Paper end // Paper end
// Spigot end
} }
-- --
2.18.0 2.18.0

View File

@ -1,24 +1,24 @@
From 5e79bbc7dee8f1a2e42930e6899b7cf8e928b548 Mon Sep 17 00:00:00 2001 From d39477408cd88601ee08c0c33ba9a3e56a588f8b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Mon, 28 Mar 2016 20:55:47 -0400 Date: Mon, 28 Mar 2016 20:55:47 -0400
Subject: [PATCH] MC Utils Subject: [PATCH] MC Utils
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 952c96c0c..cbb1f2cae 100644 index 0ae780c8e..3b97981bc 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -20,7 +20,7 @@ import org.bukkit.Server; // CraftBukkit @@ -28,7 +28,7 @@ import com.google.common.collect.Lists; // CraftBukkit
public class Chunk { public class Chunk implements IChunkAccess {
private static final Logger e = LogManager.getLogger(); private static final Logger e = LogManager.getLogger();
- public static final ChunkSection a = null; - public static final ChunkSection a = null;
+ public static final ChunkSection a = null; public static final ChunkSection EMPTY_CHUNK_SECTION = Chunk.a; // Paper - OBFHELPER + public static final ChunkSection a = null; public static final ChunkSection EMPTY_CHUNK_SECTION = Chunk.a; // Paper - OBFHELPER
private final ChunkSection[] sections; private final ChunkSection[] sections;
private final byte[] g; private final BiomeBase[] g;
private final int[] h; private final boolean[] h;
@@ -712,6 +712,7 @@ public class Chunk { @@ -730,6 +730,7 @@ public class Chunk implements IChunkAccess {
return !block.isTileEntity() ? null : ((ITileEntity) block).a(this.world, iblockdata.getBlock().toLegacyData(iblockdata)); return this.a(blockposition, Chunk.EnumTileEntityState.CHECK);
} }
+ @Nullable public final TileEntity getTileEntityImmediately(BlockPosition pos) { return this.a(pos, EnumTileEntityState.IMMEDIATE); } // Paper - OBFHELPER + @Nullable public final TileEntity getTileEntityImmediately(BlockPosition pos) { return this.a(pos, EnumTileEntityState.IMMEDIATE); } // Paper - OBFHELPER
@ -26,11 +26,11 @@ index 952c96c0c..cbb1f2cae 100644
public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) { public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) {
// CraftBukkit start // CraftBukkit start
diff --git a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java diff --git a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java
index 239440888..aafd23beb 100644 index 00a530c51..2947d9ff6 100644
--- a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java --- a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java
+++ b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java +++ b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java
@@ -15,6 +15,8 @@ public class ChunkCoordIntPair { @@ -24,6 +24,8 @@ public class ChunkCoordIntPair {
this.z = blockposition.getZ() >> 4; 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(final BlockPosition pos) { return a(pos.getX() >> 4, pos.getZ() >> 4); } // Paper - OBFHELPER
@ -38,49 +38,51 @@ index 239440888..aafd23beb 100644
public static long a(int i, int j) { 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/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
index 1f2fe87b6..2cb462b8e 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -5,7 +5,7 @@ import javax.annotation.Nullable;
public class DataPaletteBlock implements DataPaletteExpandable {
private static final DataPalette d = new DataPaletteGlobal();
- protected static final IBlockData a = Blocks.AIR.getBlockData();
+ protected static final IBlockData a = Blocks.AIR.getBlockData(); public static final IBlockData DEFAULT_BLOCK_DATA = DataPaletteBlock.a; // Paper - OBFHELPER
protected DataBits b;
protected DataPalette c;
private int e;
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index ba461ad48..2359b31f4 100644 index 97cfd6695..05ed0abe7 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java --- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -13,6 +13,11 @@ import org.apache.logging.log4j.Logger; @@ -3,6 +3,7 @@ package net.minecraft.server;
import com.mojang.datafixers.DataFixUtils;
import com.mojang.datafixers.types.Type;
public class EntityTypes { +import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.function.Function;
@@ -121,9 +122,17 @@ 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);
+ // Paper start - EntityTypes.REGISTRY.a(new MinecraftKey(s), entitytypes);
+ // Paper start
+ MinecraftKey key = new MinecraftKey(s);
+ Class<? extends T> entityClass = entitytypes_a.getEntityClass();
+ EntityTypes.REGISTRY.a(key, entitytypes);
+ clsToKeyMap.put(entityClass, key);
+ clsToTypeMap.put(entityClass, org.bukkit.entity.EntityType.fromName(s));
return entitytypes;
}
+ public static Map<Class<? extends Entity>, MinecraftKey> clsToKeyMap = new java.util.HashMap<>(); + public static Map<Class<? extends Entity>, MinecraftKey> clsToKeyMap = new java.util.HashMap<>();
+ public static Map<Class<? extends Entity>, org.bukkit.entity.EntityType> clsToTypeMap = new java.util.HashMap<>(); + public static Map<Class<? extends Entity>, org.bukkit.entity.EntityType> clsToTypeMap = new java.util.HashMap<>();
+ // Paper end + // Paper end
+
public static final MinecraftKey a = new MinecraftKey("lightning_bolt");
private static final MinecraftKey e = new MinecraftKey("player");
private static final Logger f = LogManager.getLogger();
@@ -252,6 +257,8 @@ public class EntityTypes {
EntityTypes.b.a(i, minecraftkey, oclass); @Nullable
EntityTypes.d.add(minecraftkey); public static MinecraftKey getName(EntityTypes<?> entitytypes) {
+ clsToKeyMap.put(oclass, minecraftkey); // Paper @@ -278,7 +287,7 @@ public class EntityTypes<T extends Entity> {
+ clsToTypeMap.put(oclass, org.bukkit.entity.EntityType.fromName(s)); // Paper
while (EntityTypes.g.size() <= i) { public static class a<T extends Entity> {
EntityTypes.g.add(null); // Paper - Decompile fix
- private final Class<? extends T> a;
+ private final Class<? extends T> a; public Class<? extends T> getEntityClass() { return a; } // Paper - OBFHELPER
private final Function<? super World, ? extends T> b;
private boolean c = true;
private boolean d = true;
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 76bfbaa81..82d72ea15 100644 index cc96294f4..7f249a975 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java --- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -14,6 +14,7 @@ import org.bukkit.Location; @@ -25,6 +25,7 @@ import org.bukkit.Location;
import org.bukkit.TreeType; import org.bukkit.TreeType;
import org.bukkit.block.BlockState; import org.bukkit.block.BlockState;
import org.bukkit.craftbukkit.block.CraftBlockState; import org.bukkit.craftbukkit.block.CraftBlockState;
@ -88,8 +90,8 @@ index 76bfbaa81..82d72ea15 100644
import org.bukkit.craftbukkit.util.CraftMagicNumbers; import org.bukkit.craftbukkit.util.CraftMagicNumbers;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.world.StructureGrowEvent; import org.bukkit.event.world.StructureGrowEvent;
@@ -583,6 +584,17 @@ public final class ItemStack { @@ -547,6 +548,17 @@ public final class ItemStack {
return this.tag != null ? this.tag.getList("ench", 10) : new NBTTagList(); return this.tag != null ? this.tag.getList("Enchantments", 10) : new NBTTagList();
} }
+ // Paper start - (this is just a good no conflict location) + // Paper start - (this is just a good no conflict location)
@ -314,19 +316,19 @@ index 000000000..a4b0901cf
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java
index aa1ca6d91..e15c23367 100644 index 7fc9b5ff3..e658816c2 100644
--- a/src/main/java/net/minecraft/server/NBTTagCompound.java --- a/src/main/java/net/minecraft/server/NBTTagCompound.java
+++ b/src/main/java/net/minecraft/server/NBTTagCompound.java +++ b/src/main/java/net/minecraft/server/NBTTagCompound.java
@@ -22,7 +22,7 @@ public class NBTTagCompound extends NBTBase { @@ -24,7 +24,7 @@ public class NBTTagCompound implements NBTBase {
private static final Logger b = LogManager.getLogger(); private static final Logger f = LogManager.getLogger();
private static final Pattern c = Pattern.compile("[A-Za-z0-9._+-]+"); private static final Pattern g = Pattern.compile("[A-Za-z0-9._+-]+");
- private final Map<String, NBTBase> map = Maps.newHashMap(); - private final Map<String, NBTBase> map = Maps.newHashMap();
+ public final Map<String, NBTBase> map = Maps.newHashMap(); // Paper + public final Map<String, NBTBase> map = Maps.newHashMap(); // Paper
public NBTTagCompound() {} public NBTTagCompound() {}
@@ -94,11 +94,13 @@ public class NBTTagCompound extends NBTBase { @@ -96,11 +96,13 @@ public class NBTTagCompound implements NBTBase {
this.map.put(s, new NBTTagLong(i)); this.map.put(s, new NBTTagLong(i));
} }
@ -340,24 +342,54 @@ index aa1ca6d91..e15c23367 100644
@Nullable @Nullable
public UUID a(String s) { public UUID a(String s) {
return new UUID(this.getLong(s + "Most"), this.getLong(s + "Least")); return new UUID(this.getLong(s + "Most"), this.getLong(s + "Least"));
@@ -492,8 +494,4 @@ public class NBTTagCompound implements NBTBase {
return chatcomponenttext;
}
}
-
- public NBTBase clone() {
- return this.clone();
- }
}
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
index e0cb6aa6e..bc6383669 100644 index b3c944d70..e56d4836d 100644
--- a/src/main/java/net/minecraft/server/NBTTagList.java --- a/src/main/java/net/minecraft/server/NBTTagList.java
+++ b/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java
@@ -13,7 +13,7 @@ import org.apache.logging.log4j.Logger; @@ -14,7 +14,7 @@ import org.apache.logging.log4j.Logger;
public class NBTTagList extends NBTBase { public class NBTTagList extends NBTList<NBTBase> {
private static final Logger b = LogManager.getLogger(); private static final Logger f = LogManager.getLogger();
- private List<NBTBase> list = Lists.newArrayList(); - private List<NBTBase> list = Lists.newArrayList();
+ public List<NBTBase> list = Lists.newArrayList(); // Paper + public List<NBTBase> list = Lists.newArrayList(); // Paper
private byte type = 0; private byte type = 0;
public NBTTagList() {} public NBTTagList() {}
@@ -297,20 +297,4 @@ public class NBTTagList extends NBTList<NBTBase> {
public NBTBase clone() {
return this.c();
}
-
- public Object remove(int i) {
- return this.remove(i);
- }
-
- public Object set(int i, Object object) {
- return this.set(i, (NBTBase) object);
- }
-
- public Object get(int i) {
- return this.get(i);
- }
-
- public boolean add(Object object) {
- return this.add((NBTBase) object);
- }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 8cede938a..cd2d58bfb 100644 index 3cb868299..227bc857e 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -65,9 +65,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -66,9 +66,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
private final MinecraftServer minecraftServer; private final MinecraftServer minecraftServer;
public EntityPlayer player; public EntityPlayer player;
private int e; private int e;
@ -370,14 +402,6 @@ index 8cede938a..cd2d58bfb 100644
// CraftBukkit start - multithreaded fields // CraftBukkit start - multithreaded fields
private volatile int chatThrottle; private volatile int chatThrottle;
private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle"); private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle");
@@ -2158,6 +2158,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
}
+ private long getCurrentMillis() { return d(); } // Paper - OBFHELPER
private long d() {
return System.nanoTime() / 1000000L;
}
-- --
2.18.0 2.18.0

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
From 1f84a29839c470f5bdc16ac91c21a3dccd8650eb Mon Sep 17 00:00:00 2001 From 40b2ff991bc8a48ef7f31000cd11b4f705aea329 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:02:51 -0600 Date: Tue, 1 Mar 2016 13:02:51 -0600
Subject: [PATCH] Configurable cactus and reed natural growth heights Subject: [PATCH] Configurable cactus and reed natural growth heights
@ -23,31 +23,31 @@ index 621bf7051..4a692ac1b 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/BlockCactus.java b/src/main/java/net/minecraft/server/BlockCactus.java diff --git a/src/main/java/net/minecraft/server/BlockCactus.java b/src/main/java/net/minecraft/server/BlockCactus.java
index 64b7d08fa..d8fb87f7a 100644 index 54685157f..83fb53643 100644
--- a/src/main/java/net/minecraft/server/BlockCactus.java --- a/src/main/java/net/minecraft/server/BlockCactus.java
+++ b/src/main/java/net/minecraft/server/BlockCactus.java +++ b/src/main/java/net/minecraft/server/BlockCactus.java
@@ -28,7 +28,7 @@ public class BlockCactus extends Block { @@ -29,7 +29,7 @@ public class BlockCactus extends Block {
;
}
- if (i < 3) {
+ if (i < world.paperConfig.cactusMaxHeight) { // Paper - Configurable growth height
int j = ((Integer) iblockdata.get(BlockCactus.AGE)).intValue();
if (j >= (byte) range(3, ((100.0F / world.spigotConfig.cactusModifier) * 15) + 0.5F, 15)) { // Spigot
diff --git a/src/main/java/net/minecraft/server/BlockReed.java b/src/main/java/net/minecraft/server/BlockReed.java
index 57f24f55d..d19dce839 100644
--- a/src/main/java/net/minecraft/server/BlockReed.java
+++ b/src/main/java/net/minecraft/server/BlockReed.java
@@ -28,7 +28,7 @@ public class BlockReed extends Block {
; ;
} }
- if (i < 3) { - if (i < 3) {
+ if (i < world.paperConfig.reedMaxHeight) { // Paper - Configurable growth height + if (i < world.paperConfig.cactusMaxHeight) { // Paper - Configurable growth height
int j = ((Integer) iblockdata.get(BlockReed.AGE)).intValue(); int j = ((Integer) iblockdata.get(BlockCactus.AGE)).intValue();
if (j >= (byte) range(3, ((100.0F / world.spigotConfig.caneModifier) * 15) + 0.5F, 15)) { // Spigot if (j >= (byte) range(3, ((100.0F / world.spigotConfig.cactusModifier) * 15) + 0.5F, 15)) { // Spigot
diff --git a/src/main/java/net/minecraft/server/BlockReed.java b/src/main/java/net/minecraft/server/BlockReed.java
index 313821d52..c4e7f318d 100644
--- a/src/main/java/net/minecraft/server/BlockReed.java
+++ b/src/main/java/net/minecraft/server/BlockReed.java
@@ -25,7 +25,7 @@ public class BlockReed extends Block {
;
}
- if (i < 3) {
+ if (i < world.paperConfig.reedMaxHeight) { // Paper - Configurable growth height
int j = ((Integer) iblockdata.get(BlockReed.AGE)).intValue();
if (j >= (byte) range(3, ((100.0F / world.spigotConfig.caneModifier) * 15) + 0.5F, 15)) { // Spigot
-- --
2.18.0 2.18.0

View File

@ -1,4 +1,4 @@
From 7204f6dc262ca2d75ae865a2a27ea9a89cbd2b86 Mon Sep 17 00:00:00 2001 From b9f4abe2c78d9c5499c1249747e038186fb27393 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:09:16 -0600 Date: Tue, 1 Mar 2016 13:09:16 -0600
Subject: [PATCH] Configurable baby zombie movement speed Subject: [PATCH] Configurable baby zombie movement speed
@ -20,27 +20,27 @@ index 4a692ac1b..d44cacc7e 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 11c0f24f1..277f1414a 100644 index b24e73f2c..268e4d57b 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java --- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -16,7 +16,7 @@ public class EntityZombie extends EntityMonster { @@ -17,7 +17,7 @@ public class EntityZombie extends EntityMonster {
protected static final IAttribute a = (new AttributeRanged((IAttribute) null, "zombie.spawnReinforcements", 0.0D, 0.0D, 1.0D)).a("Spawn Reinforcements Chance"); protected static final IAttribute c = (new AttributeRanged((IAttribute) null, "zombie.spawnReinforcements", 0.0D, 0.0D, 1.0D)).a("Spawn Reinforcements Chance");
private static final UUID b = UUID.fromString("B9766B59-9566-4402-BC1F-2EE2A276D836"); private static final UUID a = UUID.fromString("B9766B59-9566-4402-BC1F-2EE2A276D836");
- private static final AttributeModifier c = new AttributeModifier(EntityZombie.b, "Baby speed boost", 0.5D, 1); - private static final AttributeModifier b = new AttributeModifier(EntityZombie.a, "Baby speed boost", 0.5D, 1);
+ private final AttributeModifier c = new AttributeModifier(EntityZombie.b, "Baby speed boost", world.paperConfig.babyZombieMovementSpeed, 1); // Paper - Remove static - Make baby speed configurable + private final AttributeModifier babyModifier = new AttributeModifier(EntityZombie.a, "Baby speed boost", world.paperConfig.babyZombieMovementSpeed, 1); // Paper - Remove static - Make baby speed configurable
private static final DataWatcherObject<Boolean> bx = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.h); private static final DataWatcherObject<Boolean> bC = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.i);
private static final DataWatcherObject<Integer> by = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.b); private static final DataWatcherObject<Integer> bD = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.b);
private static final DataWatcherObject<Boolean> bz = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.h); private static final DataWatcherObject<Boolean> bE = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.i);
@@ -102,9 +102,9 @@ public class EntityZombie extends EntityMonster { @@ -127,9 +127,9 @@ public class EntityZombie extends EntityMonster {
if (this.world != null && !this.world.isClientSide) { if (this.world != null && !this.world.isClientSide) {
AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED);
- attributeinstance.c(EntityZombie.c); - attributeinstance.c(EntityZombie.b);
+ attributeinstance.c(this.c); + attributeinstance.c(this.babyModifier); // Paper
if (flag) { if (flag) {
- attributeinstance.b(EntityZombie.c); - attributeinstance.b(EntityZombie.b);
+ attributeinstance.b(this.c); + attributeinstance.b(this.babyModifier); // Paper
} }
} }

View File

@ -1,4 +1,4 @@
From 00a626d4786a4294acd9328c2b5c05e257f262dc Mon Sep 17 00:00:00 2001 From 4d52eec46bc302c6dfccc2548eaa454640a703fb Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:14:11 -0600 Date: Tue, 1 Mar 2016 13:14:11 -0600
Subject: [PATCH] Configurable fishing time ranges Subject: [PATCH] Configurable fishing time ranges
@ -22,16 +22,16 @@ index d44cacc7e..45bddf3f4 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
index b4d3bcb41..339d1f1b1 100644 index 2512ad353..866f41980 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java --- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -381,7 +381,7 @@ public class EntityFishingHook extends Entity { @@ -386,7 +386,7 @@ public class EntityFishingHook extends Entity {
this.at = MathHelper.nextInt(this.random, 20, 80); this.aw = MathHelper.nextInt(this.random, 20, 80);
} }
} else { } else {
- this.h = MathHelper.nextInt(this.random, 100, 600); - this.h = MathHelper.nextInt(this.random, 100, 600);
+ this.h = MathHelper.nextInt(this.random, world.paperConfig.fishingMinTicks, world.paperConfig.fishingMaxTicks); // Paper + this.h = MathHelper.nextInt(this.random, world.paperConfig.fishingMinTicks, world.paperConfig.fishingMaxTicks); // Paper
this.h -= this.ax * 20 * 5; this.h -= this.aA * 20 * 5;
} }
} }
-- --

View File

@ -1,4 +1,4 @@
From 0e0640641bbc9a2e2089ae1846e2d7899bcd9e5e Mon Sep 17 00:00:00 2001 From 505cb60061caae705dbb6fccad730e81f9634672 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 13:24:16 -0600 Date: Tue, 1 Mar 2016 13:24:16 -0600
Subject: [PATCH] Allow nerfed mobs to jump Subject: [PATCH] Allow nerfed mobs to jump
@ -19,7 +19,7 @@ index 45bddf3f4..1d9dd0e0b 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/ControllerJump.java b/src/main/java/net/minecraft/server/ControllerJump.java diff --git a/src/main/java/net/minecraft/server/ControllerJump.java b/src/main/java/net/minecraft/server/ControllerJump.java
index 4f2fa59ac..8af52a61f 100644 index 4ed5192c6..489beed26 100644
--- a/src/main/java/net/minecraft/server/ControllerJump.java --- a/src/main/java/net/minecraft/server/ControllerJump.java
+++ b/src/main/java/net/minecraft/server/ControllerJump.java +++ b/src/main/java/net/minecraft/server/ControllerJump.java
@@ -13,6 +13,7 @@ public class ControllerJump { @@ -13,6 +13,7 @@ public class ControllerJump {
@ -28,21 +28,21 @@ index 4f2fa59ac..8af52a61f 100644
+ public void jumpIfSet() { this.b(); } // Paper - OBFHELPER + public void jumpIfSet() { this.b(); } // Paper - OBFHELPER
public void b() { public void b() {
this.b.l(this.a); this.b.o(this.a);
this.a = false; this.a = false;
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 3c48d9463..7b02b253c 100644 index 5de20721c..27b01d1ee 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java --- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -46,6 +46,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -32,6 +32,7 @@ public abstract class EntityInsentient extends EntityLiving {
private boolean bE; private final EntityAIBodyControl b;
private Entity leashHolder; protected NavigationAbstract navigation;
private NBTTagCompound bG; public PathfinderGoalSelector goalSelector;
+ @Nullable public PathfinderGoalFloat goalFloat; // Paper + @Nullable public PathfinderGoalFloat goalFloat; // Paper
public PathfinderGoalSelector targetSelector;
public EntityInsentient(World world) { private EntityLiving goalTarget;
super(world); private final EntitySenses bC;
@@ -651,6 +652,12 @@ public abstract class EntityInsentient extends EntityLiving { @@ -641,6 +642,12 @@ public abstract class EntityInsentient extends EntityLiving {
// Spigot Start // Spigot Start
if ( this.fromMobSpawner ) if ( this.fromMobSpawner )
{ {
@ -56,7 +56,7 @@ index 3c48d9463..7b02b253c 100644
} }
// Spigot End // Spigot End
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
index b3b303b3b..fc6c3bf71 100644 index 4d8876cae..2cb9d1b5a 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java --- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
@@ -6,6 +6,7 @@ public class PathfinderGoalFloat extends PathfinderGoal { @@ -6,6 +6,7 @@ public class PathfinderGoalFloat extends PathfinderGoal {
@ -73,7 +73,7 @@ index b3b303b3b..fc6c3bf71 100644
+ public boolean validConditions() { return this.a(); } // Paper - OBFHELPER + public boolean validConditions() { return this.a(); } // Paper - OBFHELPER
public boolean a() { public boolean a() {
return this.a.isInWater() || this.a.au(); return this.a.isInWater() || this.a.ax();
} }
+ public void update() { this.e(); } // Paper - OBFHELPER + public void update() { this.e(); } // Paper - OBFHELPER

View File

@ -1,4 +1,4 @@
From 454d4de322b765150a71a124e972aa3853dcb2d5 Mon Sep 17 00:00:00 2001 From 48f4ebe1a46124663d68afc009c623f0be3b87df Mon Sep 17 00:00:00 2001
From: Suddenly <suddenly@suddenly.coffee> From: Suddenly <suddenly@suddenly.coffee>
Date: Tue, 1 Mar 2016 13:51:54 -0600 Date: Tue, 1 Mar 2016 13:51:54 -0600
Subject: [PATCH] Add configurable despawn distances for living entities Subject: [PATCH] Add configurable despawn distances for living entities
@ -30,10 +30,10 @@ index 1d9dd0e0b..22c1113a1 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 7b02b253c..94967e6b6 100644 index 27b01d1ee..c8c191667 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java --- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -630,13 +630,13 @@ public abstract class EntityInsentient extends EntityLiving { @@ -620,13 +620,13 @@ public abstract class EntityInsentient extends EntityLiving {
double d2 = entityhuman.locZ - this.locZ; double d2 = entityhuman.locZ - this.locZ;
double d3 = d0 * d0 + d1 * d1 + d2 * d2; double d3 = d0 * d0 + d1 * d1 + d2 * d2;

View File

@ -1,4 +1,4 @@
From 84cf59e1a2697bfa6e9319344d57f2363e4a6b25 Mon Sep 17 00:00:00 2001 From 9a9d8af54bf1def19ceb5c483f07e8dbf8654f52 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Thu, 3 Mar 2016 03:53:43 -0600 Date: Thu, 3 Mar 2016 03:53:43 -0600
Subject: [PATCH] Allow for toggling of spawn chunks Subject: [PATCH] Allow for toggling of spawn chunks
@ -20,10 +20,10 @@ index 22c1113a1..0094d1a87 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d902e2630..759964b0f 100644 index e6b916a5d..05d363171 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -202,6 +202,7 @@ public abstract class World implements IBlockAccess { @@ -199,6 +199,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
this.getServer().addWorld(this.world); this.getServer().addWorld(this.world);
// CraftBukkit end // CraftBukkit end
timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings

View File

@ -1,4 +1,4 @@
From 3aa7c3bb231295a68bf403ab34f4b0dcc9e2696d Mon Sep 17 00:00:00 2001 From 4f9c5ca52e2e58476694f0cacdb66b2669e552ab Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net> From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 14:14:15 -0600 Date: Tue, 1 Mar 2016 14:14:15 -0600
Subject: [PATCH] Drop falling block and tnt entities at the specified height Subject: [PATCH] Drop falling block and tnt entities at the specified height
@ -24,11 +24,11 @@ index 0094d1a87..4da846719 100644
+ } + }
} }
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 4540bf9f9..d358ab26a 100644 index a5d0ae1de..12b86ab75 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1794,6 +1794,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -1885,6 +1885,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.a(new ItemStack(item, i, 0), f); return this.a(itemstack, 0.0F);
} }
+ @Nullable public final EntityItem dropItem(ItemStack itemstack, float offset) { return this.a(itemstack, offset); } // Paper - OBFHELPER + @Nullable public final EntityItem dropItem(ItemStack itemstack, float offset) { return this.a(itemstack, offset); } // Paper - OBFHELPER
@ -36,10 +36,10 @@ index 4540bf9f9..d358ab26a 100644
public EntityItem a(ItemStack itemstack, float f) { public EntityItem a(ItemStack itemstack, float f) {
if (itemstack.isEmpty()) { if (itemstack.isEmpty()) {
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index 579e51a0a..2ba5d51a5 100644 index 850436d42..7aa12c3b4 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -84,6 +84,17 @@ public class EntityFallingBlock extends Entity { @@ -86,6 +86,17 @@ public class EntityFallingBlock extends Entity {
} }
this.move(EnumMoveType.SELF, this.motX, this.motY, this.motZ); this.move(EnumMoveType.SELF, this.motX, this.motY, this.motZ);
@ -56,9 +56,9 @@ index 579e51a0a..2ba5d51a5 100644
+ +
if (!this.world.isClientSide) { if (!this.world.isClientSide) {
blockposition = new BlockPosition(this); blockposition = new BlockPosition(this);
boolean flag = this.block.getBlock() == Blocks.dS; 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 diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
index 44b2d4735..0d70dd1d2 100644 index 7edc02852..5ceb3f206 100644
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
+++ b/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 { @@ -57,6 +57,13 @@ public class EntityTNTPrimed extends Entity {

View File

@ -1,4 +1,4 @@
From 52755667f1f619ec704fc039220647e7d105956d Mon Sep 17 00:00:00 2001 From 7bcfdec2f367b97a5459b023661911495b573125 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 14:32:43 -0600 Date: Tue, 1 Mar 2016 14:32:43 -0600
Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
@ -6,24 +6,29 @@ 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 diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java
index 8361888c2..3623751bf 100644 index 220ca7bca..eb4b08be4 100644
--- a/src/main/java/net/minecraft/server/EULA.java --- a/src/main/java/net/minecraft/server/EULA.java
+++ b/src/main/java/net/minecraft/server/EULA.java +++ b/src/main/java/net/minecraft/server/EULA.java
@@ -51,7 +51,8 @@ public class EULA { @@ -52,13 +52,12 @@ public class EULA {
fileoutputstream = new FileOutputStream(this.b); fileoutputstream = new FileOutputStream(this.b);
properties.setProperty("eula", "false"); 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).");
+ 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);
+ "\nand also agreeing that tacos are tasty."); // Paper - fix lag } catch (Exception exception) {
} catch (Exception exception) { EULA.a.warn("Failed to save {}", this.b, exception);
EULA.a.warn("Failed to save {}", this.b, exception); } finally {
} finally { IOUtils.closeQuietly(fileoutputstream);
}
-
}
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 8d08b536a..92d480251 100644 index 590eb507c..4889a82a2 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1049,7 +1049,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs @@ -1151,7 +1151,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
} }
public String getServerModName() { public String getServerModName() {
@ -33,24 +38,24 @@ index 8d08b536a..92d480251 100644
public CrashReport b(CrashReport crashreport) { 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 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9042deed6..33b40ffc2 100644 index 88ea651ba..28f6cdf96 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -136,7 +136,7 @@ import org.bukkit.event.server.TabCompleteEvent; @@ -152,7 +152,7 @@ import org.bukkit.event.server.TabCompleteEvent;
import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.BaseComponent;
public final class CraftServer implements Server { public final class CraftServer implements Server {
- private final String serverName = "CraftBukkit"; - private final String serverName = "CraftBukkit";
+ private final String serverName = "Paper"; + private final String serverName = "Paper"; // Paper
private final String serverVersion; private final String serverVersion;
private final String bukkitVersion = Versioning.getBukkitVersion(); private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft"); private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 96585fb24..f95da9e26 100644 index 5e49bca8a..d9059129d 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -192,7 +192,7 @@ public class Main { @@ -198,7 +198,7 @@ public class Main {
deadline.add(Calendar.DAY_OF_YEAR, -14); deadline.add(Calendar.DAY_OF_YEAR, -3);
if (buildDate.before(deadline.getTime())) { if (buildDate.before(deadline.getTime())) {
System.err.println("*** Error, this build is outdated ***"); System.err.println("*** Error, this build is outdated ***");
- System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/ ***"); - System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/ ***");

View File

@ -1,26 +1,28 @@
From 355aa45c1307053a37e07c9024e2953df1fe01b4 Mon Sep 17 00:00:00 2001 From fd20af56dbf1982c04406fcd9a0360b54568d965 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <jedediah@silencegreys.com> From: Jedediah Smith <jedediah@silencegreys.com>
Date: Tue, 1 Mar 2016 14:47:52 -0600 Date: Tue, 1 Mar 2016 14:47:52 -0600
Subject: [PATCH] Player affects spawning API 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 diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index c374efd79..467c5bf1a 100644 index 40efd6c60..1aa32bf11 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java --- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -64,6 +64,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -72,6 +72,9 @@ public abstract class EntityHuman extends EntityLiving {
private final ItemCooldown bW; private final ItemCooldown ce;
@Nullable @Nullable
public EntityFishingHook hookedFish; public EntityFishingHook hookedFish;
+ // Paper start
+ public boolean affectsSpawning = true; + public boolean affectsSpawning = true;
+ // Paper end
// CraftBukkit start // CraftBukkit start
public boolean fauxSleeping; public boolean fauxSleeping;
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 94967e6b6..5ea9f3097 100644 index c8c191667..d29364b01 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java --- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -624,7 +624,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -614,7 +614,7 @@ public abstract class EntityInsentient extends EntityLiving {
} else { } else {
EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D); EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D);
@ -30,56 +32,64 @@ index 94967e6b6..5ea9f3097 100644
double d1 = entityhuman.locY - this.locY; double d1 = entityhuman.locY - this.locY;
double d2 = entityhuman.locZ - this.locZ; 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 diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
index 50bca48bf..57552c522 100644 index 6cb4f889c..a1ebf5c68 100644
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java --- a/src/main/java/net/minecraft/server/EntitySilverfish.java
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java +++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
@@ -99,8 +99,7 @@ public class EntitySilverfish extends EntityMonster { @@ -96,7 +96,7 @@ public class EntitySilverfish extends EntityMonster {
public boolean P() { if (super.a(generatoraccess)) {
if (super.P()) { EntityHuman entityhuman = generatoraccess.b(this, 5.0D);
EntityHuman entityhuman = this.world.b(this, 5.0D);
-
- return entityhuman == null; - return entityhuman == null;
+ return !(entityhuman != null && !entityhuman.affectsSpawning) && entityhuman == null; // Paper - Affects Spawning API + return !(entityhuman != null && !entityhuman.affectsSpawning) && entityhuman == null; // Paper - Affects Spawning API
} else { } else {
return false; return false;
} }
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index a599a043d..1c7c187c7 100644 index 44fb75c6f..aec9cdae5 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java --- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -52,7 +52,7 @@ public final class SpawnerCreature { @@ -37,7 +37,7 @@ public final class SpawnerCreature {
while (iterator.hasNext()) { while (iterator.hasNext()) {
EntityHuman entityhuman = (EntityHuman) iterator.next(); EntityHuman entityhuman = (EntityHuman) iterator.next();
- if (!entityhuman.isSpectator()) { - if (!entityhuman.isSpectator()) {
+ if (!entityhuman.isSpectator() && entityhuman.affectsSpawning) { + if (!entityhuman.isSpectator() && entityhuman.affectsSpawning) { // Paper
int l = MathHelper.floor(entityhuman.locX / 16.0D); int l = MathHelper.floor(entityhuman.locX / 16.0D);
j = MathHelper.floor(entityhuman.locZ / 16.0D); 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 diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 759964b0f..26d4bd690 100644 index 05d363171..fd64b75ed 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -2727,7 +2727,7 @@ public abstract class World implements IBlockAccess { @@ -28,6 +28,7 @@ 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.event.block.BlockPhysicsEvent;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
@@ -2407,7 +2408,7 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
for (int i = 0; i < this.players.size(); ++i) { for (int i = 0; i < this.players.size(); ++i) {
EntityHuman entityhuman = (EntityHuman) this.players.get(i); EntityHuman entityhuman = (EntityHuman) this.players.get(i);
- if (IEntitySelector.e.apply(entityhuman)) { - if (IEntitySelector.e.test(entityhuman)) {
+ if (IEntitySelector.e.apply(entityhuman) && entityhuman.affectsSpawning) { // Paper - Affects Spawning API + if (IEntitySelector.e.test(entityhuman) && entityhuman.affectsSpawning) { // Paper - Affects Spawning API
double d4 = entityhuman.d(d0, d1, d2); double d4 = entityhuman.d(d0, d1, d2);
if (d3 < 0.0D || d4 < d3 * d3) { 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 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index cd99801ff..a0c86d0e0 100644 index fad258f11..c67137a80 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1540,6 +1540,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1585,7 +1585,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override @Override
public String getLocale() { public String getLocale() {
return getHandle().locale; return getHandle().locale;
+ +
+ } + }
+ +
+ // Paper start
+ public void setAffectsSpawning(boolean affects) { + public void setAffectsSpawning(boolean affects) {
+ this.getHandle().affectsSpawning = affects; + this.getHandle().affectsSpawning = affects;
+ } + }
@ -88,8 +98,10 @@ index cd99801ff..a0c86d0e0 100644
+ public boolean getAffectsSpawning() { + public boolean getAffectsSpawning() {
+ return this.getHandle().affectsSpawning; + return this.getHandle().affectsSpawning;
} }
+ // Paper end
// Spigot start // Spigot start
private final Player.Spigot spigot = new Player.Spigot()
-- --
2.18.0 2.18.0

View File

@ -1,15 +1,15 @@
From f468cbcfc4e7e05e67215e55bb021f4fb1ef1007 Mon Sep 17 00:00:00 2001 From 7bff1557c12e7c7c67a4901f488a7ff95605603e Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net> From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 15:08:03 -0600 Date: Tue, 1 Mar 2016 15:08:03 -0600
Subject: [PATCH] Remove invalid mob spawner tile entities 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 diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index ca5a42377..50113c303 100644 index 3b97981bc..36ea4ad47 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -759,6 +759,10 @@ public class Chunk { @@ -777,6 +777,10 @@ public class Chunk implements IChunkAccess {
tileentity.A(); tileentity.z();
this.tileEntities.put(blockposition, tileentity); this.tileEntities.put(blockposition, tileentity);
// CraftBukkit start // CraftBukkit start
+ // Paper start - Remove invalid mob spawner tile entities + // Paper start - Remove invalid mob spawner tile entities
@ -18,7 +18,7 @@ index ca5a42377..50113c303 100644
+ // Paper end + // Paper end
} else { } else {
System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ() System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ()
+ " (" + org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(getBlockData(blockposition).getBlock()) + ") where there was no entity tile!"); + " (" + getType(blockposition) + ") where there was no entity tile!");
-- --
2.18.0 2.18.0

View File

@ -0,0 +1,139 @@
From b7e91c371fc4c629af5440e38cd70bfd2a59b293 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 22:01:19 -0600
Subject: [PATCH] Optimize TileEntity Ticking
diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java
index de06bd59a..9b54cbfdc 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;
import org.bukkit.entity.HumanEntity;
// CraftBukkit end
-public class TileEntityChest extends TileEntityLootable implements ITickable {
+public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITickable
private NonNullList<ItemStack> items;
protected float a;
@@ -113,9 +113,15 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
int k = this.position.getZ();
++this.k;
+ // Paper start
+ }
+ private void doOpenLogic() {
float f;
-
- if (!this.world.isClientSide && this.f != 0 && (this.k + i + j + k) % 200 == 0) {
+ int i = this.position.getX();
+ int j = this.position.getY();
+ int k = this.position.getZ();
+ if (!this.world.isClientSide && this.f != 0 /*&& (this.k + i + j + k) % 200 == 0*/) { // Paper - comment out tick rate limiter
+ // 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)));
@@ -134,11 +140,14 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
}
}
- this.e = this.a;
- f = 0.1F;
if (this.f > 0 && this.a == 0.0F) {
this.a(SoundEffects.BLOCK_CHEST_OPEN);
}
+ // Paper start
+ }
+ private void doCloseLogic() {
+ this.e = this.a;
+ // Paper end
if (this.f == 0 && this.a > 0.0F || this.f > 0 && this.a < 1.0F) {
float f1 = this.a;
@@ -203,6 +212,7 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
++this.f;
if (this.world == null) return; // CraftBukkit
+ doOpenLogic(); // Paper
// CraftBukkit start - Call redstone event
if (this.getBlock() == Blocks.TRAPPED_CHEST) {
@@ -224,6 +234,7 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
--this.f;
// CraftBukkit start - Call redstone event
+ doCloseLogic(); // Paper
if (this.getBlock() == Blocks.TRAPPED_CHEST) {
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 f275fd1c3..7d7628b04 100644
--- a/src/main/java/net/minecraft/server/TileEntityEnderChest.java
+++ b/src/main/java/net/minecraft/server/TileEntityEnderChest.java
@@ -1,6 +1,6 @@
package net.minecraft.server;
-public class TileEntityEnderChest extends TileEntity implements ITickable {
+public class TileEntityEnderChest extends TileEntity { // Paper - Remove ITickable
public float a;
public float e;
@@ -17,19 +17,37 @@ public class TileEntityEnderChest extends TileEntity implements ITickable {
}
this.e = this.a;
+ // Paper start
+ /*
int i = this.position.getX();
int j = this.position.getY();
int k = this.position.getZ();
float f = 0.1F;
double d0;
-
+ */
+ // Paper start
+ }
+ private void doOpenLogic() {
+ int i = this.position.getX();
+ int j = this.position.getY();
+ int k = this.position.getZ();
+ double d0;
+ // Paper end
if (this.f > 0 && this.a == 0.0F) {
double d1 = (double) i + 0.5D;
d0 = (double) k + 0.5D;
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
+ }
+ private void doCloseLogic() {
+ int i = this.position.getX();
+ int j = this.position.getY();
+ int k = this.position.getZ();
+ this.e = this.a;
+ double d0;
+ // Paper end
if (this.f == 0 && this.a > 0.0F || this.f > 0 && this.a < 1.0F) {
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);
+ doOpenLogic(); // Paper
}
public void d() {
--this.f;
this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.f);
+ doCloseLogic(); // Paper
}
public boolean a(EntityHuman entityhuman) {
--
2.18.0

View File

@ -1,4 +1,4 @@
From 1e6e7ab651008e3a1077dd86e7ff04563ce9cc97 Mon Sep 17 00:00:00 2001 From 3d481b7c47b3781e9ee6bd3badaf44de6eae33df Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 1 Mar 2016 23:09:29 -0600 Date: Tue, 1 Mar 2016 23:09:29 -0600
Subject: [PATCH] Further improve server tick loop 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 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 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 92d480251..47fe9262a 100644 index 4889a82a2..2e691b9f6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -114,16 +114,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs @@ -141,17 +141,13 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
public org.bukkit.command.ConsoleCommandSender console; public org.bukkit.command.ConsoleCommandSender console;
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole; public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
public ConsoleReader reader; public ConsoleReader reader;
@ -24,6 +24,7 @@ index 92d480251..47fe9262a 100644
public final Thread primaryThread; public final Thread primaryThread;
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>(); public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod; public int autosavePeriod;
public File bukkitDataPackFolder;
// CraftBukkit end // CraftBukkit end
// Spigot start // Spigot start
- public static final int TPS = 20; - public static final int TPS = 20;
@ -33,7 +34,7 @@ index 92d480251..47fe9262a 100644
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant(); public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end // Spigot end
@@ -534,12 +530,54 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs @@ -637,12 +633,54 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.isRunning = false; this.isRunning = false;
} }
@ -93,7 +94,7 @@ index 92d480251..47fe9262a 100644
public void run() { public void run() {
try { try {
@@ -553,24 +591,41 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs @@ -654,24 +692,41 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
// Spigot start // Spigot start
Arrays.fill( recentTps, 20 ); Arrays.fill( recentTps, 20 );
@ -147,10 +148,10 @@ index 92d480251..47fe9262a 100644
} }
lastTick = curTime; lastTick = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 33b40ffc2..bfddd1685 100644 index 28f6cdf96..2055bf7de 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1753,6 +1753,17 @@ public final class CraftServer implements Server { @@ -1849,6 +1849,17 @@ public final class CraftServer implements Server {
return CraftMagicNumbers.INSTANCE; return CraftMagicNumbers.INSTANCE;
} }

View File

@ -1,190 +0,0 @@
From 38c9fb6874ea9a6a93dcb74babdf31dccacb9fde Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 22:01:19 -0600
Subject: [PATCH] Optimize TileEntity Ticking
diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java
index 3b5af473d..631304122 100644
--- a/src/main/java/net/minecraft/server/TileEntityChest.java
+++ b/src/main/java/net/minecraft/server/TileEntityChest.java
@@ -8,17 +8,17 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity;
import org.bukkit.entity.HumanEntity;
// CraftBukkit end
-public class TileEntityChest extends TileEntityLootable implements ITickable {
+public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITickable
private NonNullList<ItemStack> items;
public boolean a;
- public TileEntityChest f;
- public TileEntityChest g;
- public TileEntityChest h;
- public TileEntityChest i;
- public float j;
+ public TileEntityChest f; // Paper - Adjacent Chest Z Neg
+ public TileEntityChest g; // Paper - Adjacent Chest X Pos
+ public TileEntityChest h; // Paper - Adjacent Chest X Neg
+ public TileEntityChest i; // Paper - Adjacent Chest Z Pos
+ public float j; // Paper - lid angle
public float k;
- public int l;
+ public int l; // Paper - Number of viewers
private int q;
private BlockChest.Type r;
@@ -190,6 +190,8 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
}
public void e() {
+ // Paper - Disable all of this, just in case this does get ticked
+ /*
this.o();
int i = this.position.getX();
int j = this.position.getY();
@@ -270,7 +272,8 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
this.j = 0.0F;
}
}
-
+ */
+ // Paper end
}
public boolean c(int i, int j) {
@@ -290,6 +293,28 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
int oldPower = Math.max(0, Math.min(15, this.l)); // CraftBukkit - Get power before new viewer is added
++this.l;
+
+ // Paper start - Move chest open sound out of the tick loop
+ this.o();
+
+ if (this.l > 0 && this.j == 0.0F && this.f == null && this.h == null) {
+ this.j = 0.7F;
+
+ double d0 = (double) this.position.getZ() + 0.5D;
+ double d1 = (double) this.position.getX() + 0.5D;
+
+ if (this.i != null) {
+ d0 += 0.5D;
+ }
+
+ if (this.g != null) {
+ d1 += 0.5D;
+ }
+
+ this.world.a((EntityHuman) null, d1, (double) this.position.getY() + 0.5D, d0, SoundEffects.ac, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
+ }
+ // Paper end
+
if (this.world == null) return; // CraftBukkit
this.world.playBlockAction(this.position, this.getBlock(), 1, this.l);
@@ -314,6 +339,34 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
if (!entityhuman.isSpectator() && this.getBlock() instanceof BlockChest) {
int oldPower = Math.max(0, Math.min(15, this.l)); // CraftBukkit - Get power before new viewer is added
--this.l;
+
+ // Paper start - Move chest close sound out of the tick loop
+ if (this.l == 0 && this.j > 0.0F || this.l > 0 && this.j < 1.0F) {
+ float f = 0.1F;
+
+ if (this.l > 0) {
+ this.j += f;
+ } else {
+ this.j -= f;
+ }
+
+ double d0 = (double) this.getPosition().getX() + 0.5D;
+ double d2 = (double) this.getPosition().getZ() + 0.5D;
+ int yLoc = this.position.getY();
+
+ if (this.i != null) {
+ d2 += 0.5D;
+ }
+
+ if (this.g != null) {
+ d0 += 0.5D;
+ }
+
+ this.world.a((EntityHuman) null, d0, (double) yLoc + 0.5D, d2, SoundEffects.aa, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
+ this.j = 0.0F;
+ }
+ // Paper end
+
this.world.playBlockAction(this.position, this.getBlock(), 1, this.l);
this.world.applyPhysics(this.position, this.getBlock(), false);
diff --git a/src/main/java/net/minecraft/server/TileEntityEnderChest.java b/src/main/java/net/minecraft/server/TileEntityEnderChest.java
index 31585757b..1c1741c56 100644
--- a/src/main/java/net/minecraft/server/TileEntityEnderChest.java
+++ b/src/main/java/net/minecraft/server/TileEntityEnderChest.java
@@ -1,15 +1,17 @@
package net.minecraft.server;
-public class TileEntityEnderChest extends TileEntity implements ITickable {
+public class TileEntityEnderChest extends TileEntity { // Paper - Remove ITickable
- public float a;
+ public float a; // Paper - lid angle
public float f;
- public int g;
+ public int g; // Paper - Number of viewers
private int h;
public TileEntityEnderChest() {}
public void e() {
+ // Paper start - Disable all of this, just in case this does get ticked
+ /*
if (++this.h % 20 * 4 == 0) {
this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.g);
}
@@ -54,6 +56,8 @@ public class TileEntityEnderChest extends TileEntity implements ITickable {
this.a = 0.0F;
}
}
+ */
+ // Paper end
}
@@ -73,11 +77,34 @@ public class TileEntityEnderChest extends TileEntity implements ITickable {
public void a() {
++this.g;
+
+ // Paper start - Move enderchest open sounds out of the tick loop
+ if (this.g > 0 && this.a == 0.0F) {
+ this.a = 0.7F;
+
+ double d1 = (double) this.getPosition().getX() + 0.5D;
+ double d0 = (double) this.getPosition().getZ() + 0.5D;
+
+ this.world.a((EntityHuman) null, d1, (double) this.getPosition().getY() + 0.5D, d0, SoundEffects.aT, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
+ }
+ // Paper end
+
this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.g);
}
public void f() {
--this.g;
+
+ // Paper start - Move enderchest close sounds out of the tick loop
+ if (this.g == 0 && this.a > 0.0F || this.g > 0 && this.a < 1.0F) {
+ double d0 = (double) this.getPosition().getX() + 0.5D;
+ double d2 = (double) this.getPosition().getZ() + 0.5D;
+
+ this.world.a((EntityHuman) null, d0, (double) this.getPosition().getY() + 0.5D, d2, SoundEffects.aS, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
+ this.a = 0.0F;
+ }
+ // Paper end
+
this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.g);
}
--
2.18.0

View File

@ -1,14 +1,14 @@
From ab130b09cf07883b904852ed5d8cc5b791e13772 Mon Sep 17 00:00:00 2001 From 87f57e185916a66a14dec3bb7ec0c33f24a45bc9 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 23:12:03 -0600 Date: Tue, 1 Mar 2016 23:12:03 -0600
Subject: [PATCH] Only refresh abilities if needed Subject: [PATCH] Only refresh abilities if needed
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index a0c86d0e0..e3ad45aa8 100644 index c67137a80..79223dfa6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1240,12 +1240,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1285,12 +1285,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override @Override
public void setFlying(boolean value) { public void setFlying(boolean value) {

View File

@ -1,14 +1,14 @@
From c3014cb73ff60881596d4127dfbc32e58a3e07a2 Mon Sep 17 00:00:00 2001 From cfeda276a4e161703f02b62d97e39a1ddd65193f Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com> From: Zach Brown <zach.brown@destroystokyo.com>
Date: Tue, 1 Mar 2016 23:19:01 -0600 Date: Tue, 1 Mar 2016 23:19:01 -0600
Subject: [PATCH] Add async chunk load API Subject: [PATCH] Add async chunk load API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index ef8165da4..01fc193db 100644 index 0b2a9d09d..4df849eef 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -134,6 +134,26 @@ public class CraftWorld implements World { @@ -133,6 +133,26 @@ public class CraftWorld implements World {
} }
} }

View File

@ -1,14 +1,14 @@
From eb34ce2535e4e16447bb108f92ca70742ff00a66 Mon Sep 17 00:00:00 2001 From d97bed2c5c938d245595b74e0cdda94a68a6bc27 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net> From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 23:45:08 -0600 Date: Tue, 1 Mar 2016 23:45:08 -0600
Subject: [PATCH] Entity Origin API 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 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index d358ab26a..011cf59c0 100644 index 12b86ab75..2288df268 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -149,6 +149,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -160,6 +160,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public org.bukkit.projectiles.ProjectileSource projectileSource; // For projectiles only public org.bukkit.projectiles.ProjectileSource projectileSource; // For projectiles only
public boolean forceExplosionKnockback; // SPIGOT-949 public boolean forceExplosionKnockback; // SPIGOT-949
public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper
@ -16,7 +16,7 @@ index d358ab26a..011cf59c0 100644
// Spigot start // Spigot start
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
public final boolean defaultActivationState; public final boolean defaultActivationState;
@@ -1545,6 +1546,11 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -1629,6 +1630,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} }
} }
@ -28,7 +28,7 @@ index d358ab26a..011cf59c0 100644
return nbttagcompound; return nbttagcompound;
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Saving entity NBT"); CrashReport crashreport = CrashReport.a(throwable, "Saving entity NBT");
@@ -1688,6 +1694,13 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -1771,6 +1777,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} }
// CraftBukkit end // CraftBukkit end
@ -42,7 +42,7 @@ index d358ab26a..011cf59c0 100644
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Loading entity NBT"); CrashReport crashreport = CrashReport.a(throwable, "Loading entity NBT");
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being loaded"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being loaded");
@@ -1756,6 +1769,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper @@ -1842,6 +1855,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
protected abstract void b(NBTTagCompound nbttagcompound); protected abstract void b(NBTTagCompound nbttagcompound);
@ -51,10 +51,10 @@ index d358ab26a..011cf59c0 100644
NBTTagList nbttaglist = new NBTTagList(); NBTTagList nbttaglist = new NBTTagList();
double[] adouble1 = adouble; double[] adouble1 = adouble;
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index 2ba5d51a5..abdc2dea9 100644 index 7aa12c3b4..1d4a7b64d 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -267,6 +267,14 @@ public class EntityFallingBlock extends Entity { @@ -249,6 +249,14 @@ public class EntityFallingBlock extends Entity {
this.block = Blocks.SAND.getBlockData(); this.block = Blocks.SAND.getBlockData();
} }
@ -70,7 +70,7 @@ index 2ba5d51a5..abdc2dea9 100644
public void a(boolean flag) { public void a(boolean flag) {
diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
index 0d70dd1d2..bb0904f86 100644 index 5ceb3f206..87f3205f8 100644
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
+++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
@@ -109,6 +109,14 @@ public class EntityTNTPrimed extends Entity { @@ -109,6 +109,14 @@ public class EntityTNTPrimed extends Entity {
@ -89,22 +89,22 @@ index 0d70dd1d2..bb0904f86 100644
@Nullable @Nullable
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
index bc6383669..ca9eb2f3b 100644 index e56d4836d..0bf8d15d7 100644
--- a/src/main/java/net/minecraft/server/NBTTagList.java --- a/src/main/java/net/minecraft/server/NBTTagList.java
+++ b/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java
@@ -153,6 +153,7 @@ public class NBTTagList extends NBTBase { @@ -182,6 +182,7 @@ public class NBTTagList extends NBTList<NBTBase> {
return new int[0]; return new int[0];
} }
+ public final double getDoubleAt(int i) { return this.f(i); } // Paper - OBFHELPER + public final double getDoubleAt(int i) { return this.k(i); } // Paper - OBFHELPER
public double f(int i) { public double k(int i) {
if (i >= 0 && i < this.list.size()) { 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 diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 26d4bd690..31b765dea 100644 index fd64b75ed..3f0b6ac26 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -1071,6 +1071,12 @@ public abstract class World implements IBlockAccess { @@ -940,6 +940,12 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
int j = MathHelper.floor(entity.locZ / 16.0D); int j = MathHelper.floor(entity.locZ / 16.0D);
boolean flag = entity.attachedToPlayer; boolean flag = entity.attachedToPlayer;
@ -118,10 +118,10 @@ index 26d4bd690..31b765dea 100644
flag = true; flag = true;
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 833e3111d..6c23e88a5 100644 index 1e3675e4f..0daa15f1b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -761,4 +761,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -781,4 +781,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return spigot; return spigot;
} }
// Spigot end // Spigot end

View File

@ -1,32 +1,32 @@
From a949306e1efe3b5ba7ae41b9ea584778b59a5265 Mon Sep 17 00:00:00 2001 From c25380700dff93018c14a133e3b1ab252516d495 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Tue, 1 Mar 2016 23:52:34 -0600 Date: Tue, 1 Mar 2016 23:52:34 -0600
Subject: [PATCH] Prevent tile entity and entity crashes Subject: [PATCH] Prevent tile entity and entity crashes
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index 15f18ba1d..33e245e4c 100644 index 5b7f6ca84..8cab71c0e 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java --- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -196,7 +196,12 @@ public abstract class TileEntity implements KeyedObject { @@ -175,7 +175,12 @@ public abstract class TileEntity implements KeyedObject {
} return TileEntityTypes.a.b(this.C()) + " // " + this.getClass().getCanonicalName();
}); });
if (this.world != null) { if (this.world != null) {
- CrashReportSystemDetails.a(crashreportsystemdetails, this.position, this.getBlock(), this.v()); - CrashReportSystemDetails.a(crashreportsystemdetails, this.position, this.getBlock());
+ // Paper start - Prevent TileEntity and Entity crashes + // Paper start - Prevent TileEntity and Entity crashes
+ Block block = this.getBlock(); + IBlockData block = this.getBlock();
+ if (block != null) { + if (block != null) {
+ CrashReportSystemDetails.a(crashreportsystemdetails, this.position, this.getBlock(), this.v()); + CrashReportSystemDetails.a(crashreportsystemdetails, this.position, block);
+ } + }
+ // Paper end + // Paper end
crashreportsystemdetails.a("Actual block type", new CrashReportCallable() { CrashReportSystemDetails.a(crashreportsystemdetails, this.position, this.world.getType(this.position));
public String a() throws Exception { }
int i = Block.getId(TileEntity.this.world.getType(TileEntity.this.position).getBlock()); }
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 31b765dea..fd5f8102a 100644 index 3f0b6ac26..c605d7e52 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -1449,10 +1449,12 @@ public abstract class World implements IBlockAccess { @@ -1166,10 +1166,12 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
entity.tickTimer.stopTiming(); // Paper entity.tickTimer.stopTiming(); // Paper
} catch (Throwable throwable1) { } catch (Throwable throwable1) {
entity.tickTimer.stopTiming(); entity.tickTimer.stopTiming();
@ -43,9 +43,9 @@ index 31b765dea..fd5f8102a 100644
} }
} }
@@ -1515,10 +1517,13 @@ public abstract class World implements IBlockAccess { @@ -1232,10 +1234,13 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
((ITickable) tileentity).e(); ((ITickable) tileentity).X_();
this.methodProfiler.b(); this.methodProfiler.e();
} catch (Throwable throwable2) { } catch (Throwable throwable2) {
- crashreport1 = CrashReport.a(throwable2, "Ticking block entity"); - crashreport1 = CrashReport.a(throwable2, "Ticking block entity");
- crashreportsystemdetails1 = crashreport1.a("Block entity being ticked"); - crashreportsystemdetails1 = crashreport1.a("Block entity being ticked");

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