API update

This commit is contained in:
Aikar 2020-06-24 22:33:35 -04:00
parent 6c87b85dd1
commit 0ec07fc0ce
No known key found for this signature in database
GPG Key ID: 401ADFC9891FAAFE
31 changed files with 141 additions and 133 deletions

View File

@ -5,7 +5,7 @@ Subject: [PATCH] POM changes
diff --git a/pom.xml b/pom.xml diff --git a/pom.xml b/pom.xml
index 186405ba1914b2b384896c61770c225b50091401..9975ba9ae19f6217bec206fee247fac1a30d58fc 100644 index 82b370b7fe4cd0faba8d20fa7697f2913d9f53c1..6953bd86915f6c7a0afb0b87abd38053cb7766d5 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -2,34 +2,28 @@ @@ -2,34 +2,28 @@
@ -22,7 +22,7 @@ index 186405ba1914b2b384896c61770c225b50091401..9975ba9ae19f6217bec206fee247fac1
- <artifactId>spigot-api</artifactId> - <artifactId>spigot-api</artifactId>
+ <groupId>com.destroystokyo.paper</groupId> + <groupId>com.destroystokyo.paper</groupId>
+ <artifactId>paper-api</artifactId> + <artifactId>paper-api</artifactId>
<version>1.15.2-R0.1-SNAPSHOT</version> <version>1.16.1-R0.1-SNAPSHOT</version>
<packaging>jar</packaging> <packaging>jar</packaging>
- <name>Spigot-API</name> - <name>Spigot-API</name>
@ -85,14 +85,7 @@ index 186405ba1914b2b384896c61770c225b50091401..9975ba9ae19f6217bec206fee247fac1
<!-- bundled with Minecraft, should be kept in sync --> <!-- bundled with Minecraft, should be kept in sync -->
<dependency> <dependency>
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
@@ -107,12 +119,13 @@ @@ -113,6 +125,7 @@
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
- <version>7.3.1</version>
+ <version>8.0.1</version> <!-- Paper -->
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -3358,10 +3358,10 @@ index 2a145d851ce30360aa39549745bd87590c034584..00000000000000000000000000000000
- // Spigot end - // Spigot end
-} -}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 92bafd6365313390326ea12fb815c62463f4d0fc..bfbe775fcd631b12975c0aaae8c82156b81c9614 100644 index 87e23bd62037694ddfa3bfe0a0fd5f61af6e0ac2..2e68724b5c0c44a83189ca23b2435778ed775ccb 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1329,6 +1329,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1355,6 +1355,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) { public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet."); throw new UnsupportedOperationException("Not supported yet.");
} }

View File

@ -5,10 +5,10 @@ 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 diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index bfbe775fcd631b12975c0aaae8c82156b81c9614..41cb8b3770d787eb0e12be191984e7767cc004e1 100644 index 2e68724b5c0c44a83189ca23b2435778ed775ccb..53f1b31553a04f63b8176d23583b45b2a32678a9 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1231,6 +1231,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1257,6 +1257,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@NotNull @NotNull
public String getLocale(); public String getLocale();

View File

@ -5,10 +5,10 @@ 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 diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 41cb8b3770d787eb0e12be191984e7767cc004e1..a985431e5d69e2837dae5c3284b0252ace04992a 100644 index 53f1b31553a04f63b8176d23583b45b2a32678a9..ef0d8c25a52806690be6ed77c864602d86887a77 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1245,6 +1245,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1271,6 +1271,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param affects Whether the player can affect mob spawning * @param affects Whether the player can affect mob spawning
*/ */
public void setAffectsSpawning(boolean affects); public void setAffectsSpawning(boolean affects);

View File

@ -68,10 +68,10 @@ index af21bb1aa133c6ab119f23c098d17a5bc4e9cd47..b09d010853a67db16787d9e764f1e294
* Gets the name of the update folder. The update folder is used to safely * Gets the name of the update folder. The update folder is used to safely
* update plugins at the right moment on a plugin load. * 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 diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index a985431e5d69e2837dae5c3284b0252ace04992a..dd6adedb63c0a51dab92879b199a8d284472f270 100644 index ef0d8c25a52806690be6ed77c864602d86887a77..33a72a449d31641e156b805dadbfde55ceb8319a 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -441,6 +441,38 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -467,6 +467,38 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/ */
public void sendMap(@NotNull MapView map); public void sendMap(@NotNull MapView map);

View File

@ -384,7 +384,7 @@ index 0000000000000000000000000000000000000000..4fe18540f77143ee7cd7e94d3aa279ae
+ } + }
+} +}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index dd6adedb63c0a51dab92879b199a8d284472f270..3d07467a4ba39aa7c59abb49d12b094c872251da 100644 index 33a72a449d31641e156b805dadbfde55ceb8319a..a2b0bb31e9ca98b76b987c094184d5d4dbdef2b9 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
@ -395,7 +395,7 @@ index dd6adedb63c0a51dab92879b199a8d284472f270..3d07467a4ba39aa7c59abb49d12b094c
import org.bukkit.DyeColor; import org.bukkit.DyeColor;
import org.bukkit.Effect; import org.bukkit.Effect;
import org.bukkit.GameMode; import org.bukkit.GameMode;
@@ -471,6 +472,116 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -497,6 +498,116 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
spigot().sendMessage(position, components); spigot().sendMessage(position, components);
} }

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add methods for working with arrows stuck in living entities
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 203d135f156aa78f4daf497831399f4fdab41d5f..52541e496bd85e041a96fd5858acbb9bddbb8196 100644 index 8744f2e5fdf47200d433d708fcd9d9aaded56c0c..5b0c95ab7372c7accd190b9052b587637106c4af 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -531,4 +531,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -552,4 +552,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @param <T> the type of the passed value * @param <T> the type of the passed value
*/ */
<T> void setMemory(@NotNull MemoryKey<T> memoryKey, @Nullable T memoryValue); <T> void setMemory(@NotNull MemoryKey<T> memoryKey, @Nullable T memoryValue);

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 3d07467a4ba39aa7c59abb49d12b094c872251da..9e62987cbd36074923ade7c9dea0e418cfb9c2bc 100644 index a2b0bb31e9ca98b76b987c094184d5d4dbdef2b9..0a9d2b1914a059fd3a247ca48e6bef9554d2cf16 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -981,7 +981,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1007,7 +1007,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException Thrown if the URL is null. * @throws IllegalArgumentException Thrown if the URL is null.
* @throws IllegalArgumentException Thrown if the URL is too long. The * @throws IllegalArgumentException Thrown if the URL is too long. The
* length restriction is an implementation specific arbitrary value. * length restriction is an implementation specific arbitrary value.
@ -18,7 +18,7 @@ index 3d07467a4ba39aa7c59abb49d12b094c872251da..9e62987cbd36074923ade7c9dea0e418
public void setResourcePack(@NotNull String url); public void setResourcePack(@NotNull String url);
/** /**
@@ -1419,6 +1421,62 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1445,6 +1447,62 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/ */
public void openBook(@NotNull ItemStack book); public void openBook(@NotNull ItemStack book);

