Using Furnaces
Main menu and purchases#
Players run /kf to open their personal furnace list. Each player can own up to 10 furnaces. The first regular furnace is created for free; furnaces 2 through 10 use the target-index prices in upgrades.yml.
Each price uses either vault or playerpoints. A purchase does not run when the matching soft dependency or economy service is unavailable, the balance is insufficient, or withdrawal fails. If payment succeeds but the database commit fails, KaFurnace restores the previous state and attempts a refund through the original provider. A failed refund writes a SEVERE audit entry for manual handling.
Appliance types#
| Type | Accepted recipes |
|---|---|
| Furnace | Bukkit furnace recipes |
| Blast furnace | Bukkit blasting recipes |
| Smoker | Bukkit smoking recipes |
Each switch to a target type charges its type_switch price. Selecting the current type does not charge. All input, fuel, and output slots must be empty and active fuel must be exhausted before switching. Blast furnaces and smokers do not fall back to regular furnace recipes.
Level upgrades#
Each furnace stores five independent properties from level 1..6. Level 1 is the free initial state. A configured price means the cost to reach that target level, and players can only buy one level at a time.
| Property | Effect |
|---|---|
input_slot |
The level is the number of unlocked input slots |
fuel_slot |
The level is the number of unlocked fuel slots |
output_slot |
The level is the number of unlocked output slots |
fuel_efficiency |
Newly ignited fuel duration is multiplied by the current level value |
smelting_speed |
A newly started cycle divides its base duration by the current level value |
A speed upgrade does not alter an active cycle, and a fuel-efficiency upgrade does not alter already ignited fuel. Multiple input slots feed one ordered cooking process and shared fuel supply; they are not six parallel furnaces. Results first merge into a similar output stack, then use an empty unlocked output slot.
Permanent unlocks#
Each ability is purchased once per furnace and cannot charge twice:
| Ability | Effect |
|---|---|
offline_smelting |
Continue advancing by absolute time while the owner is offline |
auto_output_delivery |
Move output and its experience to the online owner when inventory space is available |
completion_notification |
Notify the online owner once when a batch of valid input is fully complete |
Furnaces without offline_smelting pause while their owner is offline; unlocked furnaces continue using absolute time.
See the Upgrade System for menu workflow, transaction ordering, administrator controls, and reload boundaries. See upgrades.yml for price and multiplier formats.
Virtual items and time#
Input, fuel, and output are stored entirely in the virtual furnace. Items shown in the chest menu are not additional copies and should not be modified directly by other plugins.
Cooking uses system absolute time. Ticks only trigger advancement and menu refreshes, so lag does not proportionally extend theoretical duration. One advancement is still capped by max-settlements-per-advance, so a long offline interval may take several engine refreshes to catch up.
Fuel coverage#
KaFurnace accepts every fuel declared by the current server API through Material.isFuel(), including wooden slabs, stairs, crafting tables, wooden tools, and lava buckets. Common fuels use vanilla category durations. A future fuel whose exact duration is not exposed by the API uses a conservative category baseline. A lava bucket returns an empty bucket after burning.