@OnlyIn(Dist.CLIENT)
public static class DrippingLumiFactory implements IParticleFactory<BasicParticleType> {
protected final IAnimatedSprite spriteWithAge;
public DrippingLumiFactory(IAnimatedSprite spriteWithAge) {
this.spriteWithAge = spriteWithAge;
}
public Particle makeParticle(BasicParticleType typeIn, ClientWorld worldIn, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) {
DrippingLumi.Dripping dripparticle$dripping = new DrippingLumi.Dripping(worldIn, x, y, z, Fluids.EMPTY, ParticleInit.FALLING_LUMI.get());
dripparticle$dripping.particleGravity *= 0.01F;
dripparticle$dripping.maxAge = 100;
dripparticle$dripping.setColor(0.186F, 0.209F, 0.070F);
dripparticle$dripping.selectSpriteRandomly(this.spriteWithAge);
return dripparticle$dripping;
}
}
registerFactory
@EventBusSubscriber(modid = MyMod.MOD_ID, bus = Bus.MOD)
public class ParticleUtil {
@SubscribeEvent(priority = EventPriority.LOWEST)
public static void registerParticles(ParticleFactoryRegisterEvent event) {
Minecraft.getInstance().particles.registerFactory(ParticleInit.DRIPPING_LUMI.get(), new DrippingLumi.DrippingLumiFactory());
}
}
.registerFactory gives an error, "The method registerFactory(ParticleType<T>, IParticleFactory<T>) in the type ParticleManager is not applicable for the arguments (ParticleType<capture#1-of ?>, DrippingLumi.DrippingLumiFactory)"
Trying to get my dripping particles to work.
Factory
registerFactory
.registerFactory gives an error, "The method registerFactory(ParticleType<T>, IParticleFactory<T>) in the type ParticleManager is not applicable for the arguments (ParticleType<capture#1-of ?>, DrippingLumi.DrippingLumiFactory)"
Help!!
Got it working! I had registered RegistryObject<BasicParticleType> as RegistryObject<ParticleType<?>>