Posted October 11, 20214 yr I registered an entity, but when I summon my entity, Minecraft says: "Unable to summon entity" My codes: c/CRegistries.java: package com.kg.kgforge.c; import com.kg.kgforge.KGForge; import net.minecraft.entity.EntityType; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class CRegistries { public static final DeferredRegister<EntityType<?>> ENTITIES = DeferredRegister.create(ForgeRegistries.ENTITIES, KGForge.MODID); } c/CEntities.java: package com.kg.kgforge.c; import com.kg.kgforge.entity.KagoEntity; import net.minecraft.entity.EntityClassification; import net.minecraft.entity.EntityType; public class CEntities { public static final EntityType<KagoEntity> KAGO = EntityType.Builder.of(KagoEntity::new, EntityClassification.MONSTER).sized(0.6F, 1.95F).clientTrackingRange(8).build("kago"); } entity/KagoEntity.java: package com.kg.kgforge.entity; import net.minecraft.entity.EntityType; import net.minecraft.entity.monster.MonsterEntity; import net.minecraft.world.World; public class KagoEntity extends MonsterEntity { public KagoEntity(EntityType<? extends MonsterEntity> type, World world) { super(type, world); } } init/InitEntities.java: package com.kg.kgforge.init; import com.kg.kgforge.c.CEntities; import com.kg.kgforge.c.CRegistries; public class InitEntities { public static void initEntities() { CRegistries.ENTITIES.register("kago", () -> CEntities.KAGO); CRegistries.ENTITIES.register(Init.EVENT_BUS); } } Edited October 13, 20214 yr by ArianKG
October 11, 20214 yr you need to overwrite Entity#getAddEntityPacket and return NetworkHooks#getEntitySpawningPacket
October 13, 20214 yr Author This is the full log when I created a new world and summoned my entity: https://gist.github.com/ArianKG/fdcbefa409e88cd43d6c33fa68dbcc98
October 13, 20214 yr Author @diesieben07 What is the problem now? package com.kg.kgforge.entity; import net.minecraft.entity.EntityType; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.ai.attributes.AttributeModifierMap; import net.minecraft.entity.ai.attributes.Attributes; import net.minecraft.entity.monster.MonsterEntity; import net.minecraft.world.World; import net.minecraftforge.event.entity.EntityAttributeCreationEvent; import java.util.HashMap; import java.util.Map; public class KagoEntity extends MonsterEntity { public KagoEntity(EntityType<? extends KagoEntity> type, World world) { super(type, world); Map<EntityType<? extends LivingEntity>, AttributeModifierMap> map = new HashMap<>(); map.put(type, createAttributes().build()); new EntityAttributeCreationEvent(map); setHealth(getMaxHealth()); } public static AttributeModifierMap.MutableAttribute createAttributes() { return MonsterEntity.createMonsterAttributes() .add(Attributes.MAX_HEALTH, 512.0D) .add(Attributes.MOVEMENT_SPEED, 1.0D) .add(Attributes.FOLLOW_RANGE, 128.0D); } } Edited October 13, 20214 yr by ArianKG
October 13, 20214 yr Author @diesieben07 So, what should I do now? I don't know how can I use EntityAttributeCreationEvent
October 13, 20214 yr Author @diesieben07 What is the problem now? package com.kg.kgforge.c; import com.kg.kgforge.entity.KagoEntity; import net.minecraft.entity.EntityClassification; import net.minecraft.entity.EntityType; import net.minecraftforge.event.entity.EntityAttributeCreationEvent; public class CEntities { public static final EntityType<KagoEntity> KAGO = EntityType.Builder.of(KagoEntity::new, EntityClassification.MONSTER).sized(0.6F, 1.95F).clientTrackingRange(8).build("kago"); public static void registerAttributes(EntityAttributeCreationEvent event) { event.put(KAGO, KagoEntity.createAttributes().build()); } } Edited October 13, 20214 yr by ArianKG
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.