Skip to content

Releases: TerrorByteTW/ByteLib

ByteLib 1.1.3

13 Apr 21:10
35a5141

Choose a tag to compare

Full Changelog: ByteLib-1.1.2...ByteLib-1.1.3

This release fixes a bug where unversioned and externalOnly config files were wiped or reset each time ByteLib loaded them. It also brings ByteLib up to JDK 25 and Paper 26.1.2

ByteLib 1.1.2

28 Mar 22:32
3378478

Choose a tag to compare

ByteLib 1.1.2 is a small, drop-in replacement for 1.1.1 which fixes a bug related to config files created via externalOnly not being readable unless they have a value that isn't a comment. A placeholder: true value will be placed in all externalOnly configuration files upon creation.

Note: As a reminder, ByteLib will not use BoostedYAML for much longer. ByteLib v2 will replace BoostedYAML with ConfigLib.

ByteLib 1.1.0

06 Mar 21:58
4b855cd

Choose a tag to compare

ByteLib 1.1 releases the Commands API, a better wrapper around Brigadier that allows for easier authoring of complex commands.

As well, better documentation has been written to improve the developer experience when learning how to use ByteLib. You can check out that documentation here.

Finally, ByteLib has been licensed with the MIT license, so you are free to do practically whatever you want with it!

ByteLib 1.0.0

04 Mar 05:04
dbd940c

Choose a tag to compare

ByteLib 1.0.0

Welcome to ByteLib! ByteLib is a shared library for building modern, maintainable Paper plugins. This library is explicitly designed with the experimental Paper Plugin API in mind.

Features

  • Paper-native plugin loading, using Paper's PluginBoostrap and
    PluginLoader APIs
  • First-class Guice-based dependency injection
    • ByteLib forces developers to use DI due to its Guice-first mindset. This may be a shift for some developers, but after you use DI, it's hard to go back! Providing first class Guice support without any setup on the developers part makes implementing DI in your plugin a breeze.
  • Modular lifecycle hooks (multiple onLoad, onEnable, and onDisable methods are now possible in your plugin)
    • Lifecycles may be called in a specific order if preferred by setting their priority!
  • Brigadier-based command registration (no plugin.yml commands)
    • A more powerful and pretty Command API is coming in the future which allows easier creation of commands via Brigadier.
  • Config & translation abstractions around BoostedYAML, an already amazing
    YAML library
  • An extremely powerful, opinionated SQLite wrapper with support for:
    • Database migrations
    • Strong typings
    • Transparent, query-based cache
    • And more!

What isn't ByteLib?

ByteLib is not a plugin like some frameworks are (e.g., eco for Auxilor plugins). Rather, it's a foundation that removes boilerplate and enforces safe architecture across all plugins that use it. ByteLib currently powers DimensionPause and Honeypot.

Check out the Wiki to get started.

Thank you for using ByteLib!