Hello!
I am new to forge modding, and am trying to make an entity. I followed a YouTube tutorial from TechnoVision, but I get an error when I try to register the entity.
This is the file on which I try to register the entity:
public class ModEntityTypes {
public static DeferredRegister<EntityType<?>> ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.ENTITIES, TerraLands.MOD_ID);
// Entity Types
public static final RegistryObject<EntityType<grenadeEntity>> GRENADE = ENTITY_TYPES.register("grenade",
() -> EntityType.Builder.create(grenadeEntity::new, EntityClassification.MISC)
.size(0.25f, 0.25f)
.build(new ResourceLocation(TerraLands.MOD_ID, "grenade").toString()));
}
I get an error here:
() -> EntityType.Builder.create(grenadeEntity::new, EntityClassification.MISC)
For whatever reason, the "new" after "grenadeEntity::" gives me an error saying "Cannot resolve constructor 'grenadeEntity'".
The grenadeEntity class looks like this:
public class grenadeEntity extends TNTEntity {
public grenadeEntity(World worldIn, double x, double y, double z, @Nullable LivingEntity igniter) {
super(worldIn, x, y, z, igniter);
}
public grenadeEntity(EntityType<? extends TNTEntity> type, World worldIn) {
super(type, worldIn);
}
@Override
protected void explode() {
float f = 4.0F;
this.world.createExplosion(this, this.getPosX(), this.getPosYHeight(0.0625D), this.getPosZ(), 4.0F, Explosion.Mode.NONE);
}
}
I tried changing the second constructor:
public grenadeEntity(EntityType<? extends TNTEntity> type, World worldIn) {
super(type, worldIn);
}
to
public grenadeEntity(EntityType<?> type, World worldIn) {
super(type, worldIn);
}
which seems to fix the problem, but then there's a new problem:
() -> EntityType.Builder.create(grenadeEntity::new, EntityClassification.MISC)
.size(0.25f, 0.25f)
.build(new ResourceLocation(TerraLands.MOD_ID, "grenade").toString()));
This entire section of code gets highlighted, giving an error that reads as follows:
Required type: RegistryObject <EntityType<grenadeEntity>>
Provided: RegistryObject <EntityType<Entity>>
I am a little stuck and would greatly appreciate some help on what is going on and how to fix it. Thanks!