Posted November 1, 20204 yr I'm trying to create a MegaTNT which derives from TNTEntity but if I have 2 constructors it will not work, but I need both so I can have the position of the entity etc. so this is my entities class and the error I'm getting from ::new is cannot resolve constructor 'MegaTNTEntity' public static final DeferredRegister<EntityType<?>> ENTITIES = DeferredRegister.create(ForgeRegistries.ENTITIES, VanillaEnhanced.MOD_ID); public static final RegistryObject<EntityType<MegaTNTEntity>> MEGA_TNT = ENTITIES.register("mega_tnt", () -> EntityType.Builder.create(MegaTNTEntity::new, EntityClassification.MISC) .build(new ResourceLocation(VanillaEnhanced.MOD_ID,"mega_tnt").toString())); this is my MegaTNT public MegaTNTEntity(EntityType<? extends MegaTNTEntity> type, World worldIn) { super(type, worldIn); this.preventEntitySpawning = true; setFuse(160); } public MegaTNTEntity(World worldIn, double x, double y, double z, LivingEntity igniter) { super(worldIn, x, y, z, igniter); } @Override protected void explode() { this.world.createExplosion(this, this.getPosX(), this.getPosYHeight(0.0625D), this.getPosZ(), 10.0F, Explosion.Mode.BREAK); } if I remove the second constructor ::new works, am I doing something wrong? I'm quite new to modding so it might be a simple problem but I'm so confused .-. Edited November 1, 20204 yr by MythicalMarsh more descriptive title
November 1, 20204 yr This is not a modding issue. This is an ambiguity problem with Java 8 lambdas with overloaded methods/constructors. I think this post from stack overflow should give a decent explanation of this issue.
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.