View File

@ -6,11 +6,11 @@ Subject: [PATCH] Use ASM for event executors.
Uses method handles for private or static methods. Uses method handles for private or static methods.
diff --git a/pom.xml b/pom.xml diff --git a/pom.xml b/pom.xml
index e8d9982bdbf9f66a54db16bf920e8106b81b034f..661d109f7c5b78587c68f32d47029c6d2fe7604d 100644 index 04781abaf6ec21f2f19f366c3d1b27687f502743..bce749991a83aeea871229352f0e4511bb592216 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -128,6 +128,17 @@ @@ -128,6 +128,17 @@
<version>8.0.1</version> <!-- Paper --> <version>8.0.1</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
+ <!-- ASM --> + <!-- ASM -->

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add String based Action Bar API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 9e62987cbd36074923ade7c9dea0e418cfb9c2bc..6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d 100644 index 0a9d2b1914a059fd3a247ca48e6bef9554d2cf16..3b6f08209d8882cda5593305936474e3bc975f3d 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -443,6 +443,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -469,6 +469,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map); public void sendMap(@NotNull MapView map);
// Paper start // Paper start
@ -35,7 +35,7 @@ index 9e62987cbd36074923ade7c9dea0e418cfb9c2bc..6f3ab730b3196ae0cb4b3c2fb8976dce
/** /**
* Sends the component to the player * Sends the component to the player
* *
@@ -466,9 +486,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -492,9 +512,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/** /**
* Sends an array of components as a single message to the specified screen position of this player * Sends an array of components as a single message to the specified screen position of this player
* *
@ -47,7 +47,7 @@ index 9e62987cbd36074923ade7c9dea0e418cfb9c2bc..6f3ab730b3196ae0cb4b3c2fb8976dce
public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) { public default void sendMessage(net.md_5.bungee.api.ChatMessageType position, net.md_5.bungee.api.chat.BaseComponent... components) {
spigot().sendMessage(position, components); spigot().sendMessage(position, components);
} }
@@ -1544,9 +1566,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1570,9 +1592,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/** /**
* Sends the component to the specified screen position of this player * Sends the component to the specified screen position of this player
* *
@ -59,7 +59,7 @@ index 9e62987cbd36074923ade7c9dea0e418cfb9c2bc..6f3ab730b3196ae0cb4b3c2fb8976dce
public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent component) { public void sendMessage(@NotNull net.md_5.bungee.api.ChatMessageType position, @NotNull net.md_5.bungee.api.chat.BaseComponent component) {
throw new UnsupportedOperationException("Not supported yet."); throw new UnsupportedOperationException("Not supported yet.");
} }
@@ -1554,9 +1578,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1580,9 +1604,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/** /**
* Sends an array of components as a single message to the specified screen position of this player * Sends an array of components as a single message to the specified screen position of this player
* *

View File

@ -7,32 +7,22 @@ Get the Entity being boosted
Get the firework launcher Get the firework launcher
diff --git a/src/main/java/org/bukkit/entity/Firework.java b/src/main/java/org/bukkit/entity/Firework.java diff --git a/src/main/java/org/bukkit/entity/Firework.java b/src/main/java/org/bukkit/entity/Firework.java
index f844d5aa983f1d4718c9f22da80b0eed113547b1..e8c04c1383ec6dd53f30727db4e910ca17fbae5d 100644 index 05e86cb9d826cdf14490fa649348d46c51adbfdb..d616d5941b3c7b85e350e845901da798601b9a3c 100644
--- a/src/main/java/org/bukkit/entity/Firework.java --- a/src/main/java/org/bukkit/entity/Firework.java
+++ b/src/main/java/org/bukkit/entity/Firework.java +++ b/src/main/java/org/bukkit/entity/Firework.java
@@ -3,6 +3,9 @@ package org.bukkit.entity; @@ -43,4 +43,15 @@ public interface Firework extends Projectile {
import org.bukkit.inventory.meta.FireworkMeta;
import org.jetbrains.annotations.NotNull;
+import java.util.UUID;
+import org.jetbrains.annotations.Nullable;
+
public interface Firework extends Entity {
/**
@@ -43,4 +46,15 @@ public interface Firework extends Entity {
* @param shotAtAngle the new shotAtAngle * @param shotAtAngle the new shotAtAngle
*/ */
void setShotAtAngle(boolean shotAtAngle); void setShotAtAngle(boolean shotAtAngle);
+ +
+ // Paper start + // Paper start
+ @Nullable + @org.jetbrains.annotations.Nullable
+ public UUID getSpawningEntity(); + public java.util.UUID getSpawningEntity();
+ /** + /**
+ * If this firework is boosting an entity, return it + * If this firework is boosting an entity, return it
+ * @return The entity being boosted + * @return The entity being boosted
+ */ + */
+ @Nullable + @org.jetbrains.annotations.Nullable
+ public LivingEntity getBoostedEntity(); + public LivingEntity getBoostedEntity();
+ // Paper end + // Paper end
} }

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Fix upstream javadoc warnings and errors
Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues. Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 808c3b4a4f494e05542f29324db655ee6166021e..3b027f67c1763ee0a4f7b02490d3cee1c3eff369 100644 index 75d62402181934d316582023fdc012ea3c74306a..a636956c4772f4e38eaa71553d3dfbd7ef36f0cd 100644
--- a/src/main/java/org/bukkit/World.java --- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java
@@ -2009,6 +2009,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -2013,6 +2013,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param count the number of particles * @param count the number of particles
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -17,7 +17,7 @@ index 808c3b4a4f494e05542f29324db655ee6166021e..3b027f67c1763ee0a4f7b02490d3cee1
*/ */
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, @Nullable T data);
@@ -2025,6 +2026,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -2029,6 +2030,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param count the number of particles * @param count the number of particles
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -25,7 +25,7 @@ index 808c3b4a4f494e05542f29324db655ee6166021e..3b027f67c1763ee0a4f7b02490d3cee1
*/ */
public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, @Nullable T data);
@@ -2075,6 +2077,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -2079,6 +2081,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param offsetZ the maximum random offset on the Z axis * @param offsetZ the maximum random offset on the Z axis
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -33,7 +33,7 @@ index 808c3b4a4f494e05542f29324db655ee6166021e..3b027f67c1763ee0a4f7b02490d3cee1
*/ */
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data);
@@ -2095,6 +2098,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -2099,6 +2102,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param offsetZ the maximum random offset on the Z axis * @param offsetZ the maximum random offset on the Z axis
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -41,7 +41,7 @@ index 808c3b4a4f494e05542f29324db655ee6166021e..3b027f67c1763ee0a4f7b02490d3cee1
*/ */
public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data);
@@ -2151,6 +2155,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -2155,6 +2159,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* particle used (normally speed) * particle used (normally speed)
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -49,7 +49,7 @@ index 808c3b4a4f494e05542f29324db655ee6166021e..3b027f67c1763ee0a4f7b02490d3cee1
*/ */
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data);
@@ -2173,6 +2178,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -2177,6 +2182,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* particle used (normally speed) * particle used (normally speed)
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -57,7 +57,7 @@ index 808c3b4a4f494e05542f29324db655ee6166021e..3b027f67c1763ee0a4f7b02490d3cee1
*/ */
public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data);
@@ -2196,6 +2202,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -2200,6 +2206,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param force whether to send the particle to players within an extended * @param force whether to send the particle to players within an extended
* range and encourage their client to render it regardless of * range and encourage their client to render it regardless of
* settings * settings
@ -65,7 +65,7 @@ index 808c3b4a4f494e05542f29324db655ee6166021e..3b027f67c1763ee0a4f7b02490d3cee1
*/ */
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data, boolean force); public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data, boolean force);
@@ -2221,6 +2228,7 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -2225,6 +2232,7 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param force whether to send the particle to players within an extended * @param force whether to send the particle to players within an extended
* range and encourage their client to render it regardless of * range and encourage their client to render it regardless of
* settings * settings
@ -86,10 +86,10 @@ index c2096b5344d48d855d031538ec32e0154bd9054d..bca9d3659f6fceeca4b7fecbc7034d6f
<T> void setParticle(@NotNull Particle particle, @Nullable T data); <T> void setParticle(@NotNull Particle particle, @Nullable T data);
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba52651baca55 100644 index 3b6f08209d8882cda5593305936474e3bc975f3d..28faaa29bde457e539c99d7ebe59a661e1841680 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -458,7 +458,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -484,7 +484,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* *
* Use supplied alternative character to the section symbol to represent legacy color codes. * Use supplied alternative character to the section symbol to represent legacy color codes.
* *
@ -98,7 +98,7 @@ index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba526
* @param message The message to send * @param message The message to send
*/ */
public void sendActionBar(char alternateChar, @NotNull String message); public void sendActionBar(char alternateChar, @NotNull String message);
@@ -525,6 +525,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -551,6 +551,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/** /**
* Update the subtitle of titles displayed to the player * Update the subtitle of titles displayed to the player
* *
@ -106,7 +106,7 @@ index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba526
* @deprecated Use {@link #updateTitle(Title)} * @deprecated Use {@link #updateTitle(Title)}
*/ */
@Deprecated @Deprecated
@@ -533,6 +534,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -559,6 +560,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/** /**
* Update the subtitle of titles displayed to the player * Update the subtitle of titles displayed to the player
* *
@ -114,7 +114,7 @@ index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba526
* @deprecated Use {@link #updateTitle(Title)} * @deprecated Use {@link #updateTitle(Title)}
*/ */
@Deprecated @Deprecated
@@ -541,6 +543,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -567,6 +569,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/** /**
* Show the given title to the player, along with the last subtitle set, using the last set times * Show the given title to the player, along with the last subtitle set, using the last set times
* *
@ -122,7 +122,7 @@ index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba526
* @deprecated Use {@link #sendTitle(Title)} or {@link #updateTitle(Title)} * @deprecated Use {@link #sendTitle(Title)} or {@link #updateTitle(Title)}
*/ */
@Deprecated @Deprecated
@@ -549,6 +552,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -575,6 +578,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
/** /**
* Show the given title to the player, along with the last subtitle set, using the last set times * Show the given title to the player, along with the last subtitle set, using the last set times
* *
@ -130,7 +130,7 @@ index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba526
* @deprecated Use {@link #sendTitle(Title)} or {@link #updateTitle(Title)} * @deprecated Use {@link #sendTitle(Title)} or {@link #updateTitle(Title)}
*/ */
@Deprecated @Deprecated
@@ -1198,6 +1202,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1224,6 +1228,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param count the number of particles * @param count the number of particles
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -138,7 +138,7 @@ index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba526
*/ */
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, @Nullable T data);
@@ -1214,6 +1219,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1240,6 +1245,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param count the number of particles * @param count the number of particles
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -146,7 +146,7 @@ index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba526
*/ */
public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, @Nullable T data);
@@ -1264,6 +1270,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1290,6 +1296,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param offsetZ the maximum random offset on the Z axis * @param offsetZ the maximum random offset on the Z axis
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -154,7 +154,7 @@ index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba526
*/ */
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data);
@@ -1284,6 +1291,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1310,6 +1317,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param offsetZ the maximum random offset on the Z axis * @param offsetZ the maximum random offset on the Z axis
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -162,7 +162,7 @@ index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba526
*/ */
public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data);
@@ -1340,6 +1348,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1366,6 +1374,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* particle used (normally speed) * particle used (normally speed)
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
@ -170,7 +170,7 @@ index 6f3ab730b3196ae0cb4b3c2fb8976dcefafc1d4d..cb7d9f055193618c8a7e80796c2ba526
*/ */
public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data); public <T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data);
@@ -1362,6 +1371,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1388,6 +1397,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* particle used (normally speed) * particle used (normally speed)
* @param data the data to use for the particle or null, * @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Shoulder Entities Release API
diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
index a7f08bb1c0778d99f06abfd15bb4a1a8bef6d502..3adff676c85a6648fc85a088e12ea524f4567b12 100644 index 19424479caead7adb966746a70de34d9684f37bc..72ec97f5dcdf0e181e75b28f4de19b307835cb02 100644
--- a/src/main/java/org/bukkit/entity/HumanEntity.java --- a/src/main/java/org/bukkit/entity/HumanEntity.java
+++ b/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java
@@ -324,6 +324,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder @@ -299,6 +299,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder
*/ */
public int getExpToLevel(); public int getExpToLevel();

