Skip to content

Custom Fuels

PlayerFurnaces allows server administrators to define custom fuels inside plugins/PlayerFurnaces/fuels/. Custom fuels can modify standard vanilla burn durations, register completely new fuel materials, or integrate with custom third-party items.


πŸ“ Directory Structure & Subfolders

Like the recipe engine, fuel files support recursive subdirectory scanning (Files.walk), enabling clean organization:

plugins/PlayerFurnaces/fuels/
β”œβ”€β”€ hyper_coal.yml
β”œβ”€β”€ magic/
β”‚ β”œβ”€β”€ fire_essence.yml
β”‚ └── dragon_breath.yml
└── industry/
└── enriched_uranium.yml

πŸ“„ Configuration Syntax

Each .yml file in fuels/ can define one or more unique fuel identifiers:

hyper_coal:
# Bukkit material name OR namespaced provider ID:
type: "COAL"
# Duration in server ticks that one unit of this fuel burns (20 ticks = 1 second):
burn-time-ticks: 1000

Advanced Namespaced Fuel Example

infernal_core:
type: "craftorithm:infernal_core"
burn-time-ticks: 24000 # Burns for 20 minutes (smelts 120 items)

Parameter Breakdown

ParameterTypeRequiredDescription
typeStringYesMaterial or item identifier. Can be a Bukkit material (e.g., COAL, BLAZE_ROD), a custom item namespace (e.g., craftorithm:infernal_core, executableitems:super_coal), or matched via registered ItemProvider implementations.
burn-time-ticksIntegerYesThe total duration in ticks that a single fuel unit burns in a virtual furnace.

πŸ”„ Fuel Resolution Precedence

When a player places an item into the fuel slot (Slot 29), PlayerFurnaces determines its burn duration according to this strict priority cascade:

+-------------------------------------------------------------+
| FUEL RESOLUTION PRIORITY CASCADE |
+-------------------------------------------------------------+
1. ACTIVE RECIPE FUEL OVERRIDE
└── 'fuel.burn-time-ticks' defined inside the active recipe.
└── Takes absolute priority if present.
β”‚ (if not defined)
β–Ό
2. GLOBAL CUSTOM FUEL DEFINITION
└── Matches 'type' against custom fuel definitions in 'fuels/*.yml'.
└── Takes precedence over vanilla durations.
β”‚ (if no custom fuel matches)
β–Ό
3. VANILLA BUKKIT BURN DURATION
└── Standard Minecraft fuel values (Coal = 1600t, Lava = 20000t, etc.).
└── Returns 0 ticks if the item is not a valid Minecraft fuel.
+-------------------------------------------------------------+

⏱️ Burn Duration Reference

Minecraft FuelStandard Burn TicksDurationItems Smelted (at 200 ticks/item)
Wood Wooden Tools200 ticks10 seconds1 item
Coal / Charcoal1,600 ticks80 seconds8 items
Blaze Rod2,400 ticks120 seconds12 items
Dried Kelp Block4,000 ticks200 seconds20 items
Block of Coal16,000 ticks800 seconds80 items
Lava Bucket20,000 ticks1,000 seconds100 items