MrMicky-FR / FastParticles

Lightweight particle API for Bukkit plugins, with 1.7.10 to 1.21 support.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FastParticles

JitPack Discord

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.

Features

  • 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

Installation

Maven

<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>

Gradle

plugins {
    id 'com.github.johnrengelman.shadow' version '7.1.2'
}

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'fr.mrmicky:FastParticles:2.0.1'
}

Manual (not recommended)

Copy all the classes in your plugin.

Usage

Spawning particles

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.

About

Lightweight particle API for Bukkit plugins, with 1.7.10 to 1.21 support.

License:MIT License


Languages

Language:Java 100.0%