-
Notifications
You must be signed in to change notification settings - Fork 45
v5 Update Info & Roadmap
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)!
- CustomCrafting v5 should be considered a mod now, and uses Minecraft internals directly
- Only supports the latest Minecraft version, including Minor versions (Feature Drops)
- Requires the scafall library/mod
- Provides a cross-platform API
This is a basic plan I try to follow as close as possible.
Points in the Roadmap may change any time, as I figure out the requirements of each platform and rework the API and features to better align with them.
Note
The alpha and beta phases may take quite a while. So starting with v5, I'll use a custom style of versioning. This means I can increase the version numbers like normally and can keep the meaning of breaking changes etc. even within the alpha and beta stage.
You'll see versions in the style of 5.ax.y.z or for scafall a0.x.y.z.
The versions have the same meaning as in Epoch-versioning:
First number = Epoch, x = Major version, y = Minor version, z = Patch version.
The prefix infront means the entire version is still in the alpha phase!
The prefix infront of the Major, means any major, minor, or patch is in alpha, so basically that v5 is in alpha.
By the end of alpha everything except the editor should be working across platforms, this will make the implementation of the editor easier, as requirements should be known by then. The core of the plugin is functional and recipes can be customized via configs only. Other Plugins ItemStacks and registered Items from other mods can be referenced in recipes and recipes are only loaded when those dependencies are available.
- - Figure out a working abstraction to make it easier to create cross-platform mods
- - Definition of the initial structure of API (might/will change in future)
- - Initial Recipe structure and Features
- - Basic resource loading/reloading (deserialization)
- - Recipe Common Implementation
- - Basic Spigot implementation (WIP)
- - Make Recipes work on Spigot (untested though)
- - Design Command structure
- - Other ResourceLoader Destinations Implementation (e.g. SQL)
- -
Rethink the inner-jar system. Do we need it? Is there a better way to handle libs?Removed inner-jar system - - Compatibility with third-party Items and ItemStacks
- - Figure out a Dependency system for loading recipes
- - Expand to other platforms (Fabric,
Sponge)- - Fabric
- Finalize platform implementations
- Recipes work reliably across platforms (behaviour similar as possible)
- Recipes are loaded properly across platforms
- Recipe (and Item Ref) Serialization
- Storing in destinations
- Backup system
- Recipes are properly serialized and deserialized
The beta will focus more on polishing and the Editor, which will be available as an API for other plugins, via CLI and GUI. The GUI library (viewportl) is still being developed and requires everything else to be quite stable. It is the biggest part of CC in v4 and most likely will also be the most complicated part of v5.
- Editor API implementation
- CLI design
- Create recipes via CLI
- Edit existing recipes via CLI
- Create Recipes via GUI
- Modify Ingredients, Results, etc.
- Edit Recipes via GUI
- Recipes are properly loaded and saved via GUI
- ? Cauldron Mixing Recipes implementation (GUI) ?
- More integrated features like (Result Transmuters, Actions, Conditions, etc.)
- Polishing and Bug fixes
- Unforeseen issues and still unknown platform requirements
I haven't planned this far ahead. How this is gonna look like is still unknown. It will most likely be more features like platform specific recipe types, transmuters, conditions, etc. Plus the start of LTS releases.
| Home
- Editions
- Installation
- Performance
- Terminology
-
Save & Register location
-
Result
-
Ingredients
-
Recipe Group
-
Hide Recipe
-
Priority
-
Ingredient Options
- Tags
- Replace with Remains
- Allow Empty Ingredient
-
Result Options
-
Tags
-
Target
- Damage
- Display Name
- Display Lore (v4.16.4+)
- Enchantments
- Echanted Book
- Book Meta (v4.16.5+)
- Banner Patterns (v4.16.5+)
- Firework Rocket
- PlaceholderAPI
- NBT
-
| Updating
- From 1.6.5.x
- From 1.6.4.0
- From 1.6.3.0 or older
- Custom Recipe Book
- Vanilla Recipe Book