Permissions
Players can use furnaces by default. The system allows up to 10 furnaces and level 6 for each upgrade. Set extra permissions only if you want different limits or features for player groups; LuckPerms examples are below.
Base and administration permissions#
| Permission | Default | Description |
|---|---|---|
kafurnace.use |
All players | Use /kafurnace, /kf, and personal virtual furnaces |
kafurnace.admin |
OP | All administration; includes the three granular permissions below |
kafurnace.admin.furnace.view |
OP | Inspect upgrade state with administrator get |
kafurnace.admin.furnace.modify |
OP | Change upgrade state with administrator set/reset |
kafurnace.admin.furnace.open |
OP | Open and operate another player's virtual furnace |
kafurnace.admin bypasses every player furnace-count, upgrade, unlock, and type restriction below. Administrator set/reset operations also ignore the target player's limit permissions.
Furnace count limit#
kafurnace.limit.furnaces.<1-10>
For example, grant kafurnace.limit.furnaces.3 to allow at most three furnaces. Without a count node, the limit remains 10. If several numbers are granted, the highest wins. Explicitly grant .1 for a one-furnace limit.
Lowering the limit does not delete, hide, or lock existing furnaces. It only prevents another purchase when the player already owns at least the new limit.
Upgrade level limits#
kafurnace.limit.upgrade.<property>.<1-6>
Supported properties:
input_slot
fuel_slot
output_slot
fuel_efficiency
smelting_speed
For example, grant kafurnace.limit.upgrade.smelting_speed.3 to allow speed upgrades up to level 3. Set each property separately; without a limit node, the maximum is level 6. When several levels are granted, the highest wins. Reducing a limit does not remove an upgrade already purchased.
Permanent unlock permissions#
| Permission | Default | Description |
|---|---|---|
kafurnace.unlock.offline_smelting |
All players | Allow purchasing offline smelting |
kafurnace.unlock.auto_output_delivery |
All players | Allow purchasing automatic output delivery |
kafurnace.unlock.completion_notification |
All players | Allow purchasing completion notifications |
Denying one of these nodes only blocks a purchase that has not completed. It does not revoke an unlock already stored on a furnace.
Furnace type permissions#
| Permission | Default | Description |
|---|---|---|
kafurnace.type.furnace |
All players | Allow switching to a regular furnace |
kafurnace.type.blast_furnace |
All players | Allow switching to a blast furnace |
kafurnace.type.smoker |
All players | Allow switching to a smoker |
Denying a target type does not change existing furnaces of that type. It only prevents later switches to it. Selecting the current type is still handled as no change required.
LuckPerms examples#
Grant the administrator group management access:
/lp group admin permission set kafurnace.admin true
Block one group from virtual furnaces:
/lp group restricted permission set kafurnace.use false
Limit the member group to three furnaces:
/lp group member permission set kafurnace.limit.furnaces.3 true
Limit the member group to smelting-speed level 3:
/lp group member permission set kafurnace.limit.upgrade.smelting_speed.3 true
Block offline smelting purchases and blast-furnace switches for member:
/lp group member permission set kafurnace.unlock.offline_smelting false
/lp group member permission set kafurnace.type.blast_furnace false
Normally, granting the intended limit node is enough and the system fallback does not need to be denied. If a group or wildcard already grants a higher numeric node, KaFurnace selects that higher effective value, so those higher grants must be denied. Permissions are read whenever a menu opens or refreshes and whenever a transaction starts, so LuckPerms changes do not require a KaFurnace reload.
Menus expose {furnace_purchase_allowed}, {<property>_permission_max_level}, {<property>_allowed}, {<unlock>_allowed}, and {type_<type>_allowed}. Display values are localized; use their _raw variants in conditions.