I've been trying to create custom TNT, and it keeps saying "Cannot resolve constructor" in the RegistryObject:
The custom TNT class:
package net.nuclear_shmatt.yournewmod.entity.item.custom;
import net.minecraft.world.entity.*;
import net.minecraft.world.entity.item.PrimedTnt;
import net.minecraft.world.level.Level;
import net.nuclear_shmatt.yournewmod.entity.ModEntityTypes;
import javax.annotation.Nullable;
public class PrimedLumeniteTnt extends PrimedTnt {
@Nullable
private LivingEntity owner;
public PrimedLumeniteTnt(EntityType<? extends PrimedLumeniteTnt> type, Level level) {
super(type, level);
}
public PrimedLumeniteTnt(Level level, double x, double y, double z, @Nullable LivingEntity igniter) {
this(ModEntityTypes.LUMENITE_TNT.get(), level);
this.setPos(x, y, z);
double d0 = level.random.nextDouble() * (double)((float)Math.PI * 2F);
this.setDeltaMovement(-Math.sin(d0) * 0.02D, (double)0.2F, -Math.cos(d0) * 0.02D);
this.setFuse(80);
this.xo = x;
this.yo = y;
this.zo = z;
this.owner = igniter;
}
@Nullable
public LivingEntity getOwner() {
return this.owner;
}
@Override
protected void explode() {
float f = 4.0F;
this.level.explode(this, this.getX(), this.getY(0.0625D), this.getZ(), f, Level.ExplosionInteraction.TNT);
}
}
And this is the registry:
package net.nuclear_shmatt.yournewmod.entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.MobCategory;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import net.nuclear_shmatt.yournewmod.YourNewMod;
import net.nuclear_shmatt.yournewmod.entity.item.custom.PrimedLumeniteTnt;
public class ModEntityTypes {
public static final DeferredRegister<EntityType<?>> ENTITY_TYPES =
DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, YourNewMod.MODID);
public static final RegistryObject<EntityType<? extends PrimedLumeniteTnt>> LUMENITE_TNT = ENTITY_TYPES.register("lumenite_tnt",
() -> EntityType.Builder.of(PrimedLumeniteTnt::new, MobCategory.MISC)
.fireImmune()
.sized(0.98F, 0.98F)
.build(new ResourceLocation(YourNewMod.MODID, "lumenite_tnt").toString()));
public static void register(IEventBus eventBus) {
ENTITY_TYPES.register(eventBus);
}
}
"PrimedLumenite::new", new is underlined with red.