1037 lines
54 KiB
Diff
1037 lines
54 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: lexikiq <noellekiq@gmail.com>
|
|
Date: Sun, 20 Jun 2021 20:24:14 -0400
|
|
Subject: [PATCH] Add Getter interfaces
|
|
|
|
Creates new interfaces for objects that have a reference to a player, offlineplayer, location, etc.
|
|
|
|
Also creates interfaces for objects that are like players in that they use all other interfaces and can receive Adventure messages.
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java b/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java
|
|
index 7270c1feece2dc15a4a0503c4bca93a1288f8f13..a941a1e1a9e0c5047ad9f7976e65338ac3f87f68 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java
|
|
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Called when a beacon effect is being applied to a player.
|
|
*/
|
|
-public class BeaconEffectEvent extends BlockEvent implements Cancellable {
|
|
+public class BeaconEffectEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
|
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java
|
|
index ae34e679723a2ef436da04c116038272743a8f35..420842d6882c37c64e0f2e9fd41ba9b289fe7690 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EndermanAttackPlayerEvent.java
|
|
@@ -37,7 +37,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* Starts off cancelled if the player is wearing a pumpkin head or is not looking
|
|
* at the Enderman, according to Vanilla rules.
|
|
*/
|
|
-public class EndermanAttackPlayerEvent extends EntityEvent implements Cancellable {
|
|
+public class EndermanAttackPlayerEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
|
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
|
|
index 3029e406cd684efb5645e38711dff9c0bb7b01e4..7ce5cdb02c2b8dc46d01892f495bf06e59d11641 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleLayEggEvent.java
|
|
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Fired when a Turtle lays eggs
|
|
*/
|
|
-public class TurtleLayEggEvent extends EntityEvent implements Cancellable {
|
|
+public class TurtleLayEggEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
|
|
|
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
|
|
index 7a2fa4a11b47e4982d1644830d7e28f12b4378ec..0cb8e6b174ab62899068ab2a0fcc9e63834e6efd 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/entity/TurtleStartDiggingEvent.java
|
|
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Fired when a Turtle starts digging to lay eggs
|
|
*/
|
|
-public class TurtleStartDiggingEvent extends EntityEvent implements Cancellable {
|
|
+public class TurtleStartDiggingEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
|
|
|
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java
|
|
index 7c049bad187b94331f42f96833d1cf4ce03ef477..72c36b9ebd668750598a5bf1146fea8043126e05 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerHandshakeEvent.java
|
|
@@ -21,7 +21,7 @@ import java.util.UUID;
|
|
*
|
|
* <p>WARNING: TAMPERING WITH THIS EVENT CAN BE DANGEROUS</p>
|
|
*/
|
|
-public class PlayerHandshakeEvent extends Event implements Cancellable {
|
|
+public class PlayerHandshakeEvent extends Event implements Cancellable, gg.projecteden.api.interfaces.OptionalUniqueId { // Parchment
|
|
|
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
|
|
index 3f73ec52f9b581001bef3a19a5f1533dfa474356..92a38938ab76d5ae873a1d82b8d53250912ced06 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/profile/PreLookupProfileEvent.java
|
|
@@ -22,7 +22,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* No guarantees are made about thread execution context for this event. If you need to know, check
|
|
* {@link Event#isAsynchronous()}
|
|
*/
|
|
-public class PreLookupProfileEvent extends Event {
|
|
+public class PreLookupProfileEvent extends Event implements gg.projecteden.api.interfaces.OptionalUniqueId { // Parchment
|
|
|
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
|
|
@@ -52,11 +52,26 @@ public class PreLookupProfileEvent extends Event {
|
|
*
|
|
* @return The UUID of the profile if it has already been provided by a plugin
|
|
*/
|
|
+ // Parchment start
|
|
+ @Deprecated
|
|
@Nullable
|
|
public UUID getUUID() {
|
|
return this.uuid;
|
|
}
|
|
|
|
+ /**
|
|
+ * If this value is left null by the completion of the event call, then the server will
|
|
+ * trigger a call to the Mojang API to look up the UUID (Network Request), and subsequently, fire a
|
|
+ * {@link LookupProfileEvent}
|
|
+ *
|
|
+ * @return The UUID of the profile if it has already been provided by a plugin
|
|
+ */
|
|
+ @Override
|
|
+ public @Nullable UUID getUniqueId() {
|
|
+ return uuid;
|
|
+ }
|
|
+ // Parchment end
|
|
+
|
|
/**
|
|
* Sets the UUID for this player name. This will skip the initial API call to find the players UUID.
|
|
* <p>
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java b/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
|
|
index 8965974988ad20fbe1d45885f20a3a98d2e9595f..a19e23e55737bdb7ee9909e02ca6414aaf66830f 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/server/AsyncTabCompleteEvent.java
|
|
@@ -53,7 +53,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* <p>
|
|
* Only 1 process will be allowed to provide completions, the Async Event, or the standard process.
|
|
*/
|
|
-public class AsyncTabCompleteEvent extends Event implements Cancellable {
|
|
+public class AsyncTabCompleteEvent extends Event implements Cancellable, gg.projecteden.parchment.OptionalLocation { // Parchment
|
|
|
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
|
|
index 2faef4cb358ec65e32a6aba6426f0dd7ddf90d2a..640a01478be687b089aeddad422e4bba2bea19b6 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/exception/ServerPluginMessageException.java
|
|
@@ -8,7 +8,7 @@ import static com.google.common.base.Preconditions.*;
|
|
/**
|
|
* Thrown when an incoming plugin message channel throws an exception
|
|
*/
|
|
-public class ServerPluginMessageException extends ServerPluginException {
|
|
+public class ServerPluginMessageException extends ServerPluginException implements gg.projecteden.parchment.HasPlayer { // Parchment
|
|
|
|
private final Player player;
|
|
private final String channel;
|
|
diff --git a/src/main/java/gg/projecteden/parchment/HasHumanEntity.java b/src/main/java/gg/projecteden/parchment/HasHumanEntity.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..ee1bc817a60b602f7d437a21852c3dc285d854df
|
|
--- /dev/null
|
|
+++ b/src/main/java/gg/projecteden/parchment/HasHumanEntity.java
|
|
@@ -0,0 +1,19 @@
|
|
+package gg.projecteden.parchment;
|
|
+
|
|
+import org.bukkit.entity.HumanEntity;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Represents an object that has a {@link HumanEntity}
|
|
+ * @see gg.projecteden.parchment.OptionalHumanEntity
|
|
+ */
|
|
+@FunctionalInterface
|
|
+public interface HasHumanEntity extends OptionalHumanEntity {
|
|
+ /**
|
|
+ * Gets a {@link HumanEntity} object that this represents
|
|
+ *
|
|
+ * @return human entity
|
|
+ */
|
|
+ @Override
|
|
+ @NotNull HumanEntity getPlayer();
|
|
+}
|
|
diff --git a/src/main/java/gg/projecteden/parchment/HasLocation.java b/src/main/java/gg/projecteden/parchment/HasLocation.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..e9f7bb3058639c94ee8e67627e5e34548d391df6
|
|
--- /dev/null
|
|
+++ b/src/main/java/gg/projecteden/parchment/HasLocation.java
|
|
@@ -0,0 +1,18 @@
|
|
+package gg.projecteden.parchment;
|
|
+
|
|
+import org.bukkit.Location;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Represents an object that has a {@link Location}
|
|
+ * @see OptionalLocation
|
|
+ */
|
|
+public interface HasLocation extends OptionalLocation {
|
|
+ /**
|
|
+ * Gets a {@link Location} attached to this object
|
|
+ *
|
|
+ * @return attached location
|
|
+ */
|
|
+ @Override
|
|
+ @NotNull Location getLocation();
|
|
+}
|
|
diff --git a/src/main/java/gg/projecteden/parchment/HasOfflinePlayer.java b/src/main/java/gg/projecteden/parchment/HasOfflinePlayer.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..15b72b693a32852f791c5578f701843c759737a7
|
|
--- /dev/null
|
|
+++ b/src/main/java/gg/projecteden/parchment/HasOfflinePlayer.java
|
|
@@ -0,0 +1,17 @@
|
|
+package gg.projecteden.parchment;
|
|
+
|
|
+import org.bukkit.OfflinePlayer;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Represents an object that has a {@link OfflinePlayer}
|
|
+ */
|
|
+@FunctionalInterface
|
|
+public interface HasOfflinePlayer {
|
|
+ /**
|
|
+ * Gets an {@link OfflinePlayer} object that this represents
|
|
+ *
|
|
+ * @return offline player
|
|
+ */
|
|
+ @NotNull OfflinePlayer getOfflinePlayer();
|
|
+}
|
|
diff --git a/src/main/java/gg/projecteden/parchment/HasPlayer.java b/src/main/java/gg/projecteden/parchment/HasPlayer.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..68a2e2093405eb39d91b5b79f16a521a6a729d4e
|
|
--- /dev/null
|
|
+++ b/src/main/java/gg/projecteden/parchment/HasPlayer.java
|
|
@@ -0,0 +1,19 @@
|
|
+package gg.projecteden.parchment;
|
|
+
|
|
+import org.bukkit.entity.Player;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Represents an object that has a {@link Player}
|
|
+ * @see gg.projecteden.parchment.OptionalPlayer
|
|
+ */
|
|
+@FunctionalInterface
|
|
+public interface HasPlayer extends OptionalPlayer, HasHumanEntity {
|
|
+ /**
|
|
+ * Gets a {@link Player} object that this represents
|
|
+ *
|
|
+ * @return player
|
|
+ */
|
|
+ @Override
|
|
+ @NotNull Player getPlayer();
|
|
+}
|
|
diff --git a/src/main/java/gg/projecteden/parchment/OptionalHumanEntity.java b/src/main/java/gg/projecteden/parchment/OptionalHumanEntity.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..45410a77714ad28201520c188e280e4f5fa8bcab
|
|
--- /dev/null
|
|
+++ b/src/main/java/gg/projecteden/parchment/OptionalHumanEntity.java
|
|
@@ -0,0 +1,18 @@
|
|
+package gg.projecteden.parchment;
|
|
+
|
|
+import org.bukkit.entity.HumanEntity;
|
|
+import org.jetbrains.annotations.Nullable;
|
|
+
|
|
+/**
|
|
+ * Represents an object that may have a {@link HumanEntity}
|
|
+ * @see HasHumanEntity
|
|
+ */
|
|
+@FunctionalInterface
|
|
+public interface OptionalHumanEntity {
|
|
+ /**
|
|
+ * Gets a {@link HumanEntity} object that this represents, if there is one
|
|
+ *
|
|
+ * @return human entity or null
|
|
+ */
|
|
+ @Nullable HumanEntity getPlayer();
|
|
+}
|
|
diff --git a/src/main/java/gg/projecteden/parchment/OptionalLocation.java b/src/main/java/gg/projecteden/parchment/OptionalLocation.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..305713e6095de2849a42ba1f4049b8715f1f907c
|
|
--- /dev/null
|
|
+++ b/src/main/java/gg/projecteden/parchment/OptionalLocation.java
|
|
@@ -0,0 +1,17 @@
|
|
+package gg.projecteden.parchment;
|
|
+
|
|
+import org.bukkit.Location;
|
|
+import org.jetbrains.annotations.Nullable;
|
|
+
|
|
+/**
|
|
+ * Represents an object that may have a {@link Location}
|
|
+ * @see HasLocation
|
|
+ */
|
|
+@FunctionalInterface
|
|
+public interface OptionalLocation {
|
|
+ /**
|
|
+ * Gets a {@link Location} attached to this object if present *
|
|
+ * @return attached location
|
|
+ */
|
|
+ @Nullable Location getLocation();
|
|
+}
|
|
diff --git a/src/main/java/gg/projecteden/parchment/OptionalPlayer.java b/src/main/java/gg/projecteden/parchment/OptionalPlayer.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..31b9ab6512c9f06160c268e88d5bce486ed87523
|
|
--- /dev/null
|
|
+++ b/src/main/java/gg/projecteden/parchment/OptionalPlayer.java
|
|
@@ -0,0 +1,19 @@
|
|
+package gg.projecteden.parchment;
|
|
+
|
|
+import org.bukkit.entity.Player;
|
|
+import org.jetbrains.annotations.Nullable;
|
|
+
|
|
+/**
|
|
+ * Represents an object that may have a {@link Player}
|
|
+ * @see HasPlayer
|
|
+ */
|
|
+@FunctionalInterface
|
|
+public interface OptionalPlayer extends OptionalHumanEntity {
|
|
+ /**
|
|
+ * Gets a {@link Player} object that this represents, if there is one. This may be null if the
|
|
+ * player is online or the player object being optional.
|
|
+ *
|
|
+ * @return player or null
|
|
+ */
|
|
+ @Nullable Player getPlayer();
|
|
+}
|
|
diff --git a/src/main/java/gg/projecteden/parchment/OptionalPlayerLike.java b/src/main/java/gg/projecteden/parchment/OptionalPlayerLike.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..4b2fa7abc6ce8f7e21e137d3cafab1ab2ac192a2
|
|
--- /dev/null
|
|
+++ b/src/main/java/gg/projecteden/parchment/OptionalPlayerLike.java
|
|
@@ -0,0 +1,48 @@
|
|
+package gg.projecteden.parchment;
|
|
+
|
|
+import net.kyori.adventure.audience.Audience;
|
|
+import net.kyori.adventure.audience.ForwardingAudience;
|
|
+import net.kyori.adventure.identity.Identified;
|
|
+import net.kyori.adventure.identity.Identity;
|
|
+import org.bukkit.Location;
|
|
+import org.bukkit.entity.Player;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+import org.jetbrains.annotations.Nullable;
|
|
+
|
|
+import java.util.Objects;
|
|
+
|
|
+/**
|
|
+ * Class that may be like a {@link org.bukkit.entity.Player} in that it has a {@link java.util.UUID}, {@link org.bukkit.OfflinePlayer}, {@link Identity}, and a nullable Player.
|
|
+ * @see gg.projecteden.parchment.PlayerLike
|
|
+ */
|
|
+public interface OptionalPlayerLike extends OptionalPlayer, gg.projecteden.api.interfaces.HasUniqueId, HasOfflinePlayer, OptionalLocation, Identified, ForwardingAudience.Single {
|
|
+ /**
|
|
+ * Gets the identity associated with this object
|
|
+ *
|
|
+ * @return associated identity
|
|
+ */
|
|
+ @Override
|
|
+ default @NotNull Identity identity() {
|
|
+ return Identity.identity(getUniqueId());
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Returns if the {@link Player} associated with this object is online.
|
|
+ *
|
|
+ * @return if the player is online
|
|
+ */
|
|
+ default boolean isOnline() {
|
|
+ return getPlayer() != null;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ default @NotNull Audience audience() {
|
|
+ return Objects.requireNonNullElse(getPlayer(), Audience.empty());
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ default @Nullable Location getLocation() {
|
|
+ final Player player = getPlayer();
|
|
+ return player == null ? null : player.getLocation();
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/java/gg/projecteden/parchment/PlayerLike.java b/src/main/java/gg/projecteden/parchment/PlayerLike.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..c70ddc6f92d62d2d5baa001c9009ddd30c31ae5d
|
|
--- /dev/null
|
|
+++ b/src/main/java/gg/projecteden/parchment/PlayerLike.java
|
|
@@ -0,0 +1,30 @@
|
|
+package gg.projecteden.parchment;
|
|
+
|
|
+import net.kyori.adventure.audience.Audience;
|
|
+import org.bukkit.Location;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Class that is like a {@link org.bukkit.entity.Player} in that it has a Player, {@link java.util.UUID}, {@link org.bukkit.OfflinePlayer}, and an {@link net.kyori.adventure.identity.Identity}.
|
|
+ * @see gg.projecteden.parchment.OptionalPlayerLike
|
|
+ */
|
|
+public interface PlayerLike extends HasPlayer, HasLocation, OptionalPlayerLike {
|
|
+
|
|
+ // reduce nullability checks by re-implementing the methods from OptionalPlayerLike
|
|
+ // (but without the null checks)
|
|
+
|
|
+ @Override
|
|
+ default @NotNull Audience audience() {
|
|
+ return getPlayer();
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ default boolean isOnline() {
|
|
+ return true;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ default @NotNull Location getLocation() {
|
|
+ return getPlayer().getLocation();
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java b/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
|
|
index 3ddbc099a13df939b3912f30b54e7635840ba5a4..cf34f788b732037713d9a0ab29636de1820afd0a 100644
|
|
--- a/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
|
|
+++ b/src/main/java/io/papermc/paper/event/packet/PlayerChunkLoadEvent.java
|
|
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* Should only be used for packet/clientside related stuff.
|
|
* Not intended for modifying server side state.
|
|
*/
|
|
-public class PlayerChunkLoadEvent extends ChunkEvent {
|
|
+public class PlayerChunkLoadEvent extends ChunkEvent implements gg.projecteden.parchment.HasPlayer { // Parchment
|
|
|
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java b/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
|
|
index 2cac7e27991c04a9ced261f2dd8ad8657ccddf6b..2dc9666fac98e3ff8b569f9510fa0db3ba0eb681 100644
|
|
--- a/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
|
|
+++ b/src/main/java/io/papermc/paper/event/packet/PlayerChunkUnloadEvent.java
|
|
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* Should only be used for packet/clientside related stuff.
|
|
* Not intended for modifying server side.
|
|
*/
|
|
-public class PlayerChunkUnloadEvent extends ChunkEvent {
|
|
+public class PlayerChunkUnloadEvent extends ChunkEvent implements gg.projecteden.parchment.HasPlayer { // Parchment
|
|
|
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
|
|
diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
|
|
index c6049747fc286acb4e8053901fcc517e5170afa2..5ab9b3e73c9cc6ee9cc4471a1f40c9c60a75b99c 100644
|
|
--- a/src/main/java/org/bukkit/Location.java
|
|
+++ b/src/main/java/org/bukkit/Location.java
|
|
@@ -30,7 +30,7 @@ import org.bukkit.entity.Player;
|
|
* magnitude than 360 are valid, but may be normalized to any other equivalent
|
|
* representation by the implementation.
|
|
*/
|
|
-public class Location implements Cloneable, ConfigurationSerializable, io.papermc.paper.math.FinePosition { // Paper
|
|
+public class Location implements Cloneable, ConfigurationSerializable, io.papermc.paper.math.FinePosition, gg.projecteden.parchment.HasLocation { // Paper // Parchment
|
|
private Reference<World> world;
|
|
private double x;
|
|
private double y;
|
|
@@ -38,6 +38,13 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm
|
|
private float pitch;
|
|
private float yaw;
|
|
|
|
+ // Parchment start
|
|
+ @Override
|
|
+ public @NotNull Location getLocation() {
|
|
+ return this;
|
|
+ }
|
|
+ // Parchment end
|
|
+
|
|
/**
|
|
* Constructs a new Location with the given coordinates
|
|
*
|
|
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
|
|
index 30298a629b39bd43ce14b414fc697b2dfcbea89c..5f50d10c79990a96ae3f954fbff41b5b39a4d7b8 100644
|
|
--- a/src/main/java/org/bukkit/OfflinePlayer.java
|
|
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
|
|
@@ -19,7 +19,14 @@ import org.jetbrains.annotations.Nullable;
|
|
* player that is stored on the disk and can, thus, be retrieved without the
|
|
* player needing to be online.
|
|
*/
|
|
-public interface OfflinePlayer extends ServerOperator, AnimalTamer, ConfigurationSerializable {
|
|
+public interface OfflinePlayer extends ServerOperator, AnimalTamer, ConfigurationSerializable, gg.projecteden.parchment.HasOfflinePlayer, gg.projecteden.parchment.OptionalPlayer { // Parchment
|
|
+
|
|
+ // Parchment start
|
|
+ @Override
|
|
+ default @org.jetbrains.annotations.NotNull OfflinePlayer getOfflinePlayer() {
|
|
+ return this;
|
|
+ }
|
|
+ // Parchment end
|
|
|
|
/**
|
|
* Checks if this player is currently online
|
|
diff --git a/src/main/java/org/bukkit/Raid.java b/src/main/java/org/bukkit/Raid.java
|
|
index fa98599e3eee37bf68f0e9813497c718f457485c..7af5afbef7b1559221ab6c28131ae698aa8cec76 100644
|
|
--- a/src/main/java/org/bukkit/Raid.java
|
|
+++ b/src/main/java/org/bukkit/Raid.java
|
|
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Represents a raid event.
|
|
*/
|
|
-public interface Raid extends org.bukkit.persistence.PersistentDataHolder { // Paper
|
|
+public interface Raid extends org.bukkit.persistence.PersistentDataHolder, gg.projecteden.parchment.HasLocation { // Paper // Parchment
|
|
|
|
/**
|
|
* Get whether this raid started.
|
|
diff --git a/src/main/java/org/bukkit/Vibration.java b/src/main/java/org/bukkit/Vibration.java
|
|
index bbc01e7c192ae6689c301670047ff114306c57cb..2a83ba61686caffb247f17a67af474299dae6be4 100644
|
|
--- a/src/main/java/org/bukkit/Vibration.java
|
|
+++ b/src/main/java/org/bukkit/Vibration.java
|
|
@@ -74,7 +74,7 @@ public class Vibration {
|
|
}
|
|
}
|
|
|
|
- public static class BlockDestination implements Destination {
|
|
+ public static class BlockDestination implements Destination, gg.projecteden.parchment.HasLocation { // Parchment
|
|
|
|
private final Location block;
|
|
|
|
diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java
|
|
index 8ba00f743b61cd33dd41ae7f1c272ee2b0c8546d..6e2d3f7e8e2f96016d28bb941f16706d228b542d 100644
|
|
--- a/src/main/java/org/bukkit/attribute/AttributeModifier.java
|
|
+++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java
|
|
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable;
|
|
/**
|
|
* Concrete implementation of an attribute modifier.
|
|
*/
|
|
-public class AttributeModifier implements ConfigurationSerializable {
|
|
+public class AttributeModifier implements ConfigurationSerializable, gg.projecteden.api.interfaces.HasUniqueId { // Parchment
|
|
|
|
private final UUID uuid;
|
|
private final String name;
|
|
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
|
|
index 8a842840e1a2652a6356d4a56e4749a5ba36e902..c5b6ec1c6dfa8789afcde1bf22b2507d20c0545f 100644
|
|
--- a/src/main/java/org/bukkit/block/Block.java
|
|
+++ b/src/main/java/org/bukkit/block/Block.java
|
|
@@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* (i.e. lighting and power) may not be able to be safely accessed during world
|
|
* generation when used in cases like BlockPhysicsEvent!!!!
|
|
*/
|
|
-public interface Block extends Metadatable, Translatable, net.kyori.adventure.translation.Translatable { // Paper - translatable
|
|
+public interface Block extends Metadatable, Translatable, net.kyori.adventure.translation.Translatable, gg.projecteden.parchment.HasLocation { // Paper - translatable // Parchment
|
|
|
|
/**
|
|
* Gets the metadata for this block
|
|
diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java
|
|
index 80e5d39afe8a6cf882b29c0da78450b958812137..e747f89e5129e360f9827886fcbfb238cf7e19c1 100644
|
|
--- a/src/main/java/org/bukkit/block/BlockState.java
|
|
+++ b/src/main/java/org/bukkit/block/BlockState.java
|
|
@@ -21,7 +21,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* change the state of the block and you will not know, or they may change the
|
|
* block to another type entirely, causing your BlockState to become invalid.
|
|
*/
|
|
-public interface BlockState extends Metadatable {
|
|
+public interface BlockState extends Metadatable, gg.projecteden.parchment.HasLocation { // Parchment
|
|
|
|
/**
|
|
* Gets the block represented by this block state.
|
|
diff --git a/src/main/java/org/bukkit/block/DoubleChest.java b/src/main/java/org/bukkit/block/DoubleChest.java
|
|
index a39d2f1acbbd84ae0e2cf29f85594e09e55e9355..4348b8961afe7a57350856622aff8c988cd4bbdd 100644
|
|
--- a/src/main/java/org/bukkit/block/DoubleChest.java
|
|
+++ b/src/main/java/org/bukkit/block/DoubleChest.java
|
|
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable;
|
|
/**
|
|
* Represents a double chest.
|
|
*/
|
|
-public class DoubleChest implements InventoryHolder {
|
|
+public class DoubleChest implements InventoryHolder, gg.projecteden.parchment.HasLocation { // Parchment
|
|
private DoubleChestInventory inventory;
|
|
|
|
public DoubleChest(@NotNull DoubleChestInventory chest) {
|
|
diff --git a/src/main/java/org/bukkit/entity/AnimalTamer.java b/src/main/java/org/bukkit/entity/AnimalTamer.java
|
|
index 2e17b2d4f759531fbe9ee8e9b00c839186af09ca..8f4a293c131cb8b63c31b410ffa211bdb42b3338 100644
|
|
--- a/src/main/java/org/bukkit/entity/AnimalTamer.java
|
|
+++ b/src/main/java/org/bukkit/entity/AnimalTamer.java
|
|
@@ -4,7 +4,7 @@ import java.util.UUID;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
-public interface AnimalTamer {
|
|
+public interface AnimalTamer extends gg.projecteden.api.interfaces.HasUniqueId { // Parchment
|
|
|
|
/**
|
|
* This is the name of the specified AnimalTamer.
|
|
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
|
|
index 62e3793903905b94eb1a120345015149abb33713..8f35e0c9e778d98ca191d45eec76a7a74d51959a 100644
|
|
--- a/src/main/java/org/bukkit/entity/Entity.java
|
|
+++ b/src/main/java/org/bukkit/entity/Entity.java
|
|
@@ -31,7 +31,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* Not all methods are guaranteed to work/may have side effects when
|
|
* {@link #isInWorld()} is false.
|
|
*/
|
|
-public interface Entity extends Metadatable, CommandSender, Nameable, PersistentDataHolder, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowEntity>, net.kyori.adventure.sound.Sound.Emitter { // Paper
|
|
+public interface Entity extends Metadatable, CommandSender, Nameable, PersistentDataHolder, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowEntity>, net.kyori.adventure.sound.Sound.Emitter, gg.projecteden.api.interfaces.HasUniqueId, gg.projecteden.parchment.HasLocation { // Paper // Parchment
|
|
|
|
/**
|
|
* Gets the entity's current position
|
|
diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
|
|
index ee866f3497ed56708d4062685f5585ca06a03955..4c8f373cb946f4db769be566c163f27a9f4af61e 100644
|
|
--- a/src/main/java/org/bukkit/entity/HumanEntity.java
|
|
+++ b/src/main/java/org/bukkit/entity/HumanEntity.java
|
|
@@ -20,7 +20,15 @@ import org.jetbrains.annotations.Nullable;
|
|
/**
|
|
* Represents a human entity, such as an NPC or a player
|
|
*/
|
|
-public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder {
|
|
+public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder, gg.projecteden.parchment.HasHumanEntity { // Parchment
|
|
+
|
|
+ // Parchment start
|
|
+ @NotNull
|
|
+ @Override
|
|
+ default HumanEntity getPlayer() {
|
|
+ return this;
|
|
+ }
|
|
+ // Parchment end
|
|
|
|
// Paper start
|
|
@Override
|
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
|
index 6c327a07bf8a6aa11a2d7dad12b2830acc539484..42e186ffdb421ccea61c4325f4b9800d55f624a8 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -56,7 +56,17 @@ import org.jetbrains.annotations.Nullable;
|
|
/**
|
|
* Represents a player, connected or not
|
|
*/
|
|
-public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, net.kyori.adventure.bossbar.BossBarViewer, com.destroystokyo.paper.network.NetworkClient { // Paper
|
|
+public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginMessageRecipient, net.kyori.adventure.identity.Identified, net.kyori.adventure.bossbar.BossBarViewer, com.destroystokyo.paper.network.NetworkClient, gg.projecteden.parchment.HasPlayer { // Paper // Parchment
|
|
+
|
|
+ // Parchment start - fix defaults
|
|
+ /**
|
|
+ * Returns this player object.
|
|
+ *
|
|
+ * @return this player
|
|
+ */
|
|
+ @Override
|
|
+ @NotNull Player getPlayer();
|
|
+ // Parchment end
|
|
|
|
// Paper start
|
|
@Override
|
|
diff --git a/src/main/java/org/bukkit/event/block/BlockBreakEvent.java b/src/main/java/org/bukkit/event/block/BlockBreakEvent.java
|
|
index 691733a642b3295bbe6d484be728c77cd32803bd..a2eae7a9bad13d1ba2bd954888a0373834d30078 100644
|
|
--- a/src/main/java/org/bukkit/event/block/BlockBreakEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/block/BlockBreakEvent.java
|
|
@@ -26,7 +26,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* If a Block Break event is cancelled, the block will not break and
|
|
* experience will not drop.
|
|
*/
|
|
-public class BlockBreakEvent extends BlockExpEvent implements Cancellable {
|
|
+public class BlockBreakEvent extends BlockExpEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
private final Player player;
|
|
private boolean dropItems;
|
|
private boolean cancel;
|
|
diff --git a/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java b/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
|
|
index c74ac0cb004aa219ce2f761969a4bb46cb7c9160..0ef554454608f0129b764dc3d6e3d7780ddf2a11 100644
|
|
--- a/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java
|
|
@@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* #getMaterial()} instead.
|
|
* </ul>
|
|
*/
|
|
-public class BlockCanBuildEvent extends BlockEvent {
|
|
+public class BlockCanBuildEvent extends BlockEvent implements gg.projecteden.parchment.OptionalPlayer { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
protected boolean buildable;
|
|
|
|
diff --git a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java b/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
|
|
index 392cde07d578d684423e1bf369af28696eb7e484..e1dacc04c73e0cabcd04d50540f3a5716550e22f 100644
|
|
--- a/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/block/BlockDamageEvent.java
|
|
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* If a Block Damage event is cancelled, the block will not be damaged.
|
|
* @see BlockDamageAbortEvent
|
|
*/
|
|
-public class BlockDamageEvent extends BlockEvent implements Cancellable {
|
|
+public class BlockDamageEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private final Player player;
|
|
private boolean instaBreak;
|
|
diff --git a/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java b/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java
|
|
index 4c5ee91de162b202c2db8bf68259ad41a430125d..0d7087301c05bd801b32621e279ff69335b92660 100644
|
|
--- a/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/block/BlockDropItemEvent.java
|
|
@@ -28,7 +28,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* AIR in most cases. Use #getBlockState() for more Information about the broken
|
|
* block.
|
|
*/
|
|
-public class BlockDropItemEvent extends BlockEvent implements Cancellable {
|
|
+public class BlockDropItemEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private final Player player;
|
|
diff --git a/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java b/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java
|
|
index 695309b4b7ef269ba2496408a5f874f61cd6c445..18207907e7b31ef9c136e857de046f9cce006111 100644
|
|
--- a/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/block/BlockFertilizeEvent.java
|
|
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* block with bonemeal. Will be called after the applicable
|
|
* {@link StructureGrowEvent}.
|
|
*/
|
|
-public class BlockFertilizeEvent extends BlockEvent implements Cancellable {
|
|
+public class BlockFertilizeEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private boolean cancelled;
|
|
diff --git a/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java b/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
|
|
index 6dcd9f828c6c40e48593b0bad5a44a656eb01645..0651bdd983e90e0e1e8a3565dcb5d97cfd69ce3e 100644
|
|
--- a/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/block/BlockIgniteEvent.java
|
|
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* <p>
|
|
* If a Block Ignite event is cancelled, the block will not be ignited.
|
|
*/
|
|
-public class BlockIgniteEvent extends BlockEvent implements Cancellable {
|
|
+public class BlockIgniteEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private final IgniteCause cause;
|
|
private final Entity ignitingEntity;
|
|
diff --git a/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java b/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
|
|
index 4e3c406ba883aae553e8d69b6b719b872cd6096c..d0a92dc9eba0f61b596e9a388f3aa4076ef2bc65 100644
|
|
--- a/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/block/BlockPlaceEvent.java
|
|
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* <p>
|
|
* If a Block Place event is cancelled, the block will not be placed.
|
|
*/
|
|
-public class BlockPlaceEvent extends BlockEvent implements Cancellable {
|
|
+public class BlockPlaceEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
protected boolean cancel;
|
|
protected boolean canBuild;
|
|
diff --git a/src/main/java/org/bukkit/event/block/SignChangeEvent.java b/src/main/java/org/bukkit/event/block/SignChangeEvent.java
|
|
index d944d67f544494355f03c5bc9afd8ea7726e6412..800db8e63bdb8c05ffdc88c3a3b0f1f268a1357e 100644
|
|
--- a/src/main/java/org/bukkit/event/block/SignChangeEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/block/SignChangeEvent.java
|
|
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* <p>
|
|
* If a Sign Change event is cancelled, the sign will not be changed.
|
|
*/
|
|
-public class SignChangeEvent extends BlockEvent implements Cancellable {
|
|
+public class SignChangeEvent extends BlockEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private boolean cancel = false;
|
|
private final Player player;
|
|
diff --git a/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java b/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java
|
|
index 59aab10c2d27247eb77bd71d75b5f9126aa0fb12..57f89f569725289d56f1c75db258ac19b6f94f30 100644
|
|
--- a/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/entity/EntityEnterLoveModeEvent.java
|
|
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* This can be cancelled but the item will still be consumed that was used to
|
|
* make the entity enter into love mode.
|
|
*/
|
|
-public class EntityEnterLoveModeEvent extends EntityEvent implements Cancellable {
|
|
+public class EntityEnterLoveModeEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.OptionalHumanEntity { // Parchment
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private boolean cancel;
|
|
@@ -44,9 +44,24 @@ public class EntityEnterLoveModeEvent extends EntityEvent implements Cancellable
|
|
* null if there wasn't one.
|
|
*/
|
|
@Nullable
|
|
- public HumanEntity getHumanEntity() {
|
|
+ // Parchment start
|
|
+ @Deprecated
|
|
+ public final HumanEntity getHumanEntity() {
|
|
+ return getPlayer();
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the Human Entity that caused the animal to enter love mode.
|
|
+ *
|
|
+ * @return The Human entity that caused the animal to enter love mode, or
|
|
+ * null if there wasn't one.
|
|
+ */
|
|
+ @Override
|
|
+ @Nullable
|
|
+ public HumanEntity getPlayer() {
|
|
return humanEntity;
|
|
}
|
|
+ // Parchment end
|
|
|
|
/**
|
|
* Gets the amount of ticks that the animal will fall in love for.
|
|
diff --git a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
|
|
index 8506fa03293c575c35b55b052224807470fdbd98..2b5e481929c956bdfff5522b2c7ec3e71aa750f5 100644
|
|
--- a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java
|
|
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* event isn't called if the {@link org.bukkit.GameRule#MOB_GRIEFING}
|
|
* is disabled as no block interaction will occur.
|
|
*/
|
|
-public class EntityExplodeEvent extends EntityEvent implements Cancellable {
|
|
+public class EntityExplodeEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private boolean cancel;
|
|
private final Location location;
|
|
diff --git a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
|
|
index 71d664dd89995f088c47d17b38547d530319470c..d931ece8f35c8f01748c59d01617fd59b287030e 100644
|
|
--- a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java
|
|
@@ -17,7 +17,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* Note that this event is currently only fired for four specific placements:
|
|
* armor stands, boats, minecarts, and end crystals.
|
|
*/
|
|
-public class EntityPlaceEvent extends EntityEvent implements Cancellable {
|
|
+public class EntityPlaceEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private boolean cancelled;
|
|
diff --git a/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java b/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java
|
|
index e4e3d2e22c28ef251d76c48ade267b4eb3749e7d..5128c4b618b4e369a8f9700169b187926ddde09e 100644
|
|
--- a/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java
|
|
@@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Called when an entity comes into contact with a portal
|
|
*/
|
|
-public class EntityPortalEnterEvent extends EntityEvent {
|
|
+public class EntityPortalEnterEvent extends EntityEvent implements gg.projecteden.parchment.HasLocation { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private final Location location;
|
|
|
|
diff --git a/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
|
|
index 961ee511342cd3a12ff2ff74d7b4683c6753123d..892732ab5ae58ec980c4fd05a5a3dfdcbd70a528 100644
|
|
--- a/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/entity/EntitySpawnEvent.java
|
|
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* <p>
|
|
* If an Entity Spawn event is cancelled, the entity will not spawn.
|
|
*/
|
|
-public class EntitySpawnEvent extends EntityEvent implements Cancellable {
|
|
+public class EntitySpawnEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private boolean canceled;
|
|
diff --git a/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java b/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java
|
|
index 2bb29fa449cd6c90b52d2786ed15b6154d591607..ce4caa5d3b0801bc7e2fd2c917a4ae6e3f054052 100644
|
|
--- a/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/entity/ItemDespawnEvent.java
|
|
@@ -13,7 +13,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* Cancelling the event results in the item being allowed to exist for 5 more
|
|
* minutes. This behavior is not guaranteed and may change in future versions.
|
|
*/
|
|
-public class ItemDespawnEvent extends EntityEvent implements Cancellable {
|
|
+public class ItemDespawnEvent extends EntityEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private boolean canceled;
|
|
private final Location location;
|
|
diff --git a/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java b/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java
|
|
index 883d54dc0cc32973df5d66f2991d1af8150add43..2f56d30b58387128931c563c2d67c759faf1b488 100644
|
|
--- a/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java
|
|
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Called immediately prior to a creature being leashed by a player.
|
|
*/
|
|
-public class PlayerLeashEntityEvent extends Event implements Cancellable {
|
|
+public class PlayerLeashEntityEvent extends Event implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private final Entity leashHolder;
|
|
private final Entity entity;
|
|
diff --git a/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java b/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java
|
|
index cc5781f276ec0a503b1bfef19d630c85db897c2a..89b38f2ce9a355f39abc657eff49c3a58f1b6471 100644
|
|
--- a/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java
|
|
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
|
|
/**
|
|
* Triggered when a hanging entity is created in the world
|
|
*/
|
|
-public class HangingPlaceEvent extends HangingEvent implements Cancellable {
|
|
+public class HangingPlaceEvent extends HangingEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private boolean cancelled;
|
|
private final Player player;
|
|
diff --git a/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java b/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java
|
|
index a965b6a78073c5da86ad671752eff4a270029420..84cc90c085ae5ab788bcbc83bf1a0081be3b8186 100644
|
|
--- a/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/inventory/FurnaceExtractEvent.java
|
|
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* {@link org.bukkit.block.Furnace}, {@link org.bukkit.block.Smoker}, or
|
|
* {@link org.bukkit.block.BlastFurnace}.
|
|
*/
|
|
-public class FurnaceExtractEvent extends BlockExpEvent {
|
|
+public class FurnaceExtractEvent extends BlockExpEvent implements gg.projecteden.parchment.HasPlayer { // Parchment
|
|
private final Player player;
|
|
private final Material itemType;
|
|
private final int itemAmount;
|
|
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
|
|
index 4db0a07db156c61867644f50c185e63b695e2462..eb6632e2e9d247bd54e02e3a134dfdbed9aeef39 100644
|
|
--- a/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/inventory/InventoryCloseEvent.java
|
|
@@ -28,7 +28,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* on the next tick. Also be aware that this is not an exhaustive list, and
|
|
* other methods could potentially create issues as well.
|
|
*/
|
|
-public class InventoryCloseEvent extends InventoryEvent {
|
|
+public class InventoryCloseEvent extends InventoryEvent implements gg.projecteden.parchment.HasHumanEntity { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
// Paper start
|
|
private final Reason reason;
|
|
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java
|
|
index 8e2afeab4c62724148e8bb0c83fb7eec569c7a0c..2843fd117151dc75c87db06915a6732277867a0c 100644
|
|
--- a/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/inventory/InventoryOpenEvent.java
|
|
@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Called when a player opens an inventory
|
|
*/
|
|
-public class InventoryOpenEvent extends InventoryEvent implements Cancellable {
|
|
+public class InventoryOpenEvent extends InventoryEvent implements Cancellable, gg.projecteden.parchment.HasHumanEntity { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private boolean cancelled;
|
|
private net.kyori.adventure.text.Component titleOverride; // Paper
|
|
diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
|
|
index ae02788536d0c6736aba4ccf812844df4f9789f1..327558fcf2aacf0df5a62399fc510c25fcf7cb38 100644
|
|
--- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
|
|
@@ -18,7 +18,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* Consider rendering any translatable yourself with {@link net.kyori.adventure.translation.GlobalTranslator#render}
|
|
* if the client's language is known.
|
|
*/
|
|
-public class AsyncPlayerPreLoginEvent extends Event {
|
|
+public class AsyncPlayerPreLoginEvent extends Event implements gg.projecteden.api.interfaces.HasUniqueId { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private Result result;
|
|
private net.kyori.adventure.text.Component message; // Paper
|
|
diff --git a/src/main/java/org/bukkit/event/player/PlayerEvent.java b/src/main/java/org/bukkit/event/player/PlayerEvent.java
|
|
index f6d3b817de3001f04ea4554c7c39a1290af3fd6d..44efb5cc62149b34b994eadac488a90269e8ae79 100644
|
|
--- a/src/main/java/org/bukkit/event/player/PlayerEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/player/PlayerEvent.java
|
|
@@ -7,7 +7,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Represents a player related event
|
|
*/
|
|
-public abstract class PlayerEvent extends Event {
|
|
+public abstract class PlayerEvent extends Event implements gg.projecteden.parchment.HasPlayer { // Parchment
|
|
protected Player player;
|
|
|
|
public PlayerEvent(@NotNull final Player who) {
|
|
diff --git a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
|
|
index 175ed12dd1698f4d153c9acdac8340c15a427ea5..5e14dc6968de1b146b31abef19fbba1af8c68b6f 100644
|
|
--- a/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/player/PlayerPreLoginEvent.java
|
|
@@ -23,7 +23,7 @@ import org.jetbrains.annotations.NotNull;
|
|
*/
|
|
@Deprecated
|
|
@Warning(reason = "This event causes a login thread to synchronize with the main thread")
|
|
-public class PlayerPreLoginEvent extends Event {
|
|
+public class PlayerPreLoginEvent extends Event implements gg.projecteden.api.interfaces.HasUniqueId { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private Result result;
|
|
private net.kyori.adventure.text.Component message; // Paper
|
|
diff --git a/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java b/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java
|
|
index d63bd62606763d0902ea800f0c35a1cfd07fc8ec..ecca20d51f8ac6f27887c55ae2aaa428ecb1ea53 100644
|
|
--- a/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java
|
|
@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
|
|
/**
|
|
* Called prior to an entity being unleashed due to a player's action.
|
|
*/
|
|
-public class PlayerUnleashEntityEvent extends EntityUnleashEvent implements Cancellable {
|
|
+public class PlayerUnleashEntityEvent extends EntityUnleashEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
|
|
private boolean cancelled = false;
|
|
|
|
diff --git a/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java b/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java
|
|
index 128e43cf12205f82f2b119a773208502cdccfdd4..ca1fed3081e2b0a3271a2dfa0f49cce78bdb8e23 100644
|
|
--- a/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java
|
|
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* Called when a {@link Raid} is triggered (e.g: a player with Bad Omen effect
|
|
* enters a village).
|
|
*/
|
|
-public class RaidTriggerEvent extends RaidEvent implements Cancellable {
|
|
+public class RaidTriggerEvent extends RaidEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
//
|
|
diff --git a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
|
|
index b43c3cb5c88eada186d6f81712c244aaa18fb53e..a37055d864038a0090fa0c71f7d8e22aea69b3fe 100644
|
|
--- a/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/server/TabCompleteEvent.java
|
|
@@ -19,7 +19,7 @@ import org.jetbrains.annotations.NotNull;
|
|
* advised to ensure the client does not have permission for the relevant
|
|
* commands, or use {@link PlayerCommandSendEvent}.
|
|
*/
|
|
-public class TabCompleteEvent extends Event implements Cancellable {
|
|
+public class TabCompleteEvent extends Event implements Cancellable, gg.projecteden.parchment.OptionalLocation { // Parchment
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
//
|
|
diff --git a/src/main/java/org/bukkit/event/world/GenericGameEvent.java b/src/main/java/org/bukkit/event/world/GenericGameEvent.java
|
|
index fb975fefc74d8c9746cab4c02860f55654cf92f7..172699ba31d1ee0697607125d75549930288dd5b 100644
|
|
--- a/src/main/java/org/bukkit/event/world/GenericGameEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/world/GenericGameEvent.java
|
|
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* Specific Bukkit events should be used where possible, this event is mainly
|
|
* used internally by Sculk sensors.
|
|
*/
|
|
-public class GenericGameEvent extends WorldEvent implements Cancellable {
|
|
+public class GenericGameEvent extends WorldEvent implements Cancellable, gg.projecteden.parchment.HasLocation { // Parchment
|
|
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private final GameEvent event;
|
|
diff --git a/src/main/java/org/bukkit/event/world/StructureGrowEvent.java b/src/main/java/org/bukkit/event/world/StructureGrowEvent.java
|
|
index 783e74bc382f0f6d24203fde7b811f588a674731..c0f863b35cc7f508a33ddcb1af9ed6c52115efdc 100644
|
|
--- a/src/main/java/org/bukkit/event/world/StructureGrowEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/world/StructureGrowEvent.java
|
|
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* Event that is called when an organic structure attempts to grow (Sapling {@literal ->}
|
|
* Tree), (Mushroom {@literal ->} Huge Mushroom), naturally or using bonemeal.
|
|
*/
|
|
-public class StructureGrowEvent extends WorldEvent implements Cancellable {
|
|
+public class StructureGrowEvent extends WorldEvent implements Cancellable, gg.projecteden.parchment.OptionalPlayer { // Parchment
|
|
private static final HandlerList handlers = new HandlerList();
|
|
private boolean cancelled = false;
|
|
private final Location location;
|
|
diff --git a/src/main/java/org/bukkit/inventory/Inventory.java b/src/main/java/org/bukkit/inventory/Inventory.java
|
|
index 0d519813c12d98b28d62e6d01d7ec6e8c2dba3c3..469b9cc0c4b77844ba0317af51bd9ad873915967 100644
|
|
--- a/src/main/java/org/bukkit/inventory/Inventory.java
|
|
+++ b/src/main/java/org/bukkit/inventory/Inventory.java
|
|
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* @see #getContents()
|
|
* @see #getStorageContents()
|
|
*/
|
|
-public interface Inventory extends Iterable<ItemStack> {
|
|
+public interface Inventory extends Iterable<ItemStack>, gg.projecteden.parchment.OptionalLocation { // Parchment
|
|
|
|
/**
|
|
* Returns the size of the inventory
|
|
diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java
|
|
index ac6c5c7a58c2c88b6cb0f6632fb53e8d67f8a059..464c69fd652db3384b1a4a5f4151933c3cd7df7b 100644
|
|
--- a/src/main/java/org/bukkit/inventory/InventoryView.java
|
|
+++ b/src/main/java/org/bukkit/inventory/InventoryView.java
|
|
@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* contracts of certain methods, there's no guarantee that the game will work
|
|
* as it should.
|
|
*/
|
|
-public abstract class InventoryView {
|
|
+public abstract class InventoryView implements gg.projecteden.parchment.HasHumanEntity { // Parchment
|
|
public static final int OUTSIDE = -999;
|
|
/**
|
|
* Represents various extra properties of certain inventory windows.
|
|
diff --git a/src/main/java/org/bukkit/loot/LootContext.java b/src/main/java/org/bukkit/loot/LootContext.java
|
|
index b35dba42069f771db8727bf98f9d17aff9d6094e..0b4a90259952185c0897d4c6b68124dd3d42db26 100644
|
|
--- a/src/main/java/org/bukkit/loot/LootContext.java
|
|
+++ b/src/main/java/org/bukkit/loot/LootContext.java
|
|
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.Nullable;
|
|
* Represents additional information a {@link LootTable} can use to modify it's
|
|
* generated loot.
|
|
*/
|
|
-public final class LootContext {
|
|
+public final class LootContext implements gg.projecteden.parchment.HasLocation { // Parchment
|
|
|
|
public static final int DEFAULT_LOOT_MODIFIER = -1;
|
|
|