Paper/patches/api/0390-Add-Player-Warden-Warning-API.patch

71 lines
2.5 KiB
Diff
Raw Normal View History

2022-11-20 19:53:58 +01:00
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: dawon <dawon@dawon.eu>
Date: Sat, 15 Oct 2022 00:46:32 +0200
Subject: [PATCH] Add Player Warden Warning API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9440) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 01aa02eb PR-858: Add LivingEntity#playHurtAnimation() 9421320f PR-884: Refinements to new ban API for improved compatibility and correctness 37a60b45 SPIGOT-6455, SPIGOT-7030, PR-750: Improve ban API 4eeb174b All smithing inventories are now the new smithing inventory f2bb168e PR-880: Add methods to get/set FallingBlock CancelDrop e7a807fa PR-879: Add Player#sendHealthUpdate() 692b8e96 SPIGOT-7370: Remove float value conversion in plugin.yml 2d033390 SPIGOT-7403: Add direct API for waxed signs 16a08373 PR-876: Add missing Raider API and 'no action ticks' CraftBukkit Changes: b60a95c8c PR-1189: Add LivingEntity#playHurtAnimation() 95c335c63 PR-1226: Fix VehicleEnterEvent not being called for certain entities 0a0fc3bee PR-1227: Refinements to new ban API for improved compatibility and correctness 0d0b1e5dc Revert bad change to PathfinderGoalSit causing all cats to sit 648196070 SPIGOT-6455, SPIGOT-7030, PR-1054: Improve ban API 31fe848d6 All smithing inventories are now the new smithing inventory 9a919a143 SPIGOT-7416: SmithItemEvent not firing in Smithing Table 9f64f0d22 PR-1221: Add methods to get/set FallingBlock CancelDrop 3be9ac171 PR-1220: Add Player#sendHealthUpdate() c1279f775 PR-1209: Clean up various patches c432e4397 Fix Raider#setCelebrating() implementation 504d96665 SPIGOT-7403: Add direct API for waxed signs c68c1f1b3 PR-1216: Add missing Raider API and 'no action ticks' 85b89c3dd Increase outdated build delay Spigot Changes: 9ebce8af Rebuild patches 64b565e6 Rebuild patches
2023-07-04 10:22:56 +02:00
index 4e43793a57ecf78a04972168b5a9a116ff18e30a..60206aaf1dfec3cf1f8911d7dce41a36a8675375 100644
2022-11-20 19:53:58 +01:00
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9440) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 01aa02eb PR-858: Add LivingEntity#playHurtAnimation() 9421320f PR-884: Refinements to new ban API for improved compatibility and correctness 37a60b45 SPIGOT-6455, SPIGOT-7030, PR-750: Improve ban API 4eeb174b All smithing inventories are now the new smithing inventory f2bb168e PR-880: Add methods to get/set FallingBlock CancelDrop e7a807fa PR-879: Add Player#sendHealthUpdate() 692b8e96 SPIGOT-7370: Remove float value conversion in plugin.yml 2d033390 SPIGOT-7403: Add direct API for waxed signs 16a08373 PR-876: Add missing Raider API and 'no action ticks' CraftBukkit Changes: b60a95c8c PR-1189: Add LivingEntity#playHurtAnimation() 95c335c63 PR-1226: Fix VehicleEnterEvent not being called for certain entities 0a0fc3bee PR-1227: Refinements to new ban API for improved compatibility and correctness 0d0b1e5dc Revert bad change to PathfinderGoalSit causing all cats to sit 648196070 SPIGOT-6455, SPIGOT-7030, PR-1054: Improve ban API 31fe848d6 All smithing inventories are now the new smithing inventory 9a919a143 SPIGOT-7416: SmithItemEvent not firing in Smithing Table 9f64f0d22 PR-1221: Add methods to get/set FallingBlock CancelDrop 3be9ac171 PR-1220: Add Player#sendHealthUpdate() c1279f775 PR-1209: Clean up various patches c432e4397 Fix Raider#setCelebrating() implementation 504d96665 SPIGOT-7403: Add direct API for waxed signs c68c1f1b3 PR-1216: Add missing Raider API and 'no action ticks' 85b89c3dd Increase outdated build delay Spigot Changes: 9ebce8af Rebuild patches 64b565e6 Rebuild patches
2023-07-04 10:22:56 +02:00
@@ -3036,6 +3036,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
2022-11-20 19:53:58 +01:00
* @param silent whether sound should be silenced
*/
void showElderGuardian(boolean silent);
+
+ /**
+ * Returns the player's cooldown in ticks until the next Warden warning can occur.
+ *
+ * @return ticks until next Warden warning can occur. 0 means there is no cooldown left.
+ */
+ int getWardenWarningCooldown();
+
+ /**
+ * Sets the player's cooldown in ticks until next Warden warning can occur.
+ *
+ * @param cooldown ticks until next Warden warning can occur. 0 means there is no cooldown left. Values less than 0 are set to 0.
+ */
+ void setWardenWarningCooldown(int cooldown);
+
+ /**
+ * Returns time since last Warden warning in ticks.
+ *
+ * @return ticks since last Warden warning
+ */
+ int getWardenTimeSinceLastWarning();
+
+ /**
+ * Sets time since last Warden warning in ticks.
+ *
+ * @param time ticks since last Warden warning
+ */
+ void setWardenTimeSinceLastWarning(int time);
+
+ /**
+ * Returns the player's current Warden warning level.
+ *
+ * @return current Warden warning level
+ */
+ int getWardenWarningLevel();
+
+ /**
+ * Sets the player's Warden warning level.
+ * <p>
+ * <b>Note:</b> This will not actually spawn the Warden.
+ * Even if the warning level is over threshold, the player still needs to activate a Shrieker in order to summon the Warden.
+ *
+ * @param warningLevel player's Warden warning level. The warning level is internally limited to valid values.
+ */
+ void setWardenWarningLevel(int warningLevel);
+
+ /**
+ * Increases the player's Warden warning level if possible and not on cooldown.
+ * <p>
+ * <b>Note:</b> This will not actually spawn the Warden.
+ * Even if the warning level is over threshold, the player still needs to activate a Shrieker in order to summon the Warden.
+ */
+ void increaseWardenWarningLevel();
// Paper end
@NotNull