View File

@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#setKiller
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 52541e496bd85e041a96fd5858acbb9bddbb8196..ae712e76d961137a35b70dd3f3fbb33dddf37f0a 100644 index 5b0c95ab7372c7accd190b9052b587637106c4af..f0018823e17fab49e0167ece1c8c9eda2d562b87 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -250,6 +250,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -251,6 +251,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@Nullable @Nullable
public Player getKiller(); public Player getKiller();

View File

@ -14,11 +14,11 @@ it without having to shade it in the plugin and going through
several layers of logging abstraction. several layers of logging abstraction.
diff --git a/pom.xml b/pom.xml diff --git a/pom.xml b/pom.xml
index 661d109f7c5b78587c68f32d47029c6d2fe7604d..20c473f521e50df57065d3644398f9db777c1a24 100644 index bce749991a83aeea871229352f0e4511bb592216..fee78297a549112beb6bc2f6363b85bac28fd12f 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -109,6 +109,13 @@ @@ -109,6 +109,13 @@
<version>18.0.0</version> <version>19.0.0</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
+ <!-- Paper - Add SLF4J --> + <!-- Paper - Add SLF4J -->

View File

@ -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. Both an API To standalone mend, and apply mending logic to .giveExp has been added.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 9398f303f191c57ee3e2bd33f205a881be6543f4..8a67375dedf9ef91216a431d87e1e6a90c6787d8 100644 index 8afa4db2d47b3941055d045ff351eb8b0a35fffa..92aae1e34961b35b989048c1de05cd3dcef4e1b1 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -690,12 +690,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -716,12 +716,33 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/ */
public void resetPlayerWeather(); public void resetPlayerWeather();

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API
This can be useful for changing name or skins after a player has logged in. This can be useful for changing name or skins after a player has logged in.
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 8a67375dedf9ef91216a431d87e1e6a90c6787d8..8fe402336c2fe8d3f4d803f73b24d4848cdb3c69 100644 index 92aae1e34961b35b989048c1de05cd3dcef4e1b1..5b7a25831205778bc5d6582e38fd4ac89d5b929f 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2,6 +2,7 @@ package org.bukkit.entity; @@ -2,6 +2,7 @@ package org.bukkit.entity;
@ -17,7 +17,7 @@ index 8a67375dedf9ef91216a431d87e1e6a90c6787d8..8fe402336c2fe8d3f4d803f73b24d484
import org.bukkit.DyeColor; import org.bukkit.DyeColor;
import org.bukkit.Effect; import org.bukkit.Effect;
import org.bukkit.GameMode; import org.bukkit.GameMode;
@@ -1528,6 +1529,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1554,6 +1555,20 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED} * was {@link org.bukkit.event.player.PlayerResourcePackStatusEvent.Status#SUCCESSFULLY_LOADED}
*/ */
boolean hasResourcePack(); boolean hasResourcePack();

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Add method to open already placed sign
diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
index 3adff676c85a6648fc85a088e12ea524f4567b12..2d413d720c828c7f334abde7eb02935317e2fd17 100644 index 72ec97f5dcdf0e181e75b28f4de19b307835cb02..863cdf7408cb6b42e7927505e34a2a93017e06ff 100644
--- a/src/main/java/org/bukkit/entity/HumanEntity.java --- a/src/main/java/org/bukkit/entity/HumanEntity.java
+++ b/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java
@@ -468,4 +468,13 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder @@ -443,4 +443,13 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder
*/ */
@Deprecated @Deprecated
public void setShoulderEntityRight(@Nullable Entity entity); public void setShoulderEntityRight(@Nullable Entity entity);

View File

@ -74,7 +74,7 @@ index 58313929f81509030216a0e5e3869da63e11108e..6cf05fed701c67a2c797a4e0839c7958
/** /**
* Checks if this player is whitelisted or not * Checks if this player is whitelisted or not
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 8fe402336c2fe8d3f4d803f73b24d4848cdb3c69..c37d7fca014fb0f325574a33ef4ccba67db7fe49 100644 index 5b7a25831205778bc5d6582e38fd4ac89d5b929f..6e05580d83fc4722d6f6fc5faa012c24b72f4562 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3,6 +3,10 @@ package org.bukkit.entity; @@ -3,6 +3,10 @@ package org.bukkit.entity;
@ -88,7 +88,7 @@ index 8fe402336c2fe8d3f4d803f73b24d4848cdb3c69..c37d7fca014fb0f325574a33ef4ccba6
import org.bukkit.DyeColor; import org.bukkit.DyeColor;
import org.bukkit.Effect; import org.bukkit.Effect;
import org.bukkit.GameMode; import org.bukkit.GameMode;
@@ -444,6 +448,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -470,6 +474,162 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
public void sendMap(@NotNull MapView map); public void sendMap(@NotNull MapView map);
// Paper start // Paper start

View File

@ -493,10 +493,10 @@ index 0000000000000000000000000000000000000000..06f1602f5b327705f726d0a99dd6b95e
+ } + }
+} +}
diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java diff --git a/src/main/java/org/bukkit/Particle.java b/src/main/java/org/bukkit/Particle.java
index 49467ac70a5ff6e31a8c5c3ec92de3c65fee2284..d2ceb07c727ab898e4ef1b502f9544817ce3bda6 100644 index b32de827cf8d1780861c271b4215276fdaab7165..1020002ff7127877db2d7e096f2c521751bf13a7 100644
--- a/src/main/java/org/bukkit/Particle.java --- a/src/main/java/org/bukkit/Particle.java
+++ b/src/main/java/org/bukkit/Particle.java +++ b/src/main/java/org/bukkit/Particle.java
@@ -96,6 +96,17 @@ public enum Particle { @@ -106,6 +106,17 @@ public enum Particle {
return dataType; return dataType;
} }
@ -515,10 +515,10 @@ index 49467ac70a5ff6e31a8c5c3ec92de3c65fee2284..d2ceb07c727ab898e4ef1b502f954481
* Options which can be applied to redstone dust particles - a particle * Options which can be applied to redstone dust particles - a particle
* color and size. * color and size.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index fbe7e76c0f3122dd47c7ca4562b5ac3577a71ffc..085c7a42c3e758770d5883e3cddf896ac6b7645b 100644 index 3150f7d81c87b57944231bd95bb2e49af51f7eca..c478db22ade86ca58551ba94043dd1c2fd08004e 100644
--- a/src/main/java/org/bukkit/World.java --- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java
@@ -2433,7 +2433,57 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -2437,7 +2437,57 @@ public interface World extends PluginMessageRecipient, Metadatable {
* the type of this depends on {@link Particle#getDataType()} * the type of this depends on {@link Particle#getDataType()}
* @param <T> Type * @param <T> Type
*/ */

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Make shield blocking delay configurable
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index ae712e76d961137a35b70dd3f3fbb33dddf37f0a..896b1971c86410ccc62353e44bfe5a449f8a0c97 100644 index f0018823e17fab49e0167ece1c8c9eda2d562b87..3c02de9ebca92ba03beb1dd3c04a32c745e9ea8e 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -554,5 +554,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -575,5 +575,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @param arrows Number of arrows to stick in this entity * @param arrows Number of arrows to stick in this entity
*/ */
void setArrowsStuck(int arrows); void setArrowsStuck(int arrows);

View File

@ -6,10 +6,10 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API
How long an entity has raised hands to charge an attack or use an item How long an entity has raised hands to charge an attack or use an item
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 896b1971c86410ccc62353e44bfe5a449f8a0c97..4af8e680dbcd3e0bc1ed692146b72fecbf7735ba 100644 index 3c02de9ebca92ba03beb1dd3c04a32c745e9ea8e..5f8a544574bbc095f2b2c06ccbf887d17af93475 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -11,6 +11,7 @@ import org.bukkit.attribute.Attributable; @@ -12,6 +12,7 @@ import org.bukkit.attribute.Attributable;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.memory.MemoryKey; import org.bukkit.entity.memory.MemoryKey;
import org.bukkit.inventory.EntityEquipment; import org.bukkit.inventory.EntityEquipment;
@ -17,7 +17,7 @@ index 896b1971c86410ccc62353e44bfe5a449f8a0c97..4af8e680dbcd3e0bc1ed692146b72fec
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.bukkit.projectiles.ProjectileSource; import org.bukkit.projectiles.ProjectileSource;
@@ -568,5 +569,32 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -589,5 +590,32 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @param delay Delay in ticks * @param delay Delay in ticks
*/ */
void setShieldBlockingDelay(int delay); void setShieldBlockingDelay(int delay);

View File

@ -65,10 +65,10 @@ index 0000000000000000000000000000000000000000..18a96dbb01d3b34476652264b2d6be37
+ } + }
+} +}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 4af8e680dbcd3e0bc1ed692146b72fecbf7735ba..5e9ca6f3d5aac2d119808eb03cfc00367306f5e4 100644 index 5f8a544574bbc095f2b2c06ccbf887d17af93475..c75ce8435ddef6502df1a57ca4b95186259a2a41 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -81,6 +81,77 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -82,6 +82,77 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
@NotNull @NotNull
public Block getTargetBlock(@Nullable Set<Material> transparent, int maxDistance); public Block getTargetBlock(@Nullable Set<Material> transparent, int maxDistance);

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index c37d7fca014fb0f325574a33ef4ccba67db7fe49..3600b4c84058713616a6448c1175a7d1ba74fd7b 100644 index 6e05580d83fc4722d6f6fc5faa012c24b72f4562..13077f96ce32cbb75197a4480715b1c71deb451d 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1703,6 +1703,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1729,6 +1729,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param profile The new profile to use * @param profile The new profile to use
*/ */
void setPlayerProfile(@NotNull PlayerProfile profile); void setPlayerProfile(@NotNull PlayerProfile profile);

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Material API additions
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index 57b0d98121cea592dded31165e5e70f6b3bbdaa5..b89fc2dc0b186b99f76d9bf8b1f5daad3e211dfb 100644 index c7316bd2ef89e63ced9f8d37f0936f1551c1157d..769c65e7928be5e0a15e592c874fc68cc6d30148 100644
--- a/src/main/java/org/bukkit/Material.java --- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java
@@ -82,6 +82,7 @@ import org.jetbrains.annotations.Nullable; @@ -85,6 +85,7 @@ import org.jetbrains.annotations.Nullable;
/** /**
* An enum of all material IDs accepted by the official server and client * An enum of all material IDs accepted by the official server and client
*/ */
@ -16,7 +16,7 @@ index 57b0d98121cea592dded31165e5e70f6b3bbdaa5..b89fc2dc0b186b99f76d9bf8b1f5daad
public enum Material implements Keyed { public enum Material implements Keyed {
//<editor-fold desc="Materials" defaultstate="collapsed"> //<editor-fold desc="Materials" defaultstate="collapsed">
ACACIA_BOAT(27326, 1), ACACIA_BOAT(27326, 1),
@@ -3306,6 +3307,22 @@ public enum Material implements Keyed { @@ -3563,6 +3564,22 @@ public enum Material implements Keyed {
} }
} }

