mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-22 17:07:34 +01:00
e105354330
Also fixes EntityBreakDoorEvent not having the correct 'to' block data Also standardizes how to handle EntityChangeBlockEvent before a removeBlock or destroyBlock call. Always use 'state.getFluidState().createLegacyBlock()' to get the new state instead of just using the 'air' state.
71 lines
2.5 KiB
Diff
71 lines
2.5 KiB
Diff
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
|
|
index 4e43793a57ecf78a04972168b5a9a116ff18e30a..60206aaf1dfec3cf1f8911d7dce41a36a8675375 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -3036,6 +3036,59 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|
* @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
|