Skip to main content

Better Beacons

Normal beacons can only transmit a few of the vast amount of potion effects in Minecraft. Better Beacons is a plugin that unlocks their full potential by improving and increasing the functionality of beacons. It is very flexible and fully configurable through the config. This plugin allows server administrators to specify the effects that beacons can transmit and even set up their prices.

Features

  • Beacons can transmit all effects that exist in Minecraft
  • Different needed beacons tiers can be set for different effects
  • Different prices (either item price or money) can be set for different effects
  • Beacons can be set to only transmit effects for a specified period of time
  • Administrators can set whether players need to use special tool to interact with beacons
  • Players can get exact information about any beacon
  • Players can choose to modify only the primary or the secondary effect
  • Economy support - Vault needed
  • Special permissions
  • Complete configurability
  • Support for Custom Items and Textures

Commands

The default command is "/betterbeacons". Its aliases are "/bb" and "/betterbeacon". Once used, it will tell the player how to use the commands of the Better Beacons plugin.

/betterbeacons tool

This command gives you the tool needed to use beacons. The tool will work properly only if the configuration disallows using beacons without the tool. You can also specify a player name as an argument (For example "/bb tool LolokarSK"), which will give the tool to the specified player.

Permissions

PermissionDescriptionDefault
betterbeacons.usebeaconAllows interaction with beaconsEveryone
betterbeacons.givetoolAllows /betterbeacons tool commandOP

Configuration

This part of this document describes the configuration of Better Beacons plugin. Before proceeding further, please make sure that you understand general CommonCore plugin configuration.

Configuration is located at: plugins\BetterBeacons\config.yml

Configuration paths

This documentation section uses configuration paths which are just concise representations of subordinate keys.

For example, the path "general:tool:needed" means:

general:
tool:
needed: VALUE

General settings

This configuration section is used to specify the general settings of the plugin. It has the following paths:

Configuration pathDescriptionPossible variablesDefault variable
general:tool:neededDeclares whether players have to use the special tool to interact with beacons.true/falsetrue
general:normal_beacon_interactionDeclares whether players can use beacons the normal way (like in normal Minecraft).true/falsefalse (true may break the plugin)
general:effect_duration:enabledDeclares whether beacons should stop transmitting effects after a specified period of time.true/falsefalse
general:effect_duration:durationTime in seconds after which the beacon stops transmitting effects (can be stacked by being activated multiple times).Integer (number of seconds)86400 (= 24 real hours)
general:effect_duration:subtraction_timeTime in seconds after which server checks and deactivates beacons that have no more duration.Integer (number of seconds)60 (the larger the number, the smaller the server load)

Better Beacons also incorporates bStats to collect anonymous information about its usefulness.

Messages

Messages are closely documented in the CommonCore tutorial. All messages support color formatting using the paragraph § symbol. The default variable type for all messages is string (if not stated otherwise).

Config path: messages:logo

Text representing the plugin logo that will be at the front of every logged message in the console. You can insert this message into other messages using the %logo abbreviation.

Secondary set - low tier

Config path: messages:secondary_set_low_tier

Text sent to the player when they successfully set secondary beacon effect but the beacon is not tier 4.

Secondary set - no primary

Config path: messages:secondary_set_no_primary

Text sent to the player when they successfully set secondary beacon effect but the beacon does not have a primary effect.

Low tier

Config path: messages:low_tier

Text sent to the player when they try to set an effect that has a higher needed beacon tier than the current one.

No permission

Config path: messages:no_permission

Text sent to the player when they try to do something that they don't have permissions for.

Player not found

Config path: messages:player_not_found

Text that sent to the player when they try to target a player that is currently offline (using the "/betterbeacons tool" command).

Not enough items

Config path: messages:not_enough_items

Text that sent to the player when they try to set a beacon effect that costs more items than they have in their inventory.

Not enough money

Config path: messages:not_enough_money

Text sent to the player when they try to set a beacon effect that costs more money than they have.

Wrong arguments

Config path: messages:wrong_args

Text that sent to the player when they try to use the "/betterbeacons" command with invalid arguments.

Default command

Config path: messages:default_command

Text sent to the player when they use the "/betterbeacons" command without any arguments. The variable type for this message is a multi-line string.

Beacon information

Config path: messages:beacon_info

Text that sent to the player after they click on an item with the action BEACON_INFO. The variable type for this message is a multi-line string. This message also supports the following abbreviations:

AbbreviationDescription
%xX-coordinate of the beacon
%yY-coordinate of the beacon
%zZ-coordinate of the beacon
%btCurrent beacon tier (number)
%peCurrent primary beacon effect
%seCurrent secondary beacon effect
%pdRemaining duration of the primary effect (in seconds)
%sdRemaining duration of the secondary effect (in seconds)
Beacon information example

If the following message is set in a plugin configuration:

messages:
beacon_info: |
%logo
Beacon is located at X: %x, Y: %y, Z: %z
Tier: %bt
Primary effect: %pe
Secondary effect: %se

The message sent to a player may be for example:

