Вообщем вот вам треилсы они выглядят не супер пупер визуальчиком а частицами из маинкрафта )
Код:
```java
public class Test extends Module {
ModeF modeF = new ModeF("Modes","Choose Mode:","Bubble","Bubble","Flame","Soul");
SliderF sliderF = new SliderF("PosY","position y",1,0,3,0.1f);
SliderF sliderF1 = new SliderF("Radius","Radius",1,0,3,0.1f);
SliderF particle = new SliderF("Particle count","Counts",1,0,15,1);
TimerUtil timerUtil = new TimerUtil();
public Test() {
super("ParticleEntity", "(enable anim particles)", Category.Render);
addSettings(modeF,sliderF,sliderF1,particle);
}
@Subscribe
public void event(EventUpdate e) {
double radius = sliderF1.getValue().doubleValue();
int particleCount = particle.getValue().intValue();
for (int i = 0; i < particleCount; i++) {
double angle = 2 * Math.PI * i / particleCount;
double offsetX = Math.cos(angle) * radius;
double offsetZ = Math.sin(angle) * radius;
if (modeF.is("Bubble")) {
mc.player.world.addParticle(ParticleTypes.BUBBLE, mc.player.getPosX() + offsetX, mc.player.getPosY() + sliderF.getValue().floatValue(), mc.player.getPosZ() + offsetZ, 0.0D, 0.1D, 0.0D);
} else if (modeF.is("Flame") && MoveUtil.isMoving()) {
mc.player.world.addParticle(ParticleTypes.FLAME, mc.player.getPosX() + offsetX, mc.player.getPosY() + sliderF.getValue().floatValue(), mc.player.getPosZ() + offsetZ, 0.0D, 0.1D, 0.0D);
} else if (modeF.is("Soul") && MoveUtil.isMoving()) {
mc.player.world.addParticle(ParticleTypes.DRAGON_BREATH, mc.player.getPosX() + offsetX, mc.player.getPosY() + sliderF.getValue().floatValue(), mc.player.getPosZ() + offsetZ, 0.0D, 0.1D, 0.0D);
}
}
}
}
```