While there are a lot of different particles in vanilla, in almost all cases vanilla uses <code>BasicParticleType</code>, a basic implementation of <code>ParticleType</code> and <code>IParticleData</code>. This is used whenever server data is not necessary to spawn the particle. The only vanilla particles that do not use <code>BasicParticleType</code> are redstone dust and block/item texture dependent particles. When requiring server data, a direct implementation of <code>IParticleData</code> is needed. A good way is to extend <code>ParticleType<?></code> and implement <code>IParticleData</code> on the same class. In the case of a more generic solution, an implementation of <code>IParticleData</code> can be referenced while the standard <code>ParticleType<?></code> class is used. | While there are a lot of different particles in vanilla, in almost all cases vanilla uses <code>BasicParticleType</code>, a basic implementation of <code>ParticleType</code> and <code>IParticleData</code>. This is used whenever server data is not necessary to spawn the particle. The only vanilla particles that do not use <code>BasicParticleType</code> are redstone dust and block/item texture dependent particles. When requiring server data, a direct implementation of <code>IParticleData</code> is needed. A good way is to extend <code>ParticleType<?></code> and implement <code>IParticleData</code> on the same class. In the case of a more generic solution, an implementation of <code>IParticleData</code> can be referenced while the standard <code>ParticleType<?></code> class is used. |