FuelMaster v1.5.0
Major Update - Rebrand & Feature Complete
Formerly known as InfiniteFuel
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★ REBRAND
InfiniteFuel has been rebranded to FuelMaster to reflect the plugin's evolution from a single-item gimmick into a complete fuel and smelting management system. The package, commands, permissions and config all now live under the FuelMaster name. Aliases /fm and /ifuel are retained for backward compatibility.
★ NEW FUEL TYPE SYSTEM
The old single-item system has been replaced by a fully configurable multi-fuel framework. Define any number of fuel types in config.yml, each with its own material, charges, speed, effects and visual identity.
- Per-Type Charges - Each fuel now has its own charge pool. Set charges: -1 for infinite or a positive integer for finite fuel that depletes over time.
- Per-Type Speed Multiplier - Every fuel defines its own smelting speed, independent of other types.
- Dynamic Lore - Lore lines auto-update with real-time charge counters and speed values via {current}, {max}, {speed} placeholders.
- CustomModelData - Assign a custom model data value per fuel type for resource pack integration.
★ CHARGE SYSTEM & REFILL
Finite fuels now consume one charge per smelt operation. When charges hit zero the fuel is consumed, the furnace stops, and nearby players are notified.
- Refill Item - Each fuel type can define a refill-item (e.g. BLAZE_ROD). Clicking it on the fuel slot restores all charges without removing the fuel.
- Auto-Refuel - When a finite fuel depletes, the plugin automatically pulls a matching fuel from a nearby player's inventory and inserts it. Cooldown prevents inventory spam with 1-charge fuels.
- Low Charge Warnings - Warning messages are sent at the configured threshold, plus at half-threshold and every 5 charges below 10, so players never unexpectedly run out.
- Depletion Sound - A configurable sound plays when a fuel is fully consumed. Default: BLOCK_FIRE_EXTINGUISH.
★ ADVANCED SMELTING BONUSES
Each fuel type can grant powerful bonuses during smelting, creating meaningful gameplay differences between fuel choices.
- XP per Smelt - Grant bonus experience points for every item smelted with a specific fuel.
- Double Output Chance - Configurable percentage chance to produce a double output. Excess items drop at the furnace if the result slot is full.
- Custom Outputs - Define { input → output, chance } rules that transform smelt results into different materials. First matching rule wins.
- Potion Aura - A configurable potion effect is periodically applied to all players within a radius around the furnace. Effect type, amplifier, duration and radius are all per-fuel.
- Conditional Bonuses - Bonuses can be restricted to specific biomes, time of day (DAY/NIGHT) or weather conditions (CLEAR/RAIN/THUNDER). All conditions must be met for bonuses to activate.
★ PER-TYPE PARTICLES
Every fuel type can define its own particle effect with independent type, animation style, speed and radius - allowing each fuel to have a unique visual identity.
- 6 Animation Styles - SPIRAL, CIRCLE, HELIX, PULSE, FOUNTAIN, STATIC. Style defaults to the global config but can be overridden per fuel.
- Particle Proximity Culling - Particles only spawn when players are within 32 blocks, saving CPU on large automated farms.
- Load-Time Validation - Particle and potion effect names are validated when the config loads, not at runtime. Invalid values are logged with a clear warning.
★ GLOW FURNACE OUTLINE
Furnaces burning FuelMaster fuels now display a coloured enchant-style glow outline, visible to all nearby players.
- Colour Options - Configurable glow colour via glow-furnace.color (YELLOW, RED, GREEN, BLUE, AQUA, WHITE, GOLD, LIGHT_PURPLE, GRAY, DARK_GRAY).
- Auto-Cleanup - Glow entities are removed on block break, explosion, chunk unload and plugin disable. A periodic health-check re-spawns any that were killed externally.
- Chunk-Load Persistence - When a chunk loads, all furnaces with FuelMaster fuel automatically get their glow re-applied.
★ ACTION BAR DISPLAY
Players looking at a furnace now see real-time fuel information in their action bar: fuel name, current charges, and max charges.
- Event-Driven Updates - PlayerMoveEvent marks the player as needing a refresh. Stationary/AFK players are rechecked less frequently, reducing pointless raycasts.
- Configurable Range & Interval - Ray distance and update tick interval are both adjustable in config.
★ COMMANDS & GUI
- /fuelmaster recipes - Interactive 54-slot catalog GUI showing all fuel types. Click any fuel to open a detail view with stats, effects and conditions. Carousel navigation for sequential browsing.
- /fuelmaster types - Lists all fuel types with names, materials, charges and speed. Console output now includes the display name. Players see the interactive GUI instead.
- /fuelmaster give <player> <type> [amount] - Fuel-type-aware give command with tab completion for type IDs. Sender and recipient both receive confirmation messages.
- Full Tab Completion - Commands, player names, fuel type IDs and common amounts all tab-complete. Type IDs are filtered by fuelmaster.use.<type> permission.
★ PLACEHOLDERAPI INTEGRATION
FuelMaster ships with a built-in PlaceholderAPI expansion that registers automatically when PAPI is present.
- Looking Placeholders - %fuelmaster_looking_fuel%, %fuelmaster_looking_charges%, %fuelmaster_looking_max%, %fuelmaster_looking_speed%, %fuelmaster_looking_type_id%, %fuelmaster_looking_xp%, %fuelmaster_looking_double%, %fuelmaster_looking_aura%
- Location Placeholders - %fuelmaster_fuel_name_<world><x><y>_<z>% and variants for charges, max, speed. Ray distance respects the action-bar config value.
★ SECURITY & EXPLOIT PREVENTION
- Crafting Blockade - FuelMaster items are blocked from crafting tables, anvils, smithing tables, grindstones, stonecutters, looms, cartography tables and brewing stands.
- Hopper Control - Configurable allow-hopper-automation flag. Default: disabled.
- Multi-Stack Prevention - Only one fuel item per furnace slot. Enforced on direct click, shift-click and drag operations.
- Explosion Cleanup - EntityExplodeEvent and BlockExplodeEvent handlers clean up glow entities and active furnace tracking, preventing memory leaks.
- Chunk Unload Cleanup - Active furnace tracking and glow maps are cleaned on chunk unload, not just on a periodic timer.
- Per-Type Permissions - The fuelmaster.use.<type-id> permission system controls which fuel types a player can receive via auto-refuel. Tab completion respects these permissions.
★ PERFORMANCE OPTIMISATIONS
- Speed Multiplier at 1 Tick - The speed multiplier task now runs every tick instead of every 4 ticks, providing smooth, consistent smelting progress without micro-stutter.
- Particle Proximity Culling - Particles are only spawned when players are within 32 blocks of the furnace.
- Event-Driven Action Bar - The action bar system uses PlayerMoveEvent to trigger updates instead of polling all players every tick cycle. AFK players are skipped entirely for most checks.
- Deduplicated Glow Spawns - Overlapping FurnaceBurnEvent and InventoryClickEvent handlers cannot spawn duplicate glow entities. A 5-tick dedup window prevents races.
- Sound via Registry API - All sound lookups use the modern Registry.SOUNDS API with a safe fallback, eliminating deprecation warnings and improving future-proofing.
★ CONFIG & UX IMPROVEMENTS
- Smart Config Merge - When the plugin updates and config-version changes, old values (including all custom fuel types) are merged into the new default config instead of being wiped. A backup is always saved.
- No More Italic Lore - All item display names and lore lines now explicitly disable italic rendering. Names and descriptions appear in normal upright text as intended.
- Load-Time Validation - Particle types, potion effect types, materials and sounds are all validated at config load time. Invalid config values are logged with clear warnings instead of silently failing at runtime.
- World Whitelist/Blacklist - Restrict FuelMaster operation to specific worlds using NONE / WHITELIST / BLACKLIST mode.
- Null Safety - ConditionChecker, auto-refuel and several other paths now guard against null worlds and null types.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FuelMaster v1.5.0
