BeaconShield | Chunk Protection Plugin | Fuel System
1.3A Minecraft plugin for chunk protection with a custom beacon.
1.3latestJul 26, 2026 build on CykutaAPI and add an update check Replace the plugin's own copies of the command, config and text helpers with CykutaAPI 1.1 - Delete BaseCommand, ConfigFile, PluginConfiguration and Text (-607 lines) - BeaconShieldCommand / RaidSubCommand bind the API's BaseCommand to the plugin and route its replies through lang.yml - ConfigHandler now delegates to ConfigManager; the gui.yml ItemStack format, which is plugin specific, moves to ConfigItems - Commands declare their own permission node (default and description), so CommandRegistry registers it on startup and plugin.yml only keeps the nodes that belong to no command - The raid expansion colorizes through Text, so its messages support #rrggbb hex like the core ones - New UpdateNotifier: warns in the console and on join (permission beaconshield.update-notify) when a newer GitHub release exists, and can be turned off with update-check-enabled in config.yml1.2Jul 24, 2026 improve metrics handling and update project version to 1.21.1BeaconShield Core — UpdateJul 17, 2026 The core is now extensible. This update adds no commands, no permissions and no config options — every change exists so that add-ons like the new Raid Expansion can alter core behaviour without forking it. If you run the core alone, nothing changes: all the new hooks are inactive unless a plugin registers one. Public API BeaconShieldAPI grew a set of methods for plugins that need to work with protections at runtime: · getBeaconOwning(chunk) — find the beacon that owns a chunk even when its protection is currently suppressed, unlike getBeacon(chunk). · suppressChunkProtection(chunk) / restoreChunkProtection(chunk, beacon) / isChunkProtectionActive(chunk) — temporarily switch off protection over a single chunk without removing it from its territory. Every core check (breaking, building, interacting, explosions, fire, pistons, liquids) treats the chunk as unprotected until it's restored. · destroyBeacon(beacon, destroyer, dropLoot) — destroy a beacon through the canonical path: optional loot drop, protection torn down, data file deleted and BeaconShieldDestroyedEvent fired. · Economy helpers — isEconomyAvailable(), getBalance(), hasBalance() and withdraw(). Without Vault they degrade to "free": balances count as sufficient and withdrawals succeed, so add-ons don't need their own Vault branch. Three new hooks Each is a functional interface an add-on registers through the API, and clears by passing null: · UpgradeSuppressor — neutralises every territory upgrade on a chunk (PvP, mob spawning, fall and drowning damage) without touching the upgrade items. They come back the moment the hook stops suppressing. · ProtectionBypass — grants a specific player the right to build, break and interact inside a protected chunk they normally couldn't. · BeaconInteractionGuard — locks a beacon's menu so nobody can open it. The guard messages the player itself. The Raid Expansion is built entirely on these three: it re-enables combat inside a base under raid, lets raiders grief it, and locks the beacon menu while the raid runs. Internal cleanup Beacon destruction was living inside the menu code. It moved to BeaconHandler.destroyBeacon() as the single canonical path, and the menu's Destroy button now delegates to it. Behaviour is identical — the same drops, the same event — but any caller now gets the full teardown instead of a partial one. Compatibility Fully backwards compatible. No config migration, no new files, no changed defaults. Servers that don't install an expansion see exactly the previous behaviour, since every hook is null until something registers it.1.0RELEASEJul 8, 2026 BeaconShield
BeaconShield is a Minecraft plugin that allows you to protect chunks using a custom beacon with unique functionalities. It provides additional features like upgrades, fuel management, grief protection, member roles and economy integration to enhance server control. [](https://ji… [](https://www.spig… ## Features - Beacon-based chunk protection with an in-game menu. - Member system with roles (Owner, Officer, Member) and configurable permissions per action. - Fuel system to keep the beacon active (optional, can be disabled). - Protection against explosions, fire and mob griefing. - Predefined upgrades for beacons. - Integration with Vault for economy management. - PlaceholderAPI support. - Compatibility with WorldGuard to prevent claiming inside protected regions. - Dynmap and Squaremap integrations to display territories on the map. - Fully configurable messages and GUIs. ## Installation 1. Download theBeaconShield.jarfile. 2. Place it in thepluginsfolder of your server. 3. Restart the server. Optional plugins: Vault (economy), PlaceholderAPI (placeholders), WorldGuard (region compatibility), Dynmap / Squaremap (map rendering). ## How it works 1. Get a Beacon Shield: craft it (recipe configurable inconfig.yml) or receive it with/bsd give. 2. Place it: the chunk where it is placed becomes the core chunk of your territory and is protected immediately. 3. Right-click the beacon to open the menu, where you can: - Territory: view a chunk map, preview chunk borders (right-click a chunk) and claim adjacent chunks (left-click). If economy is enabled, claiming costs money. - Members: invite players and manage their roles. - Group management: choose the minimum role required for each action inside the territory (see [Roles](#roles-and-territory-permissions)). - Fuel slot: store fuel items to keep the protection active (only if the fuel system is enabled). - Upgrade slots: place upgrade items to activate their effects. - Destroy: remove the beacon and get the item back (owner only). Beacons cannot be mined; this is the only way to remove them. Players entering or leaving a territory see configurable greeting/farewell messages. ## Commands The main command is/beaconshield, with/bsdas alias. | Command | Description | Permission | Default | |---|---|---|---| |/bsd| Show the help message. |beaconshield.command| Everyone | |/bsd invite <player>| Add a player as member of the territory you are standing in (owner only). |beaconshield.invite| Everyone | |/bsd kick <player>| Remove a member from the territory you are standing in (officer or higher). |beaconshield.kick| Everyone | |/bsd give [player]| Give a Beacon Shield item. |beaconshield.give| OP | |/bsd upgrade <upgrade> [player]| Give an upgrade item. |beaconshield.upgrade| OP | |/bsd list [page]| List all beacons on the server. |beaconshield.list| OP | |/bsd reload| Reload the configuration files. |beaconshield.reload| OP | ## Permissions | Permission | Description | Default | |---|---|---| |beaconshield.command| Use the/bsdbase command. | Everyone | |beaconshield.invite| Use/bsd invite. | Everyone | |beaconshield.kick| Use/bsd kick. | Everyone | |beaconshield.give| Give Beacon Shield items. | OP | |beaconshield.upgrade| Give upgrade items. | OP | |beaconshield.list| List all beacons. | OP | |beaconshield.reload| Reload the configuration. | OP | |beaconshield.bypass| Bypass all territory protection checks. | OP | |beaconshield.max-beacons.<N>| Overridemax-beacons-per-playerfor a player/group. The highest granted number wins. | — | |beaconshield.max-chunks.<N>| Overridemax-chunks-per-beaconfor a player/group. The highest granted number wins. | — | Example with LuckPerms:/lp user Steve permission set beaconshield.max-beacons.3lets Steve place 3 beacons regardless of the config value. ## Roles and territory permissions Each member of a territory has one of three roles: | Role | Capabilities | |---|---| | Owner | Full control: claim chunks, destroy the beacon, manage all members, edit group permissions. | | Officer | Manage regular members (invite/kick), plus everything a member can do. | | Member | Interact inside the territory according to the group permissions. | In the Group management menu the owner chooses the minimum role required for each action inside the territory: - Build: place blocks (also required to light fires with flint and steel). - Break: break blocks. - Use: interact with blocks (doors, buttons, chests, ...). - Entity: interact with entities. - Beacon use: open the beacon menu. Players without the required role (and withoutbeaconshield.bypass) cannot perform the action inside the territory. ## Fuel system The beacon consumes 1 fuel per second while active. Fuel items are stored in the fuel slot of the beacon menu and are consumed automatically when the current fuel runs out. If the beacon runs out of fuel, the protection is disabled until it is refueled. - Fuel items and burn times are configurable (fuel-itemsinconfig.yml). - A formula can scale burn time with territory size (fuel-use-formula,fuel-formula). - The particle effect of an active beacon is configurable (fuel-particles,fuel-particle). - The whole system can be turned off withfuel-enabled: false: beacons then never consume fuel, the fuel slot disappears from the menu and protection lasts forever. ## Grief protection While a territory is protected (active beacon), it is guarded against environmental damage. Each check can be toggled inconfig.yml: | Option | Protects against | |---|---| |protection-explosions| Creepers, TNT, withers, beds, respawn anchors, ... Blocks inside the territory are not destroyed. | |protection-fire| Fire ignition and fire spread/burning. Members with build permission can still use flint and steel. | |protection-mob-grief| Endermen stealing blocks, ravagers and silverfish. | ## Upgrades Upgrade items are placed in the upgrade slots of the beacon menu and affect the whole territory: -disable_pvp-disable_drowning-disable_fall_damage-disable_mob_spawningObtain them with/bsd upgrade <upgrade> [player]or through their crafting recipes. ## Economy (Vault) If Vault and an economy plugin are installed, claiming chunks costs money: -base-price: base price of a chunk. -economy-use-formula/economy-formula: optional formula using%base_price%,%distance%(Manhattan distance from the core chunk) and%chunks_owned%. Without Vault, claiming is free. ## PlaceholderAPI With PlaceholderAPI installed the following placeholders are available: | Placeholder | Value | |---|---| |%beaconshield_beacons%| Number of beacons owned by the player. | |%beaconshield_chunks%| Total chunks protected by the player's beacons. | |%beaconshield_here_protected%|true/false: whether the player's current chunk is protected. | |%beaconshield_here_owner%| Owner of the territory the player is standing in. | |%beaconshield_here_chunks%| Size (in chunks) of that territory. | |%beaconshield_here_fuel_time%| Remaining protection time of that territory. | Thehere_*placeholders return an empty string outside a territory. ## Configuration All settings live inplugins/BeaconShield/: -config.yml: limits, recipe, fuel, protec2.6-SNAPSHOTNov 13, 2025 enhance protection checks for piston extension events.2.5-SNAPSHOTPermission systemAug 21, 2025 The new update for BeaconShield introduces a role-based permission system, allowing you to configure what each role can do inside a protection. This gives you more flexibility and control over who can interact with your beacon areas, making group management simpler and your protections more customizable than ever.2.4-SNAPSHOTBurn Time refactorAug 9, 2025 Now, in the "burn time" setting, you can use a simple formula with the parameters %burn_time% (the burn time assigned to the item) and %chunks_owned% (the number of chunks owned by the beacon).2.3-SNAPSHOTMar 24, 2025 Improvements in grief prevention2.2-SNAPSHOTList commandMar 22, 2025 /bsd list <page> - view all beacons placed (location, uid and owner name)2.1-SNAPSHOTBug FixMar 20, 2025 Fix null ItemStack error when a player destroys a beacon.2.0-SNAPSHOTCraft recipesMar 20, 2025 Delete the old folder to update properly.1.9-SNAPSHOTPreview the entire areaMar 18, 2025 Preview the entire area and dynmap addon1.8-SNAPSHOTEconomy bug fixMar 18, 2025 fix economy bug1.7-SNAPSHOTNow Compatible with SquareMap!Mar 18, 2025 To enable this feature, you will need to download an additional plugin that makes the integration possible. Once the compatible plugin is installed, BeaconShield will work seamlessly with SquareMap.1.6-SNAPSHOTBug fixMar 17, 2025 fuel consume task now works1.5-SNAPSHOTMar 17, 2025 This update focuses on fixing bugs and improving stability to ensure a better experience.1.4-SNAPSHOTCode refactor and minor bug fixesMar 15, 2025 bug fixes and code refactor1.3-SNAPSHOTRefactor UpgradesMar 14, 2025 Refactor Upgrades1.2-SNAPSHOTConfigurable GUIMar 14, 2025 All items in the GUI are now fully configurable via the gui.yml file. This allows for easy customization of item names, lore, attributes, and actions, giving server administrators the flexibility to adjust the GUI according to their preferences.1.1-SNAPSHOTHex colorMar 13, 2025 Add hex color support1.0-SNAPSHOTMar 13, 2025
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta