Initial Alpha | alpha0.0.1.0
Pre-releaseWith this release, scafall finally starts its alpha journey!
At this moment in time, scafall is in a somewhat working state on Spigot... which means it runs! That's it... ok, the fundamental features are working too I guess, but far from polished.
Features
Note, scafall is far from feature complete, and new features will be added along the alpha and beta stage.
Only once it is out of beta, I'll consider it stable and feature complete (having all features I deem as a requirement).
Features in this initial release:
- Spigot implementation
- A simple registry system with RegistryKeys, ValueKeys, etc. for custom Registries
- ItemStackIdentifiers to load ItemStacks from custom sources
- Adventure Kotlin Extension functions for
- MiniMessage
- TextComponents
- Light-Weight wrappers for Minecraft internals
- ItemStack
- Player
- BlockPos
- GlobalPos
- Vec3
- Light-Weight wrappers for Spigot instances
- ItemStack
- Player
- Location
- Kotlin extension functions for all wrappers (wrap, unwrap)
State of the API
I can not recommend anyone use the API in this stage of development. It is the first time I go multi-platform, and so the requirements of each platform, which are still unknown to me, may change the way the API is structured at any time.
Basically, I design the API alongside CustomCrafting v5 and evaluate the requirements again and again.
I may start releasing CustomCrafting v5 and scafall after a while in alpha, but that won't mean that the API is stable, just that I release it for those that would like to test it out and see the progress!
Scope of Scafall: What it is & what it is not
To not cause feature creep or expand the scope of scafall too much, I follow certain goals that I'm trying to achieve with scafall.
Scafall is...
- assisting in the development of cross-platform mods
- a library with utils that work across platforms
- simplifying the creation of cross-platform APIs for other mods
- helping in compatibility with other plugins/mods
- providing light-weight wrappers (wrappers without functionality, just for exchange via API, see wiki)
- supporting the latest Minecraft version (including minor versions)
Scafall is NOT...
- yet another platform abstraction in itself
- removing the need for platform specific code
- wrapping every nuance feature of each platform
- providing everything that WolfyUtils did
- supporting previous Minecraft versions (including minor versions)
Extensions
Since scafall is really just the well... scaffolding, there will be other plugins/mods that extend the features of scafall.
- One such project is viewportl, which introduces a reactive GUI API, that can be used cross-platform thanks to scafall. Also very much in alpha, it obviously depends on scafall.