Supported Plugins

EcoMinions works with island and land plugins, so island owners decide who can place, use and pick up minions on their island. It also integrates with a few other plugins. Install the supported plugin alongside EcoMinions and it works straight away. SuperiorSkyblock2 and Lands need a few setup steps for their menus and defaults, see below.


Island and land plugins

EcoMinions adds three privileges to each plugin below, so owners set them in the plugin's own menu.

PluginWhere owners set ranks
SuperiorSkyblock2/is permissions
BentoBoxThe island settings panel
IridiumSkyblockThe island permissions menu
LandsThe land's role menu

A Lands land counts as an island everywhere on this page.

Privileges

PrivilegeWhat it allowsDefault
PlacePlacing a minion on the islandMembers and up
UseOpening a minion's menu, which covers collecting, fuelling and upgrading, and the shift-right-click click_minion triggerMembers and up
Pick upPicking up a minion the player did not placeIsland owner only, except on lands created after install, see Lands setup

Each plugin registers them under its own names:

PluginPlaceUsePick up
SuperiorSkyblock2ECOMINIONS_PLACEECOMINIONS_USEECOMINIONS_PICKUP
BentoBoxECOMINIONS_PLACEECOMINIONS_USEECOMINIONS_PICKUP
IridiumSkyblockecominionsPlaceecominionsUseecominionsPickup
Landsecominions_placeecominions_useecominions_pickup

Owners can change these defaults in the menus above, except for Lands, see Lands setup. Placing also still has to pass your antigrief plugins.

Rules

  • A player can always open and pick up their own minions, even after leaving or being kicked from the island.

  • Outside any island, only the minion's owner and players with ecominions.admin can use or pick it up.

  • ecominions.admin skips every island check and both limits.

  • Picking up someone else's minion does not change its owner. The item keeps the original owner, the minion stays in that owner's per-player count, and placing it again keeps that owner.

  • Island privileges are on by default. Set islands.privileges: false in Plugin Config to turn them off. With no island plugin installed, nothing changes.

SuperiorSkyblock2 setup

SuperiorSkyblock2 only shows privileges that are listed in its menus/permissions.yml. Add an entry for each of ECOMINIONS_PLACE, ECOMINIONS_USE and ECOMINIONS_PICKUP to that file for them to appear in /is permissions. While island privileges are on, islands where a privilege is not set yet get the defaults above, with place and use written to the member role.

Lands setup

Lands has no way for a plugin to set per-role defaults. The first time Lands sees a new role flag, it adds the flag to the default: lists of the tenant, admin and member roles in plugins/Lands/roles.yml. So on lands created after EcoMinions is installed, members and tenants get ecominions_place, ecominions_use and ecominions_pickup, which includes picking up other players' minions.

  • To keep pickup owner only, or to limit tenants, remove ecominions_pickup and any other EcoMinions flag you do not want from those roles' default: lists in roles.yml. This only affects lands created after the change.

  • Lands that already exist when EcoMinions is first installed get place and use for the owner and members, and pickup for the owner only.

  • The EcoMinions flags are not in the role menu display list by default, so land owners cannot toggle them in game. To let them, add the flags to the "Which flags should be displayed in the role settings menu?" section of roles.yml.

Island limit

limits.per-island caps how many minions an island can hold, counting every minion on it whoever placed it. It is off by default, with a cap of 10.

  • Give the island owner ecominions.island-limit.<number> to raise that island's cap, e.g. ecominions.island-limit.20. See Commands and Permissions.

  • With both limits on, a minion must fit under both. Turn off limits.per-player for an island-only cap.

  • The cap is read from the owner's permissions while they are online. When the owner is offline, the island uses the last cap EcoMinions worked out while they were online, or the default if there is none yet. An offline owner never means no cap.

Working while members are online

By default a minion works only while its owner is online. Set islands.active-while-member-online: true and a minion on an island works while its owner or any island member is online. See Plugin Config.


Other plugins

PluginSupport
EcoShopMinions use EcoShop sell prices for items with no price of their own, see sell-pricing in Plugin Config
EcoItemsFishing minions use EcoItems fishing loot while the owner is online, slayers apply EcoItems mob loot, and mining uses EcoItems block drops. EcoItems items also work as item lookups in minion configs.
PlaceholderAPIMinion counts and limits as placeholders, see PlaceholderAPI
ModelEngineCustom minion models and animations, see model in Configuring a Minion
BetterModelCustom minion models and animations, see model in Configuring a Minion

For developers

To add your own island plugin, implement IslandProvider and MinionIsland, then register the provider. Providers are asked in the order they were registered, and the first one that returns an island wins.

class MyIslandProvider : IslandProvider {
    override val id = "MyIslands"

    override fun islandAt(location: Location): MinionIsland? =
        MyIslandsApi.getIslandAt(location)?.let { MyMinionIsland(it) }

    override fun islandsOf(uuid: UUID): Collection<MinionIsland> =
        MyIslandsApi.getIslandsOf(uuid).map { MyMinionIsland(it) }
}

class MyMinionIsland(private val island: MyIsland) : MinionIsland {
    override val provider = "MyIslands"
    override val id = island.id
    override val owner: UUID? = island.ownerId

    override fun isAllowed(player: Player, privilege: IslandPrivilege) =
        island.hasRank(player.uniqueId, privilege.name)

    override fun isMember(uuid: UUID) = island.hasMember(uuid)

    override fun members() = island.memberIds
}

EcoMinionsApi.instance.islands().register(MyIslandProvider())

Where to go next