MagicLib

MagicLib

Mod

To beat magic with magic :(

Client and server Library

120.9k downloads
70 followers
Created2 years ago
Updated4 months ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...

Features

  • Support Minecraft 1.20.4

Fixes

  • Prevent MagicI18n from releasing magic before malilib config init (#51)

What's Changed

Full Changelog: https://github.com/Hendrix-Shen/MagicLib/compare/0.7-patch.5...0.7-patch.6

Features

  • Support Minecraft 1.20.2

Fixes

  • Fix MagicConfig I18n doesn't work

Development

  • MagicLib is now available on JitPack

As you know the first snapshot of Minecraft 1.20.2 has been released. So pushing a staged cumulative update, MagicLib may delay feature updates for the next while.

Features

  • Add Traditional Chinese translation (By @Blackrowtw)

Fixes

  • Fix RenderEvent on fabulous quality (Related to plusls/MasaGadget#96)
  • Fix Text Render (MC 1.19.4)

Development

  • Deprecated TranslatableConfig now IMagicConfigBase

Note: Same as 0.7.345 only for fixing CurseForge files.

Full Changelog: https://github.com/Hendrix-Shen/MagicLib/compare/0.7-patch.2...0.7-patch.3

Features

  • Add Minecraft 1.20.1 support (#34)
  • Minecraft version check on wrapper (Ease #7)

Development

  • Publish to MavenCentral
    • No logger upload artifacts to Nyan Maven
    • Use top.hendrixshen.magiclib as groupId
  • Fix IMBlockerFabric dependency
  • Fix ProductionClient dependencies
  • Disable Gradle parallel

Full Changelog: https://github.com/Hendrix-Shen/MagicLib/compare/dev/0.7.291...0.7-patch.2

0.7.336

by hendrix-shen on Jun 11, 2023
Download

Features

  • Add Minecraft 1.20 support
  • Add RenderEvent API
  • Add Renderer Impl
  • Compat Malilib 0.15.4

Fixes

  • Fix unexpected loading of client classes (#17)
  • Fix error handling on malformed farbric.mod.json (#19)

Full Changelog: https://github.com/Hendrix-Shen/MagicLib/compare/dev/0.7.247...0.7-patch.1

0.7.293

by hendrix-shen on Mar 23, 2023
Download

Features

  • Add Minecraft 1.19.4 support.

Important

  • Package structure refactoring, so mods that depent on older versions of MagicLib may not work properly.

Full Changelog: https://github.com/Hendrix-Shen/MagicLib/compare/dev/0.6.229...dev/0.7

This version mainly re-adds support for Minecraft 1.19.2.

Hi! It's been a long time, and after much hard work and experimentation, we have completed MagicLib 0.6!

What we do?

  • As Carpet extension developers may have noticed, Carpet has introduced a new API to manage rules, and the legacy API will soon be removed. This is not very friendly to Carpet extension authors who maintain Carpet modules for multiple Minecraft versions at the same time. So we wrapped this API to allow developers to work on different versions of Carpet with the same code. The condition in @Rule is implemented using MagicLib's dependency checking feature.

Future prospects

  • Enhanced I18n server-side features.
  • Stand-alone compatible module (only conceived).
  • Unfortunately, there is currently no documentation for the Compat API, which we will (probably) explain in a later development

Full Changelog: https://github.com/Hendrix-Shen/MagicLib/compare/dev/0.5.37...dev/0.6.201

0.5.37

by hendrix-shen on Aug 5, 2022
Download

Switch Minecraft version to 1.19.2.

0.5.34

by hendrix-shen on Aug 4, 2022
Download

Important update

It is highly recommended that you update this version as the last update we accidentally broke the compatibility api and this has resulted in some dependencies on this library not being available.

0.5.33

by hendrix-shen on Jul 29, 2022
Download

This is a small update. Mainly for developers and switch Minecraft version to 1.19.1.

Patch

  • Fix crash on server (MC 1.16)

Misc

The following is for developers only:

  • Update all dependencies to latest version. Include:
    • FabricAPI (MC 1.18-1.19)
    • FabricLoader (MC 1.14-1.19)
    • IMBlockerFabric (MC 1.14-1.19)
    • InGameAccountSwitcher (MC 1.14-1.19)
    • LazyDFU (MC 1.19)
    • ModMenu (MC 1.16-1.19)
  • Add SmoothBoot to runtime environment.

0.5.32

by hendrix-shen on Jun 28, 2022
Download

Patch

  • More I18n api & Javadoc

0.5.31

by hendrix-shen on Jun 11, 2022
Download

Hi! It's been a long time, and after much hard work and experimentation, we have completed MagicLib 0.5!

What we do?

  • We have written compatibility APIs for balancing the differences between versions. For developers maintaining multiple MC versions of mods at the same time, it is possible to ignore Mojang's changes to MC to a certain extent. You don't have to care about what Mojang has done, using the API you will easily be able to use the same code between MC versions.
  • We have reimplemented I18n independent of MC and can set the list of alternate languages for MagicLib I18n. Mojang uses some tricks with I18n text to make some features of String.format unavailable, which is usually annoying.
  • Compatible with QuiltLoader.

Future prospects

  • Enhanced I18n server-side features.
  • Stand-alone compatible module (only conceived).
  • Unfortunately, there is currently no documentation for the Compat API, which we will (probably) explain in a later development

Note:

Credit

  • @plusls

0.3.26

by hendrix-shen on Apr 16, 2022
Download

Hey, we're proud to say that after a difficult development process, the first, more finished, release of MagicLib is out!

What we do?

  • We have written a very useful configuration management module for Malilib where we will use basic data types with Java annotations to generate configuration lists wherever possible. Also, for configuration files we have included a configuration versioning system which will help you to quickly write your own custom migration solution in the event of a major change to the configuration file structure.
  • We have ported some features from a higher version of Malilib to make it easier to use the same features when using Malilib adapted to a lower version of Minecraft
  • We have added a complete dependency checking system to verify dependency availability by means of expressions and even custom predicates, who can be applied in a variety of scenarios, e.g.
    • MagicLibMixinPlugin provides additional dependency checking for the module, which makes up for some shortcomings of Fabric Loader, for example by setting different dependencies for the client side and the server side.
    • Dependency checking can also be applied to Mixin, and Mixin will only be applied if the conditions are met.
    • Dependency checking can also be applied to configuration management so that the configuration item is only displayed if the conditions are met.
    • Further features may be included in future developments
  • Multi-version compatibility, yes, we use a number of means to be compatible with all versions of Minecraft running on Fabric Loader (1.14+). How is this done? Magic :(
  • Additional I18n implementation, but this is a temporary solution. As you probably know, the Mojang implementation of I18n has a number of flaws in formatting strings, so we will be reimplementing an I18n module to facilitate better use of string formatting. We will be working on the I18n module in the next release, so look out for that!

Future prospects

  • Reconfiguration of the I18n module.
  • Compatible with several versions of TranslatableText and LiteralText (api).
  • Write a usable tutorial to help developers understand how to use MagicLib.

Credit

  • @plusls

External resources



Project members

hendrix-shen

Owner

plusls

Member


Technical information

License
LGPL-3.0-only
Client side
required
Server side
required
Project ID