A library for mod dependencies.

Overview

MagicLib

Minecraft License Languages Java Issues Pull Requests Public Beta Stable Release Development Release Downloads Github Release Downloads Modrinth Downloads CurseForge Downloads

中文

Warning: The project is still in the early development stage.

A library for mod dependencies.

Development

Mappings

We are using the Mojang official mappings to de-obfuscate Minecraft and insert patches.

Document

The English doc and the Chinese doc are aligned line by line.

License

This project is available under the GPLv3 license. Feel free to learn from it and incorporate it in your own projects.

Comments
  • [Bug] minecraft 1.19版本无法使用magiclib(大概

    [Bug] minecraft 1.19版本无法使用magiclib(大概

    Minecraft Version

    1.19

    MagicLib Version

    0.5.32到0.5.37

    Description

    minecraft1.19版本使用magiclib 0.5.32到0.5.34版本无法启动游戏,使用0.5.37可以启动游戏但是以magiclib为前置的mod无法使用

    To Reproduce

    使用pcl2启动器版本设置的mod管理功能功能,将0.5.32到0.5.37版本依次启用,0.5.32到0.5.34版本全部启动失败,0.5.37版本启动成功,进入游戏主页面,打开模组菜单mod,点击magiclib,有配置界面按钮,masa gadget和TweakMyClient无配置界面按钮,进入游戏内,默认使用 G + C 打开masa gadget的设置界面无反应,打开游戏内配置 GUI 的TweakMyClient默认热键 T + C 只能打开聊天栏

    Expected behavior

    No response

    Log

    latest.log

    Latest CI build tested

    • [X] I confirm that this problem still exists with the latest CI build.
    bug 
    opened by lsp7878578 8
  • [Bug] 检测不到magiclib

    [Bug] 检测不到magiclib

    Minecraft Version

    1.19.1

    MagicLib Version

    0.5.35与0.5.35

    Description

    同时安装magiclib,tweak my client,OMMC,masa gadget并启动游戏时显示要求安装magiclib 0.5.35或以上版本,手动更改版本检测后仍然无法检测,0.5.34版本也有这种情况,0.5.33正常

    To Reproduce

    安装magiclib,OMMC,tweak my client,masa gadget并启动游戏

    Expected behavior

    正常启动游戏

    Log

    Incompatible mod set! net.fabricmc.loader.impl.FormattedException: Mod resolution encountered an incompatible mod set! A potential solution has been determined: - Install magiclib, version 0.5.35 or later. Unmet dependency listing: - Mod 'Masa Gadget' (masa_gadget_mod) 3.0.0-beta+4d26364 requires version 0.5.35 or later of magiclib, which is missing! - Mod 'Oh My Minecraft Client' (ommc) 0.5-beta+a396235 requires version 0.5.34 or later of magiclib, which is missing! - Mod 'Tweak My Client' (tweakmyclient) 3.1.255+af25ac8-stable requires version 0.5.33 or later of magiclib, which is missing! - Mod 'Xaero Map Addition' (xaero_map_addition) 0.2.3 requires version 0.5.30 or later of magiclib, which is missing! at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:190) at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:148) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

    Latest CI build tested

    • [X] I confirm that this problem still exists with the latest CI build.
    bug 
    opened by MCtroplus 4
  • [Bug] masagadget doesnt detect magiclib

    [Bug] masagadget doesnt detect magiclib

    Minecraft Version

    1.19.2

    MagicLib Version

    0.5.38

    Description

    Im not sure if im in the right place but when installing masagadget and magiclib it says that magiclib isnt installed.

    To Reproduce

    install masagadget and magiclib luanch the game

    Expected behavior

    launch

    Log

    [21:34:18] [main/INFO]: Loading Minecraft 1.19.2 with Fabric Loader 0.14.9 [21:34:18] [main/WARN]: Mod resolution failed [21:34:18] [main/INFO]: Immediate reason: [HARD_DEP_NO_CANDIDATE masa_gadget_mod 3.0.0 {depends magiclib @ [>=0.5.30]}, ROOT_FORCELOAD_SINGLE masa_gadget_mod 3.0.0] [21:34:18] [main/INFO]: Reason: [HARD_DEP masa_gadget_mod 3.0.0 {depends magiclib @ [>=0.5.30]}] [21:34:18] [main/INFO]: Fix: add [add:magiclib 0.5.30 ([[0.5.30,∞)])], remove [], replace [] [21:34:18] [main/ERROR]: Incompatible mod set! net.fabricmc.loader.impl.FormattedException: Mod resolution encountered an incompatible mod set! A potential solution has been determined: - Install magiclib, version 0.5.30 or later. Unmet dependency listing: - Mod 'Masa Gadget' (masa_gadget_mod) 3.0.0 requires version 0.5.30 or later of magiclib, which is missing! at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:190) ~[fabric-loader-0.14.9.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:148) ~[fabric-loader-0.14.9.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68) [fabric-loader-0.14.9.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.9.jar:?] at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:577) ~[?:?] at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210) [NewLaunch.jar:?] at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245) [NewLaunch.jar:?] at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?] at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]

    Latest CI build tested

    • [X] I confirm that this problem still exists with the latest CI build.
    bug 
    opened by bakjedev 3
  • Doesn't work with Quilt Loader

    Doesn't work with Quilt Loader

    Describe the bug Fabric mods are supposed to work with the Quilt loader, but some do not for various reasons, most commonly relying on certain fabric internals. Quilt officially became beta yesterday, so I am reporting it now.

    To Reproduce Steps to reproduce the behavior:

    1. Install the Quilt loader: https://quiltmc.org/install/
    2. Download this mod.
    3. Install quilt standard libraries. These are basically "quilt api", and bundle a "quilted fabric api" which replaces the normal "fabric api". https://modrinth.com/mod/qsl/versions
    4. Try to launch the game
    5. Notice that the game crashes on startup.

    Expected behavior I expected the mod to launch and work like it does on Fabric.

    Desktop:

    • Minecraft version [1.18.2]
    • Mod version [0.4.29, also confirmed on 0.3.25]

    Minecraft crash report The game crashes before a crash report is generated. Here is the log.

    opened by DragonEggBedrockBreaking 1
  • [Question] Why can't my game detect MagicLib? / 为什么我的游戏无法检测到 MagicLib

    [Question] Why can't my game detect MagicLib? / 为什么我的游戏无法检测到 MagicLib

    Question Type

    Usages

    Description

    We are using preprocess to compile the mod. A jar package for the separate Minecraft version is provided. We also provide a wrapper jar for running directly in different versions of the Minecraft environment. Problems with dependency checks also occur as a result.

    Example:

    • If you install magiclib-1.19.2-0.5.37.jar, but also install TweakMyClient-3.2.268+fc2ad10-stable.jar, you will have problem. Because TweakMyClient's wrapper cannot find MagicLib's wrapper. Game won't start.
    • If you install magiclib-1.19.2-0.5.37.jar, but also install TweakMyClient-1.19.1-3.1.255+af25ac8-stable.jar, you will have problems. Because TweakMyClient could not find a matching MagicLib. Game won't start.
    • If you install magiclib-1.19.2-0.5.37.jar, but also install TweakMyClient-3.1.255+af25ac8-stable.jar (Designed for Minecraft 1.19.1), you will have problems. Because TweakMyClient could not find a matching MagicLib. The game will start, but TweakMyClient will not work

    The mods affected by this are as follows:

    The most conservative solution is to install MagicLib's wrapper, i.e. without the Minecraft version suffix. And projects that depend on this can be chosen voluntarily. Please note that both MagicLib and the dependent mods should ensure that the supported version is the same as the Minecraft version you are running, otherwise any issues that do not match the running environment will not be supported.

    ==================================================

    我们使用 预处理 来编译模组。提供了针对单独Minecraft版本的jar包。 同时我们也提供了一个包装jar,用于直接在不同版本的Minecraft环境下运行。也因此出现了在依赖检查上的问题。

    举例:

    • 如果您安装了 magiclib-1.19.2-0.5.37.jar,但是同时安装了 TweakMyClient-3.2.268+fc2ad10-stable.jar 就会出现问题。因为 TweakMyClient 的包装器无法找到 MagicLib 的包装器。游戏无法启动。
    • 如果您安装了 magiclib-1.19.2-0.5.37.jar,但是同时安装了 TweakMyClient-1.19.1-3.1.255+af25ac8-stable.jar 就会出现问题。因为 TweakMyClient 无法找到与之匹配的 MagicLib。游戏无法启动。
    • 如果您安装了 magiclib-1.19.2-0.5.37.jar,但是同时安装了 TweakMyClient-3.1.255+af25ac8-stable.jar (为 Minecraft 1.19.1 设计) 就会出现问题。因为 TweakMyClient 无法找到与之匹配的 MagicLib。游戏可以启动,但是 TweakMyClient 不会工作。

    受此影响的模组如下:

    最保守的解决方案是安装 MagicLib 的包装器,即不带有 Minecraft版本 后缀的。而依赖于此的项目则可以自愿选择。请注意,无论是 MagicLib 还是附属模组都应该确保支持版本与你所运行的 Minecraft 版本一致,否则任何不符合运行环境的议题都不会被支持。

    question 
    opened by Hendrix-Shen 0
  • Configure Renovate

    Configure Renovate

    Mend Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • .github/workflows/CI.yml (github-actions)
    • .github/workflows/sync_to_bitbucket.yml (github-actions)
    • .github/workflows/sync_to_gitee.yml (github-actions)
    • .github/workflows/sync_to_gitlab.yml (github-actions)
    • gradle.properties (gradle)
    • common.gradle (gradle)
    • settings.gradle (gradle)
    • build.gradle (gradle)
    • fabricWrapper/build.gradle (gradle)
    • versions/1.14.4/gradle.properties (gradle)
    • versions/1.15.2/gradle.properties (gradle)
    • versions/1.16.5/gradle.properties (gradle)
    • versions/1.17.1/gradle.properties (gradle)
    • versions/1.18.2/gradle.properties (gradle)
    • versions/1.19.3/gradle.properties (gradle)
    • gradle/wrapper/gradle-wrapper.properties (gradle-wrapper)

    Configuration Summary

    Based on the default config's presets, Renovate will:

    • Start dependency updates only once this onboarding PR is merged
    • Enable Renovate Dependency Dashboard creation.
    • If Renovate detects semantic commits, it will use semantic commit type fix for dependencies and chore for all others.
    • Ignore node_modules, bower_components, vendor and various test/tests directories.
    • Autodetect whether to pin dependencies or maintain ranges.
    • Rate limit PR creation to a maximum of two per hour.
    • Limit to maximum 10 open PRs at any time.
    • Group known monorepo packages together.
    • Use curated list of recommended non-monorepo package groupings.
    • A collection of workarounds for known problems with packages.

    🔡 Would you like to change the way Renovate is upgrading your dependencies? Simply edit the renovate.json in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.


    What to Expect

    With your current configuration, Renovate will create 2 Pull Requests:

    Update plugin org.ajoberstar.grgit to v4.1.1
    • Schedule: ["at any time"]
    • Branch name: renovate/org.ajoberstar.grgit-4.x
    • Merge into: dev/0.6
    • Upgrade org.ajoberstar.grgit to 4.1.1
    Update plugin org.ajoberstar.grgit to v5
    • Schedule: ["at any time"]
    • Branch name: renovate/org.ajoberstar.grgit-5.x
    • Merge into: dev/0.6
    • Upgrade org.ajoberstar.grgit to 5.0.0

    ⚠ Dependency Lookup Warnings ⚠

    Please correct - or verify that you can safely ignore - these lookup failures before you merge this PR.

    • Failed to look up maven dependency net.fabricmc:fabric-loader
    • Failed to look up maven dependency curse.maven:imblockerfabric-399225
    • Failed to look up maven dependency fabric-loom
    • Failed to look up maven dependency com.replaymod.preprocess

    Files affected: gradle.properties, build.gradle


    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • [Filter Enabled Tweaks, Minihud Options, Litematica Options, Etc..]

    [Filter Enabled Tweaks, Minihud Options, Litematica Options, Etc..]

    What new features do you want?

    I think it would be cool to have a filtering option in magiclib to see ur past enabled tweaks/options. I find adding this will remove a bit of paranoia about what things u have on/what u left on by accident.

    Latest CI build tested

    • [X] I confirm that the feature I requested is not in the latest CI build.
    enhancement 
    opened by HellyTubbies 0
  • [Bug] 热键重启游戏丢失

    [Bug] 热键重启游戏丢失

    Minecraft Version

    1.17.1

    MagicLib Version

    0.5.32

    Description

    不知道是不是magiclib的问题,还是说1.17.1的malilib太老了 使用magiclib的两个mod(ommc,tweak-my-client)每次重启游戏都会丢失热键,需要重新设置热键。

    To Reproduce

    设置热键后重启游戏,再按下热键发现不起作用,打开配置界面发现热键变成none了。

    Expected behavior

    No response

    Log

    No response

    Latest CI build tested

    • [X] I confirm that this problem still exists with the latest CI build.
    bug 
    opened by KurisuNya 1
