Initiate v5 ALPHA: A Fresh Start | 5.a0.1.0
Pre-releaseThis release marks the start of the alpha stage of CustomCrafting v5.
What is different in v5?
v5 is a complete rewrite & redesign of the entire plugin and recipe structure. It adds features and improvements not feasible in v4.
With v5, CustomCrafting has now transformed into a mod instead of a plugin.
In recent times, Minecraft has changed a lot, new modding/plugin platforms have emerged or separated themselves from their original project (like Paper). It's now a major task to make plugins multi-platform.
Therefore, v5 focuses on the Minecraft internals instead of platform specific APIs. In order to keep compatibility, the goal of v5 is to integrate into each platform as best as possible (like Events, Listeners, Third-party Plugins/Mods), while keeping most of its codebase independent.
That is where scafall comes in. Scafall allows for the creation of cross-platform APIs, which other mods and plugins may use, and makes it easier to link platform specific implementations together.
This comes with a variety of new challenges, so going forward CustomCrafting (and scafall) will only support the latest Minecraft version, including minor versions (feature drops)!
TLDR
- CustomCrafting v5 should be considered a mod now, and uses Minecraft internals directly
- Only supports the latest Minecraft version, including Minor versions (Version Drops)
- Requires the scafall library/mod See releases here
- Provides a cross-platform API
You can read more about the Roadmap here
New Features
This initial alpha introduces some major overhauls to the resource loading and recipe structure.
Warning
This is still alpha! Not meant for production!
The API and therefor the configuration and recipe structure may change dramatically!
This is meant as a preview for what's to come. You may try it out, and report issues, but production use is discouraged.
Configure multiple custom recipe sources and their load order
- Load from local directory
- Load from many different SQL sources
- SQLite
- H2
- MySQL
- MariaDB
- PostgreSQL
- MS SQLServer
- OracleDB
New & Improved Recipes
While not all recipes, like the Stonecutter and Cauldron recipes, are implemented yet, v5 expands the functionality of all recipe types. Especially the ones that had a bit of a lacklustre feature set in v4.
Tip
This version adds some default recipes that showcase some of the new features.
They'll get loaded on startup and can be found here in the v5 branch
Improved Anvil Recipes
- Rename Options (formatted, pre and suffix, cost, repair cost)
- Durability Combination Options (bonus, ratio combination)
- Item Repair Options (cost per item, enchants)
- Enchanting Options (preserve, upgrade cost, conflict cost, and more...)
Improved Grindstone Recipes
- Enchant Removal Options
- Enchant Merge Options
- Durability Combination Options
- Repair Cost Options
Improved Recipe Items
- Full SNBT support for vanilla item stacks
- Support for DataFixerUpper via version property
Improved Command Result Action
- Full command context support
- Target Selectors
@p,@n,@r,@a,@e,@s(depending on source) - Target Selector arguments
- Target Selectors
- and basically anything else from vanilla commands
Up Next
- Rethink the inner-jar system. Do we need it? Is there a better way to handle libs?
- Compatibility with third-party Items and ItemStacks
- Figure out a Dependency system for loading recipes
- Expand to other platforms (Fabric, Sponge)
You can read more about the Roadmap here