View File

@ -204,7 +204,7 @@ index 0000000000000000000000000000000000000000..c91ea2a0679a7f3a5627b5a008e0b39d
+} +}
diff --git a/src/main/java/com/destroystokyo/paper/MaterialTags.java b/src/main/java/com/destroystokyo/paper/MaterialTags.java diff --git a/src/main/java/com/destroystokyo/paper/MaterialTags.java b/src/main/java/com/destroystokyo/paper/MaterialTags.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..88556fdb6fa8f21355c49a77d5f4638216fbf156 index 0000000000000000000000000000000000000000..5ed3c33b3f29255c538ad209574e340830c34310
--- /dev/null --- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/MaterialTags.java +++ b/src/main/java/com/destroystokyo/paper/MaterialTags.java
@@ -0,0 +1,374 @@ @@ -0,0 +1,374 @@
@ -313,18 +313,18 @@ index 0000000000000000000000000000000000000000..88556fdb6fa8f21355c49a77d5f46382
+ .ensureSize("DYES", 16); + .ensureSize("DYES", 16);
+ +
+ /** + /**
+ * Covers all 6 wood variants of gates. + * Covers all variants of gates.
+ */ + */
+ public static final MaterialSetTag FENCE_GATES = new MaterialSetTag(keyFor("fence_gates")) + public static final MaterialSetTag FENCE_GATES = new MaterialSetTag(keyFor("fence_gates"))
+ .endsWith("_GATE") + .endsWith("_GATE")
+ .ensureSize("FENCE_GATES", 6); + .ensureSize("FENCE_GATES", 8);
+ +
+ /** + /**
+ * Covers all 6 wood variants and nether brick fence. + * Covers all variants of fences.
+ */ + */
+ public static final MaterialSetTag FENCES = new MaterialSetTag(keyFor("fences")) + public static final MaterialSetTag FENCES = new MaterialSetTag(keyFor("fences"))
+ .endsWith("_FENCE") + .endsWith("_FENCE")
+ .ensureSize("FENCES", 7); + .ensureSize("FENCES", 9);
+ +
+ /** + /**
+ * Covers all 4 variants of fish buckets. + * Covers all 4 variants of fish buckets.
@ -407,18 +407,18 @@ index 0000000000000000000000000000000000000000..88556fdb6fa8f21355c49a77d5f46382
+ .add(Material.BROWN_MUSHROOM, Material.RED_MUSHROOM); + .add(Material.BROWN_MUSHROOM, Material.RED_MUSHROOM);
+ +
+ /** + /**
+ * Covers all 12 music disc items. + * Covers all music disc items.
+ */ + */
+ public static final MaterialSetTag MUSIC_DISCS = new MaterialSetTag(keyFor("music_discs")) + public static final MaterialSetTag MUSIC_DISCS = new MaterialSetTag(keyFor("music_discs"))
+ .startsWith("MUSIC_DISC_") + .startsWith("MUSIC_DISC_");
+ .ensureSize("MUSIC_DISCS", 12);
+ +
+ /** + /**
+ * Covers all 8 ores. + * Covers all ores.
+ */ + */
+ public static final MaterialSetTag ORES = new MaterialSetTag(keyFor("ores")) + public static final MaterialSetTag ORES = new MaterialSetTag(keyFor("ores"))
+ .add(Material.ANCIENT_DEBRIS)
+ .endsWith("_ORE") + .endsWith("_ORE")
+ .ensureSize("ORES", 8); + .ensureSize("ORES", 10);
+ +
+ /** + /**
+ * Covers all piston typed items and blocks including the piston head and moving piston. + * Covers all piston typed items and blocks including the piston head and moving piston.
@ -435,11 +435,11 @@ index 0000000000000000000000000000000000000000..88556fdb6fa8f21355c49a77d5f46382
+ .ensureSize("POTATOES", 3); + .ensureSize("POTATOES", 3);
+ +
+ /** + /**
+ * Covers all 6 wooden pressure plates and the 2 weighted pressure plates and 1 stone pressure plate. + * Covers all wooden pressure plates and the weighted pressure plates and 1 stone pressure plate.
+ */ + */
+ public static final MaterialSetTag PRESSURE_PLATES = new MaterialSetTag(keyFor("pressure_plates")) + public static final MaterialSetTag PRESSURE_PLATES = new MaterialSetTag(keyFor("pressure_plates"))
+ .endsWith("_PRESSURE_PLATE") + .endsWith("_PRESSURE_PLATE")
+ .ensureSize("PRESSURE_PLATES", 9); + .ensureSize("PRESSURE_PLATES", 12);
+ +
+ /** + /**
+ * Covers the 3 variants of prismarine blocks. + * Covers the 3 variants of prismarine blocks.
@ -518,7 +518,7 @@ index 0000000000000000000000000000000000000000..88556fdb6fa8f21355c49a77d5f46382
+ */ + */
+ public static final MaterialSetTag SPAWN_EGGS = new MaterialSetTag(keyFor("spawn_eggs")) + public static final MaterialSetTag SPAWN_EGGS = new MaterialSetTag(keyFor("spawn_eggs"))
+ .endsWith("_SPAWN_EGG") + .endsWith("_SPAWN_EGG")
+ .ensureSize("SPAWN_EGGS", 59); + .ensureSize("SPAWN_EGGS", 63);
+ +
+ /** + /**
+ * Covers all 16 colors of stained glass. + * Covers all 16 colors of stained glass.
@ -535,31 +535,31 @@ index 0000000000000000000000000000000000000000..88556fdb6fa8f21355c49a77d5f46382
+ .ensureSize("STAINED_GLASS_PANES", 16); + .ensureSize("STAINED_GLASS_PANES", 16);
+ +
+ /** + /**
+ * Covers all 7 variants of trapdoors. + * Covers all variants of trapdoors.
+ */ + */
+ public static final MaterialSetTag TRAPDOORS = new MaterialSetTag(keyFor("trapdoors")) + public static final MaterialSetTag TRAPDOORS = new MaterialSetTag(keyFor("trapdoors"))
+ .endsWith("_TRAPDOOR") + .endsWith("_TRAPDOOR")
+ .ensureSize("TRAPDOORS", 7); + .ensureSize("TRAPDOORS", 9);
+ +
+ /** + /**
+ * Covers all 6 wood variants of fences. + * Covers all wood variants of fences.
+ */ + */
+ public static final MaterialSetTag WOODEN_FENCES = new MaterialSetTag(keyFor("wooden_fences")) + public static final MaterialSetTag WOODEN_FENCES = new MaterialSetTag(keyFor("wooden_fences"))
+ .endsWith("_FENCE") + .endsWith("_FENCE")
+ .not(Material.NETHER_BRICK_FENCE) + .not(Material.NETHER_BRICK_FENCE)
+ .ensureSize("WOODEN_FENCES", 6); + .ensureSize("WOODEN_FENCES", 8);
+ +
+ /** + /**
+ * Covers all 6 wood variants of trapdoors. + * Covers all wood variants of trapdoors.
+ */ + */
+ public static final MaterialSetTag WOODEN_TRAPDOORS = new MaterialSetTag(keyFor("wooden_trapdoors")) + public static final MaterialSetTag WOODEN_TRAPDOORS = new MaterialSetTag(keyFor("wooden_trapdoors"))
+ .endsWith("_TRAPDOOR") + .endsWith("_TRAPDOOR")
+ .not(Material.IRON_TRAPDOOR) + .not(Material.IRON_TRAPDOOR)
+ .ensureSize("WOODEN_TRAPDOORS", 6); + .ensureSize("WOODEN_TRAPDOORS", 8);
+ +
+ public static final MaterialSetTag WOODEN_GATES = new MaterialSetTag(keyFor("wooden_gates")) + public static final MaterialSetTag WOODEN_GATES = new MaterialSetTag(keyFor("wooden_gates"))
+ .endsWith("_GATE") + .endsWith("_GATE")
+ .ensureSize("WOODEN_GATES", 6); + .ensureSize("WOODEN_GATES", 8);
+ +
+ public static final MaterialSetTag PURPUR = new MaterialSetTag(keyFor("purpur")) + public static final MaterialSetTag PURPUR = new MaterialSetTag(keyFor("purpur"))
+ .startsWith("PURPUR_") + .startsWith("PURPUR_")
@ -567,7 +567,7 @@ index 0000000000000000000000000000000000000000..88556fdb6fa8f21355c49a77d5f46382
+ +
+ public static final MaterialSetTag SIGNS = new MaterialSetTag(keyFor("signs")) + public static final MaterialSetTag SIGNS = new MaterialSetTag(keyFor("signs"))
+ .endsWith("_SIGN") + .endsWith("_SIGN")
+ .ensureSize("SIGNS", 12); + .ensureSize("SIGNS", 16);
+ +
+ public static final MaterialSetTag TORCH = new MaterialSetTag(keyFor("torch")) + public static final MaterialSetTag TORCH = new MaterialSetTag(keyFor("torch"))
+ .add(Material.TORCH, Material.WALL_TORCH) + .add(Material.TORCH, Material.WALL_TORCH)

