Initial Paper-API for Bukkit 1.13 Preview 4 - THIS IS NOT SERVER
This branch/commit is only useful to those who purely use a clean Bukkit/Spigot/Paper API and does not use NMS/OBC references. This will let you start updating your plugin to the latest 1.13 builds of Bukkit Preview (4 as of now) Note that this release is not final!!! API breakages may occur! It is up to you if you find use out of this work.
This commit is contained in:
parent
230bf934b5
commit
a8c28e1920
|
@ -1,14 +1,14 @@
|
|||
From 7836876ec5222a072d9d65d965f4edcc0ea8bbe4 Mon Sep 17 00:00:00 2001
|
||||
From 19a0ed42ec75273fa4ccab45bb726f5d1a90c4c2 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 00:16:08 +0100
|
||||
Subject: [PATCH] POM changes
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 7c81917d..4c5bda27 100644
|
||||
index 99ff13b3..cc8fca48 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -3,39 +3,39 @@
|
||||
@@ -3,13 +3,19 @@
|
||||
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>
|
||||
|
||||
|
@ -22,7 +22,7 @@ index 7c81917d..4c5bda27 100644
|
|||
+
|
||||
+ <groupId>com.destroystokyo.paper</groupId>
|
||||
+ <artifactId>paper-api</artifactId>
|
||||
<version>1.12.2-R0.1-SNAPSHOT</version>
|
||||
<version>1.13-pre5-R0.1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
- <name>Spigot-API</name>
|
||||
|
@ -32,13 +32,7 @@ index 7c81917d..4c5bda27 100644
|
|||
<description>An enhanced plugin API for Minecraft servers.</description>
|
||||
|
||||
<properties>
|
||||
- <maven.compiler.source>1.7</maven.compiler.source>
|
||||
- <maven.compiler.target>1.7</maven.compiler.target>
|
||||
+ <!-- Paper - Bump to 1.8 - Get off your dinosaur and get on this rocket ship... -->
|
||||
+ <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>
|
||||
@@ -20,12 +26,12 @@
|
||||
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
|
@ -55,35 +49,18 @@ index 7c81917d..4c5bda27 100644
|
|||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
|
||||
- <repositories>
|
||||
- <repository>
|
||||
- <id>spigotmc-public</id>
|
||||
- <url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
|
||||
- </repository>
|
||||
- </repositories>
|
||||
-
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
@@ -34,6 +40,10 @@
|
||||
<id>spigotmc-public</id>
|
||||
@@ -43,6 +43,17 @@
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
|
||||
+ <repositories>
|
||||
+ <repository>
|
||||
+ <id>spigotmc-public</id>
|
||||
+ <url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
|
||||
+ </repository>
|
||||
<url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
|
||||
</repository>
|
||||
+ <repository>
|
||||
+ <id>sonatype</id>
|
||||
+ <url>https://oss.sonatype.org/content/groups/public/</url>
|
||||
+ </repository>
|
||||
+ </repositories>
|
||||
+
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>commons-lang</groupId>
|
||||
@@ -56,6 +67,13 @@
|
||||
</repositories>
|
||||
|
||||
<pluginRepositories>
|
||||
@@ -56,6 +66,13 @@
|
||||
<version>1.1.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
@ -97,7 +74,7 @@ index 7c81917d..4c5bda27 100644
|
|||
<!-- bundled with Minecraft, should be kept in sync -->
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
@@ -100,15 +118,12 @@
|
||||
@@ -100,15 +117,12 @@
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
@ -114,7 +91,7 @@ index 7c81917d..4c5bda27 100644
|
|||
<dependencies>
|
||||
<!-- we need our custom version as it fixes some bugs on case sensitive file systems -->
|
||||
<dependency>
|
||||
@@ -131,6 +146,7 @@
|
||||
@@ -131,40 +145,11 @@
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
|
@ -122,10 +99,10 @@ index 7c81917d..4c5bda27 100644
|
|||
<!-- when downloading via Maven we can pull depends individually -->
|
||||
<shadedArtifactAttached>true</shadedArtifactAttached>
|
||||
</configuration>
|
||||
@@ -138,33 +154,4 @@
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
-
|
||||
- <profiles>
|
||||
- <profile>
|
||||
- <id>development</id>
|
||||
|
@ -146,7 +123,7 @@ index 7c81917d..4c5bda27 100644
|
|||
- <configuration>
|
||||
- <signature>
|
||||
- <groupId>org.codehaus.mojo.signature</groupId>
|
||||
- <artifactId>java17</artifactId>
|
||||
- <artifactId>java18</artifactId>
|
||||
- <version>1.0</version>
|
||||
- </signature>
|
||||
- </configuration>
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
From f428f0343bf4b0aa2c42fa1755d9523eaec91d3b Mon Sep 17 00:00:00 2001
|
||||
From 36435f971c6a8da00ae28e14aae77a018dcda0b3 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 1 Apr 2016 00:02:47 -0400
|
||||
Subject: [PATCH] add Trove and FastUtil to Bukkit
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 4220760f..623d9eae 100644
|
||||
index cc8fca48..f5e8d49d 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -55,6 +55,19 @@
|
||||
</repositories>
|
||||
@@ -54,6 +54,19 @@
|
||||
</pluginRepositories>
|
||||
|
||||
<dependencies>
|
||||
+ <dependency>
|
||||
|
@ -29,5 +29,5 @@ index 4220760f..623d9eae 100644
|
|||
<groupId>commons-lang</groupId>
|
||||
<artifactId>commons-lang</artifactId>
|
||||
--
|
||||
2.16.2
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 0644771327501a754ae14c834e50fc97f6417085 Mon Sep 17 00:00:00 2001
|
||||
From 53fb6f06b531517937c55be04dc33916403c6c5c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 29 Feb 2016 18:48:17 -0600
|
||||
Subject: [PATCH] Timings v2
|
||||
|
@ -3004,10 +3004,10 @@ index 00000000..df592d85
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index eb6b7976..a9081ddb 100644
|
||||
index 0f42a66a..68b5e1c9 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -523,7 +523,6 @@ public final class Bukkit {
|
||||
@@ -525,7 +525,6 @@ public final class Bukkit {
|
||||
*/
|
||||
public static void reload() {
|
||||
server.reload();
|
||||
|
@ -3016,10 +3016,10 @@ index eb6b7976..a9081ddb 100644
|
|||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 83b66361..bc3211f9 100644
|
||||
index 9c3eeaa9..331bb061 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -945,12 +945,27 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -1008,12 +1008,27 @@ public interface Server extends PluginMessageRecipient {
|
||||
// Spigot start
|
||||
public class Spigot
|
||||
{
|
||||
|
@ -3529,10 +3529,10 @@ index bba914d7..00000000
|
|||
- // Spigot end
|
||||
-}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 965f4207..2c7a17df 100644
|
||||
index 86eca9e1..116a1e7a 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1543,6 +1543,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1541,6 +1541,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) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
@ -3651,7 +3651,7 @@ index 80c6a72e..759c4617 100644
|
|||
eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));
|
||||
} else {
|
||||
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
index e43db9da..ca9c7796 100644
|
||||
index a9fc08e0..9f8537d8 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
@@ -23,7 +23,8 @@ import org.bukkit.plugin.PluginDescriptionFile;
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 257154fddcfc4106bb12364b1f54b18f09beb062 Mon Sep 17 00:00:00 2001
|
||||
From a42df28f550f5777aad4f7568704cd1751edbe0a Mon Sep 17 00:00:00 2001
|
||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||
Date: Mon, 29 Feb 2016 17:22:34 -0600
|
||||
Subject: [PATCH] Player affects spawning API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 2c7a17df..313dde80 100644
|
||||
index 116a1e7a..0481f15b 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1438,6 +1438,20 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1436,6 +1436,20 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
*/
|
||||
public String getLocale();
|
||||
|
||||
|
@ -30,5 +30,5 @@ index 2c7a17df..313dde80 100644
|
|||
public class Spigot extends Entity.Spigot
|
||||
{
|
||||
--
|
||||
2.15.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From e3a0f7d9dce7c912c7a5b69d89673d404670c712 Mon Sep 17 00:00:00 2001
|
||||
From ff3b42f8a992f43e1a65e70f750f489168d633bd Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 29 Feb 2016 17:24:57 -0600
|
||||
Subject: [PATCH] Add getTPS method
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index e1898343..4f094f7b 100644
|
||||
index 68b5e1c9..f3252e20 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -1125,6 +1125,16 @@ public final class Bukkit {
|
||||
@@ -1127,6 +1127,16 @@ public final class Bukkit {
|
||||
return server.getEntity(uuid);
|
||||
}
|
||||
|
||||
|
@ -26,10 +26,10 @@ index e1898343..4f094f7b 100644
|
|||
* Get the advancement specified by this key.
|
||||
*
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 30b99241..a503bb49 100644
|
||||
index 331bb061..eb98c600 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -919,6 +919,15 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -921,6 +921,15 @@ public interface Server extends PluginMessageRecipient {
|
||||
*/
|
||||
Entity getEntity(UUID uuid);
|
||||
|
||||
|
@ -46,5 +46,5 @@ index 30b99241..a503bb49 100644
|
|||
* Get the advancement specified by this key.
|
||||
*
|
||||
--
|
||||
2.11.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 8707e3ae8555862ee88d25e9fc066c243ddfe919 Mon Sep 17 00:00:00 2001
|
||||
From 2ad2461cb05bc1fa8091df72d18dc4c6bc7e363e Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 29 Feb 2016 17:43:33 -0600
|
||||
Subject: [PATCH] Add async chunk load API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 9b6eb48f..561ef0e1 100644
|
||||
index 33b14a07..22ab4633 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -136,6 +136,78 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -107,6 +107,78 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
*/
|
||||
public Chunk getChunkAt(Block block);
|
||||
|
||||
|
@ -88,5 +88,5 @@ index 9b6eb48f..561ef0e1 100644
|
|||
* Checks if the specified {@link Chunk} is loaded
|
||||
*
|
||||
--
|
||||
2.16.2
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
From 31343663dd75e733ce5d1112dabc76dae04f3ec1 Mon Sep 17 00:00:00 2001
|
||||
From 2964c90dcc4e0304b7c77475523c9a7eab2ea98b Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Mon, 29 Feb 2016 17:50:31 -0600
|
||||
Subject: [PATCH] Entity Origin API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
||||
index 219ec25f..69fbdb3c 100644
|
||||
index 28b169d2..9b0f97f1 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||
@@ -497,4 +497,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable {
|
||||
|
@ -25,10 +25,10 @@ index 219ec25f..69fbdb3c 100644
|
|||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/entity/FallingBlock.java b/src/main/java/org/bukkit/entity/FallingBlock.java
|
||||
index bc56fa22..ad2cd13e 100644
|
||||
index 0b5c062f..48d6c951 100644
|
||||
--- a/src/main/java/org/bukkit/entity/FallingBlock.java
|
||||
+++ b/src/main/java/org/bukkit/entity/FallingBlock.java
|
||||
@@ -59,4 +59,15 @@ public interface FallingBlock extends Entity {
|
||||
@@ -50,4 +50,15 @@ public interface FallingBlock extends Entity {
|
||||
* @param hurtEntities whether entities will be damaged by this block.
|
||||
*/
|
||||
void setHurtEntities(boolean hurtEntities);
|
||||
|
@ -65,5 +65,5 @@ index fcd0a9b2..2abef57c 100644
|
|||
+ }
|
||||
}
|
||||
--
|
||||
2.14.3
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 7c0c42257e29ed95c6de268ff1c754d7b233c844 Mon Sep 17 00:00:00 2001
|
||||
From 94631204e639719102979cff8ef0d8445543d40c Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Mon, 29 Feb 2016 18:05:37 -0600
|
||||
Subject: [PATCH] Add player view distance API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 313dde80..5a02b2e8 100644
|
||||
index 0481f15b..868d0374 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1452,6 +1452,20 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1450,6 +1450,20 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
*/
|
||||
public void setAffectsSpawning(boolean affects);
|
||||
|
||||
|
@ -30,5 +30,5 @@ index 313dde80..5a02b2e8 100644
|
|||
public class Spigot extends Entity.Spigot
|
||||
{
|
||||
--
|
||||
2.15.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From ee9faa9162c7b9f27b5b1072e016c288f54f8e6a Mon Sep 17 00:00:00 2001
|
||||
From 4c420ccc71dd397e1a2de5a060165442d05a2a94 Mon Sep 17 00:00:00 2001
|
||||
From: kashike <kashike@vq.lc>
|
||||
Date: Mon, 29 Feb 2016 19:48:59 -0600
|
||||
Subject: [PATCH] Expose server CommandMap
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 89135b86..94ec8189 100644
|
||||
index f3252e20..a291ebd6 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -17,10 +17,7 @@ import org.bukkit.boss.BarColor;
|
||||
@@ -19,10 +19,7 @@ import org.bukkit.boss.BarColor;
|
||||
import org.bukkit.boss.BarFlag;
|
||||
import org.bukkit.boss.BarStyle;
|
||||
import org.bukkit.boss.BossBar;
|
||||
|
@ -20,7 +20,7 @@ index 89135b86..94ec8189 100644
|
|||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
@@ -1164,6 +1161,17 @@ public final class Bukkit {
|
||||
@@ -1237,6 +1234,17 @@ public final class Bukkit {
|
||||
return server.getUnsafe();
|
||||
}
|
||||
|
||||
|
@ -39,10 +39,10 @@ index 89135b86..94ec8189 100644
|
|||
{
|
||||
return server.spigot();
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index c81c073d..63624ff6 100644
|
||||
index eb98c600..2b43ac1f 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -17,10 +17,7 @@ import org.bukkit.boss.BarColor;
|
||||
@@ -19,10 +19,7 @@ import org.bukkit.boss.BarColor;
|
||||
import org.bukkit.boss.BarFlag;
|
||||
import org.bukkit.boss.BarStyle;
|
||||
import org.bukkit.boss.BossBar;
|
||||
|
@ -54,7 +54,7 @@ index c81c073d..63624ff6 100644
|
|||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
@@ -928,6 +925,14 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -930,6 +927,14 @@ public interface Server extends PluginMessageRecipient {
|
||||
public double[] getTPS();
|
||||
// Paper end
|
||||
|
||||
|
@ -70,5 +70,5 @@ index c81c073d..63624ff6 100644
|
|||
* Get the advancement specified by this key.
|
||||
*
|
||||
--
|
||||
2.13.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 9dd9b637954219c83778c62a4b4eb58dc8e05ae6 Mon Sep 17 00:00:00 2001
|
||||
From dacfc488e4c39d47f1abd93ced7ec81d92909d38 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Mon, 29 Feb 2016 19:54:32 -0600
|
||||
Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses
|
|||
Change Javadoc to be accurate
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 39523ea7..73157ff9 100644
|
||||
index a291ebd6..0844862c 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -278,6 +278,26 @@ public final class Bukkit {
|
||||
@@ -280,6 +280,26 @@ public final class Bukkit {
|
||||
return server.broadcastMessage(message);
|
||||
}
|
||||
|
||||
|
@ -37,10 +37,10 @@ index 39523ea7..73157ff9 100644
|
|||
* Gets the name of the update folder. The update folder is used to safely
|
||||
* update plugins at the right moment on a plugin load.
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 28ea20ef..18549ce0 100644
|
||||
index 2b43ac1f..d8ce8173 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -226,6 +226,26 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -228,6 +228,26 @@ public interface Server extends PluginMessageRecipient {
|
||||
*/
|
||||
public int broadcastMessage(String message);
|
||||
|
||||
|
@ -68,10 +68,10 @@ index 28ea20ef..18549ce0 100644
|
|||
* Gets the name of the update folder. The update folder is used to safely
|
||||
* update plugins at the right moment on a plugin load.
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 5a02b2e8..52e11da5 100644
|
||||
index 868d0374..c2977dc4 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -394,6 +394,36 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -392,6 +392,36 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
*/
|
||||
public void sendMap(MapView map);
|
||||
|
||||
|
@ -109,5 +109,5 @@ index 5a02b2e8..52e11da5 100644
|
|||
* Forces an update of the player's entire inventory.
|
||||
*
|
||||
--
|
||||
2.15.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From e73a0072c224fe5f288fc7e8fdc11945c339e1cd Mon Sep 17 00:00:00 2001
|
||||
From f92adf1fcee4fba200652a7cc9fea03897c26bb4 Mon Sep 17 00:00:00 2001
|
||||
From: Techcable <Techcable@outlook.com>
|
||||
Date: Mon, 29 Feb 2016 20:02:40 -0600
|
||||
Subject: [PATCH] Player Tab List and Title APIs
|
||||
|
@ -369,7 +369,7 @@ index 00000000..3c2b63db
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 52e11da5..1a172aa1 100644
|
||||
index c2977dc4..5dbec412 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -2,6 +2,7 @@ package org.bukkit.entity;
|
||||
|
@ -380,7 +380,7 @@ index 52e11da5..1a172aa1 100644
|
|||
import org.bukkit.Achievement;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Effect;
|
||||
@@ -422,6 +423,116 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -420,6 +421,116 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
|
||||
spigot().sendMessage(position, components);
|
||||
}
|
||||
|
@ -498,5 +498,5 @@ index 52e11da5..1a172aa1 100644
|
|||
|
||||
/**
|
||||
--
|
||||
2.15.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From dde946c97f9cdee15d021fbc985506491d8970e2 Mon Sep 17 00:00:00 2001
|
||||
From 59307ee0a977ee3d99fd9e44acb1bd3e5b040fc4 Mon Sep 17 00:00:00 2001
|
||||
From: kashike <kashike@vq.lc>
|
||||
Date: Tue, 8 Mar 2016 13:05:59 -0800
|
||||
Subject: [PATCH] Add BaseComponent sendMessage methods to CommandSender
|
||||
|
@ -40,10 +40,10 @@ index abf68a2c..fcb03b83 100644
|
|||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 1a172aa1..32b495fd 100644
|
||||
index 5dbec412..5955b20c 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -401,6 +401,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -399,6 +399,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
*
|
||||
* @param component the components to send
|
||||
*/
|
||||
|
@ -51,7 +51,7 @@ index 1a172aa1..32b495fd 100644
|
|||
public default void sendMessage(net.md_5.bungee.api.chat.BaseComponent component) {
|
||||
spigot().sendMessage(component);
|
||||
}
|
||||
@@ -410,6 +411,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -408,6 +409,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
*
|
||||
* @param components the components to send
|
||||
*/
|
||||
|
@ -60,5 +60,5 @@ index 1a172aa1..32b495fd 100644
|
|||
spigot().sendMessage(components);
|
||||
}
|
||||
--
|
||||
2.15.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From bb7bbe6c985fed6e6923c89acf68ded7fa53ba93 Mon Sep 17 00:00:00 2001
|
||||
From 38ccae5eed9ac184d71461d0b9fce2b7659bb80e Mon Sep 17 00:00:00 2001
|
||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||
Date: Sat, 4 Apr 2015 22:59:54 -0400
|
||||
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
|
||||
index 32b495fd..5ca1a7b2 100644
|
||||
index 5955b20c..f1876a05 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1208,7 +1208,9 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1206,7 +1206,9 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
* @throws IllegalArgumentException Thrown if the URL is null.
|
||||
* @throws IllegalArgumentException Thrown if the URL is too long. The
|
||||
* length restriction is an implementation specific arbitrary value.
|
||||
|
@ -18,7 +18,7 @@ index 32b495fd..5ca1a7b2 100644
|
|||
public void setResourcePack(String url);
|
||||
|
||||
/**
|
||||
@@ -1609,6 +1611,57 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1607,6 +1609,57 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
*/
|
||||
public void setViewDistance(int viewDistance);
|
||||
|
||||
|
@ -110,5 +110,5 @@ index 4c498016..4c838519 100644
|
|||
* Gets the status of this pack.
|
||||
*
|
||||
--
|
||||
2.15.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 15b5224e92a45ca15a6e5d34f97734922e539b92 Mon Sep 17 00:00:00 2001
|
||||
From e3d8a0f30c3e83f2308268ca6221478f46a82008 Mon Sep 17 00:00:00 2001
|
||||
From: Techcable <Techcable@outlook.com>
|
||||
Date: Thu, 3 Mar 2016 13:20:33 -0700
|
||||
Subject: [PATCH] Use ASM for event executors.
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Use ASM for event executors.
|
|||
Uses method handles for private or static methods.
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 8d4032e2..21a4a8be 100644
|
||||
index f5e8d49d..dfc6c9b5 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -128,6 +128,17 @@
|
||||
@@ -127,6 +127,17 @@
|
||||
<version>1.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
@ -427,5 +427,5 @@ index d8b9c244..40fd71dc 100644
|
|||
eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));
|
||||
} else {
|
||||
--
|
||||
2.17.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2abc7e46c1a919472d96956f54c2a7fed3a64452 Mon Sep 17 00:00:00 2001
|
||||
From 82464080bcceeb115e6255fdf6054bd6a1c42ed8 Mon Sep 17 00:00:00 2001
|
||||
From: William <admin@domnian.com>
|
||||
Date: Fri, 18 Mar 2016 03:28:07 -0400
|
||||
Subject: [PATCH] Add command to reload permissions.yml and require confirm to
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to
|
|||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 73157ff9..fd423664 100644
|
||||
index 0844862c..bce4ba1b 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -1190,6 +1190,13 @@ public final class Bukkit {
|
||||
@@ -1263,6 +1263,13 @@ public final class Bukkit {
|
||||
public static CommandMap getCommandMap() {
|
||||
return server.getCommandMap();
|
||||
}
|
||||
|
@ -24,10 +24,10 @@ index 73157ff9..fd423664 100644
|
|||
|
||||
public static Server.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 18549ce0..032d6211 100644
|
||||
index d8ce8173..55f4479d 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -1028,4 +1028,6 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -1091,4 +1091,6 @@ public interface Server extends PluginMessageRecipient {
|
||||
|
||||
Spigot spigot();
|
||||
// Spigot end
|
||||
|
@ -105,5 +105,5 @@ index b88f31ca..bd0588a2 100644
|
|||
+
|
||||
}
|
||||
--
|
||||
2.14.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
From 261076ee6c8f78815af83409d38da123ad3073c3 Mon Sep 17 00:00:00 2001
|
||||
From f80aa26f12eced5a3b9c74ef82fa4696dab218de Mon Sep 17 00:00:00 2001
|
||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||
Date: Sun, 20 Mar 2016 06:44:49 -0400
|
||||
Subject: [PATCH] Access items by EquipmentSlot
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/inventory/PlayerInventory.java b/src/main/java/org/bukkit/inventory/PlayerInventory.java
|
||||
index 557cc04..799f150 100644
|
||||
index 5d75bd49..ddded787 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/PlayerInventory.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/PlayerInventory.java
|
||||
@@ -211,4 +211,22 @@ public interface PlayerInventory extends Inventory {
|
||||
public int clear(int id, int data);
|
||||
@@ -198,4 +198,22 @@ public interface PlayerInventory extends Inventory {
|
||||
public void setHeldItemSlot(int slot);
|
||||
|
||||
public HumanEntity getHolder();
|
||||
+
|
||||
|
@ -32,5 +32,5 @@ index 557cc04..799f150 100644
|
|||
+ // Paper end
|
||||
}
|
||||
--
|
||||
2.9.2.windows.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 4596b1efcb3648ea18ebf94eb07b49ee90c734e1 Mon Sep 17 00:00:00 2001
|
||||
From a26f4d70297afac3b04e84ed6ad1b2b1c97558ef Mon Sep 17 00:00:00 2001
|
||||
From: willies952002 <admin@domnian.com>
|
||||
Date: Mon, 28 Nov 2016 10:16:39 -0500
|
||||
Subject: [PATCH] Allow Reloading of Command Aliases
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases
|
|||
Reload the aliases stored in commands.yml
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index fd423664..5431b17b 100644
|
||||
index bce4ba1b..70495c15 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -1197,6 +1197,15 @@ public final class Bukkit {
|
||||
@@ -1270,6 +1270,15 @@ public final class Bukkit {
|
||||
public static void reloadPermissions() {
|
||||
server.reloadPermissions();
|
||||
}
|
||||
|
@ -26,10 +26,10 @@ index fd423664..5431b17b 100644
|
|||
|
||||
public static Server.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 032d6211..83b370e5 100644
|
||||
index 55f4479d..cfc39dbe 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -1030,4 +1030,6 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -1093,4 +1093,6 @@ public interface Server extends PluginMessageRecipient {
|
||||
// Spigot end
|
||||
|
||||
void reloadPermissions(); // Paper
|
||||
|
@ -97,5 +97,5 @@ index f331a442..a977045d 100644
|
|||
confirmed = true;
|
||||
} else {
|
||||
--
|
||||
2.17.0 (Apple Git-106)
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From 2f60a21de6c259e424793e74209695f7e036852c Mon Sep 17 00:00:00 2001
|
||||
From e859235a5d23ac1232b75122a23aa4dc605a3d1c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 20 Dec 2016 15:55:55 -0500
|
||||
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
|
||||
index 5ca1a7b2..4478d84d 100644
|
||||
index f1876a05..d06f26b9 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -396,6 +396,26 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -394,6 +394,26 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
public void sendMap(MapView map);
|
||||
|
||||
// Paper start
|
||||
|
@ -35,7 +35,7 @@ index 5ca1a7b2..4478d84d 100644
|
|||
/**
|
||||
* Sends the component to the player
|
||||
*
|
||||
@@ -419,9 +439,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -417,9 +437,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
|
||||
*
|
||||
|
@ -47,7 +47,7 @@ index 5ca1a7b2..4478d84d 100644
|
|||
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
|
||||
spigot().sendMessage(position, components);
|
||||
}
|
||||
@@ -1751,9 +1773,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1749,9 +1771,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
/**
|
||||
* Sends the component to the specified screen position of this player
|
||||
*
|
||||
|
@ -59,7 +59,7 @@ index 5ca1a7b2..4478d84d 100644
|
|||
public void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent component) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
@@ -1761,9 +1785,11 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1759,9 +1783,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
|
||||
*
|
||||
|
@ -72,5 +72,5 @@ index 5ca1a7b2..4478d84d 100644
|
|||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
--
|
||||
2.15.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 47bfe6afa93cf0a7068911d1789256f8f7159f5c Mon Sep 17 00:00:00 2001
|
||||
From 22068d059027d02e6931f229dfa65987ca73871f Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 7 Jan 2017 15:23:03 -0500
|
||||
Subject: [PATCH] Provide E/TE/Chunk count stat methods
|
||||
|
@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size()
|
|||
which creates copy of the collections.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 56f5029..12146dd 100644
|
||||
index 22ab4633..65156e80 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -24,6 +24,33 @@ import org.bukkit.util.Vector;
|
||||
@@ -25,6 +25,33 @@ import org.bukkit.util.Vector;
|
||||
*/
|
||||
public interface World extends PluginMessageRecipient, Metadatable {
|
||||
|
||||
|
@ -45,5 +45,5 @@ index 56f5029..12146dd 100644
|
|||
* Gets the {@link Block} at the given coordinates
|
||||
*
|
||||
--
|
||||
2.9.2.windows.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 03b558d1228782283c1c47a75c174c19791f974d Mon Sep 17 00:00:00 2001
|
||||
From f4d2b6475d9965998e22ea9a072fbcb2231fca90 Mon Sep 17 00:00:00 2001
|
||||
From: kashike <kashike@vq.lc>
|
||||
Date: Fri, 9 Jun 2017 07:24:24 -0700
|
||||
Subject: [PATCH] Add configuration option to prevent player names from being
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being
|
|||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 5431b17b..ed403c33 100644
|
||||
index 70495c15..c918d67c 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -1206,6 +1206,16 @@ public final class Bukkit {
|
||||
@@ -1279,6 +1279,16 @@ public final class Bukkit {
|
||||
public static boolean reloadCommandAliases() {
|
||||
return server.reloadCommandAliases();
|
||||
}
|
||||
|
@ -27,10 +27,10 @@ index 5431b17b..ed403c33 100644
|
|||
|
||||
public static Server.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 83b370e5..87ab9d2b 100644
|
||||
index cfc39dbe..2d9d68fa 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -1032,4 +1032,14 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -1095,4 +1095,14 @@ public interface Server extends PluginMessageRecipient {
|
||||
void reloadPermissions(); // Paper
|
||||
|
||||
boolean reloadCommandAliases(); // Paper
|
||||
|
@ -58,5 +58,5 @@ index 2abe1208..c660c178 100644
|
|||
}
|
||||
return completions;
|
||||
--
|
||||
2.17.0 (Apple Git-106)
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 8279699f108090fb3522612b8d574c50685e1ee2 Mon Sep 17 00:00:00 2001
|
||||
From 569e6283060854cef2140d7a3ad0b2690911215b Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Sat, 10 Jun 2017 16:59:40 -0500
|
||||
Subject: [PATCH] Fix upstream javadoc warnings and errors
|
||||
|
@ -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.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java
|
||||
index 1ed8f7e4..bd5238ce 100644
|
||||
index 19632d17..de1b1112 100644
|
||||
--- a/src/main/java/org/bukkit/NamespacedKey.java
|
||||
+++ b/src/main/java/org/bukkit/NamespacedKey.java
|
||||
@@ -38,8 +38,8 @@ public final class NamespacedKey {
|
||||
@@ -27,8 +27,8 @@ public final class NamespacedKey {
|
||||
/**
|
||||
* Create a key in a specific namespace.
|
||||
*
|
||||
|
@ -21,10 +21,10 @@ index 1ed8f7e4..bd5238ce 100644
|
|||
*/
|
||||
@Deprecated
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 8d29dcbd..0bc47dd6 100644
|
||||
index 65156e80..6417cefa 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -1407,6 +1407,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -1365,6 +1365,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
* @param count the number of particles
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -32,7 +32,7 @@ index 8d29dcbd..0bc47dd6 100644
|
|||
*/
|
||||
public <T> void spawnParticle(Particle particle, Location location, int count, T data);
|
||||
|
||||
@@ -1422,6 +1423,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -1380,6 +1381,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
* @param count the number of particles
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -40,7 +40,7 @@ index 8d29dcbd..0bc47dd6 100644
|
|||
*/
|
||||
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, T data);
|
||||
|
||||
@@ -1471,6 +1473,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -1429,6 +1431,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
* @param offsetZ the maximum random offset on the Z axis
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -48,7 +48,7 @@ index 8d29dcbd..0bc47dd6 100644
|
|||
*/
|
||||
public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, T data);
|
||||
|
||||
@@ -1490,6 +1493,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -1448,6 +1451,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
* @param offsetZ the maximum random offset on the Z axis
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -56,7 +56,7 @@ index 8d29dcbd..0bc47dd6 100644
|
|||
*/
|
||||
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, T data);
|
||||
|
||||
@@ -1545,6 +1549,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -1503,6 +1507,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
* particle used (normally speed)
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -64,7 +64,7 @@ index 8d29dcbd..0bc47dd6 100644
|
|||
*/
|
||||
public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, T data);
|
||||
|
||||
@@ -1566,6 +1571,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -1524,6 +1529,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
* particle used (normally speed)
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -112,10 +112,10 @@ index cfce8fa5..8660070b 100644
|
|||
*/
|
||||
@Deprecated
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 4478d84d..39684300 100644
|
||||
index d06f26b9..5c29c11e 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -411,7 +411,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -409,7 +409,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
*
|
||||
* Use supplied alternative character to the section symbol to represent legacy color codes.
|
||||
*
|
||||
|
@ -124,7 +124,7 @@ index 4478d84d..39684300 100644
|
|||
* @param message The message to send
|
||||
*/
|
||||
public void sendActionBar(char alternateChar, String message);
|
||||
@@ -478,6 +478,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -476,6 +476,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
/**
|
||||
* Update the subtitle of titles displayed to the player
|
||||
*
|
||||
|
@ -132,7 +132,7 @@ index 4478d84d..39684300 100644
|
|||
* @deprecated Use {@link #updateTitle(Title)}
|
||||
*/
|
||||
@Deprecated
|
||||
@@ -486,6 +487,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -484,6 +485,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
/**
|
||||
* Update the subtitle of titles displayed to the player
|
||||
*
|
||||
|
@ -140,7 +140,7 @@ index 4478d84d..39684300 100644
|
|||
* @deprecated Use {@link #updateTitle(Title)}
|
||||
*/
|
||||
@Deprecated
|
||||
@@ -494,6 +496,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -492,6 +494,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
/**
|
||||
* Show the given title to the player, along with the last subtitle set, using the last set times
|
||||
*
|
||||
|
@ -148,7 +148,7 @@ index 4478d84d..39684300 100644
|
|||
* @deprecated Use {@link #sendTitle(Title)} or {@link #updateTitle(Title)}
|
||||
*/
|
||||
@Deprecated
|
||||
@@ -502,6 +505,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -500,6 +503,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
/**
|
||||
* Show the given title to the player, along with the last subtitle set, using the last set times
|
||||
*
|
||||
|
@ -156,7 +156,7 @@ index 4478d84d..39684300 100644
|
|||
* @deprecated Use {@link #sendTitle(Title)} or {@link #updateTitle(Title)}
|
||||
*/
|
||||
@Deprecated
|
||||
@@ -1422,6 +1426,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1420,6 +1424,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
* @param count the number of particles
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -164,7 +164,7 @@ index 4478d84d..39684300 100644
|
|||
*/
|
||||
public <T> void spawnParticle(Particle particle, Location location, int count, T data);
|
||||
|
||||
@@ -1437,6 +1442,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1435,6 +1440,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
* @param count the number of particles
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -172,7 +172,7 @@ index 4478d84d..39684300 100644
|
|||
*/
|
||||
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, T data);
|
||||
|
||||
@@ -1486,6 +1492,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1484,6 +1490,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
* @param offsetZ the maximum random offset on the Z axis
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -180,7 +180,7 @@ index 4478d84d..39684300 100644
|
|||
*/
|
||||
public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, T data);
|
||||
|
||||
@@ -1505,6 +1512,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1503,6 +1510,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
* @param offsetZ the maximum random offset on the Z axis
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -188,7 +188,7 @@ index 4478d84d..39684300 100644
|
|||
*/
|
||||
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, T data);
|
||||
|
||||
@@ -1560,6 +1568,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1558,6 +1566,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
* particle used (normally speed)
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -196,7 +196,7 @@ index 4478d84d..39684300 100644
|
|||
*/
|
||||
public <T> void spawnParticle(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, T data);
|
||||
|
||||
@@ -1581,6 +1590,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1579,6 +1588,7 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
* particle used (normally speed)
|
||||
* @param data the data to use for the particle or null,
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
|
@ -305,10 +305,10 @@ index 40f8d12b..33d19228 100644
|
|||
*/
|
||||
public Collection<PotionEffect> getEffects(PotionType type, boolean upgraded, boolean extended);
|
||||
diff --git a/src/main/java/org/bukkit/potion/PotionType.java b/src/main/java/org/bukkit/potion/PotionType.java
|
||||
index 60470b88..76313d4d 100644
|
||||
index 034421a7..f1a54c23 100644
|
||||
--- a/src/main/java/org/bukkit/potion/PotionType.java
|
||||
+++ b/src/main/java/org/bukkit/potion/PotionType.java
|
||||
@@ -66,6 +66,7 @@ public enum PotionType {
|
||||
@@ -68,6 +68,7 @@ public enum PotionType {
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -316,7 +316,7 @@ index 60470b88..76313d4d 100644
|
|||
* @deprecated Non-functional
|
||||
*/
|
||||
@Deprecated
|
||||
@@ -78,6 +79,8 @@ public enum PotionType {
|
||||
@@ -80,6 +81,8 @@ public enum PotionType {
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -325,7 +325,7 @@ index 60470b88..76313d4d 100644
|
|||
* @deprecated Non-functional
|
||||
*/
|
||||
@Deprecated
|
||||
@@ -86,6 +89,8 @@ public enum PotionType {
|
||||
@@ -88,6 +91,8 @@ public enum PotionType {
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 8a79fb272338e01bf067f3a27797b26311e25815 Mon Sep 17 00:00:00 2001
|
||||
From fad181fcd8dcc38ff7dad667ec655c473844947a Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 15 Jan 2018 21:46:46 -0500
|
||||
Subject: [PATCH] Basic PlayerProfile API
|
||||
|
@ -239,10 +239,10 @@ index 00000000..d17061e6
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index ed403c33..690d9c07 100644
|
||||
index c918d67c..01a226d9 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -44,6 +44,9 @@ import org.bukkit.generator.ChunkGenerator;
|
||||
@@ -46,6 +46,9 @@ import org.bukkit.generator.ChunkGenerator;
|
||||
import org.bukkit.inventory.ItemFactory;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
|
@ -252,7 +252,7 @@ index ed403c33..690d9c07 100644
|
|||
/**
|
||||
* Represents the Bukkit core, for version and Server singleton handling
|
||||
*/
|
||||
@@ -1216,6 +1219,37 @@ public final class Bukkit {
|
||||
@@ -1289,6 +1292,37 @@ public final class Bukkit {
|
||||
public static boolean suggestPlayerNamesWhenNullTabCompletions() {
|
||||
return server.suggestPlayerNamesWhenNullTabCompletions();
|
||||
}
|
||||
|
@ -291,10 +291,10 @@ index ed403c33..690d9c07 100644
|
|||
|
||||
public static Server.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 87ab9d2b..f2ee6516 100644
|
||||
index 2d9d68fa..e7aab4bb 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -45,6 +45,9 @@ import org.bukkit.generator.ChunkGenerator;
|
||||
@@ -47,6 +47,9 @@ import org.bukkit.generator.ChunkGenerator;
|
||||
import org.bukkit.inventory.ItemFactory;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
|
@ -304,7 +304,7 @@ index 87ab9d2b..f2ee6516 100644
|
|||
/**
|
||||
* Represents a server implementation.
|
||||
*/
|
||||
@@ -1041,5 +1044,30 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -1104,5 +1107,30 @@ public interface Server extends PluginMessageRecipient {
|
||||
* @return true if player names should be suggested
|
||||
*/
|
||||
boolean suggestPlayerNamesWhenNullTabCompletions();
|
||||
|
@ -336,5 +336,5 @@ index 87ab9d2b..f2ee6516 100644
|
|||
// Paper end
|
||||
}
|
||||
--
|
||||
2.16.2
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From b1eb117fbca758844625ae8de33b71f3d526ea0a Mon Sep 17 00:00:00 2001
|
||||
From 6eb60d6f87fcc5b3ff0417a30fd5c79a51df2fa1 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 17 Jun 2017 16:30:44 -0400
|
||||
Subject: [PATCH] Profile Lookup Events
|
||||
|
@ -7,10 +7,10 @@ Adds a Pre Lookup Event and a Post Lookup Event so that plugins may prefill in p
|
|||
profiles that had to be looked up.
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index c8b37997..13994dc2 100644
|
||||
index dfc6c9b5..e1a39bfe 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -62,6 +62,13 @@
|
||||
@@ -61,6 +61,13 @@
|
||||
<!-- Trove Provided by CraftBukkit -->
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
@ -241,5 +241,5 @@ index 00000000..aa0666d5
|
|||
+
|
||||
+}
|
||||
--
|
||||
2.15.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 8c7f590319e0322c7b6d85b44bbc280328f84e93 Mon Sep 17 00:00:00 2001
|
||||
From 575bbab52d06b324acd9b8758d454d74a859c8d0 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 4 May 2016 23:55:48 -0400
|
||||
Subject: [PATCH] ensureServerConversions API
|
||||
|
@ -7,14 +7,13 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr
|
|||
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
|
||||
index 52a8d4d8..99b90629 100644
|
||||
index f74f8ae9..ab33e09e 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
|
||||
@@ -121,4 +121,17 @@ public interface ItemFactory {
|
||||
* @return the default color for leather armor
|
||||
@@ -134,4 +134,16 @@ public interface ItemFactory {
|
||||
*/
|
||||
Color getDefaultLeatherColor();
|
||||
+
|
||||
@Deprecated
|
||||
Material updateMaterial(final ItemMeta meta, final Material material) throws IllegalArgumentException;
|
||||
+ // Paper start
|
||||
+ /**
|
||||
+ * Minecart updates are converting simple item stacks into more complex NBT oriented Item Stacks.
|
||||
|
@ -29,11 +28,11 @@ index 52a8d4d8..99b90629 100644
|
|||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
index 188ae6d7..6bb19b9d 100644
|
||||
index 6324044d..6df4b97a 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
@@ -556,7 +556,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
|
||||
}
|
||||
@@ -479,7 +479,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
|
||||
result.setDurability(damage);
|
||||
}
|
||||
|
||||
- return result;
|
||||
|
@ -41,7 +40,7 @@ index 188ae6d7..6bb19b9d 100644
|
|||
}
|
||||
|
||||
/**
|
||||
@@ -608,4 +608,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
|
||||
@@ -537,4 +537,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -61,5 +60,5 @@ index 188ae6d7..6bb19b9d 100644
|
|||
+ // Paper end
|
||||
}
|
||||
--
|
||||
2.15.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From f5bac55ab934fbc8b94846e8e3c56c0c73a640c8 Mon Sep 17 00:00:00 2001
|
||||
From 83009175cba71dcdd63ac621aeb5453073fe2c7f Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 4 May 2016 23:55:48 -0400
|
||||
Subject: [PATCH] Add getI18NDisplayName API
|
||||
|
@ -8,10 +8,10 @@ Currently the server only supports the English language. To override this,
|
|||
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
|
||||
index 99b90629..559de54e 100644
|
||||
index ab33e09e..061954f9 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/ItemFactory.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/ItemFactory.java
|
||||
@@ -133,5 +133,15 @@ public interface ItemFactory {
|
||||
@@ -145,5 +145,15 @@ public interface ItemFactory {
|
||||
* @return A potentially Data Converted ItemStack
|
||||
*/
|
||||
ItemStack ensureServerConversions(ItemStack item);
|
||||
|
@ -28,10 +28,10 @@ index 99b90629..559de54e 100644
|
|||
// Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
index 6bb19b9d..7a52da9b 100644
|
||||
index 6df4b97a..864b16b1 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
@@ -621,5 +621,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
|
||||
@@ -550,5 +550,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
|
||||
public ItemStack ensureServerConversions() {
|
||||
return Bukkit.getServer().getItemFactory().ensureServerConversions(this);
|
||||
}
|
||||
|
@ -49,5 +49,5 @@ index 6bb19b9d..7a52da9b 100644
|
|||
// Paper end
|
||||
}
|
||||
--
|
||||
2.15.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 21357c1c249a2ebea454a1bb6b7b435c3fecdbfa Mon Sep 17 00:00:00 2001
|
||||
From 8ae719b2fa6b1e3a270d8cdc7ecea48d8137f2a4 Mon Sep 17 00:00:00 2001
|
||||
From: Minecrell <minecrell@minecrell.net>
|
||||
Date: Thu, 21 Sep 2017 16:33:12 +0200
|
||||
Subject: [PATCH] Allow plugins to use SLF4J for logging
|
||||
|
@ -14,10 +14,10 @@ it without having to shade it in the plugin and going through
|
|||
several layers of logging abstraction.
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 13994dc2..45145c5f 100644
|
||||
index e1a39bfe..db9a57b0 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -122,6 +122,14 @@
|
||||
@@ -121,6 +121,14 @@
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
|
@ -33,7 +33,7 @@ index 13994dc2..45145c5f 100644
|
|||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
diff --git a/src/main/java/org/bukkit/plugin/Plugin.java b/src/main/java/org/bukkit/plugin/Plugin.java
|
||||
index c4e22c62..02670254 100644
|
||||
index 55debf5d..8d2999ac 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/Plugin.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/Plugin.java
|
||||
@@ -157,6 +157,12 @@ public interface Plugin extends TabExecutor {
|
||||
|
@ -50,5 +50,5 @@ index c4e22c62..02670254 100644
|
|||
* Returns the name of the plugin.
|
||||
* <p>
|
||||
--
|
||||
2.15.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From ce6570052db23d6966368350cbd01bb08f15322b Mon Sep 17 00:00:00 2001
|
||||
From 4c8bb1fd1597ec5da47cec0832b705ee68572209 Mon Sep 17 00:00:00 2001
|
||||
From: Minecrell <minecrell@minecrell.net>
|
||||
Date: Thu, 21 Sep 2017 19:41:20 +0200
|
||||
Subject: [PATCH] Add workaround for plugins modifying the parent of the plugin
|
||||
|
@ -85,7 +85,7 @@ index 0abad9ad..93fa3493 100644
|
|||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
index ca9c7796..bd936d9f 100644
|
||||
index 9f8537d8..cbf810ef 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
@@ -36,6 +36,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot
|
||||
|
@ -105,7 +105,7 @@ index ca9c7796..bd936d9f 100644
|
|||
try {
|
||||
Class<?> jarClass;
|
||||
try {
|
||||
@@ -187,6 +190,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot
|
||||
@@ -189,6 +192,7 @@ public final class PluginClassLoader extends URLClassLoader { // Spigot
|
||||
pluginState = new IllegalStateException("Initial initialization");
|
||||
this.pluginInit = javaPlugin;
|
||||
|
||||
|
@ -114,5 +114,5 @@ index ca9c7796..bd936d9f 100644
|
|||
}
|
||||
}
|
||||
--
|
||||
2.17.0
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From b22dc4ffb81769f759e38cf7516e5bd8da36dbbd Mon Sep 17 00:00:00 2001
|
||||
From d40adbcb5398dc21486b6b6c8817d751fe9ced12 Mon Sep 17 00:00:00 2001
|
||||
From: Minecrell <minecrell@minecrell.net>
|
||||
Date: Tue, 10 Oct 2017 18:44:42 +0200
|
||||
Subject: [PATCH] Expose client protocol version and virtual host
|
||||
|
@ -55,10 +55,10 @@ index 00000000..9072e384
|
|||
+
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 39684300..23cc8b5e 100644
|
||||
index 5c29c11e..60cdd620 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -30,7 +30,7 @@ import org.bukkit.scoreboard.Scoreboard;
|
||||
@@ -31,7 +31,7 @@ import org.bukkit.scoreboard.Scoreboard;
|
||||
/**
|
||||
* Represents a player, connected or not
|
||||
*/
|
||||
|
@ -68,5 +68,5 @@ index 39684300..23cc8b5e 100644
|
|||
/**
|
||||
* Gets the "friendly" name to display of this player. This may include
|
||||
--
|
||||
2.16.3
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 52bc5ba70f3cc07b0af1b0ca32765db83aae4033 Mon Sep 17 00:00:00 2001
|
||||
From 62575a75cec03d048cabfce9933dc35c93532832 Mon Sep 17 00:00:00 2001
|
||||
From: pkt77 <parkerkt77@gmail.com>
|
||||
Date: Fri, 10 Nov 2017 23:45:59 -0500
|
||||
Subject: [PATCH] Add PlayerArmorChangeEvent
|
||||
|
@ -6,7 +6,7 @@ Subject: [PATCH] Add PlayerArmorChangeEvent
|
|||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerArmorChangeEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerArmorChangeEvent.java
|
||||
new file mode 100644
|
||||
index 00000000..9d56a9e7
|
||||
index 00000000..0783ac82
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerArmorChangeEvent.java
|
||||
@@ -0,0 +1,135 @@
|
||||
|
@ -91,10 +91,10 @@ index 00000000..9d56a9e7
|
|||
+ }
|
||||
+
|
||||
+ public enum SlotType {
|
||||
+ HEAD(DIAMOND_HELMET, GOLD_HELMET, IRON_HELMET, CHAINMAIL_HELMET, LEATHER_HELMET, PUMPKIN, JACK_O_LANTERN),
|
||||
+ CHEST(DIAMOND_CHESTPLATE, GOLD_CHESTPLATE, IRON_CHESTPLATE, CHAINMAIL_CHESTPLATE, LEATHER_CHESTPLATE, ELYTRA),
|
||||
+ LEGS(DIAMOND_LEGGINGS, GOLD_LEGGINGS, IRON_LEGGINGS, CHAINMAIL_LEGGINGS, LEATHER_LEGGINGS),
|
||||
+ FEET(DIAMOND_BOOTS, GOLD_BOOTS, IRON_BOOTS, CHAINMAIL_BOOTS, LEATHER_BOOTS);
|
||||
+ HEAD(DIAMOND_HELMET, GOLDEN_HELMET, IRON_HELMET, CHAINMAIL_HELMET, LEATHER_HELMET, PUMPKIN, JACK_O_LANTERN),
|
||||
+ CHEST(DIAMOND_CHESTPLATE, GOLDEN_CHESTPLATE, IRON_CHESTPLATE, CHAINMAIL_CHESTPLATE, LEATHER_CHESTPLATE, ELYTRA),
|
||||
+ LEGS(DIAMOND_LEGGINGS, GOLDEN_LEGGINGS, IRON_LEGGINGS, CHAINMAIL_LEGGINGS, LEATHER_LEGGINGS),
|
||||
+ FEET(DIAMOND_BOOTS, GOLDEN_BOOTS, IRON_BOOTS, CHAINMAIL_BOOTS, LEATHER_BOOTS);
|
||||
+
|
||||
+ private final Set<Material> mutableTypes = new HashSet<>();
|
||||
+ private Set<Material> immutableTypes;
|
||||
|
@ -146,5 +146,5 @@ index 00000000..9d56a9e7
|
|||
+ }
|
||||
+}
|
||||
--
|
||||
2.16.3
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From d53ca5239656a103aa601c46cfaf190cc849fcda Mon Sep 17 00:00:00 2001
|
||||
From e0beaa49adfc67cd4d5144e22f2c3e3c20f13b3b Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 6 Nov 2017 21:10:01 -0500
|
||||
Subject: [PATCH] API to get a BlockState without a snapshot
|
||||
|
@ -9,10 +9,10 @@ on the real tile entity.
|
|||
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
|
||||
index 235c15bd..359b81f3 100644
|
||||
index bda9900e..d5d0e255 100644
|
||||
--- a/src/main/java/org/bukkit/block/Block.java
|
||||
+++ b/src/main/java/org/bukkit/block/Block.java
|
||||
@@ -256,6 +256,15 @@ public interface Block extends Metadatable {
|
||||
@@ -242,6 +242,15 @@ public interface Block extends Metadatable {
|
||||
*/
|
||||
BlockState getState();
|
||||
|
||||
|
@ -29,5 +29,5 @@ index 235c15bd..359b81f3 100644
|
|||
* Returns the biome that this block resides in
|
||||
*
|
||||
--
|
||||
2.15.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 6634c8cb6d911a9a2f4a4c9a75086cce90195078 Mon Sep 17 00:00:00 2001
|
||||
From 3fda9a76e026397bae881455bd5ec05d774be252 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 20 Dec 2017 17:38:07 -0500
|
||||
Subject: [PATCH] Ability to apply mending to XP API
|
||||
|
@ -10,10 +10,10 @@ of giving the player experience points.
|
|||
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
|
||||
index 23cc8b5e..a882323d 100644
|
||||
index 60cdd620..32ead009 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -918,12 +918,33 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -916,12 +916,33 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
*/
|
||||
public void resetPlayerWeather();
|
||||
|
||||
|
@ -49,5 +49,5 @@ index 23cc8b5e..a882323d 100644
|
|||
/**
|
||||
* Gives the player the amount of experience levels specified. Levels can
|
||||
--
|
||||
2.17.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From d87798bbc710cbdd71e22a22983fd02a5d569fc5 Mon Sep 17 00:00:00 2001
|
||||
From 8ccc5f587f1e755b7136c87160b2134637905d98 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 18 Mar 2018 12:28:55 -0400
|
||||
Subject: [PATCH] Player.setPlayerProfile API
|
||||
|
@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API
|
|||
This can be useful for changing name or skins after a player has logged in.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index a882323d..87a9b750 100644
|
||||
index 32ead009..cd82ff64 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3,6 +3,7 @@ package org.bukkit.entity;
|
||||
|
@ -17,7 +17,7 @@ index a882323d..87a9b750 100644
|
|||
import org.bukkit.Achievement;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Effect;
|
||||
@@ -1713,6 +1714,19 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -1711,6 +1712,19 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
* was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED}
|
||||
*/
|
||||
boolean hasResourcePack();
|
||||
|
@ -38,5 +38,5 @@ index a882323d..87a9b750 100644
|
|||
|
||||
// Spigot start
|
||||
--
|
||||
2.17.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 2f0d6d93d9cff195b35e945039d8d6fe4439c25a Mon Sep 17 00:00:00 2001
|
||||
From 154ed7732b789705984e91d137eb41bd27e6857e Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 22 Mar 2018 01:39:28 -0400
|
||||
Subject: [PATCH] getPlayerUniqueId API
|
||||
|
@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID
|
|||
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 690d9c07..682d2bbf 100644
|
||||
index 01a226d9..b389677a 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -424,6 +424,20 @@ public final class Bukkit {
|
||||
@@ -426,6 +426,20 @@ public final class Bukkit {
|
||||
return server.getPlayer(id);
|
||||
}
|
||||
|
||||
|
@ -34,10 +34,10 @@ index 690d9c07..682d2bbf 100644
|
|||
* Gets the plugin manager for interfacing with plugins.
|
||||
*
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index f2ee6516..2912bdae 100644
|
||||
index e7aab4bb..17ac4241 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -354,6 +354,18 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -356,6 +356,18 @@ public interface Server extends PluginMessageRecipient {
|
||||
*/
|
||||
public Player getPlayer(UUID id);
|
||||
|
||||
|
@ -57,5 +57,5 @@ index f2ee6516..2912bdae 100644
|
|||
* Gets the plugin manager for interfacing with plugins.
|
||||
*
|
||||
--
|
||||
2.17.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 9394d915b284d6b7f933585ae4e5ce763534d877 Mon Sep 17 00:00:00 2001
|
||||
From 68981606bad552b49cd120b84b751263dd27c5dc Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 28 Apr 2018 10:28:50 -0400
|
||||
Subject: [PATCH] Add Ban Methods to Player Objects
|
||||
|
@ -69,7 +69,7 @@ index 3ab2e4c7..8daf2ddc 100644
|
|||
/**
|
||||
* 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
|
||||
index 87a9b750..d874d166 100644
|
||||
index cd82ff64..2dd9ecfb 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1,10 +1,14 @@
|
||||
|
@ -87,7 +87,7 @@ index 87a9b750..d874d166 100644
|
|||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.GameMode;
|
||||
@@ -397,6 +401,139 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
@@ -395,6 +399,139 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
public void sendMap(MapView map);
|
||||
|
||||
// Paper start
|
||||
|
@ -228,5 +228,5 @@ index 87a9b750..d874d166 100644
|
|||
/**
|
||||
* Sends an Action Bar message to the client.
|
||||
--
|
||||
2.17.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 76f00a1ad8252336caa315be9c246a2c45d37f0b Mon Sep 17 00:00:00 2001
|
||||
From 285b525bcd3fb261160e811c4174086878e58d58 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 30 Apr 2018 13:29:15 -0400
|
||||
Subject: [PATCH] Enderman.teleportRandomly()
|
||||
|
@ -6,10 +6,10 @@ Subject: [PATCH] Enderman.teleportRandomly()
|
|||
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
|
||||
index f537f697..52afa6f9 100644
|
||||
index c8b4efde..bc2df752 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Enderman.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Enderman.java
|
||||
@@ -7,6 +7,17 @@ import org.bukkit.material.MaterialData;
|
||||
@@ -8,6 +8,17 @@ import org.bukkit.material.MaterialData;
|
||||
*/
|
||||
public interface Enderman extends Monster {
|
||||
|
||||
|
@ -28,5 +28,5 @@ index f537f697..52afa6f9 100644
|
|||
* Get the id and data of the block that the Enderman is carrying.
|
||||
*
|
||||
--
|
||||
2.17.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From bca4856590062be45da5792be0600f138ec97b03 Mon Sep 17 00:00:00 2001
|
||||
From b2de08cdbc2ad955bf2f000aa9377b6c23d82b8b Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 30 Apr 2018 17:55:28 -0400
|
||||
Subject: [PATCH] Additional world.getNearbyEntities API's
|
||||
|
@ -6,7 +6,7 @@ Subject: [PATCH] Additional world.getNearbyEntities API's
|
|||
Provides more methods to get nearby entities, and filter by types and predicates
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 0bc47dd6..3b81f81e 100644
|
||||
index 6417cefa..9b49ed38 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -2,11 +2,14 @@ package org.bukkit;
|
||||
|
@ -24,7 +24,7 @@ index 0bc47dd6..3b81f81e 100644
|
|||
|
||||
import org.bukkit.block.Biome;
|
||||
import org.bukkit.block.Block;
|
||||
@@ -534,6 +537,205 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -492,6 +495,205 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
*/
|
||||
public Collection<Entity> getEntitiesByClasses(Class<?>... classes);
|
||||
|
||||
|
@ -231,5 +231,5 @@ index 0bc47dd6..3b81f81e 100644
|
|||
* Get a list of all players in this World
|
||||
*
|
||||
--
|
||||
2.17.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From cd6e9ca316853d3c693c8e07db6595184b79742f Mon Sep 17 00:00:00 2001
|
||||
From 571654be037ad2ec4d0457f75787e01209855415 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 29 Aug 2017 23:58:48 -0400
|
||||
Subject: [PATCH] Expand World.spawnParticle API and add Builder
|
||||
|
@ -380,14 +380,24 @@ index 00000000..2bccc409
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java
|
||||
index 9794c13e..cc9c2c5e 100644
|
||||
index 4d0acaf5..0ae85d85 100644
|
||||
--- a/src/main/java/org/bukkit/Particle.java
|
||||
+++ b/src/main/java/org/bukkit/Particle.java
|
||||
@@ -71,4 +71,13 @@ public enum Particle {
|
||||
public Class<?> getDataType() {
|
||||
@@ -21,8 +21,8 @@ public enum Particle {
|
||||
SMOKE_LARGE,
|
||||
SPELL,
|
||||
SPELL_INSTANT,
|
||||
- SPELL_MOB,
|
||||
- SPELL_MOB_AMBIENT,
|
||||
+ SPELL_MOB(DustOptions.class), // Paper
|
||||
+ SPELL_MOB_AMBIENT(DustOptions.class), // Paper
|
||||
SPELL_WITCH,
|
||||
DRIP_WATER,
|
||||
DRIP_LAVA,
|
||||
@@ -82,6 +82,14 @@ public enum Particle {
|
||||
return dataType;
|
||||
}
|
||||
+
|
||||
|
||||
+ // Paper start - Particle API expansion
|
||||
+ /**
|
||||
+ * Creates a {@link com.destroystokyo.paper.ParticleBuilder}
|
||||
|
@ -396,12 +406,14 @@ index 9794c13e..cc9c2c5e 100644
|
|||
+ return new com.destroystokyo.paper.ParticleBuilder(this);
|
||||
+ }
|
||||
+ // Paper end
|
||||
}
|
||||
/**
|
||||
* Options which can be applied to redstone dust particles - a particle
|
||||
* color and size.
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 3b81f81e..e7973c73 100644
|
||||
index 9b49ed38..cc74cf53 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -1775,7 +1775,31 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -1733,7 +1733,31 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
* the type of this depends on {@link Particle#getDataType()}
|
||||
* @param <T> Type
|
||||
*/
|
||||
|
@ -435,5 +447,5 @@ index 3b81f81e..e7973c73 100644
|
|||
// Spigot start
|
||||
public class Spigot
|
||||
--
|
||||
2.17.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 6d033d644b0b4a847583ddbcfebe16d9d0dd102a Mon Sep 17 00:00:00 2001
|
||||
From bcf7365a6ac997f6b7e3276a64c010a244d5d642 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 5 Jun 2018 22:59:50 -0400
|
||||
Subject: [PATCH] ItemStack#getMaxItemUseDuration
|
||||
|
@ -6,17 +6,16 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration
|
|||
Allows you to determine how long it takes to use a usable/consumable item
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
index 567706ac..82240129 100644
|
||||
index 864b16b1..e9f25924 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
@@ -632,5 +632,14 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
|
||||
@@ -561,5 +561,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
|
||||
public String getI18NDisplayName() {
|
||||
return Bukkit.getServer().getItemFactory().getI18NDisplayName(this);
|
||||
}
|
||||
+
|
||||
+ public int getMaxItemUseDuration() {
|
||||
+ Material material = Material.getMaterial(type);
|
||||
+ if (material == null || !material.isItem()) {
|
||||
+ if (type == null || type == Material.AIR || !type.isItem()) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ // Requires access to NMS
|
||||
|
@ -25,5 +24,5 @@ index 567706ac..82240129 100644
|
|||
// Paper end
|
||||
}
|
||||
--
|
||||
2.17.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From ffb6892f7c3065b74096bed892df7da3bfe4dbeb Mon Sep 17 00:00:00 2001
|
||||
From 8e19f89eca90b5ea616a877f3a0d9c2379a42bda Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 19 Dec 2017 16:24:42 -0500
|
||||
Subject: [PATCH] Expand Explosions API
|
||||
|
@ -95,10 +95,10 @@ index c1689168..d0d86e1a 100644
|
|||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index e7973c73..4ed7d2dc 100644
|
||||
index cc74cf53..2c1056d1 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -956,6 +956,99 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -914,6 +914,99 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
*/
|
||||
public boolean createExplosion(Location loc, float power, boolean setFire);
|
||||
|
||||
|
@ -199,5 +199,5 @@ index e7973c73..4ed7d2dc 100644
|
|||
* Gets the {@link Environment} type of this world
|
||||
*
|
||||
--
|
||||
2.17.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
From 503daef70a79ca4ea4f0583e6442c17aa74a94ee Mon Sep 17 00:00:00 2001
|
||||
From 4de5eaeaa68379e316e7c851d6e6e66f2ccdd996 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 22 Jun 2018 22:59:18 -0400
|
||||
Subject: [PATCH] ItemStack API additions for quantity/flags/lore
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
index 82240129..574cdf3b 100644
|
||||
index e9f25924..7689c00a 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
|
||||
@@ -2,7 +2,9 @@ package org.bukkit.inventory;
|
||||
|
@ -18,7 +18,7 @@ index 82240129..574cdf3b 100644
|
|||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -13,6 +15,8 @@ import org.bukkit.enchantments.Enchantment;
|
||||
@@ -14,6 +16,8 @@ import org.bukkit.inventory.meta.Damageable;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.material.MaterialData;
|
||||
|
||||
|
@ -27,7 +27,7 @@ index 82240129..574cdf3b 100644
|
|||
/**
|
||||
* Represents a stack of items
|
||||
*/
|
||||
@@ -641,5 +645,133 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
|
||||
@@ -569,5 +573,133 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
|
||||
// Requires access to NMS
|
||||
return ensureServerConversions().getMaxItemUseDuration();
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
From e19fe3a36b5abf507c209e4a4b43c7b18f27b938 Mon Sep 17 00:00:00 2001
|
||||
From 0db5338a2f3a427e6341c3e7bef58f9ec644a1e7 Mon Sep 17 00:00:00 2001
|
||||
From: Brokkonaut <hannos17@gmx.de>
|
||||
Date: Tue, 3 Jul 2018 16:07:16 +0200
|
||||
Subject: [PATCH] Add World.getEntity(UUID) API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 4ed7d2dc..4441a8e0 100644
|
||||
index 2c1056d1..c98349cc 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -756,6 +756,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
@@ -714,6 +714,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
*/
|
||||
public Collection<Entity> getNearbyEntities(Location location, double x, double y, double z);
|
||||
|
||||
|
@ -26,5 +26,5 @@ index 4ed7d2dc..4441a8e0 100644
|
|||
* Gets the unique name of this world
|
||||
*
|
||||
--
|
||||
2.16.1.windows.1
|
||||
2.18.0
|
||||
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
From f87ae06596749c3e2e83df6d20b0e84a422e361f Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 2 Jun 2013 10:36:24 +1000
|
||||
Subject: [PATCH] POM Changes
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 2ed1e4de..88b109e0 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -3,14 +3,14 @@
|
||||
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>
|
||||
|
||||
- <groupId>org.bukkit</groupId>
|
||||
- <artifactId>bukkit</artifactId>
|
||||
+ <groupId>org.spigotmc</groupId>
|
||||
+ <artifactId>spigot-api</artifactId>
|
||||
<version>1.13-pre5-R0.1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
- <name>Bukkit</name>
|
||||
+ <name>Spigot-API</name>
|
||||
<url>https://www.spigotmc.org/</url>
|
||||
- <description>A plugin API for Minecraft servers.</description>
|
||||
+ <description>An enhanced plugin API for Minecraft servers.</description>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
From 4f1fccef7b07f362222a90594bfeb59a4ab77232 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Mon, 15 May 2017 15:16:15 +1000
|
||||
Subject: [PATCH] Skeleton API Implementations
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index a3eafe70..3ffce71b 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -1235,4 +1235,9 @@ public final class Bukkit {
|
||||
public static UnsafeValues getUnsafe() {
|
||||
return server.getUnsafe();
|
||||
}
|
||||
+
|
||||
+ public static Server.Spigot spigot()
|
||||
+ {
|
||||
+ return server.spigot();
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index dc2e1018..61d8077a 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -1013,4 +1013,13 @@ public interface Server extends PluginMessageRecipient {
|
||||
*/
|
||||
@Deprecated
|
||||
UnsafeValues getUnsafe();
|
||||
+
|
||||
+ // Spigot start
|
||||
+ public class Spigot
|
||||
+ {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ Spigot spigot();
|
||||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 4883d182..ab6b1e3a 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -1428,6 +1428,14 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
*/
|
||||
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data);
|
||||
|
||||
+ // Spigot start
|
||||
+ public class Spigot
|
||||
+ {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ Spigot spigot();
|
||||
+ // Spigot end
|
||||
|
||||
/**
|
||||
* Represents various map environment types that a world may be
|
||||
diff --git a/src/main/java/org/bukkit/command/CommandSender.java b/src/main/java/org/bukkit/command/CommandSender.java
|
||||
index 148756b9..5dcd2218 100644
|
||||
--- a/src/main/java/org/bukkit/command/CommandSender.java
|
||||
+++ b/src/main/java/org/bukkit/command/CommandSender.java
|
||||
@@ -32,4 +32,13 @@ public interface CommandSender extends Permissible {
|
||||
* @return Name of the sender
|
||||
*/
|
||||
public String getName();
|
||||
+
|
||||
+ // Spigot start
|
||||
+ public class Spigot
|
||||
+ {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ Spigot spigot();
|
||||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Arrow.java b/src/main/java/org/bukkit/entity/Arrow.java
|
||||
index 752eeb5e..c77f3a4f 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Arrow.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Arrow.java
|
||||
@@ -89,4 +89,14 @@ public interface Arrow extends Projectile {
|
||||
*/
|
||||
CREATIVE_ONLY
|
||||
}
|
||||
+
|
||||
+ // Spigot start
|
||||
+ public class Spigot extends Entity.Spigot
|
||||
+ {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ Spigot spigot();
|
||||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
||||
index 9d96976d..294eb7f7 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||
@@ -478,4 +478,14 @@ public interface Entity extends Metadatable, CommandSender, Nameable {
|
||||
* @return reaction
|
||||
*/
|
||||
PistonMoveReaction getPistonMoveReaction();
|
||||
+
|
||||
+ // Spigot start
|
||||
+ public class Spigot extends CommandSender.Spigot
|
||||
+ {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ Spigot spigot();
|
||||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/entity/LightningStrike.java b/src/main/java/org/bukkit/entity/LightningStrike.java
|
||||
index c8b5154e..ee2218c1 100644
|
||||
--- a/src/main/java/org/bukkit/entity/LightningStrike.java
|
||||
+++ b/src/main/java/org/bukkit/entity/LightningStrike.java
|
||||
@@ -12,4 +12,13 @@ public interface LightningStrike extends Weather {
|
||||
*/
|
||||
public boolean isEffect();
|
||||
|
||||
+ // Spigot start
|
||||
+ public class Spigot extends Entity.Spigot
|
||||
+ {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ Spigot spigot();
|
||||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index b862d7b6..92825490 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1437,4 +1437,14 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
* @return the player's locale
|
||||
*/
|
||||
public String getLocale();
|
||||
+
|
||||
+ // Spigot start
|
||||
+ public class Spigot extends Entity.Spigot
|
||||
+ {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ Spigot spigot();
|
||||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/inventory/meta/BookMeta.java b/src/main/java/org/bukkit/inventory/meta/BookMeta.java
|
||||
index d66e3f59..3b6bf419 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/meta/BookMeta.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/meta/BookMeta.java
|
||||
@@ -173,4 +173,13 @@ public interface BookMeta extends ItemMeta {
|
||||
int getPageCount();
|
||||
|
||||
BookMeta clone();
|
||||
+
|
||||
+ // Spigot start
|
||||
+ public class Spigot extends ItemMeta.Spigot {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ Spigot spigot();
|
||||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
||||
index 76d43266..e48616d2 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
||||
@@ -196,4 +196,13 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable {
|
||||
|
||||
@SuppressWarnings("javadoc")
|
||||
ItemMeta clone();
|
||||
+
|
||||
+ // Spigot start
|
||||
+ public class Spigot
|
||||
+ {
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ Spigot spigot();
|
||||
+ // Spigot end
|
||||
}
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,485 @@
|
|||
From 0047a4cf6d2c557a6e2624bf082a4c5010b6eaf0 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 2 Jun 2013 10:42:57 +1000
|
||||
Subject: [PATCH] Spigot Timings
|
||||
|
||||
Adds performance tracking timings all around the Minecraft Server, and improves the usability of the /timings command
|
||||
|
||||
Plugins can track their own timings with CustomTimingsHandler
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 3ffce71b..27c69e96 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -534,6 +534,7 @@ public final class Bukkit {
|
||||
*/
|
||||
public static void reload() {
|
||||
server.reload();
|
||||
+ org.spigotmc.CustomTimingsHandler.reload(); // Spigot
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 61d8077a..c9ef86e4 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -1018,6 +1018,10 @@ public interface Server extends PluginMessageRecipient {
|
||||
public class Spigot
|
||||
{
|
||||
|
||||
+ public org.bukkit.configuration.file.YamlConfiguration getConfig()
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
Spigot spigot();
|
||||
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
|
||||
index d00bad28..7ca5be84 100644
|
||||
--- a/src/main/java/org/bukkit/command/Command.java
|
||||
+++ b/src/main/java/org/bukkit/command/Command.java
|
||||
@@ -32,6 +32,7 @@ public abstract class Command {
|
||||
protected String usageMessage;
|
||||
private String permission;
|
||||
private String permissionMessage;
|
||||
+ public org.spigotmc.CustomTimingsHandler timings; // Spigot
|
||||
|
||||
protected Command(String name) {
|
||||
this(name, "", "/" + name, new ArrayList<String>());
|
||||
@@ -45,6 +46,7 @@ public abstract class Command {
|
||||
this.usageMessage = usageMessage;
|
||||
this.aliases = aliases;
|
||||
this.activeAliases = new ArrayList<String>(aliases);
|
||||
+ this.timings = new org.spigotmc.CustomTimingsHandler("** Command: " + name); // Spigot
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -233,6 +235,7 @@ public abstract class Command {
|
||||
public boolean setLabel(String name) {
|
||||
this.nextLabel = name;
|
||||
if (!isRegistered()) {
|
||||
+ this.timings = new org.spigotmc.CustomTimingsHandler("** Command: " + name); // Spigot
|
||||
this.label = name;
|
||||
return true;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
index f81ae85d..1b5b37bf 100644
|
||||
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
|
||||
@@ -136,11 +136,15 @@ public class SimpleCommandMap implements CommandMap {
|
||||
}
|
||||
|
||||
try {
|
||||
+ target.timings.startTiming(); // Spigot
|
||||
// Note: we don't return the result of target.execute as thats success / failure, we return handled (true) or not handled (false)
|
||||
target.execute(sender, sentCommandLabel, Arrays.copyOfRange(args, 1, args.length));
|
||||
+ target.timings.stopTiming(); // Spigot
|
||||
} catch (CommandException ex) {
|
||||
+ target.timings.stopTiming(); // Spigot
|
||||
throw ex;
|
||||
} catch (Throwable ex) {
|
||||
+ target.timings.stopTiming(); // Spigot
|
||||
throw new CommandException("Unhandled exception executing '" + commandLine + "' in " + target, ex);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
|
||||
index 66ea6345..bba914d7 100644
|
||||
--- a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
|
||||
+++ b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
|
||||
@@ -19,23 +19,101 @@ import org.bukkit.util.StringUtil;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
+// Spigot start
|
||||
+import java.io.ByteArrayOutputStream;
|
||||
+import java.io.OutputStream;
|
||||
+import java.net.HttpURLConnection;
|
||||
+import java.net.URL;
|
||||
+import java.net.URLEncoder;
|
||||
+import java.util.logging.Level;
|
||||
+
|
||||
+import org.bukkit.command.RemoteConsoleCommandSender;
|
||||
+import org.bukkit.plugin.SimplePluginManager;
|
||||
+import org.spigotmc.CustomTimingsHandler;
|
||||
+// Spigot end
|
||||
+
|
||||
public class TimingsCommand extends BukkitCommand {
|
||||
- private static final List<String> TIMINGS_SUBCOMMANDS = ImmutableList.of("merged", "reset", "separate");
|
||||
+ private static final List<String> TIMINGS_SUBCOMMANDS = ImmutableList.of("report", "reset", "on", "off", "paste"); // Spigot
|
||||
+ public static long timingStart = 0; // Spigot
|
||||
|
||||
public TimingsCommand(String name) {
|
||||
super(name);
|
||||
- this.description = "Records timings for all plugin events";
|
||||
- this.usageMessage = "/timings <reset|merged|separate>";
|
||||
+ this.description = "Manages Spigot Timings data to see performance of the server."; // Spigot
|
||||
+ this.usageMessage = "/timings <reset|report|on|off|paste>"; // Spigot
|
||||
this.setPermission("bukkit.command.timings");
|
||||
}
|
||||
|
||||
+ // Spigot start - redesigned Timings Command
|
||||
+ public void executeSpigotTimings(CommandSender sender, String[] args) {
|
||||
+ if ( "on".equals( args[0] ) )
|
||||
+ {
|
||||
+ ( (SimplePluginManager) Bukkit.getPluginManager() ).useTimings( true );
|
||||
+ CustomTimingsHandler.reload();
|
||||
+ sender.sendMessage( "Enabled Timings & Reset" );
|
||||
+ return;
|
||||
+ } else if ( "off".equals( args[0] ) )
|
||||
+ {
|
||||
+ ( (SimplePluginManager) Bukkit.getPluginManager() ).useTimings( false );
|
||||
+ sender.sendMessage( "Disabled Timings" );
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if ( !Bukkit.getPluginManager().useTimings() )
|
||||
+ {
|
||||
+ sender.sendMessage( "Please enable timings by typing /timings on" );
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ boolean paste = "paste".equals( args[0] );
|
||||
+ if ("reset".equals(args[0])) {
|
||||
+ CustomTimingsHandler.reload();
|
||||
+ sender.sendMessage("Timings reset");
|
||||
+ } else if ("merged".equals(args[0]) || "report".equals(args[0]) || paste) {
|
||||
+ long sampleTime = System.nanoTime() - timingStart;
|
||||
+ int index = 0;
|
||||
+ File timingFolder = new File("timings");
|
||||
+ timingFolder.mkdirs();
|
||||
+ File timings = new File(timingFolder, "timings.txt");
|
||||
+ ByteArrayOutputStream bout = ( paste ) ? new ByteArrayOutputStream() : null;
|
||||
+ while (timings.exists()) timings = new File(timingFolder, "timings" + (++index) + ".txt");
|
||||
+ PrintStream fileTimings = null;
|
||||
+ try {
|
||||
+ fileTimings = ( paste ) ? new PrintStream( bout ) : new PrintStream( timings );
|
||||
+
|
||||
+ CustomTimingsHandler.printTimings(fileTimings);
|
||||
+ fileTimings.println( "Sample time " + sampleTime + " (" + sampleTime / 1E9 + "s)" );
|
||||
+
|
||||
+ fileTimings.println( "<spigotConfig>" );
|
||||
+ fileTimings.println( Bukkit.spigot().getConfig().saveToString() );
|
||||
+ fileTimings.println( "</spigotConfig>" );
|
||||
+
|
||||
+ if ( paste )
|
||||
+ {
|
||||
+ new PasteThread( sender, bout ).start();
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ sender.sendMessage("Timings written to " + timings.getPath());
|
||||
+ sender.sendMessage( "Paste contents of file into form at http://www.spigotmc.org/go/timings to read results." );
|
||||
+
|
||||
+ } catch (IOException e) {
|
||||
+ } finally {
|
||||
+ if (fileTimings != null) {
|
||||
+ fileTimings.close();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
@Override
|
||||
public boolean execute(CommandSender sender, String currentAlias, String[] args) {
|
||||
if (!testPermission(sender)) return true;
|
||||
- if (args.length != 1) {
|
||||
+ if (args.length < 1) { // Spigot
|
||||
sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage);
|
||||
return false;
|
||||
}
|
||||
+ if (true) { executeSpigotTimings(sender, args); return true; } // Spigot
|
||||
if (!sender.getServer().getPluginManager().useTimings()) {
|
||||
sender.sendMessage("Please enable timings by setting \"settings.plugin-profiling\" to true in bukkit.yml");
|
||||
return true;
|
||||
@@ -121,4 +199,55 @@ public class TimingsCommand extends BukkitCommand {
|
||||
}
|
||||
return ImmutableList.of();
|
||||
}
|
||||
+
|
||||
+ // Spigot start
|
||||
+ private static class PasteThread extends Thread
|
||||
+ {
|
||||
+
|
||||
+ private final CommandSender sender;
|
||||
+ private final ByteArrayOutputStream bout;
|
||||
+
|
||||
+ public PasteThread(CommandSender sender, ByteArrayOutputStream bout)
|
||||
+ {
|
||||
+ super( "Timings paste thread" );
|
||||
+ this.sender = sender;
|
||||
+ this.bout = bout;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public synchronized void start() {
|
||||
+ if (sender instanceof RemoteConsoleCommandSender) {
|
||||
+ run();
|
||||
+ } else {
|
||||
+ super.start();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void run()
|
||||
+ {
|
||||
+ try
|
||||
+ {
|
||||
+ HttpURLConnection con = (HttpURLConnection) new URL( "https://timings.spigotmc.org/paste" ).openConnection();
|
||||
+ con.setDoOutput( true );
|
||||
+ con.setRequestMethod( "POST" );
|
||||
+ con.setInstanceFollowRedirects( false );
|
||||
+
|
||||
+ OutputStream out = con.getOutputStream();
|
||||
+ out.write( bout.toByteArray() );
|
||||
+ out.close();
|
||||
+
|
||||
+ com.google.gson.JsonObject location = new com.google.gson.Gson().fromJson(new java.io.InputStreamReader(con.getInputStream()), com.google.gson.JsonObject.class);
|
||||
+ con.getInputStream().close();
|
||||
+
|
||||
+ String pasteID = location.get( "key" ).getAsString();
|
||||
+ sender.sendMessage( ChatColor.GREEN + "Timings results can be viewed at https://www.spigotmc.org/go/timings?url=" + pasteID );
|
||||
+ } catch ( IOException ex )
|
||||
+ {
|
||||
+ sender.sendMessage( ChatColor.RED + "Error pasting timings, check your console for more information" );
|
||||
+ Bukkit.getServer().getLogger().log( Level.WARNING, "Could not paste timings", ex );
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
index 60b23995..8b130abb 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
||||
@@ -293,6 +293,7 @@ public final class SimplePluginManager implements PluginManager {
|
||||
}
|
||||
}
|
||||
|
||||
+ org.bukkit.command.defaults.TimingsCommand.timingStart = System.nanoTime(); // Spigot
|
||||
return result.toArray(new Plugin[result.size()]);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||
index df613b0c..73372534 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||
@@ -40,6 +40,7 @@ import org.bukkit.plugin.PluginLoader;
|
||||
import org.bukkit.plugin.RegisteredListener;
|
||||
import org.bukkit.plugin.TimedRegisteredListener;
|
||||
import org.bukkit.plugin.UnknownDependencyException;
|
||||
+import org.spigotmc.CustomTimingsHandler; // Spigot
|
||||
import org.yaml.snakeyaml.error.YAMLException;
|
||||
|
||||
/**
|
||||
@@ -50,6 +51,7 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||
private final Pattern[] fileFilters = new Pattern[] { Pattern.compile("\\.jar$"), };
|
||||
private final Map<String, Class<?>> classes = new HashMap<String, Class<?>>();
|
||||
private final List<PluginClassLoader> loaders = new CopyOnWriteArrayList<PluginClassLoader>();
|
||||
+ public static final CustomTimingsHandler pluginParentTimer = new CustomTimingsHandler("** Plugins"); // Spigot
|
||||
|
||||
/**
|
||||
* This class was not meant to be constructed explicitly
|
||||
@@ -287,13 +289,19 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||
}
|
||||
}
|
||||
|
||||
+ final CustomTimingsHandler timings = new CustomTimingsHandler("Plugin: " + plugin.getDescription().getFullName() + " Event: " + listener.getClass().getName() + "::" + method.getName()+"("+eventClass.getSimpleName()+")", pluginParentTimer); // Spigot
|
||||
EventExecutor executor = new EventExecutor() {
|
||||
public void execute(Listener listener, Event event) throws EventException {
|
||||
try {
|
||||
if (!eventClass.isAssignableFrom(event.getClass())) {
|
||||
return;
|
||||
}
|
||||
+ // Spigot start
|
||||
+ boolean isAsync = event.isAsynchronous();
|
||||
+ if (!isAsync) timings.startTiming();
|
||||
method.invoke(listener, event);
|
||||
+ if (!isAsync) timings.stopTiming();
|
||||
+ // Spigot end
|
||||
} catch (InvocationTargetException ex) {
|
||||
throw new EventException(ex.getCause());
|
||||
} catch (Throwable t) {
|
||||
@@ -301,7 +309,7 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||
}
|
||||
}
|
||||
};
|
||||
- if (useTimings) {
|
||||
+ if (false) { // Spigot - RL handles useTimings check now
|
||||
eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));
|
||||
} else {
|
||||
eventSet.add(new RegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));
|
||||
diff --git a/src/main/java/org/spigotmc/CustomTimingsHandler.java b/src/main/java/org/spigotmc/CustomTimingsHandler.java
|
||||
new file mode 100644
|
||||
index 00000000..8d982974
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/spigotmc/CustomTimingsHandler.java
|
||||
@@ -0,0 +1,165 @@
|
||||
+package org.spigotmc;
|
||||
+
|
||||
+import org.bukkit.command.defaults.TimingsCommand;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.plugin.Plugin;
|
||||
+import org.bukkit.plugin.RegisteredListener;
|
||||
+import org.bukkit.plugin.TimedRegisteredListener;
|
||||
+import java.io.PrintStream;
|
||||
+import java.util.Collection;
|
||||
+import java.util.HashSet;
|
||||
+import java.util.List;
|
||||
+import java.util.Queue;
|
||||
+import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
+
|
||||
+import org.bukkit.Bukkit;
|
||||
+import org.bukkit.World;
|
||||
+
|
||||
+/**
|
||||
+ * Provides custom timing sections for /timings merged.
|
||||
+ */
|
||||
+public class CustomTimingsHandler
|
||||
+{
|
||||
+
|
||||
+ private static Queue<CustomTimingsHandler> HANDLERS = new ConcurrentLinkedQueue<CustomTimingsHandler>();
|
||||
+ /*========================================================================*/
|
||||
+ private final String name;
|
||||
+ private final CustomTimingsHandler parent;
|
||||
+ private long count = 0;
|
||||
+ private long start = 0;
|
||||
+ private long timingDepth = 0;
|
||||
+ private long totalTime = 0;
|
||||
+ private long curTickTotal = 0;
|
||||
+ private long violations = 0;
|
||||
+
|
||||
+ public CustomTimingsHandler(String name)
|
||||
+ {
|
||||
+ this( name, null );
|
||||
+ }
|
||||
+
|
||||
+ public CustomTimingsHandler(String name, CustomTimingsHandler parent)
|
||||
+ {
|
||||
+ this.name = name;
|
||||
+ this.parent = parent;
|
||||
+ HANDLERS.add( this );
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Prints the timings and extra data to the given stream.
|
||||
+ *
|
||||
+ * @param printStream
|
||||
+ */
|
||||
+ public static void printTimings(PrintStream printStream)
|
||||
+ {
|
||||
+ printStream.println( "Minecraft" );
|
||||
+ for ( CustomTimingsHandler timings : HANDLERS )
|
||||
+ {
|
||||
+ long time = timings.totalTime;
|
||||
+ long count = timings.count;
|
||||
+ if ( count == 0 )
|
||||
+ {
|
||||
+ continue;
|
||||
+ }
|
||||
+ long avg = time / count;
|
||||
+
|
||||
+ printStream.println( " " + timings.name + " Time: " + time + " Count: " + count + " Avg: " + avg + " Violations: " + timings.violations );
|
||||
+ }
|
||||
+ printStream.println( "# Version " + Bukkit.getVersion() );
|
||||
+ int entities = 0;
|
||||
+ int livingEntities = 0;
|
||||
+ for ( World world : Bukkit.getWorlds() )
|
||||
+ {
|
||||
+ entities += world.getEntities().size();
|
||||
+ livingEntities += world.getLivingEntities().size();
|
||||
+ }
|
||||
+ printStream.println( "# Entities " + entities );
|
||||
+ printStream.println( "# LivingEntities " + livingEntities );
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Resets all timings.
|
||||
+ */
|
||||
+ public static void reload()
|
||||
+ {
|
||||
+ if ( Bukkit.getPluginManager().useTimings() )
|
||||
+ {
|
||||
+ for ( CustomTimingsHandler timings : HANDLERS )
|
||||
+ {
|
||||
+ timings.reset();
|
||||
+ }
|
||||
+ }
|
||||
+ TimingsCommand.timingStart = System.nanoTime();
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Ticked every tick by CraftBukkit to count the number of times a timer
|
||||
+ * caused TPS loss.
|
||||
+ */
|
||||
+ public static void tick()
|
||||
+ {
|
||||
+ if ( Bukkit.getPluginManager().useTimings() )
|
||||
+ {
|
||||
+ for ( CustomTimingsHandler timings : HANDLERS )
|
||||
+ {
|
||||
+ if ( timings.curTickTotal > 50000000 )
|
||||
+ {
|
||||
+ timings.violations += Math.ceil( timings.curTickTotal / 50000000 );
|
||||
+ }
|
||||
+ timings.curTickTotal = 0;
|
||||
+ timings.timingDepth = 0; // incase reset messes this up
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Starts timing to track a section of code.
|
||||
+ */
|
||||
+ public void startTiming()
|
||||
+ {
|
||||
+ // If second condtion fails we are already timing
|
||||
+ if ( Bukkit.getPluginManager().useTimings() && ++timingDepth == 1 )
|
||||
+ {
|
||||
+ start = System.nanoTime();
|
||||
+ if ( parent != null && ++parent.timingDepth == 1 )
|
||||
+ {
|
||||
+ parent.start = start;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Stops timing a section of code.
|
||||
+ */
|
||||
+ public void stopTiming()
|
||||
+ {
|
||||
+ if ( Bukkit.getPluginManager().useTimings() )
|
||||
+ {
|
||||
+ if ( --timingDepth != 0 || start == 0 )
|
||||
+ {
|
||||
+ return;
|
||||
+ }
|
||||
+ long diff = System.nanoTime() - start;
|
||||
+ totalTime += diff;
|
||||
+ curTickTotal += diff;
|
||||
+ count++;
|
||||
+ start = 0;
|
||||
+ if ( parent != null )
|
||||
+ {
|
||||
+ parent.stopTiming();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Reset this timer, setting all values to zero.
|
||||
+ */
|
||||
+ public void reset()
|
||||
+ {
|
||||
+ count = 0;
|
||||
+ violations = 0;
|
||||
+ curTickTotal = 0;
|
||||
+ totalTime = 0;
|
||||
+ start = 0;
|
||||
+ timingDepth = 0;
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
From e5a52668a8bdea96c7850a7d5b30900e89486db7 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Mon, 4 Mar 2013 18:31:20 +1100
|
||||
Subject: [PATCH] Add PlayerItemDamageEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/event/player/PlayerItemDamageEvent.java b/src/main/java/org/bukkit/event/player/PlayerItemDamageEvent.java
|
||||
new file mode 100644
|
||||
index 00000000..38a72ab8
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/bukkit/event/player/PlayerItemDamageEvent.java
|
||||
@@ -0,0 +1,54 @@
|
||||
+package org.bukkit.event.player;
|
||||
+
|
||||
+import org.bukkit.entity.Player;
|
||||
+import org.bukkit.event.Cancellable;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.inventory.ItemStack;
|
||||
+
|
||||
+public class PlayerItemDamageEvent extends PlayerEvent implements Cancellable {
|
||||
+
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+ private final ItemStack item;
|
||||
+ private int damage;
|
||||
+ private boolean cancelled = false;
|
||||
+
|
||||
+ public PlayerItemDamageEvent(Player player, ItemStack what, int damage) {
|
||||
+ super(player);
|
||||
+ this.item = what;
|
||||
+ this.damage = damage;
|
||||
+ }
|
||||
+
|
||||
+ public ItemStack getItem() {
|
||||
+ return item;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Gets the amount of durability damage this item will be taking.
|
||||
+ *
|
||||
+ * @return durability change
|
||||
+ */
|
||||
+ public int getDamage() {
|
||||
+ return damage;
|
||||
+ }
|
||||
+
|
||||
+ public void setDamage(int damage) {
|
||||
+ this.damage = damage;
|
||||
+ }
|
||||
+
|
||||
+ public boolean isCancelled() {
|
||||
+ return cancelled;
|
||||
+ }
|
||||
+
|
||||
+ public void setCancelled(boolean cancel) {
|
||||
+ this.cancelled = cancel;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public HandlerList getHandlers() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+
|
||||
+ public static HandlerList getHandlerList() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
From 74788e62f3c700c8b0e5e4a2f08fa9cd923e79cd Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 2 Jun 2013 15:20:49 +1000
|
||||
Subject: [PATCH] BungeeCord Support
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 92825490..0215e0d0 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1442,6 +1442,16 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
public class Spigot extends Entity.Spigot
|
||||
{
|
||||
|
||||
+ /**
|
||||
+ * Gets the connection address of this player, regardless of whether it
|
||||
+ * has been spoofed or not.
|
||||
+ *
|
||||
+ * @return the player's connection address
|
||||
+ */
|
||||
+ public InetSocketAddress getRawAddress()
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java b/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java
|
||||
index 8b012ea9..de4fb37f 100644
|
||||
--- a/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java
|
||||
+++ b/src/main/java/org/bukkit/event/player/PlayerLoginEvent.java
|
||||
@@ -14,6 +14,7 @@ public class PlayerLoginEvent extends PlayerEvent {
|
||||
private final String hostname;
|
||||
private Result result = Result.ALLOWED;
|
||||
private String message = "";
|
||||
+ private final InetAddress realAddress; // Spigot
|
||||
|
||||
/**
|
||||
* This constructor defaults message to an empty string, and result to
|
||||
@@ -24,10 +25,17 @@ public class PlayerLoginEvent extends PlayerEvent {
|
||||
* @param address The address the player used to connect, provided for
|
||||
* timing issues
|
||||
*/
|
||||
- public PlayerLoginEvent(final Player player, final String hostname, final InetAddress address) {
|
||||
+ public PlayerLoginEvent(final Player player, final String hostname, final InetAddress address, final InetAddress realAddress) { // Spigot
|
||||
super(player);
|
||||
this.hostname = hostname;
|
||||
this.address = address;
|
||||
+ // Spigot start
|
||||
+ this.realAddress = realAddress;
|
||||
+ }
|
||||
+
|
||||
+ public PlayerLoginEvent(final Player player, final String hostname, final InetAddress address) {
|
||||
+ this(player, hostname, address, address);
|
||||
+ // Spigot end
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -40,12 +48,23 @@ public class PlayerLoginEvent extends PlayerEvent {
|
||||
* @param result The result status for this event
|
||||
* @param message The message to be displayed if result denies login
|
||||
*/
|
||||
- public PlayerLoginEvent(final Player player, String hostname, final InetAddress address, final Result result, final String message) {
|
||||
- this(player, hostname, address);
|
||||
+ public PlayerLoginEvent(final Player player, String hostname, final InetAddress address, final Result result, final String message, final InetAddress realAddress) { // Spigot
|
||||
+ this(player, hostname, address, realAddress); // Spigot
|
||||
this.result = result;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
+ // Spigot start
|
||||
+ /**
|
||||
+ * Gets the connection address of this player, regardless of whether it has been spoofed or not.
|
||||
+ *
|
||||
+ * @return the player's connection address
|
||||
+ */
|
||||
+ public InetAddress getRealAddress() {
|
||||
+ return realAddress;
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
/**
|
||||
* Gets the current result of the login, as an enum
|
||||
*
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
From fd503f43019eb782cc176f776b7b9ca8487e7551 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 2 Jun 2013 15:08:24 +1000
|
||||
Subject: [PATCH] Add Arrow API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Arrow.java b/src/main/java/org/bukkit/entity/Arrow.java
|
||||
index c77f3a4f..99814eee 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Arrow.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Arrow.java
|
||||
@@ -94,6 +94,15 @@ public interface Arrow extends Projectile {
|
||||
public class Spigot extends Entity.Spigot
|
||||
{
|
||||
|
||||
+ public double getDamage()
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
+
|
||||
+ public void setDamage(double damage)
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,438 @@
|
|||
From fed8bd962751a695c15c495ff39326d6b387a5b2 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sun, 2 Jun 2013 15:57:09 +1000
|
||||
Subject: [PATCH] Add Particle API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Effect.java b/src/main/java/org/bukkit/Effect.java
|
||||
index 21f7db58..eeb25812 100644
|
||||
--- a/src/main/java/org/bukkit/Effect.java
|
||||
+++ b/src/main/java/org/bukkit/Effect.java
|
||||
@@ -5,6 +5,7 @@ import java.util.Map;
|
||||
import com.google.common.collect.Maps;
|
||||
|
||||
import org.bukkit.block.BlockFace;
|
||||
+import org.bukkit.material.MaterialData;
|
||||
import org.bukkit.potion.Potion;
|
||||
|
||||
/**
|
||||
@@ -196,27 +197,258 @@ public enum Effect {
|
||||
* The sound of an enderdragon growling
|
||||
*/
|
||||
ENDERDRAGON_GROWL(3001, Type.SOUND),
|
||||
+ /**
|
||||
+ * The spark that comes off a fireworks
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ FIREWORKS_SPARK("fireworksSpark", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Critical hit particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ CRIT("crit", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Blue critical hit particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ MAGIC_CRIT("magicCrit", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Multicolored potion effect particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ POTION_SWIRL("mobSpell", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Multicolored potion effect particles that are slightly transparent
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ POTION_SWIRL_TRANSPARENT("mobSpellAmbient", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * A puff of white potion swirls
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ SPELL("spell", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * A puff of white stars
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ INSTANT_SPELL("instantSpell", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * A puff of purple particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ WITCH_MAGIC("witchMagic", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The note that appears above note blocks
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ NOTE("note", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The particles shown at nether portals
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ PORTAL("portal", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The symbols that fly towards the enchantment table
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ FLYING_GLYPH("enchantmenttable", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Fire particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ FLAME("flame", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The particles that pop out of lava
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ LAVA_POP("lava", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * A small gray square
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ FOOTSTEP("footstep", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Water particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ SPLASH("splash", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Smoke particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ PARTICLE_SMOKE("smoke", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The biggest explosion particle effect
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ EXPLOSION_HUGE("hugeexplosion", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * A larger version of the explode particle
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ EXPLOSION_LARGE("largeexplode", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Explosion particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ EXPLOSION("explode", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Small gray particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ VOID_FOG("depthsuspend", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Small gray particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ SMALL_SMOKE("townaura", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * A puff of white smoke
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ CLOUD("cloud", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Multicolored dust particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ COLOURED_DUST("reddust", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * Snowball breaking
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ SNOWBALL_BREAK("snowballpoof", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The water drip particle that appears on blocks under water
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ WATERDRIP("dripWater", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The lava drip particle that appears on blocks under lava
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ LAVADRIP("dripLava", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * White particles
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ SNOW_SHOVEL("snowshovel", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The particle shown when a slime jumps
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ SLIME("slime", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The particle that appears when breading animals
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ HEART("heart", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The particle that appears when hitting a villager
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ VILLAGER_THUNDERCLOUD("angryVillager", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The particle that appears when trading with a villager
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ HAPPY_VILLAGER("happyVillager", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The smoke particles that appears on blazes, minecarts
|
||||
+ * with furnaces and fire
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ LARGE_SMOKE("largesmoke", Type.PARTICLE),
|
||||
+ /**
|
||||
+ * The particles generated when a tool breaks.
|
||||
+ * This particle requires a Material so that the client can select the correct texture.
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ ITEM_BREAK("iconcrack", Type.PARTICLE, Material.class),
|
||||
+ /**
|
||||
+ * The particles generated while breaking a block.
|
||||
+ * This particle requires a Material and data value so that the client can select the correct texture.
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ TILE_BREAK("blockcrack", Type.PARTICLE, MaterialData.class),
|
||||
+ /**
|
||||
+ * The particles generated while sprinting a block
|
||||
+ * This particle requires a Material and data value so that the client can select the correct texture.
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ TILE_DUST("blockdust", Type.PARTICLE, MaterialData.class)
|
||||
;
|
||||
|
||||
private final int id;
|
||||
private final Type type;
|
||||
private final Class<?> data;
|
||||
private static final Map<Integer, Effect> BY_ID = Maps.newHashMap();
|
||||
+ private static final Map<String, Effect> BY_NAME = Maps.newHashMap();
|
||||
+ private final String particleName;
|
||||
|
||||
- Effect(int id, Type type) {
|
||||
+ private Effect(int id, Type type) {
|
||||
this(id, type, null);
|
||||
}
|
||||
|
||||
- Effect(int id, Type type, Class<?> data) {
|
||||
+ private Effect(int id, Type type, Class<?> data) {
|
||||
this.id = id;
|
||||
this.type = type;
|
||||
this.data = data;
|
||||
+ particleName = null;
|
||||
+ }
|
||||
+
|
||||
+ private Effect(String particleName, Type type, Class<?> data) {
|
||||
+ this.particleName = particleName;
|
||||
+ this.type = type;
|
||||
+ id = 0;
|
||||
+ this.data = data;
|
||||
+ }
|
||||
+
|
||||
+ private Effect(String particleName, Type type) {
|
||||
+ this.particleName = particleName;
|
||||
+ this.type = type;
|
||||
+ id = 0;
|
||||
+ this.data = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the ID for this effect.
|
||||
*
|
||||
- * @return ID of this effect
|
||||
+ * @return if this Effect isn't of type PARTICLE it returns ID of this effect
|
||||
* @deprecated Magic value
|
||||
*/
|
||||
@Deprecated
|
||||
@@ -224,6 +456,17 @@ public enum Effect {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
+ /**
|
||||
+ * Returns the effect's name. This returns null if the effect is not a particle
|
||||
+ *
|
||||
+ * @return The effect's name
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public String getName() {
|
||||
+ return particleName;
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* @return The type of the effect.
|
||||
*/
|
||||
@@ -232,8 +475,7 @@ public enum Effect {
|
||||
}
|
||||
|
||||
/**
|
||||
- * @return The class which represents data for this effect, or null if
|
||||
- * none
|
||||
+ * @return if this Effect isn't of type PARTICLE it returns the class which represents data for this effect, or null if none
|
||||
*/
|
||||
public Class<?> getData() {
|
||||
return this.data;
|
||||
@@ -253,12 +495,34 @@ public enum Effect {
|
||||
|
||||
static {
|
||||
for (Effect effect : values()) {
|
||||
- BY_ID.put(effect.id, effect);
|
||||
+ if (effect.type != Type.PARTICLE) {
|
||||
+ BY_ID.put(effect.id, effect);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Gets the Effect associated with the given name.
|
||||
+ *
|
||||
+ * @param name name of the Effect to return
|
||||
+ * @return Effect with the given name
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public static Effect getByName(String name) {
|
||||
+ return BY_NAME.get(name);
|
||||
+ }
|
||||
+
|
||||
+ static {
|
||||
+ for (Effect effect : values()) {
|
||||
+ if (effect.type == Type.PARTICLE) {
|
||||
+ BY_NAME.put(effect.particleName, effect);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents the type of an effect.
|
||||
*/
|
||||
- public enum Type {SOUND, VISUAL}
|
||||
+ public enum Type {SOUND, VISUAL, PARTICLE}
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index ab6b1e3a..89db7303 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -1432,6 +1432,51 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
public class Spigot
|
||||
{
|
||||
|
||||
+ /**
|
||||
+ * Plays an effect to all players within a default radius around a given
|
||||
+ * location.
|
||||
+ *
|
||||
+ * @param location the {@link Location} around which players must be to
|
||||
+ * see the effect
|
||||
+ * @param effect the {@link Effect}
|
||||
+ * @throws IllegalArgumentException if the location or effect is null.
|
||||
+ * It also throws when the effect requires a material or a material data
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public void playEffect(Location location, Effect effect)
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Plays an effect to all players within a default radius around a given
|
||||
+ * location. The effect will use the provided material (and material
|
||||
+ * data if required). The particle's position on the client will be the
|
||||
+ * given location, adjusted on each axis by a normal distribution with
|
||||
+ * mean 0 and standard deviation given in the offset parameters, each
|
||||
+ * particle has independently calculated offsets. The effect will have
|
||||
+ * the given speed and particle count if the effect is a particle. Some
|
||||
+ * effect will create multiple particles.
|
||||
+ *
|
||||
+ * @param location the {@link Location} around which players must be to
|
||||
+ * see the effect
|
||||
+ * @param effect effect the {@link Effect}
|
||||
+ * @param id the item/block/data id for the effect
|
||||
+ * @param data the data value of the block/item for the effect
|
||||
+ * @param offsetX the amount to be randomly offset by in the X axis
|
||||
+ * @param offsetY the amount to be randomly offset by in the Y axis
|
||||
+ * @param offsetZ the amount to be randomly offset by in the Z axis
|
||||
+ * @param speed the speed of the particles
|
||||
+ * @param particleCount the number of particles
|
||||
+ * @param radius the radius around the location
|
||||
+ * @deprecated Spigot specific API, use {@link Particle}.
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public void playEffect(Location location, Effect effect, int id, int data, float offsetX, float offsetY, float offsetZ, float speed, int particleCount, int radius)
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
Spigot spigot();
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 0215e0d0..7e6b5963 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1452,6 +1452,12 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
{
|
||||
throw new UnsupportedOperationException( "Not supported yet." );
|
||||
}
|
||||
+
|
||||
+ @Deprecated
|
||||
+ public void playEffect(Location location, Effect effect, int id, int data, float offsetX, float offsetY, float offsetZ, float speed, int particleCount, int radius)
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/test/java/org/bukkit/EffectTest.java b/src/test/java/org/bukkit/EffectTest.java
|
||||
index 08aa71d3..5217aecb 100644
|
||||
--- a/src/test/java/org/bukkit/EffectTest.java
|
||||
+++ b/src/test/java/org/bukkit/EffectTest.java
|
||||
@@ -9,7 +9,11 @@ public class EffectTest {
|
||||
@Test
|
||||
public void getById() {
|
||||
for (Effect effect : Effect.values()) {
|
||||
- assertThat(Effect.getById(effect.getId()), is(effect));
|
||||
+ if (effect.getType() != Effect.Type.PARTICLE) {
|
||||
+ assertThat(Effect.getById(effect.getId()), is(effect));
|
||||
+ } else {
|
||||
+ assertThat(Effect.getByName(effect.getName()), is(effect));
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,219 @@
|
|||
From cf02bc5cea506a51b858066b8baec21020d43030 Mon Sep 17 00:00:00 2001
|
||||
From: Andy Shulman <andy.shulman@hotmail.com>
|
||||
Date: Mon, 15 Apr 2013 20:06:01 -0500
|
||||
Subject: [PATCH] Define EntitySpawnEvent and SpawnerSpawnEvent
|
||||
|
||||
Defines EntitySpawnEvent and SpawnerSpawnEvent. Adds BUKKIT-267 and BUKKIT-1559
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java b/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java
|
||||
index 4a8f2e18..70212ea5 100644
|
||||
--- a/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java
|
||||
+++ b/src/main/java/org/bukkit/event/entity/CreatureSpawnEvent.java
|
||||
@@ -3,17 +3,13 @@ package org.bukkit.event.entity;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
-import org.bukkit.event.Cancellable;
|
||||
-import org.bukkit.event.HandlerList;
|
||||
|
||||
/**
|
||||
* Called when a creature is spawned into a world.
|
||||
* <p>
|
||||
* If a Creature Spawn event is cancelled, the creature will not spawn.
|
||||
*/
|
||||
-public class CreatureSpawnEvent extends EntityEvent implements Cancellable {
|
||||
- private static final HandlerList handlers = new HandlerList();
|
||||
- private boolean canceled;
|
||||
+public class CreatureSpawnEvent extends EntitySpawnEvent {
|
||||
private final SpawnReason spawnReason;
|
||||
|
||||
public CreatureSpawnEvent(final LivingEntity spawnee, final SpawnReason spawnReason) {
|
||||
@@ -21,28 +17,11 @@ public class CreatureSpawnEvent extends EntityEvent implements Cancellable {
|
||||
this.spawnReason = spawnReason;
|
||||
}
|
||||
|
||||
- public boolean isCancelled() {
|
||||
- return canceled;
|
||||
- }
|
||||
-
|
||||
- public void setCancelled(boolean cancel) {
|
||||
- canceled = cancel;
|
||||
- }
|
||||
-
|
||||
@Override
|
||||
public LivingEntity getEntity() {
|
||||
return (LivingEntity) entity;
|
||||
}
|
||||
|
||||
- /**
|
||||
- * Gets the location at which the creature is spawning.
|
||||
- *
|
||||
- * @return The location at which the creature is spawning
|
||||
- */
|
||||
- public Location getLocation() {
|
||||
- return getEntity().getLocation();
|
||||
- }
|
||||
-
|
||||
/**
|
||||
* Gets the reason for why the creature is being spawned.
|
||||
*
|
||||
@@ -53,15 +32,6 @@ public class CreatureSpawnEvent extends EntityEvent implements Cancellable {
|
||||
return spawnReason;
|
||||
}
|
||||
|
||||
- @Override
|
||||
- public HandlerList getHandlers() {
|
||||
- return handlers;
|
||||
- }
|
||||
-
|
||||
- public static HandlerList getHandlerList() {
|
||||
- return handlers;
|
||||
- }
|
||||
-
|
||||
/**
|
||||
* An enum to specify the type of spawning
|
||||
*/
|
||||
diff --git a/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
|
||||
new file mode 100644
|
||||
index 00000000..5dcf98f3
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
|
||||
@@ -0,0 +1,45 @@
|
||||
+package org.bukkit.event.entity;
|
||||
+
|
||||
+import org.bukkit.Location;
|
||||
+import org.bukkit.entity.Entity;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+
|
||||
+/**
|
||||
+ * Called when an entity is spawned into a world.
|
||||
+ * <p>
|
||||
+ * If an Entity Spawn event is cancelled, the entity will not spawn.
|
||||
+ */
|
||||
+public class EntitySpawnEvent extends EntityEvent implements org.bukkit.event.Cancellable {
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+ private boolean canceled;
|
||||
+
|
||||
+ public EntitySpawnEvent(final Entity spawnee) {
|
||||
+ super(spawnee);
|
||||
+ }
|
||||
+
|
||||
+ public boolean isCancelled() {
|
||||
+ return canceled;
|
||||
+ }
|
||||
+
|
||||
+ public void setCancelled(boolean cancel) {
|
||||
+ canceled = cancel;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Gets the location at which the entity is spawning.
|
||||
+ *
|
||||
+ * @return The location at which the entity is spawning
|
||||
+ */
|
||||
+ public Location getLocation() {
|
||||
+ return getEntity().getLocation();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public HandlerList getHandlers() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+
|
||||
+ public static HandlerList getHandlerList() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/event/entity/ItemSpawnEvent.java b/src/main/java/org/bukkit/event/entity/ItemSpawnEvent.java
|
||||
index bafd934a..776f8e72 100644
|
||||
--- a/src/main/java/org/bukkit/event/entity/ItemSpawnEvent.java
|
||||
+++ b/src/main/java/org/bukkit/event/entity/ItemSpawnEvent.java
|
||||
@@ -1,51 +1,23 @@
|
||||
package org.bukkit.event.entity;
|
||||
|
||||
-import org.bukkit.entity.Item;
|
||||
import org.bukkit.Location;
|
||||
-import org.bukkit.event.Cancellable;
|
||||
-import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.entity.Item;
|
||||
|
||||
/**
|
||||
* Called when an item is spawned into a world
|
||||
*/
|
||||
-public class ItemSpawnEvent extends EntityEvent implements Cancellable {
|
||||
- private static final HandlerList handlers = new HandlerList();
|
||||
- private final Location location;
|
||||
- private boolean canceled;
|
||||
-
|
||||
- public ItemSpawnEvent(final Item spawnee, final Location loc) {
|
||||
+public class ItemSpawnEvent extends EntitySpawnEvent {
|
||||
+ public ItemSpawnEvent(final Item spawnee) {
|
||||
super(spawnee);
|
||||
- this.location = loc;
|
||||
}
|
||||
|
||||
- public boolean isCancelled() {
|
||||
- return canceled;
|
||||
- }
|
||||
-
|
||||
- public void setCancelled(boolean cancel) {
|
||||
- canceled = cancel;
|
||||
+ @Deprecated
|
||||
+ public ItemSpawnEvent(final Item spawnee, final Location loc) {
|
||||
+ this(spawnee);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getEntity() {
|
||||
return (Item) entity;
|
||||
}
|
||||
-
|
||||
- /**
|
||||
- * Gets the location at which the item is spawning.
|
||||
- *
|
||||
- * @return The location at which the item is spawning
|
||||
- */
|
||||
- public Location getLocation() {
|
||||
- return location;
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public HandlerList getHandlers() {
|
||||
- return handlers;
|
||||
- }
|
||||
-
|
||||
- public static HandlerList getHandlerList() {
|
||||
- return handlers;
|
||||
- }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/event/entity/SpawnerSpawnEvent.java b/src/main/java/org/bukkit/event/entity/SpawnerSpawnEvent.java
|
||||
new file mode 100644
|
||||
index 00000000..1acb3c40
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/bukkit/event/entity/SpawnerSpawnEvent.java
|
||||
@@ -0,0 +1,22 @@
|
||||
+package org.bukkit.event.entity;
|
||||
+
|
||||
+import org.bukkit.block.CreatureSpawner;
|
||||
+import org.bukkit.entity.Entity;
|
||||
+
|
||||
+/**
|
||||
+ * Called when an entity is spawned into a world by a spawner.
|
||||
+ * <p>
|
||||
+ * If a Spawner Spawn event is cancelled, the entity will not spawn.
|
||||
+ */
|
||||
+public class SpawnerSpawnEvent extends EntitySpawnEvent {
|
||||
+ private final CreatureSpawner spawner;
|
||||
+
|
||||
+ public SpawnerSpawnEvent(final Entity spawnee, final CreatureSpawner spawner) {
|
||||
+ super(spawnee);
|
||||
+ this.spawner = spawner;
|
||||
+ }
|
||||
+
|
||||
+ public CreatureSpawner getSpawner() {
|
||||
+ return spawner;
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,112 @@
|
|||
From 41cbe1d5fc27d3c28018b955e5b88878760cde12 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Tue, 2 Jul 2013 20:32:53 +1000
|
||||
Subject: [PATCH] Entity Mount and Dismount Events
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java b/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java
|
||||
new file mode 100644
|
||||
index 00000000..24d4942a
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/spigotmc/event/entity/EntityDismountEvent.java
|
||||
@@ -0,0 +1,39 @@
|
||||
+package org.spigotmc.event.entity;
|
||||
+
|
||||
+import org.bukkit.entity.Entity;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.event.entity.EntityEvent;
|
||||
+
|
||||
+/**
|
||||
+ * Called when an entity stops riding another entity.
|
||||
+ *
|
||||
+ */
|
||||
+public class EntityDismountEvent extends EntityEvent
|
||||
+{
|
||||
+
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+ private boolean cancelled;
|
||||
+ private final Entity dismounted;
|
||||
+
|
||||
+ public EntityDismountEvent(Entity what, Entity dismounted)
|
||||
+ {
|
||||
+ super( what );
|
||||
+ this.dismounted = dismounted;
|
||||
+ }
|
||||
+
|
||||
+ public Entity getDismounted()
|
||||
+ {
|
||||
+ return dismounted;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public HandlerList getHandlers()
|
||||
+ {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+
|
||||
+ public static HandlerList getHandlerList()
|
||||
+ {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/spigotmc/event/entity/EntityMountEvent.java b/src/main/java/org/spigotmc/event/entity/EntityMountEvent.java
|
||||
new file mode 100644
|
||||
index 00000000..16aa2a7e
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/spigotmc/event/entity/EntityMountEvent.java
|
||||
@@ -0,0 +1,52 @@
|
||||
+package org.spigotmc.event.entity;
|
||||
+
|
||||
+import org.bukkit.entity.Entity;
|
||||
+import org.bukkit.event.Cancellable;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.event.entity.EntityEvent;
|
||||
+
|
||||
+/**
|
||||
+ * Called when an entity attempts to ride another entity.
|
||||
+ *
|
||||
+ */
|
||||
+public class EntityMountEvent extends EntityEvent implements Cancellable
|
||||
+{
|
||||
+
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+ private boolean cancelled;
|
||||
+ private final Entity mount;
|
||||
+
|
||||
+ public EntityMountEvent(Entity what, Entity mount)
|
||||
+ {
|
||||
+ super( what );
|
||||
+ this.mount = mount;
|
||||
+ }
|
||||
+
|
||||
+ public Entity getMount()
|
||||
+ {
|
||||
+ return mount;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isCancelled()
|
||||
+ {
|
||||
+ return cancelled;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setCancelled(boolean cancel)
|
||||
+ {
|
||||
+ this.cancelled = cancel;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public HandlerList getHandlers()
|
||||
+ {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+
|
||||
+ public static HandlerList getHandlerList()
|
||||
+ {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
From b3545a19c3480cccaece21d8a8215d1ef00ca1bf Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 7 Jul 2013 10:32:05 -0400
|
||||
Subject: [PATCH] InventoryClickEvent getClickedInventory
|
||||
|
||||
Add InventoryClickEvent.getClickedInventory. Adds BUKKIT-4495
|
||||
Plugins currently have to do the logic themselves on the raw slot ID
|
||||
in order to determine the inventory clicked. This provides the logic for plugins to
|
||||
readily identify which inventory was clicked.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java
|
||||
index 55527652..60feaf3b 100644
|
||||
--- a/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java
|
||||
+++ b/src/main/java/org/bukkit/event/inventory/InventoryClickEvent.java
|
||||
@@ -47,6 +47,7 @@ public class InventoryClickEvent extends InventoryInteractEvent {
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
private final ClickType click;
|
||||
private final InventoryAction action;
|
||||
+ private final Inventory clickedInventory;
|
||||
private SlotType slot_type;
|
||||
private int whichSlot;
|
||||
private int rawSlot;
|
||||
@@ -57,6 +58,13 @@ public class InventoryClickEvent extends InventoryInteractEvent {
|
||||
super(view);
|
||||
this.slot_type = type;
|
||||
this.rawSlot = slot;
|
||||
+ if (slot < 0) {
|
||||
+ this.clickedInventory = null;
|
||||
+ } else if (view.getTopInventory() != null && slot < view.getTopInventory().getSize()) {
|
||||
+ this.clickedInventory = view.getTopInventory();
|
||||
+ } else {
|
||||
+ this.clickedInventory = view.getBottomInventory();
|
||||
+ }
|
||||
this.whichSlot = view.convertSlot(slot);
|
||||
this.click = click;
|
||||
this.action = action;
|
||||
@@ -67,6 +75,14 @@ public class InventoryClickEvent extends InventoryInteractEvent {
|
||||
this.hotbarKey = key;
|
||||
}
|
||||
|
||||
+ /**
|
||||
+ * Gets the inventory that was clicked, or null if outside of window
|
||||
+ * @return The clicked inventory
|
||||
+ */
|
||||
+ public Inventory getClickedInventory() {
|
||||
+ return clickedInventory;
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Gets the type of slot that was clicked.
|
||||
*
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
From 107814e9730ec89ba793e42d6e79c820abb6d39d Mon Sep 17 00:00:00 2001
|
||||
From: Alex Bennett <alex.eugene.bennett@gmail.com>
|
||||
Date: Thu, 11 Jul 2013 15:31:32 -0500
|
||||
Subject: [PATCH] Added getAllSessionData() to the Conversation API.
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/conversations/ConversationContext.java b/src/main/java/org/bukkit/conversations/ConversationContext.java
|
||||
index 4f33ff46..7390a771 100644
|
||||
--- a/src/main/java/org/bukkit/conversations/ConversationContext.java
|
||||
+++ b/src/main/java/org/bukkit/conversations/ConversationContext.java
|
||||
@@ -45,6 +45,14 @@ public class ConversationContext {
|
||||
return forWhom;
|
||||
}
|
||||
|
||||
+ /**
|
||||
+ * Gets the entire sessionData map.
|
||||
+ * @return The full sessionData map.
|
||||
+ */
|
||||
+ public Map<Object, Object> getAllSessionData() {
|
||||
+ return sessionData;
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Gets session data shared between all {@link Prompt} invocations. Use
|
||||
* this as a way to pass data through each Prompt as the conversation
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
From a02150204b952113adc1c1e7225d6873a3984263 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 3 Aug 2013 19:20:50 +1000
|
||||
Subject: [PATCH] Player Collision API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 7e6b5963..2bb9dffa 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1458,6 +1458,31 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
{
|
||||
throw new UnsupportedOperationException( "Not supported yet." );
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * Gets whether the player collides with entities
|
||||
+ *
|
||||
+ * @return the player's collision toggle state
|
||||
+ * @deprecated see {@link LivingEntity#isCollidable()}
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public boolean getCollidesWithEntities()
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Sets whether the player collides with entities
|
||||
+ *
|
||||
+ * @param collides whether the player should collide with entities or
|
||||
+ * not.
|
||||
+ * @deprecated {@link LivingEntity#setCollidable(boolean)}
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public void setCollidesWithEntities(boolean collides)
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
From edc49490b0e21e0e889273d4b84981964f6ba96e Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 3 Aug 2013 19:42:16 +1000
|
||||
Subject: [PATCH] Expand Boolean Prompt Values
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/conversations/BooleanPrompt.java b/src/main/java/org/bukkit/conversations/BooleanPrompt.java
|
||||
index c37d1596..6701c175 100644
|
||||
--- a/src/main/java/org/bukkit/conversations/BooleanPrompt.java
|
||||
+++ b/src/main/java/org/bukkit/conversations/BooleanPrompt.java
|
||||
@@ -15,12 +15,13 @@ public abstract class BooleanPrompt extends ValidatingPrompt {
|
||||
|
||||
@Override
|
||||
protected boolean isInputValid(ConversationContext context, String input) {
|
||||
- String[] accepted = {"true", "false", "on", "off", "yes", "no"};
|
||||
+ String[] accepted = {"true", "false", "on", "off", "yes", "no" /* Spigot: */, "y", "n", "1", "0", "right", "wrong", "correct", "incorrect", "valid", "invalid"}; // Spigot
|
||||
return ArrayUtils.contains(accepted, input.toLowerCase());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Prompt acceptValidatedInput(ConversationContext context, String input) {
|
||||
+ if (input.equalsIgnoreCase("y") || input.equals("1") || input.equalsIgnoreCase("right") || input.equalsIgnoreCase("correct") || input.equalsIgnoreCase("valid")) input = "true"; // Spigot
|
||||
return acceptValidatedInput(context, BooleanUtils.toBoolean(input));
|
||||
}
|
||||
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
From d77f65145e2456e05305eddcf78a9e15d6a094b5 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Sat, 3 Aug 2013 19:49:36 +1000
|
||||
Subject: [PATCH] Add Getter for Entity Invulnerability
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
||||
index 294eb7f7..28b169d2 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Entity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
||||
@@ -483,6 +483,15 @@ public interface Entity extends Metadatable, CommandSender, Nameable {
|
||||
public class Spigot extends CommandSender.Spigot
|
||||
{
|
||||
|
||||
+ /**
|
||||
+ * Returns whether this entity is invulnerable.
|
||||
+ *
|
||||
+ * @return True if the entity is invulnerable.
|
||||
+ */
|
||||
+ public boolean isInvulnerable()
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
From 5ab257dd399e0d5adc51df4e6fbf878d38f4c1a4 Mon Sep 17 00:00:00 2001
|
||||
From: ninja- <xninja@openmailbox.org>
|
||||
Date: Tue, 8 Oct 2013 14:35:58 +0200
|
||||
Subject: [PATCH] Add respawn API.
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 2bb9dffa..226aa6b6 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1483,6 +1483,14 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
{
|
||||
throw new UnsupportedOperationException( "Not supported yet." );
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * Respawns the player if dead.
|
||||
+ */
|
||||
+ public void respawn()
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
From a9f4c0424e5d7f77a2959ffbad58bfd313cb8287 Mon Sep 17 00:00:00 2001
|
||||
From: Smove <jan@lavasurvival.net>
|
||||
Date: Sat, 1 Feb 2014 18:10:49 +1100
|
||||
Subject: [PATCH] Implement Locale Getter for Players
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 226aa6b6..e021495e 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1491,6 +1491,18 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
{
|
||||
throw new UnsupportedOperationException( "Not supported yet." );
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * Gets player locale language.
|
||||
+ *
|
||||
+ * @return the player's client language settings
|
||||
+ * @deprecated Use {@link Player#getLocale()}
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public String getLocale()
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From 8323466f3f99a166b69049f86b022c181be32d9a Mon Sep 17 00:00:00 2001
|
||||
From: Tux <write@imaginarycode.com>
|
||||
Date: Sun, 9 Feb 2014 14:02:11 -0500
|
||||
Subject: [PATCH] Add support for fetching hidden players
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index e021495e..5c55c2e2 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1503,6 +1503,16 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
{
|
||||
throw new UnsupportedOperationException( "Not supported yet." );
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * Gets all players hidden with {@link #hidePlayer(org.bukkit.entity.Player)}.
|
||||
+ *
|
||||
+ * @return a Set with all hidden players
|
||||
+ */
|
||||
+ public java.util.Set<Player> getHiddenPlayers()
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
From d0594aceab7ec85ddfbc2222fbb95e9a2fab80ab Mon Sep 17 00:00:00 2001
|
||||
From: drXor <mcyoungsota@gmail.com>
|
||||
Date: Sun, 23 Feb 2014 16:16:29 -0400
|
||||
Subject: [PATCH] Silenceable Lightning API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 89db7303..33b14a07 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -1477,6 +1477,30 @@ public interface World extends PluginMessageRecipient, Metadatable {
|
||||
{
|
||||
throw new UnsupportedOperationException( "Not supported yet." );
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * Strikes lightning at the given {@link Location} and possibly without sound
|
||||
+ *
|
||||
+ * @param loc The location to strike lightning
|
||||
+ * @param isSilent Whether this strike makes no sound
|
||||
+ * @return The lightning entity.
|
||||
+ */
|
||||
+ public LightningStrike strikeLightning(Location loc, boolean isSilent)
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Strikes lightning at the given {@link Location} without doing damage and possibly without sound
|
||||
+ *
|
||||
+ * @param loc The location to strike lightning
|
||||
+ * @param isSilent Whether this strike makes no sound
|
||||
+ * @return The lightning entity.
|
||||
+ */
|
||||
+ public LightningStrike strikeLightningEffect(Location loc, boolean isSilent)
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
Spigot spigot();
|
||||
diff --git a/src/main/java/org/bukkit/entity/LightningStrike.java b/src/main/java/org/bukkit/entity/LightningStrike.java
|
||||
index ee2218c1..aa809392 100644
|
||||
--- a/src/main/java/org/bukkit/entity/LightningStrike.java
|
||||
+++ b/src/main/java/org/bukkit/entity/LightningStrike.java
|
||||
@@ -16,6 +16,15 @@ public interface LightningStrike extends Weather {
|
||||
public class Spigot extends Entity.Spigot
|
||||
{
|
||||
|
||||
+ /*
|
||||
+ * Returns whether the strike is silent.
|
||||
+ *
|
||||
+ * @return whether the strike is silent.
|
||||
+ */
|
||||
+ public boolean isSilent()
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
From 34f489fe204450f1487f812efd07d10717dc7cf7 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Sun, 30 Mar 2014 15:58:22 +1100
|
||||
Subject: [PATCH] Remove deprecation on some player lookup methods
|
||||
|
||||
Most of these methods still have plenty of use given that only one player with each name can exist at a time. Deprecating these methods renders even basic functionality such as /msg <name> impossible without causing compiler warnings. We will maintain this API and it should be considered safe and appropriate for most use cases.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 27c69e96..0f42a66a 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -365,12 +365,9 @@ public final class Bukkit {
|
||||
* <p>
|
||||
* This method may not return objects for offline players.
|
||||
*
|
||||
- * @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
|
||||
- * guaranteed to be unique
|
||||
* @param name the name to look up
|
||||
* @return a player if one was found, null otherwise
|
||||
*/
|
||||
- @Deprecated
|
||||
public static Player getPlayer(String name) {
|
||||
return server.getPlayer(name);
|
||||
}
|
||||
@@ -378,12 +375,9 @@ public final class Bukkit {
|
||||
/**
|
||||
* Gets the player with the exact given name, case insensitive.
|
||||
*
|
||||
- * @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
|
||||
- * guaranteed to be unique
|
||||
* @param name Exact name of the player to retrieve
|
||||
* @return a player object if one was found, null otherwise
|
||||
*/
|
||||
- @Deprecated
|
||||
public static Player getPlayerExact(String name) {
|
||||
return server.getPlayerExact(name);
|
||||
}
|
||||
@@ -395,12 +389,9 @@ public final class Bukkit {
|
||||
* This list is not sorted in any particular order. If an exact match is
|
||||
* found, the returned list will only contain a single result.
|
||||
*
|
||||
- * @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
|
||||
- * guaranteed to be unique
|
||||
* @param name the (partial) name to match
|
||||
* @return list of all possible players
|
||||
*/
|
||||
- @Deprecated
|
||||
public static List<Player> matchPlayer(String name) {
|
||||
return server.matchPlayer(name);
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index c9ef86e4..65ad9aa0 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -303,23 +303,17 @@ public interface Server extends PluginMessageRecipient {
|
||||
* <p>
|
||||
* This method may not return objects for offline players.
|
||||
*
|
||||
- * @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
|
||||
- * guaranteed to be unique
|
||||
* @param name the name to look up
|
||||
* @return a player if one was found, null otherwise
|
||||
*/
|
||||
- @Deprecated
|
||||
public Player getPlayer(String name);
|
||||
|
||||
/**
|
||||
* Gets the player with the exact given name, case insensitive.
|
||||
*
|
||||
- * @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
|
||||
- * guaranteed to be unique
|
||||
* @param name Exact name of the player to retrieve
|
||||
* @return a player object if one was found, null otherwise
|
||||
*/
|
||||
- @Deprecated
|
||||
public Player getPlayerExact(String name);
|
||||
|
||||
/**
|
||||
@@ -329,12 +323,9 @@ public interface Server extends PluginMessageRecipient {
|
||||
* This list is not sorted in any particular order. If an exact match is
|
||||
* found, the returned list will only contain a single result.
|
||||
*
|
||||
- * @deprecated Use {@link #getPlayer(UUID)} as player names are no longer
|
||||
- * guaranteed to be unique
|
||||
* @param name the (partial) name to match
|
||||
* @return list of all possible players
|
||||
*/
|
||||
- @Deprecated
|
||||
public List<Player> matchPlayer(String name);
|
||||
|
||||
/**
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
From 25627e006cc20d6a1c3fa505fbe69f8bc0a8db91 Mon Sep 17 00:00:00 2001
|
||||
From: ninja <xninja@openmailbox.org>
|
||||
Date: Tue, 8 Apr 2014 14:01:32 +0200
|
||||
Subject: [PATCH] Add PlayerSpawnLocationEvent.
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/spigotmc/event/player/PlayerSpawnLocationEvent.java b/src/main/java/org/spigotmc/event/player/PlayerSpawnLocationEvent.java
|
||||
new file mode 100644
|
||||
index 00000000..dd3f58ca
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/spigotmc/event/player/PlayerSpawnLocationEvent.java
|
||||
@@ -0,0 +1,50 @@
|
||||
+package org.spigotmc.event.player;
|
||||
+
|
||||
+import org.bukkit.Location;
|
||||
+import org.bukkit.entity.Entity;
|
||||
+import org.bukkit.entity.Player;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.event.player.PlayerEvent;
|
||||
+
|
||||
+/**
|
||||
+ * Called when player is about to spawn in a world after joining the server.
|
||||
+ */
|
||||
+public class PlayerSpawnLocationEvent extends PlayerEvent {
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+ private Location spawnLocation;
|
||||
+
|
||||
+ public PlayerSpawnLocationEvent(final Player who, Location spawnLocation) {
|
||||
+ super(who);
|
||||
+ this.spawnLocation = spawnLocation;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ /**
|
||||
+ * Gets player's spawn location.
|
||||
+ * If the player {@link Player#hasPlayedBefore()}, it's going to default to the location inside player.dat file.
|
||||
+ * For new players, the default spawn location is spawn of the main Bukkit world.
|
||||
+ *
|
||||
+ * @return the spawn location
|
||||
+ */
|
||||
+ public Location getSpawnLocation() {
|
||||
+ return spawnLocation;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Sets player's spawn location.
|
||||
+ *
|
||||
+ * @param location the spawn location
|
||||
+ */
|
||||
+ public void setSpawnLocation(Location location) {
|
||||
+ this.spawnLocation = location;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public HandlerList getHandlers() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+
|
||||
+ public static HandlerList getHandlerList() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
From c920b663bcb6e08866c0847561424f87c95855a2 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Wed, 16 Jul 2014 17:24:21 +1000
|
||||
Subject: [PATCH] Ease ClassLoader Deadlocks Where Possible
|
||||
|
||||
When on Java 7 we can register the classloader as parallel capable to prevent deadlocks caused by certain scenarios. Due to the nature of PluginClassLoader this isn't completely safe, but we can make it safer by switching to concurrency focused collections. Either way this is far better than crashing the server.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||
index 73372534..80c6a72e 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||
@@ -49,7 +49,7 @@ import org.yaml.snakeyaml.error.YAMLException;
|
||||
public final class JavaPluginLoader implements PluginLoader {
|
||||
final Server server;
|
||||
private final Pattern[] fileFilters = new Pattern[] { Pattern.compile("\\.jar$"), };
|
||||
- private final Map<String, Class<?>> classes = new HashMap<String, Class<?>>();
|
||||
+ private final Map<String, Class<?>> classes = new java.util.concurrent.ConcurrentHashMap<String, Class<?>>(); // Spigot
|
||||
private final List<PluginClassLoader> loaders = new CopyOnWriteArrayList<PluginClassLoader>();
|
||||
public static final CustomTimingsHandler pluginParentTimer = new CustomTimingsHandler("** Plugins"); // Spigot
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
index 5eb42df3..a9fc08e0 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
|
||||
@@ -25,7 +25,7 @@ import org.bukkit.plugin.PluginDescriptionFile;
|
||||
*/
|
||||
final class PluginClassLoader extends URLClassLoader {
|
||||
private final JavaPluginLoader loader;
|
||||
- private final Map<String, Class<?>> classes = new HashMap<String, Class<?>>();
|
||||
+ private final Map<String, Class<?>> classes = new java.util.concurrent.ConcurrentHashMap<String, Class<?>>(); // Spigot
|
||||
private final PluginDescriptionFile description;
|
||||
private final File dataFolder;
|
||||
private final File file;
|
||||
@@ -36,6 +36,30 @@ final class PluginClassLoader extends URLClassLoader {
|
||||
private JavaPlugin pluginInit;
|
||||
private IllegalStateException pluginState;
|
||||
|
||||
+ // Spigot Start
|
||||
+ static
|
||||
+ {
|
||||
+ try
|
||||
+ {
|
||||
+ java.lang.reflect.Method method = ClassLoader.class.getDeclaredMethod( "registerAsParallelCapable" );
|
||||
+ if ( method != null )
|
||||
+ {
|
||||
+ boolean oldAccessible = method.isAccessible();
|
||||
+ method.setAccessible( true );
|
||||
+ method.invoke( null );
|
||||
+ method.setAccessible( oldAccessible );
|
||||
+ org.bukkit.Bukkit.getLogger().log( java.util.logging.Level.INFO, "Set PluginClassLoader as parallel capable" );
|
||||
+ }
|
||||
+ } catch ( NoSuchMethodException ex )
|
||||
+ {
|
||||
+ // Ignore
|
||||
+ } catch ( Exception ex )
|
||||
+ {
|
||||
+ org.bukkit.Bukkit.getLogger().log( java.util.logging.Level.WARNING, "Error setting PluginClassLoader as parallel capable", ex );
|
||||
+ }
|
||||
+ }
|
||||
+ // Spigot End
|
||||
+
|
||||
PluginClassLoader(final JavaPluginLoader loader, final ClassLoader parent, final PluginDescriptionFile description, final File dataFolder, final File file) throws IOException, InvalidPluginException, MalformedURLException {
|
||||
super(new URL[] {file.toURI().toURL()}, parent);
|
||||
Validate.notNull(loader, "Loader cannot be null");
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From 68927f05d7fb93e977cdaa80db0b86ac4804559c Mon Sep 17 00:00:00 2001
|
||||
From: drXor <mcyoung@mit.edu>
|
||||
Date: Wed, 23 Jul 2014 15:50:36 -0400
|
||||
Subject: [PATCH] Undeprecate Player#updateInventory()V
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 5c55c2e2..f59c2c19 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -395,10 +395,8 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
/**
|
||||
* Forces an update of the player's entire inventory.
|
||||
*
|
||||
- * @deprecated This method should not be relied upon as it is a temporary
|
||||
- * work-around for a larger, more complicated issue.
|
||||
*/
|
||||
- @Deprecated
|
||||
+ //@Deprecated // Spigot - undeprecate
|
||||
public void updateInventory();
|
||||
|
||||
/**
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
From ae59b59da62f5c3a76ad3e7931aa178aecbbaff3 Mon Sep 17 00:00:00 2001
|
||||
From: libraryaddict <redwarfare@live.com>
|
||||
Date: Fri, 22 Aug 2014 05:31:04 -0400
|
||||
Subject: [PATCH] Added isUnbreakable and setUnbreakable to ItemMeta
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
||||
index e48616d2..62ddbbba 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
||||
@@ -201,6 +201,29 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable {
|
||||
public class Spigot
|
||||
{
|
||||
|
||||
+ /**
|
||||
+ * Sets the unbreakable tag
|
||||
+ *
|
||||
+ * @param unbreakable true if set unbreakable
|
||||
+ * @deprecated see {@link ItemMeta#setUnbreakable(boolean)}
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public void setUnbreakable(boolean unbreakable)
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Return if the unbreakable tag is true
|
||||
+ *
|
||||
+ * @return true if the unbreakable tag is true
|
||||
+ * @deprecated see {@link ItemMeta#isUnbreakable()}
|
||||
+ */
|
||||
+ @Deprecated
|
||||
+ public boolean isUnbreakable()
|
||||
+ {
|
||||
+ throw new UnsupportedOperationException( "Not supported yet." );
|
||||
+ }
|
||||
}
|
||||
|
||||
Spigot spigot();
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,451 @@
|
|||
From 3115ab07167acda0ecc19748172ba7ff26b2392e Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Sat, 13 Dec 2014 02:59:14 +0100
|
||||
Subject: [PATCH] BungeeCord Chat API
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 88b109e0..99ff13b3 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -76,6 +76,14 @@
|
||||
<version>1.21</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
+ <dependency>
|
||||
+ <groupId>net.md-5</groupId>
|
||||
+ <artifactId>bungeecord-chat</artifactId>
|
||||
+ <version>1.12-SNAPSHOT</version>
|
||||
+ <type>jar</type>
|
||||
+ <scope>compile</scope>
|
||||
+ </dependency>
|
||||
+
|
||||
<!-- testing -->
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java
|
||||
index b8872b41..adbae51a 100644
|
||||
--- a/src/main/java/org/bukkit/ChatColor.java
|
||||
+++ b/src/main/java/org/bukkit/ChatColor.java
|
||||
@@ -10,95 +10,205 @@ import com.google.common.collect.Maps;
|
||||
/**
|
||||
* All supported color values for chat
|
||||
*/
|
||||
-public enum ChatColor {
|
||||
+public enum ChatColor{
|
||||
/**
|
||||
* Represents black
|
||||
*/
|
||||
- BLACK('0', 0x00),
|
||||
+ BLACK('0', 0x00) {
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.BLACK;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents dark blue
|
||||
*/
|
||||
- DARK_BLUE('1', 0x1),
|
||||
+ DARK_BLUE('1', 0x1){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.DARK_BLUE;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents dark green
|
||||
*/
|
||||
- DARK_GREEN('2', 0x2),
|
||||
+ DARK_GREEN('2', 0x2){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.DARK_GREEN;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents dark blue (aqua)
|
||||
*/
|
||||
- DARK_AQUA('3', 0x3),
|
||||
+ DARK_AQUA('3', 0x3){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.DARK_AQUA;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents dark red
|
||||
*/
|
||||
- DARK_RED('4', 0x4),
|
||||
+ DARK_RED('4', 0x4){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.DARK_RED;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents dark purple
|
||||
*/
|
||||
- DARK_PURPLE('5', 0x5),
|
||||
+ DARK_PURPLE('5', 0x5){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.DARK_PURPLE;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents gold
|
||||
*/
|
||||
- GOLD('6', 0x6),
|
||||
+ GOLD('6', 0x6){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.GOLD;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents gray
|
||||
*/
|
||||
- GRAY('7', 0x7),
|
||||
+ GRAY('7', 0x7){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.GRAY;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents dark gray
|
||||
*/
|
||||
- DARK_GRAY('8', 0x8),
|
||||
+ DARK_GRAY('8', 0x8){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.DARK_GRAY;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents blue
|
||||
*/
|
||||
- BLUE('9', 0x9),
|
||||
+ BLUE('9', 0x9){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.BLUE;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents green
|
||||
*/
|
||||
- GREEN('a', 0xA),
|
||||
+ GREEN('a', 0xA){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.GREEN;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents aqua
|
||||
*/
|
||||
- AQUA('b', 0xB),
|
||||
+ AQUA('b', 0xB){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.AQUA;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents red
|
||||
*/
|
||||
- RED('c', 0xC),
|
||||
+ RED('c', 0xC){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.RED;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents light purple
|
||||
*/
|
||||
- LIGHT_PURPLE('d', 0xD),
|
||||
+ LIGHT_PURPLE('d', 0xD){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.LIGHT_PURPLE;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents yellow
|
||||
*/
|
||||
- YELLOW('e', 0xE),
|
||||
+ YELLOW('e', 0xE){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.YELLOW;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents white
|
||||
*/
|
||||
- WHITE('f', 0xF),
|
||||
+ WHITE('f', 0xF){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.WHITE;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Represents magical characters that change around randomly
|
||||
*/
|
||||
- MAGIC('k', 0x10, true),
|
||||
+ MAGIC('k', 0x10, true){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.MAGIC;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Makes the text bold.
|
||||
*/
|
||||
- BOLD('l', 0x11, true),
|
||||
+ BOLD('l', 0x11, true){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.BOLD;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Makes a line appear through the text.
|
||||
*/
|
||||
- STRIKETHROUGH('m', 0x12, true),
|
||||
+ STRIKETHROUGH('m', 0x12, true){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.STRIKETHROUGH;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Makes the text appear underlined.
|
||||
*/
|
||||
- UNDERLINE('n', 0x13, true),
|
||||
+ UNDERLINE('n', 0x13, true){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.UNDERLINE;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Makes the text italic.
|
||||
*/
|
||||
- ITALIC('o', 0x14, true),
|
||||
+ ITALIC('o', 0x14, true){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.ITALIC;
|
||||
+ }
|
||||
+ },
|
||||
/**
|
||||
* Resets all previous chat colors or formats.
|
||||
*/
|
||||
- RESET('r', 0x15);
|
||||
+ RESET('r', 0x15){
|
||||
+ @Override
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.RESET;
|
||||
+ }
|
||||
+ };
|
||||
|
||||
/**
|
||||
* The special character which prefixes all chat colour codes. Use this if
|
||||
@@ -125,6 +235,10 @@ public enum ChatColor {
|
||||
this.toString = new String(new char[] {COLOR_CHAR, code});
|
||||
}
|
||||
|
||||
+ public net.md_5.bungee.api.ChatColor asBungee() {
|
||||
+ return net.md_5.bungee.api.ChatColor.RESET;
|
||||
+ };
|
||||
+
|
||||
/**
|
||||
* Gets the char value associated with this color
|
||||
*
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 65ad9aa0..2b8f039f 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -1013,6 +1013,24 @@ public interface Server extends PluginMessageRecipient {
|
||||
{
|
||||
throw new UnsupportedOperationException( "Not supported yet." );
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * Sends the component to the player
|
||||
+ *
|
||||
+ * @param component the components to send
|
||||
+ */
|
||||
+ public void broadcast(net.md_5.bungee.api.chat.BaseComponent component) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Sends an array of components as a single message to the player
|
||||
+ *
|
||||
+ * @param components the components to send
|
||||
+ */
|
||||
+ public void broadcast(net.md_5.bungee.api.chat.BaseComponent... components) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
}
|
||||
|
||||
Spigot spigot();
|
||||
diff --git a/src/main/java/org/bukkit/command/CommandSender.java b/src/main/java/org/bukkit/command/CommandSender.java
|
||||
index 5dcd2218..abf68a2c 100644
|
||||
--- a/src/main/java/org/bukkit/command/CommandSender.java
|
||||
+++ b/src/main/java/org/bukkit/command/CommandSender.java
|
||||
@@ -37,6 +37,23 @@ public interface CommandSender extends Permissible {
|
||||
public class Spigot
|
||||
{
|
||||
|
||||
+ /**
|
||||
+ * Sends this sender a chat component.
|
||||
+ *
|
||||
+ * @param component the components to send
|
||||
+ */
|
||||
+ public void sendMessage(net.md_5.bungee.api.chat.BaseComponent component) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Sends an array of components as a single message to the sender.
|
||||
+ *
|
||||
+ * @param components the components to send
|
||||
+ */
|
||||
+ public void sendMessage(net.md_5.bungee.api.chat.BaseComponent... components) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
}
|
||||
|
||||
Spigot spigot();
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index f59c2c19..86eca9e1 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -1511,6 +1511,36 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
|
||||
{
|
||||
throw new UnsupportedOperationException( "Not supported yet." );
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public void sendMessage(net.md_5.bungee.api.chat.BaseComponent component) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void sendMessage(net.md_5.bungee.api.chat.BaseComponent... components) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Sends the component to the specified screen position of this player
|
||||
+ *
|
||||
+ * @param position the screen position
|
||||
+ * @param component the components to send
|
||||
+ */
|
||||
+ public void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent component) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Sends an array of components as a single message to the specified screen position of this player
|
||||
+ *
|
||||
+ * @param position the screen position
|
||||
+ * @param components the components to send
|
||||
+ */
|
||||
+ public void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/inventory/meta/BookMeta.java b/src/main/java/org/bukkit/inventory/meta/BookMeta.java
|
||||
index 3b6bf419..75b03ac3 100644
|
||||
--- a/src/main/java/org/bukkit/inventory/meta/BookMeta.java
|
||||
+++ b/src/main/java/org/bukkit/inventory/meta/BookMeta.java
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.bukkit.inventory.meta;
|
||||
|
||||
import java.util.List;
|
||||
+import net.md_5.bungee.api.chat.BaseComponent;
|
||||
|
||||
import org.bukkit.Material;
|
||||
|
||||
@@ -177,6 +178,68 @@ public interface BookMeta extends ItemMeta {
|
||||
// Spigot start
|
||||
public class Spigot extends ItemMeta.Spigot {
|
||||
|
||||
+ /**
|
||||
+ * Gets the specified page in the book. The given page must exist.
|
||||
+ *
|
||||
+ * @param page the page number to get
|
||||
+ * @return the page from the book
|
||||
+ */
|
||||
+ public BaseComponent[] getPage(int page) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Sets the specified page in the book. Pages of the book must be
|
||||
+ * contiguous.
|
||||
+ * <p>
|
||||
+ * The data can be up to 256 characters in length, additional characters
|
||||
+ * are truncated.
|
||||
+ *
|
||||
+ * @param page the page number to set
|
||||
+ * @param data the data to set for that page
|
||||
+ */
|
||||
+ public void setPage(int page, BaseComponent... data) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Gets all the pages in the book.
|
||||
+ *
|
||||
+ * @return list of all the pages in the book
|
||||
+ */
|
||||
+ public List<BaseComponent[]> getPages() {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Clears the existing book pages, and sets the book to use the provided
|
||||
+ * pages. Maximum 50 pages with 256 characters per page.
|
||||
+ *
|
||||
+ * @param pages A list of pages to set the book to use
|
||||
+ */
|
||||
+ public void setPages(List<BaseComponent[]> pages) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Clears the existing book pages, and sets the book to use the provided
|
||||
+ * pages. Maximum 50 pages with 256 characters per page.
|
||||
+ *
|
||||
+ * @param pages A list of component arrays, each being a page
|
||||
+ */
|
||||
+ public void setPages(BaseComponent[]... pages) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Adds new pages to the end of the book. Up to a maximum of 50 pages
|
||||
+ * with 256 characters per page.
|
||||
+ *
|
||||
+ * @param pages A list of component arrays, each being a page
|
||||
+ */
|
||||
+ public void addPage(BaseComponent[]... pages) {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
From bba9b8e03ac67ddca6f739c1a0aad9a084bd1bca Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Mon, 13 Jul 2015 19:10:15 +1000
|
||||
Subject: [PATCH] Add restart API.
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 2b8f039f..9c3eeaa9 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -1031,6 +1031,13 @@ public interface Server extends PluginMessageRecipient {
|
||||
public void broadcast(net.md_5.bungee.api.chat.BaseComponent... components) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
+
|
||||
+ /**
|
||||
+ * Restart the server. If the server administrator has not configured restarting, the server will stop.
|
||||
+ */
|
||||
+ public void restart() {
|
||||
+ throw new UnsupportedOperationException("Not supported yet.");
|
||||
+ }
|
||||
}
|
||||
|
||||
Spigot spigot();
|
||||
--
|
||||
2.18.0
|
||||
|
|
@ -37,7 +37,10 @@ function applyPatch {
|
|||
echo " Applying patches to $target..."
|
||||
|
||||
$gitcmd am --abort >/dev/null 2>&1
|
||||
|
||||
#TODO: remove
|
||||
if [ "$what_name" == "Bukkit" ]; then
|
||||
what_name="../../pre/Bukkit";
|
||||
fi
|
||||
# Special case Windows handling because of ARG_MAX constraint
|
||||
if [[ $windows == "true" ]]; then
|
||||
echo " Using workaround for Windows ARG_MAX constraint"
|
||||
|
@ -69,11 +72,13 @@ function applyPatch {
|
|||
|
||||
# Move into spigot dir
|
||||
cd "$workdir/Spigot"
|
||||
|
||||
basedir=$(pwd)
|
||||
# Apply Spigot
|
||||
(
|
||||
applyPatch ../Bukkit Spigot-API HEAD &&
|
||||
applyPatch ../CraftBukkit Spigot-Server patched
|
||||
#TODO: remove ../pre/ and reset to HEAD
|
||||
applyPatch ../Bukkit Spigot-API origin/preview # &&
|
||||
#applyPatch ../CraftBukkit Spigot-Server patched
|
||||
) || (
|
||||
echo "Failed to apply Spigot Patches"
|
||||
exit 1
|
||||
|
@ -84,13 +89,15 @@ cd "$basedir"
|
|||
|
||||
echo "Importing MC Dev"
|
||||
|
||||
./scripts/importmcdev.sh "$basedir" >/dev/null 2>&1
|
||||
# TODO: Remove comment
|
||||
# ./scripts/importmcdev.sh "$basedir" >/dev/null 2>&1
|
||||
|
||||
# Apply paper
|
||||
cd "$basedir"
|
||||
(
|
||||
applyPatch "work/Spigot/Spigot-API" Paper-API HEAD &&
|
||||
applyPatch "work/Spigot/Spigot-Server" Paper-Server HEAD
|
||||
#TODO remove comment
|
||||
applyPatch "work/Spigot/Spigot-API" Paper-API HEAD # &&
|
||||
# applyPatch "work/Spigot/Spigot-Server" Paper-Server HEAD
|
||||
) || (
|
||||
echo "Failed to apply Paper Patches"
|
||||
exit 1
|
||||
|
|
Loading…
Reference in New Issue