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:
Aikar 2018-07-13 21:44:35 -04:00
parent 230bf934b5
commit a8c28e1920
No known key found for this signature in database
GPG Key ID: 401ADFC9891FAAFE
67 changed files with 3046 additions and 282 deletions

View File

@ -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>

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 {
}
/**

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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();
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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