- 64
- 3
- 17
С помощью хуклибы фолкена захотел изменить тело метода knockBack в EntityLivingBase, пока просто выпилил всю логику и сделал printLn:
Вот как выглядит оригинальный метод:
Но ловлю краш при старте:

При этом, остальные хуки прекрасно работают
Java:
@Hook(returnCondition = ReturnCondition.ALWAYS)
public static void knockBack(EntityLivingBase entityLivingBase, Entity par1Entity, float paramFloat, double paramDouble1, double paramDouble2) {
System.out.println("knockback");
}
Вот как выглядит оригинальный метод:
Java:
public void knockBack(Entity par1Entity, float par2, double par3, double par5)
{
if (this.rand.nextDouble() >= this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).getAttributeValue())
{
this.isAirBorne = true;
float f1 = MathHelper.sqrt_double(par3 * par3 + par5 * par5);
float f2 = 0.4F;
this.motionX /= 2.0D;
this.motionY /= 2.0D;
this.motionZ /= 2.0D;
this.motionX -= par3 / (double)f1 * (double)f2;
this.motionY += (double)f2;
this.motionZ -= par5 / (double)f1 * (double)f2;
if (this.motionY > 0.4000000059604645D)
{
this.motionY = 0.4000000059604645D;
}
}
}
Но ловлю краш при старте:

При этом, остальные хуки прекрасно работают
- Краш-лог
2025-07-16 20:05:41 [INFO] [STDOUT] [DEBUG] Injecting hooks into class net.minecraft.entity.EntityLivingBase
2025-07-16 20:05:41 [SEVERE] [ForgeModLoader] Unable to launch
java.lang.reflect.InvocationTargetException
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:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/entity/player/EntityPlayer
at net.minecraft.client.main.Main.main(Main.java:37)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/entity/player/EntityPlayer
... 6 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.entity.player.EntityPlayer
Caused by: java.lang.ClassNotFoundException: net.minecraft.entity.player.EntityPlayer
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
... 7 more
Caused by: java.lang.NoClassDefFoundError: net/minecraft/entity/EntityLivingBase
Caused by: java.lang.NoClassDefFoundError: net/minecraft/entity/EntityLivingBase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:178)
... 9 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.entity.EntityLivingBase
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:186)
Caused by: java.lang.ClassNotFoundException: net.minecraft.entity.EntityLivingBase
at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
... 13 more
Caused by: java.lang.ClassCircularityError: net/minecraft/entity/player/EntityPlayer
at java.lang.Class.forName0(Native Method)
Caused by: java.lang.ClassCircularityError: net/minecraft/entity/player/EntityPlayer
at java.lang.Class.forName(Class.java:348)
at org.objectweb.asm.ClassWriter.getCommonSuperClass(Unknown Source)
at org.objectweb.asm.ClassWriter.a(Unknown Source)
at org.objectweb.asm.Frame.a(Unknown Source)
at org.objectweb.asm.Frame.a(Unknown Source)
at org.objectweb.asm.MethodWriter.visitMaxs(Unknown Source)
at org.objectweb.asm.ClassReader.a(Unknown Source)
at org.objectweb.asm.ClassReader.b(Unknown Source)
Краш-лог:
2025-07-16 20:05:41 [INFO] [STDOUT] [DEBUG] Injecting hooks into class net.minecraft.entity.EntityLivingBase
2025-07-16 20:05:41 [SEVERE] [ForgeModLoader] Unable to launch
java.lang.reflect.InvocationTargetException
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:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/entity/player/EntityPlayer
at net.minecraft.client.main.Main.main(Main.java:37)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/entity/player/EntityPlayer
... 6 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.entity.player.EntityPlayer
Caused by: java.lang.ClassNotFoundException: net.minecraft.entity.player.EntityPlayer
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
... 7 more
Caused by: java.lang.NoClassDefFoundError: net/minecraft/entity/EntityLivingBase
Caused by: java.lang.NoClassDefFoundError: net/minecraft/entity/EntityLivingBase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:178)
... 9 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.entity.EntityLivingBase
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:186)
Caused by: java.lang.ClassNotFoundException: net.minecraft.entity.EntityLivingBase
at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
... 13 more
Caused by: java.lang.ClassCircularityError: net/minecraft/entity/player/EntityPlayer
at java.lang.Class.forName0(Native Method)
Caused by: java.lang.ClassCircularityError: net/minecraft/entity/player/EntityPlayer
at java.lang.Class.forName(Class.java:348)
at org.objectweb.asm.ClassWriter.getCommonSuperClass(Unknown Source)
at org.objectweb.asm.ClassWriter.a(Unknown Source)
at org.objectweb.asm.Frame.a(Unknown Source)
at org.objectweb.asm.Frame.a(Unknown Source)
at org.objectweb.asm.MethodWriter.visitMaxs(Unknown Source)
at org.objectweb.asm.ClassReader.a(Unknown Source)
at org.objectweb.asm.ClassReader.b(Unknown Source)