Skip to content

Releases: WolfyScript/scafall

Bug Fixes | v-a0.3.0.0

25 Sep 20:34

Choose a tag to compare

Pre-release

Dependency System Improvement

  • Adds a Dependency.onInit function that gets called when the Dependency is initiated.
  • fix(spigotlike): Plugins are no longer loaded at the time the Dependency instances are created

Other

  • refactor: rename Key.defaultKey to Key.scafall
  • feat: add spigot block entity wrapper

Full Changelog: v-a0.2.0.0...v-a0.3.0.0

Refactoring & Improvements | alpha0.2.0.0

20 Sep 20:21

Choose a tag to compare

Paper Specific Version

Starting with this update, scafall provides a separate jar file for Paper, which should be used to benefit from extra features and improvements on Paper.

Improved Dependency Managment

  • Added more listeners for when dependencies are loaded, initiated, or failed
  • Custom Dependency Types can be registered on load

Refactor & Clean-up

  • The old data component wrapper API has been removed. Unwrap the scafall stack and use platform specific APIs instead!
  • Moved the MinecraftWrapper util up one package
  • Removed old Java compatibility functions
  • Removed more unused old redundant wrappers

Full Changelog: v-a0.1.0.0...v-a0.2.0.0

Fabric Support | alpha0.1.0.0

01 Sep 18:24

Choose a tag to compare

Pre-release

New Features

  • Fabric Server-Side Implementation
  • Minecraft ResourceLocation to Scafall Key util
  • Minecraft Level Wrapper
  • Minecraft BlockEntity Wrapper
  • Ready Listener to hook into scafall lifecycle
  • Registry for dependencies (instead of reflections)
  • Update to Minecraft 1.21.8
  • spigot: support for Denizen, Eco, ExecutableItems/Blocks, Oraxen, ItemsAdder, Magic, MMOItems and MythicMobs items.
  • Dependency listeners not bound to a specific dependency

Breaking

  • Revert inner-jar system
  • Rename Player wrapper to ScafallPlayer

Build, Dependencies & Other Changes

  • upgrade to kotlin 2.2.0
  • upgrade to gradle 9.0
  • remove guava dependency
  • remove reflections dependency
  • remove commons-lang3 dependency

Full Changelog: v-a0.0.1.0...v-a0.1.0.0

Initial Alpha | alpha0.0.1.0

21 Jul 18:22

Choose a tag to compare

Pre-release

With 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.