'java/lang/Object' (current frame, stack[0]) is not assignable to 'net/minecraft/entity/player/EntityPlayer'

Версия Minecraft
1.7.10
API
Forge
122
1
5
Обфусцирую мод с помощью Proguard, возникла проблема. При запуске клиента выпадает ошибка:
Код:
java.lang.VerifyError: Bad return type
Exception Details:
  Location:
    mymod/client/ProxyClient.getPlayerEntity(Lcpw/mods/fml/common/network/simpleimpl/MessageContext;)Lnet/minecraft/entity/player/EntityPlayer; @25: areturn
  Reason:
    Type 'java/lang/Object' (current frame, stack[0]) is not assignable to 'net/minecraft/entity/player/EntityPlayer' (from method signature)
  Current Frame:
    bci: @25
    flags: { }
    locals: { }
    stack: { 'java/lang/Object' }
  Bytecode:
    0x0000000: 2bb4 0274 b601 a699 000d 2ab4 0039 b402
    0x0000010: 78a7 0008 2a2b b702 7ab0               
  Stackmap Table:
    same_frame(@20)
    full_frame(@25,{},{Object[#489]})

    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_51]
    at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_51]
    at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:59) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:512) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[forge-1.7.10-10.13.4.1614-1.7.10.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
    at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?]
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:513) [Loader.class:?]
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:208) [FMLClientHandler.class:?]
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480) [bao.class:?]
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:878) [bao.class:?]
    at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
    at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
[20:12:12] [Client thread/INFO]: [net.minecraft.client.Minecraft:func_71377_b:349]: ---- Minecraft Crash Report ----
// Hi. I'm Minecraft, and I'm a crashaholic.

Time: 19.08.23 20:12
Description: There was a severe problem during mod loading that has caused the game to fail

cpw.mods.fml.common.LoaderException: java.lang.VerifyError: Bad return type
Exception Details:
  Location:
   mymod/client/ProxyClient.getPlayerEntity(Lcpw/mods/fml/common/network/simpleimpl/MessageContext;)Lnet/minecraft/entity/player/EntityPlayer; @25: areturn
  Reason:
    Type 'java/lang/Object' (current frame, stack[0]) is not assignable to 'net/minecraft/entity/player/EntityPlayer' (from method signature)
  Current Frame:
    bci: @25
    flags: { }
    locals: { }
    stack: { 'java/lang/Object' }
  Bytecode:
    0x0000000: 2bb4 0274 b601 a699 000d 2ab4 0039 b402
    0x0000010: 78a7 0008 2a2b b702 7ab0               
  Stackmap Table:
    same_frame(@20)
    full_frame(@25,{},{Object[#489]})

    at cpw.mods.fml.common.LoadController.transition(LoadController.java:163)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:544)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:208)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:878)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Caused by: java.lang.VerifyError: Bad return type
Exception Details:
  Location:
    mymod/client/ProxyClient.getPlayerEntity(Lcpw/mods/fml/common/network/simpleimpl/MessageContext;)Lnet/minecraft/entity/player/EntityPlayer; @25: areturn
  Reason:
    Type 'java/lang/Object' (current frame, stack[0]) is not assignable to 'net/minecraft/entity/player/EntityPlayer' (from method signature)
  Current Frame:
    bci: @25
    flags: { }
    locals: { }
    stack: { 'java/lang/Object' }
  Bytecode:
    0x0000000: 2bb4 0274 b601 a699 000d 2ab4 0039 b402
    0x0000010: 78a7 0008 2a2b b702 7ab0               
  Stackmap Table:
    same_frame(@20)
    full_frame(@25,{},{Object[#489]})

    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:59)
    at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:512)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:513)
    ... 10 more
Код:
-injars 'C:\Users\user\OneDrive\Desktop\proguard-7.3.2\modid-client.jar'
-outjars 'C:\Users\user\AppData\Roaming\.tlauncher\legacy\Minecraft\game\mods\modid.jar'

-libraryjars 'C:\Program Files\Java\jdk-20\jmods\java.base.jmod'
-libraryjars 'C:\Users\user\OneDrive\Desktop\proguard-7.3.2\jar'
-libraryjars 'C:\Program Files\Java\jre1.8.0_181\lib\rt.jar'

-dontshrink
-dontoptimize
-dontusemixedcaseclassnames
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
-dontnote
-dontwarn
-ignorewarnings



-keep,allowshrinking class ** {
    <fields>;
    <methods>;
}

# Keep - Native method names. Keep all native class/method names.
-keepclasseswithmembers,includedescriptorclasses,allowshrinking class * {
    native <methods>;
}
Дабы исключить ряд проблем, временно отключил обфусцирование названий классов.
Вот java код в котором выпадает ошибка:
ProxyClient:
   @Override
    public EntityPlayer getPlayerEntity(MessageContext ctx) {
        return (ctx.side.isClient() ? minecraft.thePlayer : super.getPlayerEntity(ctx));
    }
ProxyCommon:
 public EntityPlayer getPlayerEntity(MessageContext ctx) {
        return ctx.getServerHandler().playerEntity;
    }
 
Краш-лог
'java/lang/Object' (current frame, stack[0]) is not assignable to 'net/minecraft/entity/player/EntityPlayer'
Краш-лог:
'java/lang/Object' (current frame, stack[0]) is not assignable to 'net/minecraft/entity/player/EntityPlayer'
1,074
72
372
В keepattributes какого-нибудь types не хватает, потому что ошибка из-за отсутствия инструкции checkcast. Список библиотек неполный. Почему нет minecraft?
Gradle лучше всего использовать. Плагин для proguard там есть.
 
Сверху