Анимация с помощью geckolib3

Версия Minecraft
1.15.2
API
Forge
Здравствуйте!
Я работаю с forge (31.2.50) для создания модов и использую библиотеку geckolib3 для создания анимации существа в blockbench.Проблема следующая: все необходимые файлы для анимации я создал(файлы geo,animation и png), вставил все ссылки и нужные функции в код как написано в инструкции к geckolib (Model Classes -), но она почему-то не работает т.е. игра нормально запускается, никаких крашей нет, но при попытке вызова существа через команду /summon пишет "Не удалось создать сущность". Подскажите пожалуйста, что я делаю не так. Заранее спасибо за ответ!
Версия библиотеки geckolib: 3.0.32
Я прикрепил файлы с моими классами существа, его модели и рендера, а также мой ClientListener.Ещё посмотрел debug.log и нашёл там текст по поводу существа (не знаю может пригодится) тоже помещу его в краш-логе.
P.S. Я новичок в создании модификаций и многих вещей ещё не знаю.
 
Краш-лог
[m[32m[10:54:06] [Render thread/INFO] [minecraft/NewChatGui]: [CHAT] Не удалось создать сущность
[m[1;31m[10:54:12] [Server thread/FATAL] [minecraft/ThreadTaskExecutor]: Error executing task on Server
java.lang.NullPointerException: null
at com.ed.testmod.entities.GhostKnightEntity.registerAttributes(GhostKnightEntity.java:97) ~[?:?] {re:classloading}
at net.minecraft.entity.LivingEntity.<init>(LivingEntity.java:201) ~[?:?] {re:classloading}
at net.minecraft.entity.MobEntity.<init>(MobEntity.java:99) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.entity.CreatureEntity.<init>(CreatureEntity.java:13) ~[?:?] {re:classloading}
at net.minecraft.entity.monster.MonsterEntity.<init>(MonsterEntity.java:26) ~[?:?] {re:classloading}
at com.ed.testmod.entities.GhostKnightEntity.<init>(GhostKnightEntity.java:31) ~[?:?] {re:classloading}
at net.minecraft.entity.EntityType.create(EntityType.java:421) ~[?:?] {re:classloading}
at net.minecraft.entity.EntityType.create(EntityType.java:311) ~[?:?] {re:classloading}
at net.minecraft.entity.EntityType.spawn(EntityType.java:303) ~[?:?] {re:classloading}
at net.minecraft.entity.EntityType.spawn(EntityType.java:298) ~[?:?] {re:classloading}
at net.minecraft.item.SpawnEggItem.onItemUse(SpawnEggItem.java:80) ~[?:?] {re:classloading}
at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:611) ~[?:?] {re:classloading}
at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:173) ~[?:?] {re:classloading}
at net.minecraft.server.management.PlayerInteractionManager.func_219441_a(PlayerInteractionManager.java:353) ~[?:?] {re:classloading}
at net.minecraft.network.play.ServerPlayNetHandler.processTryUseItemOnBlock(ServerPlayNetHandler.java:881) ~[?:?] {re:classloading}
at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.processPacket(CPlayerTryUseItemOnBlockPacket.java:45) ~[?:?] {re:classloading}
at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.processPacket(CPlayerTryUseItemOnBlockPacket.java:12) ~[?:?] {re:classloading}
at net.minecraft.network.PacketThreadUtil.lambda$checkThreadAndEnqueue$0(PacketThreadUtil.java:19) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:20) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.ThreadTaskExecutor.run(ThreadTaskExecutor.java:140) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.RecursiveEventLoop.run(RecursiveEventLoop.java:22) [?:?] {re:classloading}
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:759) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:141) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(ThreadTaskExecutor.java:110) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.driveOneInternal(MinecraftServer.java:742) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.driveOne(MinecraftServer.java:736) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.ThreadTaskExecutor.driveUntil(ThreadTaskExecutor.java:123) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.runScheduledTasks(MinecraftServer.java:722) [?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:666) [?:?] {re:classloading,pl:accesstransformer:B}
at java.lang.Thread.run(Unknown Source) [?:1.8.0_291] {}
Краш-лог:
[m[32m[10:54:06] [Render thread/INFO] [minecraft/NewChatGui]: [CHAT] Не удалось создать сущность
[m[1;31m[10:54:12] [Server thread/FATAL] [minecraft/ThreadTaskExecutor]: Error executing task on Server
java.lang.NullPointerException: null
	at com.ed.testmod.entities.GhostKnightEntity.registerAttributes(GhostKnightEntity.java:97) ~[?:?] {re:classloading}
	at net.minecraft.entity.LivingEntity.<init>(LivingEntity.java:201) ~[?:?] {re:classloading}
	at net.minecraft.entity.MobEntity.<init>(MobEntity.java:99) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.entity.CreatureEntity.<init>(CreatureEntity.java:13) ~[?:?] {re:classloading}
	at net.minecraft.entity.monster.MonsterEntity.<init>(MonsterEntity.java:26) ~[?:?] {re:classloading}
	at com.ed.testmod.entities.GhostKnightEntity.<init>(GhostKnightEntity.java:31) ~[?:?] {re:classloading}
	at net.minecraft.entity.EntityType.create(EntityType.java:421) ~[?:?] {re:classloading}
	at net.minecraft.entity.EntityType.create(EntityType.java:311) ~[?:?] {re:classloading}
	at net.minecraft.entity.EntityType.spawn(EntityType.java:303) ~[?:?] {re:classloading}
	at net.minecraft.entity.EntityType.spawn(EntityType.java:298) ~[?:?] {re:classloading}
	at net.minecraft.item.SpawnEggItem.onItemUse(SpawnEggItem.java:80) ~[?:?] {re:classloading}
	at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:611) ~[?:?] {re:classloading}
	at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:173) ~[?:?] {re:classloading}
	at net.minecraft.server.management.PlayerInteractionManager.func_219441_a(PlayerInteractionManager.java:353) ~[?:?] {re:classloading}
	at net.minecraft.network.play.ServerPlayNetHandler.processTryUseItemOnBlock(ServerPlayNetHandler.java:881) ~[?:?] {re:classloading}
	at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.processPacket(CPlayerTryUseItemOnBlockPacket.java:45) ~[?:?] {re:classloading}
	at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.processPacket(CPlayerTryUseItemOnBlockPacket.java:12) ~[?:?] {re:classloading}
	at net.minecraft.network.PacketThreadUtil.lambda$checkThreadAndEnqueue$0(PacketThreadUtil.java:19) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:20) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.run(ThreadTaskExecutor.java:140) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.concurrent.RecursiveEventLoop.run(RecursiveEventLoop.java:22) [?:?] {re:classloading}
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:759) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:141) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(ThreadTaskExecutor.java:110) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.driveOneInternal(MinecraftServer.java:742) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.driveOne(MinecraftServer.java:736) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.driveUntil(ThreadTaskExecutor.java:123) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.runScheduledTasks(MinecraftServer.java:722) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:666) [?:?] {re:classloading,pl:accesstransformer:B}
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_291] {}

Вложения

  • GhostKnightEntity.txt
    4 KB · Просмотры: 12
  • GhostKnightEntityModel.txt
    1.2 KB · Просмотры: 8
  • GhostKnightEntityRender.txt
    997 байт · Просмотры: 6
  • СlientListener.txt
    982 байт · Просмотры: 5
1,038
57
229
нужна ошибка из IDE, потому что 97 строки у тебя нет в GhostKnightEntity
at com.ed.testmod.entities.GhostKnightEntity.registerAttributes(GhostKnightEntity.java:97) ~[?:?] {re:classloading}
 
1,038
57
229
Сверху