Описание
Система скинов EasyX не может загрузиться после CustomSkinLoader, либо его форков. CSL изменяет SkinManager$1 таким образом, что точка вызова MinecraftSessionService#unpackTextures, который ELFeatures перенаправляет на себя, становится недоступна, и применение миксинов падает с ошибкой вида InjectionError.
Тестовое окружение
- ELFeatures 1.4.1
- CustomSkinLoader 15.0.1
- NeoForge 21.1.x
- Minecraft 1.21.1
Примечания
Этот же @Redirect используется как на Forge v3/v4, так и на Fabric v1/v2, так что эти загрузчики будут крашить игру по тому же сценарию из-за всё того же патча со стороны CSL. Нужен либо принципиально другой подход в этом ключе, либо исследование и интеграция с CSL и подобными модами — работы в данном направлении начнутся позже.
Технические детали
Исключение, которое упоминается как первопричина в соответствующем краш-репорте игры:
org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector redirect_unpackTextures(Lcom/mojang/authlib/minecraft/MinecraftSessionService;Lcom/mojang/authlib/properties/Property;)Lcom/mojang/authlib/minecraft/MinecraftProfileTextures; in elfeatures.mixins.json:textures.MixinSkinManager1$V2 from mod elfeatures failed injection check, (0/1) succeeded. Scanned 0 target(s). No refMap loaded.
at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:531) ~[sponge-mixin-0.15.2+mixin.0.8.7.jar:0.15.2+mixin.0.8.7] {}
at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1490) ~[sponge-mixin-0.15.2+mixin.0.8.7.jar:0.15.2+mixin.0.8.7] {}
at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:752) ~[sponge-mixin-0.15.2+mixin.0.8.7.jar:0.15.2+mixin.0.8.7] {}
at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:330) ~[sponge-mixin-0.15.2+mixin.0.8.7.jar:0.15.2+mixin.0.8.7] {}
at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:246) ~[sponge-mixin-0.15.2+mixin.0.8.7.jar:0.15.2+mixin.0.8.7] {}
at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:437) ~[sponge-mixin-0.15.2+mixin.0.8.7.jar:0.15.2+mixin.0.8.7] {}
at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:418) ~[sponge-mixin-0.15.2+mixin.0.8.7.jar:0.15.2+mixin.0.8.7] {}
at MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.15.2+mixin.0.8.7.jar:0.15.2+mixin.0.8.7] {}
... 30 more
Описание
Система скинов EasyX не может загрузиться после CustomSkinLoader, либо его форков. CSL изменяет
SkinManager$1таким образом, что точка вызоваMinecraftSessionService#unpackTextures, который ELFeatures перенаправляет на себя, становится недоступна, и применение миксинов падает с ошибкой видаInjectionError.Тестовое окружение
Примечания
Этот же
@Redirectиспользуется как на Forge v3/v4, так и на Fabric v1/v2, так что эти загрузчики будут крашить игру по тому же сценарию из-за всё того же патча со стороны CSL. Нужен либо принципиально другой подход в этом ключе, либо исследование и интеграция с CSL и подобными модами — работы в данном направлении начнутся позже.Технические детали
Исключение, которое упоминается как первопричина в соответствующем краш-репорте игры: