Skip to content
LukeGrahamLandry edited this page Dec 11, 2022 · 7 revisions

WrapperLib is a library for creating Minecraft mods more quickly. It adds no content on its own. Players should only install it if using a mod that requires it.

WrapperLib was created with a few goals in mind.

  • Provide an identical API for many mod loaders (Forge, Fabric, Quilt) and minecraft versions (1.19, 1.18, 1.16).
  • Remove the need to manually write serialization code for converting between object, nbt, byte buffer.
  • Modular structure so you can shadow only the parts you need and have no external dependencies.
  • Provide extensive documentation (this wiki & javadocs).

The api is split into several parts. All of which can be called from cross platform code without mod loader specific implementation.

  • Network: send information between the client and the server.
  • Config: allow players to configure mod features by editing json files.
  • Saved Data: save extra information with world data.
  • Registry: an api like Forge's deferred register that can be called from common code.
  • Resources: load information from data packs or resource packs.
  • Keybinds: react to keyboard input, automatically synced to the server.
  • Helpers: simple utilities for multi-platform mods.

A multi-platform example mod if you find it easier to learn from a practical example.

I also have a page comparing parts of WrapperLib to other modding APIs. If you know of any I'm missing let me know! (especially if you think they're nicer than mine, I'm always looking for ways it can improve).

Contact

Licensing Info

  • WrapperLib is available under the MPL 2.0 License as seen in the LICENSE file. This summary is not a substitute for the full license text.
  • You may distribute a Larger Work containing official versions of WrapperLib (ie by shading it into your mods).
    • You must prominently link to WrapperLib's Source Code Form and license, (this repo).
    • Your Larger Work may be under any license you like.
  • You may create and distribute modified versions of WrapperLib.
    • You must prominently link to the Source Code Form, and license, of any modified versions of WrapperLib files.
    • Modified versions of WrapperLib files must be available under the MPL 2.0.
    • The rest of your modified version may be under any license you like.
  • You may not remove license notices from any WrapperLib files.
  • As long as you're following the terms of the license you don't have to bother asking me for permission for stuff.
  • The content of this wiki is available under the same license.