I am new to modding and I wanted to make a custom particle for my mod I made the and I got the error
Caused by: java.lang.IllegalStateException: Redundant texture list for particle
and I don't know how to fix it.
everything I have made relating to the particle if need to fix it:
package net.XO.echoing_void.particle;
import net.XO.echoing_void.Echoing_Void;
import net.minecraft.core.particles.ParticleType;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
public class ModParticles {
public static final DeferredRegister<ParticleType<?>> PARTICLE_TYPES =
DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, Echoing_Void.MODID);
public static final RegistryObject<SimpleParticleType> VOID_BUBBLES =
PARTICLE_TYPES.register("void_bubbles", () -> new SimpleParticleType(true));
public static void register(IEventBus eventBus) {
PARTICLE_TYPES.register(eventBus);
}
}
package net.XO.echoing_void.particle.custom;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.particle.*;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class VoidBubbles extends TextureSheetParticle {
protected VoidBubbles(ClientLevel level, double xCoord, double yCoord, double zCoord,
SpriteSet spriteSet, double xd, double yd, double zd) {
super(level, xCoord, yCoord, zCoord, xd, yd, zd);
this.friction = 0.8F;
this.xd = xd;
this.yd = yd;
this.zd = zd;
this.quadSize *= 0.85F;
this.lifetime = 20;
this.setSpriteFromAge(spriteSet);
this.rCol = 1f;
this.gCol = 1f;
this.bCol = 1f;
}
@Override
public void tick() {
super.tick();
fadeOut();
}
private void fadeOut() {
this.alpha = (-(1/(float)lifetime) * age + 1);
}
@Override
public ParticleRenderType getRenderType() {
return ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT;
}
@OnlyIn(Dist.CLIENT)
public static class Provider implements ParticleProvider<SimpleParticleType> {
private final SpriteSet sprites;
public Provider(SpriteSet spriteSet) {
this.sprites = spriteSet;
}
public Particle createParticle(SimpleParticleType particleType, ClientLevel level,
double x, double y, double z,
double dx, double dy, double dz) {
return new VoidBubbles(level, x, y, z, this.sprites, dx, dy, dz);
}
}
}
{
"textures": [
"echoing_void:void_bubble"
]
}