Requires Java 8, Spigot 1.8.8 this might change in the future
Download Source
Partec is a Plugin/API which allows you to add new particles to the game.
Basically, it helps you create client-side armorstands with custom movements and custom block models on their head.
You can add new so called Partecles to the game just by using the config of the Partec plugin.
Once you've done that, the API allows you to create highly customizable events.
Note that this plugin is being shipped with "AraxVisuals", a small plugin which just shows you how to make use of the API.
It is also shipped with a resource pack, so you can test out the default Partecles the way they are supposed to be shown.
Commands:
Partec:
/partec list: list all active Partecles on the server
/partec clear: deletes all Partecles
/partec count: returns amount of active Partecles
/partecle <type> <x> <y> <z> [speed=1] [viewerPlayers=none] [anchorPlayer=CommandSender]: spawns a Partecle defined in your config.
"~" Operator may be used for relative coordinates.
Name several players using "name,name".
AraxVisuals:
/axvis <effect> : Plays an effect
In BETA 4 or now known as GAMMA extreme performancy adjustments were made in order to decrease server load dramatically.
Even a thousand Partecles can be used without overly high server load.
http://imgur.com/SXBsu8B
This is the "stormtroopers" effect of AraxVisuals.
It spawns 2048 stormtroopers in a 32x32 grid and makes use of a player item model, which can load any skin and may be used for a variety of effects.
https://imgur.com/Eh0K1Nq
This gif shows a simple example of a Flame-Partecle.
This Partecle is actually an armor stand with a custom model on its head. What Partec does for you, is automatically making the armorstand look at you, so it appears like a standard Minecraft particle -> a 2D surface in 3D space.
https://imgur.com/6bSD5XR
Partec also makes it possible to use players as anchor points. So when the specified player moves, the Partecle moves with them.
https://imgur.com/UC6xnjs
Ever since BETA 3, it's also possible to use entities as anchor points. Moreover, if the spawned Partecle has no own movement, Partec teleports it in a more precise way which allows you to attach clothes, decorations, wings etc. to entities.
http://imgur.com/3tPKUE8
This is what happens when you use the setting "withanchor" for fixed Partecle angles.
Code (config (Unknown Language)):
partecle render distance: 50
Code (partecle-list (Unknown Language)):
#name:
# item: item material
# damage: item damage
# lifetime: lifetime in ticks
# movements:
# linear: [x, y, z]
# accelerated: [x, y, z]
# scattering: [speed]
# gravity: [gravity constant in m/s^2]
# rotating: [radius, speed, degrees]
# swinging: [x, y, z, speed, degrees]
# fixed:
# pitch: angle OR "false"/"default" OR "toanchor"/"atanchor" OR "withanchor"
# yaw: angle OR "false"/"default" OR "toanchor"/"atanchor" OR "withanchor"
# rotation:
# pitch: angle
# yaw: angle
pumpkin:
item: pumpkin
damage: 0
lifetime: 255
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0.05]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: withanchor
rotation:
pitch: 0
yaw: 0
wings:
item: gold_block
damage: 0
lifetime: 1000
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: withanchor
rotation:
pitch: 0
yaw: 0
wings_charizard:
item: diamond_block
damage: 0
lifetime: 1000
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: withanchor
rotation:
pitch: 0
yaw: 0
player_axe:
item: fence_gate
damage: 0
lifetime: 1000
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: withanchor
rotation:
pitch: 0
yaw: 0
player_stormtrooper:
item: spruce_fence_gate
damage: 0
lifetime: 100
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: 0
rotation:
pitch: 0
yaw: 0
flame:
item: iron_block
damage: 0
lifetime: 255
movements:
linear: [0, 0.01, 0]
accelerated: [0, 0, 0]
scattering: [0.08]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: default
yaw: default
bubble:
item: glass
damage: 0
lifetime: 40
movements:
linear: [0, 0.1, 0]
accelerated: [0, 0, 0]
scattering: [0.033]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0.2, 0, 15, 180]
fixed:
pitch: 0
yaw: 0
glitter:
item: ice
damage: 0
lifetime: 120
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: false
protection:
item: bedrock
damage: 0
lifetime: 200
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [1.5, 3, 0]
swinging: [0, 0.3, 0, 10, 90]
fixed:
pitch: 0
yaw: atanchor
# item: item material
# damage: item damage
# lifetime: lifetime in ticks
# movements:
# linear: [x, y, z]
# accelerated: [x, y, z]
# scattering: [speed]
# gravity: [gravity constant in m/s^2]
# rotating: [radius, speed, degrees]
# swinging: [x, y, z, speed, degrees]
# fixed:
# pitch: angle OR "false"/"default" OR "toanchor"/"atanchor" OR "withanchor"
# yaw: angle OR "false"/"default" OR "toanchor"/"atanchor" OR "withanchor"
# rotation:
# pitch: angle
# yaw: angle
pumpkin:
item: pumpkin
damage: 0
lifetime: 255
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0.05]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: withanchor
rotation:
pitch: 0
yaw: 0
wings:
item: gold_block
damage: 0
lifetime: 1000
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: withanchor
rotation:
pitch: 0
yaw: 0
wings_charizard:
item: diamond_block
damage: 0
lifetime: 1000
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: withanchor
rotation:
pitch: 0
yaw: 0
player_axe:
item: fence_gate
damage: 0
lifetime: 1000
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: withanchor
rotation:
pitch: 0
yaw: 0
player_stormtrooper:
item: spruce_fence_gate
damage: 0
lifetime: 100
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: 0
rotation:
pitch: 0
yaw: 0
flame:
item: iron_block
damage: 0
lifetime: 255
movements:
linear: [0, 0.01, 0]
accelerated: [0, 0, 0]
scattering: [0.08]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: default
yaw: default
bubble:
item: glass
damage: 0
lifetime: 40
movements:
linear: [0, 0.1, 0]
accelerated: [0, 0, 0]
scattering: [0.033]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0.2, 0, 15, 180]
fixed:
pitch: 0
yaw: 0
glitter:
item: ice
damage: 0
lifetime: 120
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [0, 0, 0]
swinging: [0, 0, 0, 0, 0]
fixed:
pitch: 0
yaw: false
protection:
item: bedrock
damage: 0
lifetime: 200
movements:
linear: [0, 0, 0]
accelerated: [0, 0, 0]
scattering: [0]
gravity: [0]
rotating: [1.5, 3, 0]
swinging: [0, 0.3, 0, 10, 90]
fixed:
pitch: 0
yaw: atanchor
damage: damage value of item
lifetime: ticks until removal of Partecle
movements:
linear: [x, y, z]
x = movement in x-direction each tick
y = movement in y-direction each tick
z = movement in z-direction each tick
scattering: [n]
n = length of random vector which moves Partecle each tick
accelerated: [x, y, z]
x = acceleration in x-direction each tick (in blocks/tick = 1/400m/s)
y = acceleration in y-direction each tick (in blocks/tick = 1/400m/s)
z = acceleration in z-direction each tick (in blocks/tick = 1/400m/s)
gravity: [n]
n = acceleration in negative y-direction each tick (in m/s = 400blocks/tick)
rotating: [r, s, d]
r = radius of rotation
s = speed of rotation in degrees/tick
d = starting point in degrees
swinging: [x, y, z, s, d]
x = total swing into x-direction
y = total swing into y-direction
z = total swing into z-direction
s = speed in degrees/tick
d = starting point in degrees
fixed:
default = Partecle faces the viewer
false = default
leaving empty = default
atanchor = Partecle faces anchor player
toanchor = atanchor
withanchor = Partecle adapts to anchor player orientation
rotation:
pitch=extra pitch, independent from fixed mode
yaw=extra yaw, independent from fixed mode
The API of Partec contains 2 different classes which you should make use of in other plugins.
org.thearaxgroup.Partec.API.PartecleCreationManager
Code (code (Unknown Language)):
public static Partecle spawn(String type, Location loc, List<Player> viewerPlayers, Player anchorPlayer);
public static Partecle spawn(String type, Location loc, List<Player> viewerPlayers);
public static Partecle spawn(String type, Location loc);
public static Partecle spawn(String type, Location loc, List<Player> viewerPlayers);
public static Partecle spawn(String type, Location loc);
loc: Location of Partecle
viewerPlayers: List of players who are able to see the Partecle. If left empty, the Partecle is visible to everyone.
default = new ArrayList<Player>();
anchorPlayer: Player who drags the Partecle with them when moving
default = null;
Code (code (Unknown Language)):
public static void startMovement(Partecle partecle, String type, float speed);
Code (code (Unknown Language)):
public static Partecle spawnAndMove(String type, Location loc, float speed, List<Player> viewerPlayers, Player anchorPlayer)
Code (methodforstartinglinearmovements (Unknown Language)):
//LINEAR
public static void startMovementLinear(Partecle partecle, float x, float y, float z, byte precision) {
if (precision == 0) {Bukkit.getLogger().info("Movement precision can not be 0"); return;}
partecle.setPrecision(precision);
partecle.addMovement(new float[] {0,x,y,z});
}
public static void startMovementLinear(Partecle partecle, float x, float y, float z, byte precision) {
if (precision == 0) {Bukkit.getLogger().info("Movement precision can not be 0"); return;}
partecle.setPrecision(precision);
partecle.addMovement(new float[] {0,x,y,z});
}
It's an abstract utility class which you can use to give Partecles a movement.
If you spawn a Partecle and move it according to its settings in the partecle-list.yml, you won't need to use this class.
Normally, these two abstract classes should be all you need when working with the API.
This plugin was created by members of The Arax Group. We are a group of coders and artists who tackle a variety of projects, starting with this Head Database. We provide a high standard of quality and a unified policy for all of or paid plugins.
More by The Arax Group:
Head Database - Head Database ChestGUI linked to a regularly updated database with custom URL heads.
![[IMG]](http://proxy.spigotmc.org/9c91d77a0b024afc1d12d1caa95038bcb209d4b8?url=https%3A%2F%2Fwww.paypalobjects.com%2Fen_US%2Fi%2Fbtn%2Fbtn_donateCC_LG.gif)
Quick facts
- Edition: Minecraft Java
- File type: .jar
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
[DEPRECATED] Partec is a free Minecraft Java mod. Downloaded 677 times (via Spigot). Download it and open it directly in the game.