Не спавнится моб

Версия Minecraft
1.12.2
4,167
68
693
Отчего может происходить такое при попытке заспавнить моба из яйца?
Код:
Caused by: java.lang.IllegalArgumentException: Duplicate id value for 15!
    at net.minecraft.network.datasync.EntityDataManager.register(EntityDataManager.java:105) ~[EntityDataManager.class:?]

Ошибка вылезает сразу после регистрации параметров:
Java:
@Override
protected void entityInit() {
    super.entityInit();
    this.dataManager.register(SADDLED, false);
}

Код:
[12:13:41] [Server thread/ERROR] [FML]: Encountered an exception while constructing entity 'mist:momo'
java.lang.reflect.InvocationTargetException: null
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_131]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_131]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_131]
    at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_131]
    at net.minecraftforge.fml.common.registry.EntityEntryBuilder$ConstructorFactory.apply(EntityEntryBuilder.java:306) [EntityEntryBuilder$ConstructorFactory.class:?]
    at net.minecraftforge.fml.common.registry.EntityEntryBuilder$ConstructorFactory.apply(EntityEntryBuilder.java:292) [EntityEntryBuilder$ConstructorFactory.class:?]
    at net.minecraftforge.fml.common.registry.EntityEntry.newInstance(EntityEntry.java:68) [EntityEntry.class:?]
    at net.minecraft.entity.EntityList.createEntityByIDFromName(EntityList.java:244) [EntityList.class:?]
    at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:242) [ItemMonsterPlacer.class:?]
    at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:98) [ItemMonsterPlacer.class:?]
    at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:876) [ForgeHooks.class:?]
    at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:200) [ItemStack.class:?]
    at net.minecraft.server.management.PlayerInteractionManager.processRightClickBlock(PlayerInteractionManager.java:507) [PlayerInteractionManager.class:?]
    at net.minecraft.network.NetHandlerPlayServer.processTryUseItemOnBlock(NetHandlerPlayServer.java:769) [NetHandlerPlayServer.class:?]
    at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:68) [CPacketPlayerTryUseItemOnBlock.class:?]
    at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:13) [CPacketPlayerTryUseItemOnBlock.class:?]
    at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:21) [PacketThreadUtil$1.class:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_131]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_131]
    at net.minecraft.util.Util.runTask(Util.java:53) [Util.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:798) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:743) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) [IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:592) [MinecraftServer.class:?]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_131]
Caused by: java.lang.IllegalArgumentException: Duplicate id value for 15!
    at net.minecraft.network.datasync.EntityDataManager.register(EntityDataManager.java:105) ~[EntityDataManager.class:?]
    at ru.liahim.mist.entity.EntityMomo.entityInit(EntityMomo.java:138) ~[EntityMomo.class:?]
    at net.minecraft.entity.Entity.<init>(Entity.java:265) ~[Entity.class:?]
    at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:214) ~[EntityLivingBase.class:?]
    at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:101) ~[EntityLiving.class:?][/SPOILER]
    at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:22) ~[EntityCreature.class:?]
    at net.minecraft.entity.EntityAgeable.<init>(EntityAgeable.java:27) ~[EntityAgeable.class:?]
    at net.minecraft.entity.passive.EntityAnimal.<init>(EntityAnimal.java:30) ~[EntityAnimal.class:?]
    at net.minecraft.entity.passive.EntityTameable.<init>(EntityTameable.java:33) ~[EntityTameable.class:?]
    at ru.liahim.mist.entity.EntityAnimalMist.<init>(EntityAnimalMist.java:16) ~[EntityAnimalMist.class:?]
    at ru.liahim.mist.entity.EntityGender.<init>(EntityGender.java:28) ~[EntityGender.class:?]
    at ru.liahim.mist.entity.EntityMomo.<init>(EntityMomo.java:66) ~[EntityMomo.class:?]
    ... 25 more
 
Да вот дело в том, что у меня два дочерних класса от одного родителя. Они практически ничем, кроме имён не отличаются, но один моб нормально работает, а второй вот так вот.

Регаю так:
Java:
    public static void registerEntities() {
        int id = 0;
        EntityRegistry.registerModEntity(new ResourceLocation(Mist.MODID, "hriak"), EntityHriak.class, "hriak", id++, Mist.instance, 80, 3, true, 0x3f4724, 0x897e60);
        EntityRegistry.registerModEntity(new ResourceLocation(Mist.MODID, "momo"), EntityMomo.class, "momo", id++, Mist.instance, 80, 3, true, 0x3d524e, 0x889997);
    }
 
а можно увидеть обьявление классов этих мобов?
типо там
public class EntityHriak extends ... implements ...
public class EntityMomo extends ... implements ...
 
Если вам о чём-то это скажет... Всё вполне стандартно.
public class EntityHriak extends EntityGender implements IShearable
public class EntityMomo extends EntityGender

Конструктор:
Java:
public EntityMomo(World world) {
    super(world);
    this.setSize(1.25F, 1.125F);
}

В EntityGender аналогичный... Просто переопределение мира.
 
А! Кстати да!
Если делаю не вот так:
Java:
public static final DataParameter<Boolean> SADDLED = EntityDataManager.<Boolean>createKey(EntityMomo.class, DataSerializers.BOOLEAN);
а вот так:
Java:
public static final DataParameter<Boolean> SADDLED = EntityHriak.SADDLED;
то всё работает.

Порылся в коде, думал, что нельзя имена одинаковые давать... Но нет. Там всё по классу моба фильтруется.
 
Кстати, сущностей лучше регать через ивент, чтобы на сл версии потом легче портировать можно было
 
Назад
Сверху