Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mrmicky-fr/fastparticles

Lightweight particle API for Bukkit plugins, with 1.7.10 to 1.21 support.
https://github.com/mrmicky-fr/fastparticles

api bukkit minecraft particles spigot

Last synced: 18 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# FastParticles
[![JitPack](https://jitpack.io/v/fr.mrmicky/FastParticles.svg)](https://jitpack.io/#fr.mrmicky/FastParticles)
[![Discord](https://img.shields.io/discord/390919659874156560.svg?colorB=5865f2&label=Discord&logo=discord&logoColor=white)](https://discord.gg/q9UwaBT)

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`](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Player.html#spawnParticle(org.bukkit.Particle,org.bukkit.Location,int)) and [`World#spawnParticle`](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/World.html#spawnParticle(org.bukkit.Particle,org.bukkit.Location,int)).

## 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
```xml



org.apache.maven.plugins
maven-shade-plugin
3.3.0


package

shade






fr.mrmicky.fastparticles

com.yourpackage.fastparticles





jitpack.io
https://jitpack.io


fr.mrmicky
FastParticles
2.0.1

```

### Gradle
```groovy
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`:
```java
// 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.