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 6349fa9da3f96df3553fb9552c1cab95338cecb0..7d212c409035ccb8b22d4ffc322b4a1aea367627 100644
--- a/src/main/java/org/bukkit/block/Beacon.java
+++ b/src/main/java/org/bukkit/block/Beacon.java
@@ -64,4 +64,26 @@ 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 beacon tier.
+     * Shortcut for setting the effect range to a negative number.
+     */
+    void resetEffectRange();
+    // Paper end
 }