Releases(dev/0.6.200)
Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cross-chatting between Minecraft and Discord.

DiscordSync Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cros

AeonLucid 4 Dec 20, 2022
Nuclear-Mines-Mod - A mod adding radiation-related items to Mindustry (radioactive materials, new guns, etc.)

Nuclear Mines (VERY EARLY BUILD) A Mindustry mod adding more radiation-based items to the game. THIS IS A VERY EARLY VERSION. NOT EVERYTHING IS FINISH

null 6 Sep 3, 2022
Addon to the Minecraft Forge/Fabric mod InvMove that adds mod compatibilities

Addon to the Minecraft Forge/Fabric mod InvMove that adds mod compatibilities

David M. 3 Oct 21, 2022
Duck Library is a library for developers who don't want to spend their time to write same library consistently.

Duck Library is a library for developers who don't want to spend their time to write same library consistently. It has almost every useful feature to

null 5 Jul 28, 2022
Java mod library

GasLirary GasLirary is a Mindustry java mod library for making new content type: Gas. Usage/Examples Gas creating Gas is created in the same way as It

null 10 Jan 2, 2023
Java mod library

AdvancedContentInfo AdvancedContentInfo is a Mindustry java mod library for making out stats and stats categories. Usage/Examples You can initialize y

null 8 May 28, 2022
TerraBlender is a library mod for adding biomes in a simple and compatible manner with Minecraft's new biome/terrain system.

