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
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
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
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
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.
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:
- A template for module development using MagicLib is available: https://github.com/plusls/magic-mod-template
Credit
- @plusls
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