Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bytez1337/particlelib
Multiversion spigot library supporting all particles and their data (1.8-1.19.3)
https://github.com/bytez1337/particlelib
bukkit minecraft minecraft-api minecraft-library minecraft-particleeffect minecraft-particles particle particle-api particleapi particleeffect particles spigot spigot-particle-api spigot-particles
Last synced: 1 day ago
JSON representation
Multiversion spigot library supporting all particles and their data (1.8-1.19.3)
- Host: GitHub
- URL: https://github.com/bytez1337/particlelib
- Owner: ByteZ1337
- License: mit
- Archived: true
- Created: 2019-06-12T08:36:30.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-06-15T16:15:53.000Z (over 1 year ago)
- Last Synced: 2024-09-23T05:02:15.093Z (4 months ago)
- Topics: bukkit, minecraft, minecraft-api, minecraft-library, minecraft-particleeffect, minecraft-particles, particle, particle-api, particleapi, particleeffect, particles, spigot, spigot-particle-api, spigot-particles
- Language: Java
- Homepage:
- Size: 371 KB
- Stars: 275
- Watchers: 8
- Forks: 28
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# NO LONGER MAINTAINED. ANY VERSION AFTER 1.19.4 WILL NOT BE SUPPORTED! USE [PAPER'S PARTICLEBUILDER](https://jd.papermc.io/paper/1.20/com/destroystokyo/paper/ParticleBuilder.html)
ParticleLib
A spigot library supporting all particles from1.8
to1.19.3
Support •
Features •
Download •
Usage## Support
Join the [Discord](https://discord.gg/EpVMXtXB2t) if you have any questions. **Don't** open an issue to ask for support.
## Features
* Multiversion support from 1.8 - 1.19.3 (All in one Jar)
* Colored particles
* Particles with custom velocities
* Particles with textures
* Support for every particle in minecraft
* An easy and fluent API to easily spawn particles with custom data## Download
The latest version can be downloaded on the
releases page.### Maven
```xml
xyz.xenondevs
particle
1.8.4
```
### Gradle
```groovy
dependencies {
implementation 'xyz.xenondevs:particle:1.8.4'
}
```Note: ParticleLib is on the central repository, so no extra repositories are required.
## Usage
For more advanced usage explanations check out the [Wiki](https://github.com/ByteZ1337/ParticleLib/wiki).
### Simple
To spawn particles, you can either use the ``ParticleEffet#display`` method, or you can use the ``ParticleBuilder``.
For normal particles without any extra data, the display method is the best choice.**Example:**
```java
ParticleEffect.FLAME.display(location);
```This code will spawn a flame particle at the specified location.
**Some particles can have extra data. This data can contain a range of different properties.**
For these special cases, I will only use the ParticleBuilder. Display methods with the specific parameters still exist,
but shouldn't be used to avoid confusion.---
### Directional
Some particles accept a custom velocity. When given a ``Vector`` they will travel to the specified offset. The velocity
is stored in the offsetX, offsetY and offsetZ properties of the particle.To see if a particle is Directional check if it has the ``DIRECTIONAL`` PropertyType.
**Note:** The particles ``Enchantment_Table`` and ``Nautilus`` will be displayed at the offset location and fly to the
original location.**Example:**
```java
new ParticleBuilder(ParticleEffect.FLAME, player.getLocation())
.setOffsetY(1f)
.setSpeed(0.1f)
.display();
```This code will spawn a flame particle that flies to the player's head.
Minecraft's particles can behave quite weirdly, so you may have to tweak the speed parameter when using directional
particles.---
### Colored
A few particles like ``Redstone`` can have custom colors applied to them. This color can be set with ``ParticleColor``
implementations:* ``RegularColor``
* ``NoteColor``If your plugin runs on a pre 1.13 server, you can also set the RGB values in the offset properties.
To see if a particle is colorable check if it has the ``COLORABLE`` PropertyType.
**Note:**
* Since 1.13 ``Redstone`` particles are storing their color values in another property. Therefore, the offset properties can be properly used on servers above 1.13.
* ``Note`` particles don't accept a custom color. Instead, they support a note value from 0 to 24. Use ``NoteColor`` for
this particle.**Regular Example:**
```java
new ParticleBuilder(ParticleEffect.REDSTONE, location)
.setParticleData(new RegularColor(255,255,0))
.display()
```This code will spawn a yellow ``Redstone`` particle at the specified location.
``setParticleData(new RegularColor(255, 255, 0))`` can also be replaced with ``setColor(Color.YELLOW)`` in case you want
to use ``java.awt.Color`` instead.**Note Example:**
```java
new ParticleBuilder(ParticleEffect.NOTE, location)
.setParticleData(new NoteColor(1))
.display()
```This code will spawn a green ``Note`` particle at the specified location.
---
### Textured
Several particles even accept textures as custom properties! These textures are modified with implementations of the
``ParticleTexture`` class:* ``BlockTexture``
* ``ItemTexture``**Warning:** These particles **NEED** the texture property, or the particle won't be displayed.
To see if a particle supports custom textures check if it has the ``REQUIRES_BLOCK`` or the ``REQUIRES_ITEM``
PropertyType.Block texture example:
```java
new ParticleBuilder(ParticleEffect.FALLING_DUST, location)
.setParticleData(new BlockTexture(Material.STONE))
.display()
```This code will spawn a ``Falling Dust`` particle with a stone texture.
Item texture example:
```java
ItemStack item = new ItemStack(Material.DIAMOND_AXE);
new ParticleBuilder(ParticleEffect.ITEM_CRACK, location)
.setParticleData(new ItemTexture(item))
.display();
```This code will spawn an ``Item Crack`` particle with a diamond axe texture.