Moparticles Is A Minecraft plugin that parses MoLang (The Bedrock particle language), bakes the result into a Java-edition compatible animation (Using Item displays), generates a resource pack with the necessary textures, and plays the animation client-side.
./gradlew shadowJar
/moparticles list
/moparticles play <effect> <location> [radius]
/moparticles playhere <effect> [radius]
/moparticles stop <id>
/moparticles stopall
/moparticles reload
/moparticles info <effect>
I bundled two effects from snowstorm & A custom made one using snowstorm into MoParticles for a showcase. (in src/main/resources/particles/):
snowstorm:fire– Custom snowstorm fire particlesnowstorm:loading- Snowstorm's Loading circle particlesnowstorm:rainbow- Snowstorm's Rainbow particle animation
Add your own by dropping more .json files into
plugins/MoParticles/particles/ and running /moparticles reload.
First add the jar to your minecraft plugin.
Gradle
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
compileOnly 'com.github.Chest-Solutions:MoParticles:1.0.0'
}Maven
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.Chest-Solutions</groupId>
<artifactId>MoParticles</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
</dependencies>Make sure to add MoParticles to your dependencies
plugin.yml
name: MyPlugin
version: 1.0
main: com.example.plugin.MyPlugin
depend: [MoParticles] Here's a simple example of playing a particle.
MoParticleAPI api = MoParticleAPI.get();
String effectName = "fire";
Location targetLocation = player.getLocation();
if (api.hasEffect(effectName)) { // Safety check
UUID animationId = api.play(effectName, targetLocation, 10.0); // Play it
api.stop(animationId); // Stop it
}