[BetterBeacons]
Beacon is located at: X: 225, Y: -587, Z: 1147
Tier: 4
Primary effect: speed
Secondary effect: none

Items

Item settings are closely documented in the CommonCore tutorial. The only ItemStack that is very important is defined under the "TOOL" item identifier and it represents the tool needed to set up beacons (if allowed in general settings). If you want to define an item as a price for a beacon effect, you do not have to specify enchantments or item flags because it only looks at the material and the amount (name property can be also used in the %price abbreviation).

Lore abbreviation

If an item is located in a CommonCore defined inventory on a slot with click action SET_EFFECT, its lore will support also the following abbreviations:

AbbreviationDescription
%ntNeeded tier to set the beacon effect
%priceThe list of all item prices in separate rows

Recipes

Recipes are closely documented in the CommonCore tutorial.

Inventories

Inventory settings are closely documented in the CommonCore tutorial. This configuration section takes advantage of advanced YAML concepts. Please, make sure to also learn about node anchors and node references before proceeding further.

This plugin makes use of the following inventories that you can modify as any other CommonCore inventory:

Inventory identifierDescription
main_menuThe first inventory displayed to the player when they use a beacon
primary_menuInventory where players can choose the primary effect of the beacon
secondary_menuInventory where players can choose the secondary effect of the beacon
setup_menuInventory where players can choose the primary effect of the beacon and after choosing they will be moved to the secondary menu

Inventory click actions

This plugin supports the following inventory click actions that you can specify in the inventory section of the configuration to modify the logic of the plugin inventory GUIs.

OPEN_INVENTORY

Opens the specified inventory.

Argument nameArgument values
INVENTORY_NAMEmain_menu, primary_menu, secondary_menu, setup_menu or any other inventory registered in the inventory section

REMOVE_BEACON_EFFECT

Removes the specified effects from the beacon.

Argument nameArgument values
PRIMARYtrue/false (should remove primary effect?)
SECONDARYtrue/false (should remove secondary effect?)

BEACON_INFO

Writes the specified message to the player once they try to find out information about a beacon.

Argument nameArgument values
MESSAGEAny registered message identifier can be used, however, the message identifier "beacon_info" is recommended

CLOSE_INVENTORY

Closes the specified inventory.

Argument nameArgument values
INVENTORY_NAMEmain_menu, primary_menu, secondary_menu, setup_menu or any other inventory registered in the inventory section

SET_EFFECT

Sets the beacon up to transmit the specified effect.

Argument nameArgument values
EFFECTBukkit potion effect type (see below)
TIERNumber (representing the tier needed to apply this effect)
ITEM_PRICEYAML list of item identifiers representing the needed items to set up this beacon effect (every item identifier must be on a new line)
MONEY_PRICENumber (representing the money price of this effect)
MONEY_PRICE_MESSAGEString (message that will be added to the lore in the %price abbreviation)
Potion effect types
Potion effect typeDescription
ABSORPTIONIncreases the maximum health of an entity with health that cannot be regenerated, but is refilled every 30 seconds.
BAD_OMENoof.
BLINDNESSBlinds an entity.
CONDUIT_POWEREffects granted by a nearby conduit.
CONFUSIONWarps vision on the client.
DAMAGE_RESISTANCEDecreases damage dealt to an entity.
DOLPHINS_GRACESquee'ek uh'k kk'kkkk squeek eee'eek.
FAST_DIGGINGIncreases dig speed.
FIRE_RESISTANCEStops fire damage.
GLOWINGOutlines the entity so that it can be seen from afar.
HARMHurts an entity.
HEALHeals an entity.
HEALTH_BOOSTIncreases the maximum health of an entity.
HERO_OF_THE_VILLAGE\o/.
HUNGERIncreases hunger.
INCREASE_DAMAGEIncreases damage dealt.
INVISIBILITYGrants invisibility.
JUMPIncreases jump height.
LEVITATIONCauses the entity to float into the air.
LUCKLoot table luck.
NIGHT_VISIONAllows an entity to see in the dark.
POISONDeals damage to an entity over time.
REGENERATIONRegenerates health.
SATURATIONIncreases the food level of an entity each tick.
SLOWDecreases movement speed.
SLOW_DIGGINGDecreases dig speed.
SLOW_FALLINGSlows entity fall rate.
SPEEDIncreases movement speed.
UNLUCKLoot table unluck.
WATER_BREATHINGAllows breathing underwater.
WEAKNESSDecreases damage dealt by an entity.
WITHERDeals damage to an entity over time.

Full list of potion effect types can be found using this link.

Minecraft limitations

Some Minecraft mechanics and Bukkit support limit this plugin in the following ways:

  • Beacon tier needed for secondary effect to work is always 4
  • You can't set only secondary effect - it will activate only once the primary effect is set
  • If you choose the same primary and secondary effect, it will set it to level 2
  • If a beacon has the same primary and secondary effect and you want to see more information about it, it will show the secondary effect as "none"
  • The lowest possible Bukkit/Spigot server version for this plugin is 1.10.2