https://discord.gg/GyyzU6T TerraBlender is a library mod for adding biomes in a simple and compatible manner with Minecraft's new biome/terrain system

Glitchfiend 31 Dec 12, 2022
A Mindustry mod library provides a multiple-recipe crafter to produce items, fluids, power or even heat for Json and JavaScript mods.

MultiCrafter Lib A Mindustry MultiCrafter lib-mod for Json and JavaScript mods. Please check the instruction. How to Use Please check the instruction

Li plum 24 Dec 27, 2022
Run Fabric Mods on Forge! It's an mod loading api, too (not implemented yet). No any releationship between Python library PILlow.

Pillow Mod Loader 中文 | English Quilt that runs on Forge Not implemented yet. Yes, you can believe it. This mod will make Quilt compatible with Forge.

null 18 Dec 20, 2022
The Minecraft Mod API

Bukkit A Minecraft Server API. Website: http://bukkit.org Bugs/Suggestions: http://leaky.bukkit.org Contributing Guidelines: CONTRIBUTING.md Compilati

The Bukkit Project 2.2k Dec 31, 2022
A Forge mod that implements SpongeAPI

SpongeForge Currently not stable and under heavy development! A Forge implementation of the Sponge API. Homepage Source Issues Documentation Community

SpongePowered 1.1k Dec 20, 2022
🗺️ Minecraft map editor and mod