View File

@ -49,10 +49,10 @@ index 0000000000000000000000000000000000000000..f52644fab1522bdf83ff4f489e9805b2
+ } + }
+} +}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 5e9ca6f3d5aac2d119808eb03cfc00367306f5e4..deab505250145e795ef14537c5d453c1703f80aa 100644 index c75ce8435ddef6502df1a57ca4b95186259a2a41..cda3ab0924b27bcd3ccfec4b0eb19ef1c24f18fb 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -150,6 +150,50 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -151,6 +151,50 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
*/ */
@Nullable @Nullable
public com.destroystokyo.paper.block.TargetBlockInfo getTargetBlockInfo(int maxDistance, @NotNull com.destroystokyo.paper.block.TargetBlockInfo.FluidMode fluidMode); public com.destroystokyo.paper.block.TargetBlockInfo getTargetBlockInfo(int maxDistance, @NotNull com.destroystokyo.paper.block.TargetBlockInfo.FluidMode fluidMode);

View File

@ -57,10 +57,10 @@ index 0000000000000000000000000000000000000000..f0067c2e953d18e1a33536980071ba3f
+ } + }
+} +}
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index deab505250145e795ef14537c5d453c1703f80aa..7f73e4b92bc7456477d054e69e93e5602d88a8fa 100644 index cda3ab0924b27bcd3ccfec4b0eb19ef1c24f18fb..a60523cc9c05396ce5c3ebabd231f3ca374c3efe 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java --- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -711,5 +711,25 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -732,5 +732,25 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
* @return Whether or not this entity is using or charging an attack (Bow pulled back, drinking potion, eating food) * @return Whether or not this entity is using or charging an attack (Bow pulled back, drinking potion, eating food)
*/ */
boolean isHandRaised(); boolean isHandRaised();

