diff --git a/patches/api/0007-Add-PlayerData-Events.patch b/patches/api/0007-Add-PlayerData-Events.patch index 6f3d20877..dd3ed400b 100644 --- a/patches/api/0007-Add-PlayerData-Events.patch +++ b/patches/api/0007-Add-PlayerData-Events.patch @@ -73,3 +73,61 @@ index 0000000000000000000000000000000000000000..ae0132d9c7ae17b478d1d504961e1fd6 + 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; ++ } ++}