134 lines
3.6 KiB
Diff
134 lines
3.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Tom <cryptite@gmail.com>
|
|
Date: Mon, 10 Apr 2023 07:38:40 -0500
|
|
Subject: [PATCH] Add PlayerData Events
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerLoadDataEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerLoadDataEvent.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..ae0132d9c7ae17b478d1d504961e1fd6b479f6d0
|
|
--- /dev/null
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerLoadDataEvent.java
|
|
@@ -0,0 +1,63 @@
|
|
+package com.destroystokyo.paper.event.player;
|
|
+
|
|
+import com.google.gson.JsonObject;
|
|
+import org.bukkit.event.Event;
|
|
+import org.bukkit.event.HandlerList;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+import org.jetbrains.annotations.Nullable;
|
|
+
|
|
+import java.util.UUID;
|
|
+
|
|
+/**
|
|
+ * Calls an event in which playerdata can be provided. If null, will load from disk, otherwise will use provided data
|
|
+ */
|
|
+public class PlayerLoadDataEvent extends Event {
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
+ private final UUID playerId;
|
|
+ private Object playerData;
|
|
+ private JsonObject statistics;
|
|
+
|
|
+ public PlayerLoadDataEvent(@NotNull UUID playerId) {
|
|
+ super();
|
|
+ this.playerId = playerId;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the player's unique ID.
|
|
+ *
|
|
+ * @return The unique ID
|
|
+ */
|
|
+ @NotNull
|
|
+ public UUID getUniqueId() {
|
|
+ return playerId;
|
|
+ }
|
|
+
|
|
+ @Nullable
|
|
+ public Object getPlayerData() {
|
|
+ return playerData;
|
|
+ }
|
|
+
|
|
+ public void setPlayerData(@NotNull Object playerData) {
|
|
+ this.playerData = playerData;
|
|
+ }
|
|
+
|
|
+ @Nullable
|
|
+ public JsonObject getStatistics() {
|
|
+ return statistics;
|
|
+ }
|
|
+
|
|
+ public void setStatistics(@NotNull JsonObject statistics) {
|
|
+ this.statistics = statistics;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ @Override
|
|
+ public HandlerList getHandlers() {
|
|
+ return handlers;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public static HandlerList getHandlerList() {
|
|
+ return handlers;
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerSaveDataEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerSaveDataEvent.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..c706201394d89f4a6f795ebbbac3d1041f395104
|
|
--- /dev/null
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerSaveDataEvent.java
|
|
@@ -0,0 +1,52 @@
|
|
+package com.destroystokyo.paper.event.player;
|
|
+
|
|
+import org.bukkit.entity.Player;
|
|
+import org.bukkit.event.Cancellable;
|
|
+import org.bukkit.event.Event;
|
|
+import org.bukkit.event.HandlerList;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Calls whenever playerdata is attempted to be saved. This is fired even if SpigotConfig.disablePlayerDataSaving is true
|
|
+ */
|
|
+public class PlayerSaveDataEvent extends Event implements Cancellable {
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
+ private final Player player;
|
|
+ private boolean cancel;
|
|
+
|
|
+ public PlayerSaveDataEvent(@NotNull Player player) {
|
|
+ super();
|
|
+ this.player = player;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the player
|
|
+ *
|
|
+ * @return The player
|
|
+ */
|
|
+ @NotNull
|
|
+ public Player getPlayer() {
|
|
+ return player;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ @Override
|
|
+ public HandlerList getHandlers() {
|
|
+ return handlers;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public static HandlerList getHandlerList() {
|
|
+ return handlers;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isCancelled() {
|
|
+ return cancel;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setCancelled(boolean cancel) {
|
|
+ this.cancel = cancel;
|
|
+ }
|
|
+}
|