2020
2121public class ParticleEmitter extends ParticleInterface {
2222 private Set <Particle > particles = new HashSet <>();
23+ private final int updatesPerSecond ;
2324
2425 private double emitter_age ;
2526 private final double emitter_random_1 ;
@@ -88,7 +89,7 @@ public void setPosition(Vec offset) {
8889 this .offset = offset ;
8990 }
9091
91- public ParticleEmitter (EmitterInitialization initialization , EmitterLocalSpace local_space ,
92+ public ParticleEmitter (int updatesPerSecond , EmitterInitialization initialization , EmitterLocalSpace local_space ,
9293 EmitterLifetime lifetime , EmitterRate rate , EmitterShape shape ,
9394 ParticleInitialSpeed particleSpeed , ParticleAppearanceTinting particleColour , ParticleLifetime particleLifetime ) {
9495 this .emitter_age = 0 ;
@@ -108,6 +109,8 @@ public ParticleEmitter(EmitterInitialization initialization, EmitterLocalSpace l
108109 this .particleColour = particleColour ;
109110 this .particleLifetime = particleLifetime ;
110111
112+ this .updatesPerSecond = updatesPerSecond ;
113+
111114 initialization .initialize (this );
112115 }
113116
@@ -117,8 +120,13 @@ public void reset() {
117120 initialization .initialize (this );
118121 }
119122
123+ @ Override
124+ public int updatesPerSecond () {
125+ return updatesPerSecond ;
126+ }
127+
120128 public Collection <ParticlePacket > tick () throws InvocationTargetException , NoSuchMethodException , InstantiationException , IllegalAccessException {
121- emitter_age += 1.0 /2000 ;
129+ emitter_age += 1.0 /updatesPerSecond ;
122130
123131 initialization .update (this );
124132 // particles.forEach(Particle::tick);
0 commit comments