Integrations & Placeholders

IgniteSky hooks into the plugins your server already runs, and every hook is optional. A missing plugin never throws: the feature that needed it simply no ops or falls back. Nothing here is a hard dependency.

Plugin hooks

PluginWhat it adds
PlaceholderAPIExposes island stats as %ignitesky_...% placeholders (see below)
Vault + an economy pluginThe island bank, deposits and withdrawals, teleport fees, upgrade and unlock costs
WorldGuardRespected alongside IgniteSky's own per-island protection
WorldEdit or FastAsyncWorldEditPastes schematics for the template gallery; without it the gallery still shows and tells the player no paste engine is installed
Geyser + FloodgateBedrock players get native forms: client dialogs (settings, confirmations, config editor) and the chest menus both render as touch-friendly Cumulus forms
A vanish plugin (CMI, Essentials, SuperVanish, VanishNoPacket)Vanished players skip visit tracking and notifications and are never expelled
SuperiorSkyblock2 / BentoBoxRead by the one-command importer; see Migrating In

PlaceholderAPI, Vault and WorldGuard are declared as soft dependencies so they load before IgniteSky when present. Everything degrades gracefully when they are absent.

Switching a hook off

A hook can be disabled even when its plugin is installed. List it under integrations.disabled-hooks in config.yml:

config.yml
integrations:
  disabled-hooks: []   # names: vault, papi, vanish
  • vault -turns off the economy bridge (the bank, deposits, costs and fees go inert, as if Vault were absent).
  • papi -skips registering the PlaceholderAPI expansion.
  • vanish -stops reading vanish metadata, so vanished staff are treated as normal players again.

Empty means every available hook is active.

Switching an event off

You can also stop IgniteSky from handling a specific Bukkit event -useful when another plugin should own it, or to shave a little overhead. List the event's class name under integrations.disabled-events:

config.yml
integrations:
  disabled-events: []   # e.g. [LeavesDecayEvent, BlockFromToEvent]

After every listener is registered, IgniteSky unregisters itself from each named event's handler list (pure Bukkit, no other plugin is touched). Supported names:

BlockBreakEvent · BlockPlaceEvent · BlockBurnEvent · BlockSpreadEvent · BlockFromToEvent · BlockFormEvent · BlockGrowEvent · BlockFadeEvent · BlockExplodeEvent · LeavesDecayEvent · BlockPistonExtendEvent · BlockPistonRetractEvent · CreatureSpawnEvent · EntitySpawnEvent · SpawnerSpawnEvent · EntityExplodeEvent · EntityDeathEvent · EntityDamageByEntityEvent · EntityChangeBlockEvent · PlayerInteractEvent · PlayerMoveEvent

An unknown name is ignored with a warning in the console. Disabling an event also turns off the IgniteSky feature that relied on it (for example, disabling BlockFromToEvent stops the custom generator from intercepting flow), so use it deliberately.

Worth from a shop plugin

By default block worth comes from the block-values table in config.yml. To price blocks from a shop instead, a shop bridge registers a WorthSource through the addon API and you set level.worth-sync to BUY or SELL. IgniteSky falls back to the configured values for any material the shop does not price.

config.yml
level:
  worth-sync: NONE   # NONE | BUY | SELL

World hosting providers

The world layer is an SPI too. A SlimeWorldManager or Advanced SWM bridge registers a SlimeWorldProvider and IgniteSky will create island worlds through it; with no provider registered it falls back to a folder copy. See World Hosting Strategies.

PlaceholderAPI placeholders

With PlaceholderAPI installed, these resolve against the requesting player's island. Anything that does not apply renders as empty.

PlaceholderValue
%ignitesky_has_island%true or false
%ignitesky_level%Island level
%ignitesky_worth%Island worth
%ignitesky_bank%Island bank balance
%ignitesky_members%Member count
%ignitesky_members_online%Members currently online
%ignitesky_mode%Island mode (SKYBLOCK, ONEBLOCK, CHUNKBLOCK)
%ignitesky_name%Island name
%ignitesky_description%Island description
%ignitesky_locked%true or false
%ignitesky_owner%Island owner's name
%ignitesky_is_owner%Whether the player owns this island
%ignitesky_role%The player's role id on the island
%ignitesky_size%Island build/protection radius
%ignitesky_warps%Number of warps set
%ignitesky_id%Island unique id
%ignitesky_created%Creation date, formatted to the server locale
%ignitesky_prestige%Island prestige tier
%ignitesky_upgrade_<id>%Purchased level of the named upgrade (e.g. _upgrade_island-size_)
%ignitesky_rating%Island average star rating
%ignitesky_likes%Number of likes (hearts) the island has
%ignitesky_boosters_active%Count of boosters currently affecting the island
%ignitesky_daily_streak%The player's current daily login streak
%ignitesky_daily_longest%The player's best-ever login streak
%ignitesky_daily_available%true if a daily reward is ready to claim

The leaderboard is available by rank, where <rank> starts at 1:

PlaceholderValue
%ignitesky_top_<rank>_name%Owner name of the island at that rank
%ignitesky_top_<rank>_level%That island's level
%ignitesky_top_<rank>_worth%That island's worth
%ignitesky_top_<rank>_members%That island's member count
Numbers follow your locale

Worth, level and bank are formatted with the number-format and date-format patterns from config.yml, so placeholders match the rest of your messages. See Configuration.