Не находится класс стороннего мода через mixin

Версия Minecraft
1.12.2
API
Forge

VeniVidiVici

Санта Барбарис
327
15
198
Создал mixin на класс ModelPartConfig из MorePlayerModels:
MixinModelPartConfig:
@Mixin(value = ModelPartConfig.class, remap = false)
public abstract class MixinModelPartConfig {
    @Inject(method = "setScale(FFF)V", at = @At(value = "HEAD"))
    public void scale(float x, float y, float z, CallbackInfo ci) {
        System.out.println("something to test");
    }
}

ModelPartConfig:
package noppes.mpm;

import net.minecraft.nbt.NBTTagCompound;

public class ModelPartConfig {
    public float scaleX = 1.0F;
    public float scaleY = 1.0F;
    public float scaleZ = 1.0F;
    public float transX = 0.0F;
    public float transY = 0.0F;
    public float transZ = 0.0F;
    public boolean notShared = false;

    public ModelPartConfig() {
    }

    public NBTTagCompound writeToNBT() {
        NBTTagCompound compound = new NBTTagCompound();
        compound.setFloat("ScaleX", this.scaleX);
        compound.setFloat("ScaleY", this.scaleY);
        compound.setFloat("ScaleZ", this.scaleZ);
        compound.setFloat("TransX", this.transX);
        compound.setFloat("TransY", this.transY);
        compound.setFloat("TransZ", this.transZ);
        compound.setBoolean("NotShared", this.notShared);
        return compound;
    }

    public void readFromNBT(NBTTagCompound compound) {
        this.scaleX = this.checkValue(compound.getFloat("ScaleX"), 0.5F, 1.5F);
        this.scaleY = this.checkValue(compound.getFloat("ScaleY"), 0.5F, 1.5F);
        this.scaleZ = this.checkValue(compound.getFloat("ScaleZ"), 0.5F, 1.5F);
        this.transX = this.checkValue(compound.getFloat("TransX"), -1.0F, 1.0F);
        this.transY = this.checkValue(compound.getFloat("TransY"), -1.0F, 1.0F);
        this.transZ = this.checkValue(compound.getFloat("TransZ"), -1.0F, 1.0F);
        this.notShared = compound.getBoolean("NotShared");
    }

    public String toString() {
        return "ScaleX: " + this.scaleX + " - ScaleY: " + this.scaleY + " - ScaleZ: " + this.scaleZ;
    }

    public void setScale(float x, float y, float z) {
        this.scaleX = x;
        this.scaleY = y;
        this.scaleZ = z;
    }

    public void setScale(float x, float y) {
        this.scaleZ = this.scaleX = x;
        this.scaleY = y;
    }

    public float checkValue(float given, float min, float max) {
        if (given < min) {
            return min;
        } else {
            return given > max ? max : given;
        }
    }

    public void setTranslate(float transX, float transY, float transZ) {
        this.transX = transX;
        this.transY = transY;
        this.transZ = transZ;
    }

    public void copyValues(ModelPartConfig config) {
        this.scaleX = config.scaleX;
        this.scaleY = config.scaleY;
        this.scaleZ = config.scaleZ;
        this.transX = config.transX;
        this.transY = config.transY;
        this.transZ = config.transZ;
    }
}

