Paper/Spigot-API-Patches/Beacon-API-custom-effect-ranges.patch
Jake Potrebic 21e0ef27f1 Add custom ranges to beacons
Adds 3 methods to the Beacon block state to set a custom range for the beacon.
One to set the range, one to get the range, and one to reset the range
(aka go back to using the default range-by-beacon-tier system).
2020-06-28 01:20:49 -06:00

38 lines
1.5 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Wed, 24 Jun 2020 12:38:15 -0600
Subject: [PATCH] Beacon API - custom effect ranges
diff --git a/src/main/java/org/bukkit/block/Beacon.java b/src/main/java/org/bukkit/block/Beacon.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/block/Beacon.java
+++ b/src/main/java/org/bukkit/block/Beacon.java
@@ -0,0 +0,0 @@ public interface Beacon extends TileState, Lockable, Nameable {
* @param effect desired secondary effect
*/
void setSecondaryEffect(@Nullable PotionEffectType effect);
+
+ // Paper start - Custom effect ranges
+ /**
+ * Gets the effect range of this beacon.
+ * A negative range value means the beacon is using its default range based on tier.
+ * @return Either the custom range set with {@link #setEffectRange(double) or the range based on the beacon tier.
+ */
+ double getEffectRange();
+
+ /**
+ * Sets the effect range of the beacon
+ * A negative range value means the beacon is using its default range based on tier.
+ * @param range Radius of effect range.
+ */
+ void setEffectRange(double range);
+
+ /**
+ * Resets the custom range from this beacon and falls back to the range based on the the beacon tier.
+ * Shortcut for setting the effect range to a negative number.
+ */
+ void resetEffectRange();
+ // Paper end
}