Better Beacon Range
Features
- Dynamic beacon range depending on pyramid blocks
- More expensive blocks = higher range
- Mix and match block types to get the most out of your beacon
- Beacon effects can also be applied to mobs! (configurable)
- Applies to tamed pets by default (horses, dogs, etc.)
- Tinted glass above an active beacon will hide the beam
- Completely configurable!
Notes
- Beacons will only give effects to players if the beacon is in a loaded chunk. Configuring the plugin for higher ranges, or running it on a server with a smaller view distance, means that extra range may get cut off.
Commands and Permissions
Command | Description | Permission | Default |
---|---|---|---|
/bbrReload | Reloads the config file | BetterBeaconRange.reload |
OP |
/bbrGetRange | Gets the range of the beacon you're looking at | BetterBeaconRange.getRange |
everyone |
Example beacons:
Config
# ----------------------------------------------- Entity Types ----------------------------------------------- #
# Note: these categories are not mutually exclusive, and may contain overlapping mobs.
# For example, enabling Animals will also include all Tamables, whether you have Tamables enabled or not!
# Apply beacon effects to tamables https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Tameable.html
ApplyEffectsToTamables: false
# Apply beacon effects to tamables, but ONLY IF TAMED
ApplyEffectsToPets: true
# Apply beacon effects to Villagers https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/AbstractVillager.html
AppyEffectsToVillagers: false
# Apply beacon effects to WaterMobs https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/WaterMob.html
AppyEffectsToWaterMobs: false
# Apply beacon effects to Animals https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Animals.html
ApplyEffectsToAnimals: false
# Apply beacon effects to Enemies https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Enemy.html
ApplyEffectsToEnemies: false
# Apply beacon effects to Raiders https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Raider.html
ApplyEffectsToRaiders: false
# Need finer control? Enable specific entities here https://jd.papermc.io/paper/1.20/org/bukkit/entity/EntityType.html
ApplyEffectsToSpecificEntities:
# - ALLAY
# - SHEEP
# ---------------------------------------------- Range Features ---------------------------------------------- #
# Blocks in the way of the bean that will not disable the beacon
# NOTE: THESE BLOCKS WILL STILL VISUALLY HIDE THE BEAM!
AllowedBeamBlocks:
- TINTED_GLASS
# Enables the block type range and level multiplier features (set to false for vanilla range mechanics)
EnableBetterRangeFeatures: true
# Range multiplier per level
LevelOneMultiplier: 3.0
LevelTwoMultiplier: 2.0
LevelThreeMultiplier: 1.0
LevelFourMultiplier: 0.5
# Beacon base blocks and range added per type
# Blocks must be formatted in Spigot Material format: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
# THIS DOES NOT ADD VALID BEACON_BASE_BLOCKS! This is to configure the range for beacon_base_blocks added via another method such as a datapack.
# Here's a datapack for copper: https://mc.voodoobeard.com/#copper_beacons
BeaconBlocks:
#- <MATERIAL>: <Range>
- COPPER_BLOCK: 0.1 # Requires extra datapack, see note above
- EXPOSED_COPPER: 0.1 # Requires extra datapack, see note above
- WEATHERED_COPPER: 0.1 # Requires extra datapack, see note above
- OXIDIZED_COPPER: 0.1 # Requires extra datapack, see note above
- CUT_COPPER: 0.1 # Requires extra datapack, see note above
- EXPOSED_CUT_COPPER: 0.1 # Requires extra datapack, see note above
- WEATHERED_CUT_COPPER: 0.1 # Requires extra datapack, see note above
- OXIDIZED_CUT_COPPER: 0.1 # Requires extra datapack, see note above
- WAXED_COPPER_BLOCK: 0.1 # Requires extra datapack, see note above
- WAXED_EXPOSED_COPPER: 0.1 # Requires extra datapack, see note above
- WAXED_WEATHERED_COPPER: 0.1 # Requires extra datapack, see note above
- WAXED_OXIDIZED_COPPER: 0.1 # Requires extra datapack, see note above
- WAXED_CUT_COPPER: 0.1 # Requires extra datapack, see note above
- WAXED_EXPOSED_CUT_COPPER: 0.1 # Requires extra datapack, see note above
- WAXED_WEATHERED_CUT_COPPER: 0.1 # Requires extra datapack, see note above
- WAXED_OXIDIZED_CUT_COPPER: 0.1 # Requires extra datapack, see note above
- IRON_BLOCK: 0.2
- GOLD_BLOCK: 0.3
- EMERALD_BLOCK: 0.4
- DIAMOND_BLOCK: 0.6
- NETHERITE_BLOCK: 0.9
oooh this is exactly what I wanted!
Question: would that function with a datapack that adds copper blocks to the list of beacon-detected blocks? (It's not command based or anything, it just literally give the "beacon block" tag to the copper, so it works, but I dunno if your plugin use that tag at all, so if it would recognise the copper blocks?)
I'm going to use it regardless, it's mostly to know if I should start afking at my emerald farm to replace my copper beacons XD
(if you dunno, I'll test it and tell ya)
In reply to felinalain:
I'm glad you like it! I've always felt that vanilla beacon mechanics were a bit lacking.
Hmm, I'm actually not sure if the datapack will be compatible or not, but I suspect not. I believe the way I'm detecting blocks is hard-coded, but it's been a while, so I very well may be mistaken. If you don't mind linking the datapack you're using, I'll be happy to test and see if I can make them work together!
I've recently been going through my old plugins and updating/rewriting them, and was planning to do this one next. One of the features I was actually thinking about adding (if possible) was allowing custom blocks. If a datapack is able to do this, then it should be possible with a plugin too.
By the way, I actually just created a Discord server for my plugins if you'd like to join and discuss this further :)
https://discord.frogperson.dev
In reply to Frogperson:
Here is the datapack I'm using:
https://mc.voodoobeard.com/#copper_beacons
If you look in it, you'll see it's really working simple, but I'm not sure if that would work for your plugin because the tag doesn't differentiate the type of blocs contained in it?
Maybe having a default value for blocs that have the beacon tag, but are otherwise not in the plugin config? It wouldn't be as bloc specific but it would be a fall back for any bloc that you wouldn't know about?
Or allow the config to add new lines, with block names, and if that block is tagged "beacon" then you apply the plugin to it?
Just throwing idea to try help, sorry if it's no good ^^"
Anyway, I'll poke into that discord, see what else you have! :D
Hey does this work on 1.20.1? We were trying to get our beacon to work over a 5,000 block radius but were unsure if it would work on the newest version.
In reply to robboblaycorncob:
Hi there!
As far as I'm aware, nothing has changed that would prevent this plugin from working in Paper 1.20.1. If you do notice any issues, please let me know and I'll be happy to take a look.
However, a 5000 block radius is unlikely to function. It's been a while since I worked on this, but I believe the way beacons work is the actual beacon block needs to be loaded by the server. The standard server view distance is 10, which equates to about 160 blocks.
What exactly is your use case here? Is this a survival server that you want players to have control over the beacon? Or are you just trying to give a status effect to everyone on the server? If it's the latter, then I recommend just using command blocks instead
there is No possibility to get it on Spigot or bukkit in the future right?
In reply to deREALshocK:
Unfortunately I make heavy use of Paper's beacon API, so unless that gets merged into Spigot, I have no plans to make the plugin Spigot compatible.
I highly, highly, recommend using Paper https://papermc.io/ (or Tuinity or Purpur) over Spigot, as they bring more performance, bug fixes, and an expanded plugin API, all while supporting nearly every Bukkit/Spigot plugin