-
Notifications
You must be signed in to change notification settings - Fork 0
Developer Guide
Slimefun Legacy aims to preserve the established Slimefun addon API while adding optional compatibility and integration APIs for modern servers.
A normal historical addon should not be forced to adopt Legacy-only APIs just to load. Legacy-specific declarations and services are intended to be additive.
Addons can optionally describe their tested environment through AddonCompatibilityDeclaration, AddonCompatibilityProvider, or an embedded slimefun-compatibility.json.
Example manifest shape:
{
"schema": 1,
"tested_core_variants": ["legacy"],
"minimum_minecraft": "1.21.11",
"minimum_java": 21,
"required_capabilities": ["PAPER_API"],
"accepted_platform_families": ["PAPER", "PURPUR"]
}See docs/ADDON_COMPATIBILITY.md and the schema in the repository before publishing a declaration.
For optional integrations, prefer Legacy's centralized discovery/guarded invocation facilities where appropriate rather than scattering unsafe reflective calls through the addon.
See:
docs/PLATFORM_COMPATIBILITY_API.mddocs/ADDON_DOCTOR_API.md
Legacy exposes APIs intended to make addon machines easier for the Enhanced Guide and automation tooling to understand:
docs/MACHINE_RECIPE_PROVIDER_API.mddocs/MACHINE_INPUT_FILL_ADAPTER_API.md
Use these when your addon has custom inventories or recipes that cannot be inferred safely.
Do not assume every callback is safe on one global server thread. Paper remains the primary target, but location/entity ownership matters for Folia compatibility. Keep scheduler access behind appropriate abstractions and do not perform unsafe world access asynchronously.
Changing IDs, persistent-data keys or saved block/item formats can destroy compatibility even when code compiles. Treat persistent identifiers as a public contract.
Before releasing an addon for Legacy:
- Compile against the intended Slimefun API/core.
- Test on the current primary Paper target.
- Start with a clean server.
- Test an upgrade with representative saved data.
- Exercise registration, Guide menus, recipes, storage and machines.
- Run
/sf versionsand compatibility diagnostics. - If claiming Folia support, test Folia independently.
The original Slimefun developer wiki is still valuable for core concepts such as item registration, item groups, recipes and researches. Use it as conceptual background, then validate APIs against the current Legacy source and documentation.
Legacy's own release process performs source-build probes and binary-linkage analysis for representative addons. Addon authors should think the same way: a successful compile does not prove an older precompiled JAR will link at runtime.
Slimefun Legacy — an unofficial community-maintained downstream Slimefun 4 fork for modern Paper servers.
Home · Install · Addons · Troubleshoot · Developer Guide
Legacy-maintained pages override inherited reference material. Classic Slimefun4 wiki content is adapted from Slimefun/Wiki under the MIT license; see Upstream Wiki Attribution.
Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft.
- Weapons
- Items
- Food
- Basic Machines
- Resources
- Tools
- Armor
- Magical Armor
- Magical Items
- Magical Gadgets
- Talismans
- Technical Components
- Miscellaneous
- Energy & Electricity
- GPS
- Technical Gadgets
- Programmable Androids
- Cargo Management
- Seasonal Categories
- Research & Progression
- Energy Networks
- Cargo Networks
- Factory Design Patterns
- Backpacks & Storage
- Radiation & Reactors
- Glossary