Lightweight particle API for Bukkit plugins, compatible with all Minecraft versions starting with 1.7.10!
Important
If you don't need 1.7/1.8 support, this library is not required, and you should just use the Bukkit methods Player#spawnParticle
and World#spawnParticle
.
- Easy to use
- No reflection on compatible Bukkit versions
- Support all particle data on all versions for legacy particles
- Works on 1.13 and higher servers, with and without legacy particles
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<relocations>
<relocation>
<pattern>fr.mrmicky.fastparticles</pattern>
<!-- Replace with the package of your plugin ! -->
<shadedPattern>com.yourpackage.fastparticles</shadedPattern>
</relocation>
</relocations>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>fr.mrmicky</groupId>
<artifactId>FastParticles</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
plugins {
id 'com.github.johnrengelman.shadow' version '7.1.2'
}
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'fr.mrmicky:FastParticles:2.0.1'
}
Copy all the classes in your plugin.
Simply use a method from FastParticle
:
// Get a ParticleType
ParticleType flame = ParticleType.of("FLAME");
ParticleType redstone = ParticleType.of("REDSTONE");
ParticleType blockCrack = ParticleType.of("BLOCK_CRACK");
// Spawn particle for a player
flame.spawn(player, loc, 1);
// Spawn particle for all players in a world
flame.spawn(world, loc, 1);
// Spawn colored particle to a player
redstone.spawn(player, loc, 1, ParticleData.createDustOptions(Color.BLUE, 1));
// Spawn block crack particle to a player
blockCrack.spawn(player, loc, 1, ParticleData.createBlockData(Material.DIAMOND));
When you need to spawn a large amount of particles, you can cache instances of ParticleType
and ParticleData
to slightly improve performances.