- 122
- 1
- 5
Обфусцирую мод с помощью Proguard, возникла проблема. При запуске клиента выпадает ошибка:
Дабы исключить ряд проблем, временно отключил обфусцирование названий классов.
Вот java код в котором выпадает ошибка:
Код:
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'