A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting! Use it in creative, survival in sing

EngineHub 2.7k Jan 1, 2023
Essentials - Minecraft server command mod - Adds over 100 commands for use in-game to help manage a server

Essentials Development Readme The official repository is at: https://github.com/essentials/Essentials We use NetBeans 7.3 for development. Recommended

Essentials 811 Jan 7, 2023
A minecraft mod that allows additional windows to be opened alongside the game

Breakout API BreakoutAPI is a Minecraft mod which allows developers to create new windows that run alongside Minecraft. All the windows run on the sam

Raph Hennessy 11 Jan 3, 2023
A Minecraft Mod for Fabric which aims to make Block Entity rendering faster and more customizable with almost no compromises.

Enhanced Block Entities EBE is a 100% client side mod for Minecraft on the Fabric mod loader which aims to increase the performance of block entity re

null 151 Dec 30, 2022
A Hypixel Skyblock Utilities mod

SkytilsMod A Hypixel Skyblock Utilities mod. Features General Client Side Custom Armor Colors Custom Command Aliases Griffin Burrow Locator and Waypoi

null 220 Jan 5, 2023
A Fabric mod designed to improve the chunk performance of Minecraft.

C^2M-Engine A Fabric mod designed to improve the chunk performance of Minecraft. So what is C2ME? C^2M-Engine, or C2ME for short, is a Fabric mod desi

null 411 Jan 5, 2023
A minecraft utility mod for 1.12.2.

Teddyware Utility Mod Teddyware is a utility mod for minecraft anarchy servers for 1.12.2. It is like optifine, and should only be used on servers tha

null 24 Dec 2, 2022
A minecraft mod that allows using minecrafts structure block based test system

MC Tester Mod This mod allows using the automated structure based test system Mojang created for minecraft. The test system is only partially included

2No2Name 21 Nov 11, 2022