[17:14:39] [main/DEBUG] [mixin]: Adding new mixin transformer proxy #2
[17:14:39] [main/DEBUG] [FML]: Validating minecraft
[17:14:39] [main/DEBUG] [mixin]: Preparing mixins for MixinEnvironment[INIT]
[17:14:39] [main/DEBUG] [FML]: Minecraft validated, launching...
[17:14:39] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[17:14:39] [main/INFO] [LaunchWrapper]: Loading tweak class name org.spongepowered.asm.mixin.EnvironmentStateTweaker
[17:14:39] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[17:14:39] [main/INFO] [LaunchWrapper]: Calling tweak class org.spongepowered.asm.mixin.EnvironmentStateTweaker
[17:14:39] [main/DEBUG] [mixin]: Adding new mixin transformer proxy #3
[17:14:39] [main/DEBUG] [mixin]: Preparing mixins for MixinEnvironment[DEFAULT]
[17:14:39] [main/DEBUG] [mixin]: Selecting config mixins.resizer.json
[17:14:39] [main/DEBUG] [mixin]: Preparing mixins.resizer.json (1)
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Found name transformer: net.minecraftforge.fml.common.asm.transformers.DeobfuscationTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Rebuilding transformer delegation list:
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Found name transformer: net.minecraftforge.fml.common.asm.transformers.DeobfuscationTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: net.minecraftforge.fml.common.asm.transformers.PatchingTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Excluding: org.spongepowered.asm.mixin.transformer.Proxy
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: $wrapper.net.minecraftforge.fml.common.asm.transformers.SideTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Excluding: $wrapper.net.minecraftforge.fml.common.asm.transformers.EventSubscriptionTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: $wrapper.net.minecraftforge.fml.common.asm.transformers.EventSubscriberTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: $wrapper.net.minecraftforge.fml.common.asm.transformers.SoundEngineFixTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: net.minecraftforge.fml.common.asm.transformers.DeobfuscationTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: net.minecraftforge.fml.common.asm.transformers.AccessTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: net.minecraftforge.fml.common.asm.transformers.ModAccessTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: net.minecraftforge.fml.common.asm.transformers.ItemStackTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: net.minecraftforge.fml.common.asm.transformers.ItemBlockTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: net.minecraftforge.fml.common.asm.transformers.ItemBlockSpecialTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Adding: net.minecraftforge.fml.common.asm.transformers.PotionEffectTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Excluding: org.spongepowered.asm.mixin.transformer.Proxy
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Excluding: net.minecraftforge.fml.common.asm.transformers.TerminalTransformer
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Excluding: org.spongepowered.asm.mixin.transformer.Proxy
[17:14:39] [main/DEBUG] [org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper]: Transformer delegation list created with 11 entries
[17:14:39] [main/TRACE] [mixin]: Catching
java.lang.ClassNotFoundException: The specified class 'noppes.mpm.ModelPartConfig' was not found
at org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper.getClassBytes(MixinServiceLaunchWrapper.java:520) ~[MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.service.mojang.MixinServiceLaunchWrapper.getClassNode(MixinServiceLaunchWrapper.java:593) ~[MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.ClassInfo.forName(ClassInfo.java:2005) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinInfo.getTargetClass(MixinInfo.java:1017) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinInfo.readTargetClasses(MixinInfo.java:1007) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinInfo.parseTargets(MixinInfo.java:895) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinConfig.prepareMixins(MixinConfig.java:867) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinConfig.prepare(MixinConfig.java:775) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:539) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:462) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:438) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:290) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) [MixinBootstrap-1.1.0.jar:?]
at org.spongepowered.asm.mixin.transformer.Proxy.transform(Proxy.java:72) [MixinBootstrap-1.1.0.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) [launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) [?:1.8.0_51]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [?:1.8.0_51]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_51]
at java.lang.Class.forName(Class.java:348) [?:1.8.0_51]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
[17:14:39] [main/WARN] [mixin]: Error loading class: noppes/mpm/ModelPartConfig (java.lang.ClassNotFoundException: The specified class 'noppes.mpm.ModelPartConfig' was not found)
[17:14:39] [main/TRACE] [mixin]: Added class metadata for noppes/mpm/ModelPartConfig to metadata cache
[17:14:39] [main/WARN] [mixin]: @Mixin target noppes.mpm.ModelPartConfig was not found mixins.resizer.json:MixinModelPartConfig

Игра запускается до меню, при входе в мир соответственно краш:
java.lang.NoClassDefFoundError: noppes/mpm/ModelPartConfig
at noppes.mpm.ModelDataShared.<init>(ModelDataShared.java:15)
at noppes.mpm.ModelData.<init>(ModelData.java:30)
at noppes.mpm.ServerEventHandler.attach(ServerEventHandler.java:146)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_32_ServerEventHandler_attach_AttachCapabilitiesEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:691)
at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:661)
at net.minecraft.entity.Entity.<init>(Entity.java:219)
at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:164)
at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:157)
at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:158)
at net.minecraft.server.management.PlayerList.func_148545_a(PlayerList.java:504)
at net.minecraft.server.network.NetHandlerLoginServer.func_147326_c(NetHandlerLoginServer.java:135)
at net.minecraft.server.network.NetHandlerLoginServer.func_73660_a(NetHandlerLoginServer.java:63)
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:285)
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:180)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:790)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:185)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: noppes.mpm.ModelPartConfig
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 22 more
Caused by: java.lang.NullPointerException

Т.е. по какой-то причине у меня теряется класс, который я модифицирую миксином. Не понимаю почему это происходит
 

VeniVidiVici

Санта Барбарис
327
15
198
Стандартный mixin не умеет работать со сторонними модами.
Используй Grimoire или mixinBooter (или его аналоги)
Спасибо за направление, правда пока ни с тем ни с другим не получилось
 
Сверху