跳到正文

MixerLogger

作者:Asbestosstar

Logs SpongeMixins and other similar tools for debugging modpacks

收藏

截图

介绍

中文介绍正在准备中,下面暂时显示原文。

This is a tool used for debugging modpacks which scans your mods for mods which have annotations associated with common Mixer APIs such as SpongeMixin, Tuna-Bytes (soon), PizzaMixin(soon), and AssistMixer(soon) as well as some Aspect Orientated Programming APIs. For all the files that meet these criterias, it lists the name, the jar file it is in, the known targets (except for ones which do not specify the targets in the file itself like AssistMixer), the Class References, the Method References, and the Field References, with the possibility to add even more information in the future. On launchers which support System.out.println it will show the information in the console, the logs are also saved in (.)minecraft/logs/MixerLogger.log so you can access it. This is helpful if you are making a very large modpack and one of these breaks the game, this will allow you to have a better idea where it can be coming from. It loads itself before or during SpongeMixin or similar tools in most cases. The code for this is largelly loader independent meaning with a basic entrypoint it can be supported on most loaders and even most games in Java. Same Jar is used in more than 1 loader. Should work with Abstraction layer mods like Special Compatibility Operation, NeoFromTheMatrix, or Sintrya Connector just fine.

The logs will be a tiny bit hard to read, but ideally anyone who is using this will be using ⌘+F or Ctrl+F to find specific peices of information. An example of a individual mixer class’s info is as follows

Class Name: net.fabricmc.fabric.mixin.client.model.BakedModelManagerMixin
Targets: [net.minecraft.class_1092]
ClassRef: [net.minecraft.class_1087, org.spongepowered.asm.mixin.Mixin, java.util.Map, net.minecraft.class_1092, net.fabricmc.api.Environment, net.fabricmc.fabric.mixin.client.model.BakedModelManagerMixin, net.fabricmc.api.EnvType, org.spongepowered.asm.mixin.Shadow, java.lang.Object, net.fabricmc.fabric.impl.client.model.BakedModelManagerHooks, net.minecraft.class_2960]
MethodRef: [java.util.Map.get(Ljava/lang/Object;)Ljava/lang/Object;]
FieldRef: [net.fabricmc.fabric.mixin.client.model.BakedModelManagerMixin.field_5408:Ljava/util/Map;]
Originating JAR: fabric-api-0.75.1+1.19.2.jar
——————–

 

But it can be more daunting for much larger ones

 

Limitations

At the moment only Sponge Mixin is supported but others are soon planned and we also plan to list more info about modified methods and RefMap parsing. This also only goes 1 level deep for nested jars and javassist is bundled (which could conflict with a few mods but most other mods run AFTER this one so you would already have your information by the time such package conflict could happen). This only scans existing Mixer classes not ones created during runtime. This can make the game possibly unstable and also makes the game take longer to load so if you are not using it I would not suggest keeping it in your mods folder. Also atm only the folder called “mods” is supported but this will change.

 

Platform support.

FeatureCreep

FeatureCreep 4.0 Pre Release 18 will come with this built in but it will need to be enabled in the FeatureCreep config (in the etc directory in your Minecraft Folder). However this jar supports FeatureCreep 4 Pre Release 17 to an extent if not being run on one of the other mentioned platforms. If you are on MCForge and have FeatureCreep this mod will confict due to both having the same packages at least on 1.17 due to Module changes. On platforms which do not come with SpongeMixin or a supported mixer it will need to be installed normally. The FeatureCreep built-in version will be the best maintained. The Pre-17 and earlier version of the mod will duplicate on Pre-18 or newer and is generally unsupported. Works on games outside of Minecraft written in Java and can be used on other loaders like LiteLoader and Rift and NeoForge and possibly older versions of MC Forge if FeatureCreep is installed.

 

MinecraftForge

Should work on 1.17+, 1.16.5 and earlier has changes in the ITransformationService making it hard to do in the same file. It should create the logs as far  back as 1.13, but crashes afterwards due to abstract beginScanning and Mixers did not become common in these versions either.

 

FabricMC

Should work on any version and in non-Minecraft games. May work on QuiltMC and other FabricMC derivatives but it is untested. Legacy and Cursed Legacy Fabric should also work.

 

常见问题

MixerLogger 支持哪些 Minecraft 版本?

MixerLogger 支持 Minecraft Java 版 1.17–26.1,共 30 个版本,可用的加载器:Fabric / Forge。下载时注意选择和你游戏版本一致的文件。

MixerLogger 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

Asbestosstar 的其他作品

查看全部 →