View File

@ -176,7 +176,7 @@ index 0000000000000000000000000000000000000000..f7f171c4ee0b8339b2f8fbe82442d65f
+ } + }
+} +}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 3600b4c84058713616a6448c1175a7d1ba74fd7b..787bb144b5918ef1e46d69cb72b84128d2b678f3 100644 index 13077f96ce32cbb75197a4480715b1c71deb451d..e133fe79d0cfdcc057a3101f0b7b5877fbc82b3c 100644
--- a/src/main/java/org/bukkit/entity/Player.java --- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
@ -187,7 +187,7 @@ index 3600b4c84058713616a6448c1175a7d1ba74fd7b..787bb144b5918ef1e46d69cb72b84128
import com.destroystokyo.paper.Title; // Paper import com.destroystokyo.paper.Title; // Paper
import com.destroystokyo.paper.profile.PlayerProfile; // Paper import com.destroystokyo.paper.profile.PlayerProfile; // Paper
import java.util.Date; // Paper import java.util.Date; // Paper
@@ -1723,6 +1724,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1749,6 +1750,12 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Reset the cooldown counter to 0, effectively starting the cooldown period. * Reset the cooldown counter to 0, effectively starting the cooldown period.
*/ */
void resetCooldown(); void resetCooldown();

View File

@ -5,10 +5,10 @@ Subject: [PATCH] World view distance api
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 0a5865d85dfc28cb68f753878608b12afd74bc99..be4d6ca8e8ec4c2e6643eaecc19f11466e14658c 100644 index 143fcbcdbfad551cd4392f54cf189fe3bee41706..ec719d5c0741f3489884709169fee93ef02244bb 100644
--- a/src/main/java/org/bukkit/World.java --- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java
@@ -3275,6 +3275,34 @@ public interface World extends PluginMessageRecipient, Metadatable { @@ -3279,6 +3279,34 @@ public interface World extends PluginMessageRecipient, Metadatable {
int getViewDistance(); int getViewDistance();
// Spigot end // Spigot end

View File

@ -8,13 +8,22 @@ Adds a new method to fetch the location of a player's bed without generating any
getPotentialBedLocation - Gets the last known location of a player's bed. This does not preform any check if the bed is still valid and does not load any chunks. getPotentialBedLocation - Gets the last known location of a player's bed. This does not preform any check if the bed is still valid and does not load any chunks.
diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
index 79569a329aa19ed954b9b65b78ef5d6d313501a1..c0d38f5a39610cbc523d210b76f17fa17c0d7e62 100644 index 1f94cbee36b6a952b2ecca8efbeaf7deee640a81..c0d38f5a39610cbc523d210b76f17fa17c0d7e62 100644
--- a/src/main/java/org/bukkit/entity/HumanEntity.java --- a/src/main/java/org/bukkit/entity/HumanEntity.java
+++ b/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java
@@ -248,6 +248,18 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder @@ -239,6 +239,43 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder
@Nullable */
public Location getBedSpawnLocation(); public int getSleepTicks();
+ /**
+ * Gets the Location where the player will spawn at their bed, null if
+ * they have not slept in one or their current bed spawn is invalid.
+ *
+ * @return Bed Spawn Location if bed exists, otherwise null.
+ */
+ @Nullable
+ public Location getBedSpawnLocation();
+
+ // Paper start - Potential bed api + // Paper start - Potential bed api
+ /** + /**
+ * Gets the Location of the player's bed, null if they have not slept + * Gets the Location of the player's bed, null if they have not slept
@ -26,7 +35,23 @@ index 79569a329aa19ed954b9b65b78ef5d6d313501a1..c0d38f5a39610cbc523d210b76f17fa1
+ @Nullable + @Nullable
+ public Location getPotentialBedLocation(); + public Location getPotentialBedLocation();
+ // Paper end + // Paper end
+
+ /**
+ * Sets the Location where the player will spawn at their bed.
+ *
+ * @param location where to set the respawn location
+ */
+ public void setBedSpawnLocation(@Nullable Location location);
+
+ /**
+ * Sets the Location where the player will spawn at their bed.
+ *
+ * @param location where to set the respawn location
+ * @param force whether to forcefully set the respawn location even if a
+ * valid bed is not present
+ */
+ public void setBedSpawnLocation(@Nullable Location location, boolean force);
+ +
/** /**
* Sets the Location where the player will spawn at their bed. * Attempts to make the entity sleep at the given location.
* * <br>