Skript-Particle by Sovde

Skript addon for creating complex particle effects with minimal hassle.

Events

0

Expressions

22

Effects

3

Conditions

0

Types

13

Sections

2

Structures

0

Total

40

v1.2.0 - Animations and Bug Fixes 143 days, 2 hours and 44 minutes ago

Changelog

* Allowed omitting the first shape in rotate shape drawn shape...
* Added some basic animation for shapes. Draws a shape over a time period in the order its points are calculated. Future updates will likely add more options for animation order.

draw [an] (animation [of] [the]|animated) shape[s] [of] %shapes% [%-directions% %-locations/entities%] [to %-players%] over %timespan%

* Fixed issue where the particle density setter was the inverse of what it should have been. this is a breaking change!
* Some behind-the-scenes particle utilities updates, thanks shane.
* Allowed more lee-way in particle motion names.
* Fixed a few little bugs with nullability.

Syntax
Syntax is available on SkUnity and SkriptHub!

PLEASE REPORT ALL BUGS, SUGGESTIONS, AND OTHER FEEDBACK IN THE ISSUES TAB!!
If you have questions, small suggestions, or just need help, check out the skript-particle channel in the skript-chat discord.

View Update

v1.1.1 - Small Improvements 199 days, 20 hours and 27 minutes ago

Only minor changes this time. Support for icospheres and custom shapes (shapes made of other shapes and/or individual points) will be coming in 1.2.0.

Changelog

* Fixed NPEs when using debug verbosity
* Added lang entries for various types
* Fixed a conflict between SkBee's draw effect and draw shapes
* Made SecParticle much safer and better at erroring (thanks @ShaneBeee)

Breaking Changes:
My apologies for this change, but it was the only way to resolve a collision issue between the draw particle and draw shape effects when using variables.
The draw shape effect section now requires the use of the keyword shape to avoid conflicts:


[sync[hronously]] draw [the] shape[s] [of] %shapes% [%-directions% %-locations/entities%] [to %-players%]",
draw [the] shape [of] %shapes% [%-directions% %-locations/entities%] [to %-players%] for [duration] %timespan% [with (delay|refresh [rate]) [of] %-timespan%]"


Syntax
Syntax is available on SkUnity and SkriptHub!

PLEASE REPORT ALL BUGS, SUGGESTIONS, AND OTHER FEEDBACK IN THE ISSUES TAB!!
If you have questions, small suggestions, or just need help, check out the skript-particle channel in the skript-chat discord.

View Update

Skript-Particle 219 days, 4 hours and 37 minutes ago

skript-particle
Skript addon for creating complex particle effects with minimal hassle.

Requires Skript 2.7+, Java 17, Paper 1.17.1+

Download at the releases page.

You can find help, give suggestions, or voice complaints in the Issues tab here, or on the skript-chat discord here.

Skript-Particle is intended to provide syntax for creating complex shapes with particles. Competent and powerful particle syntaxes exist in addons like SkBee, but creating shapes requires a lot more effort and know-how. They're also inherently slower and less performant than Java, even without considering the usual need to re-calculate the shape each time it's drawn.

The goal for Skript-Particle is to provide easy-to-use, flexible, and powerful syntax to create particle shapes. The basic structure is a set of various shapes, like circles, lines, polygons, and more. These shapes are relative to a center point and aren't positioned anywhere specific. The drawing syntax takes a set of shapes and a location and draws all the shapes relative to that location. This allows the definition of a bunch of shapes that only need to be defined once and can then be drawn in many places and in many rotations. Since shapes can be rotated as a group, it's also very simple to change the rotation and orientation of your shapes with a single line.

Syntax is available on skUnity.

[MEDIA=imgur]xnowPL1[/MEDIA]


Here's some example code:

command /magic:
trigger:
set {_shapes::outer-circle} to a circle of radius 2.225
set {_shapes::inner-circle} to a circle of radius 2
set {_shapes::tiny-circle} to a circle of radius 0.875

set {_shapes::triangle-1} to a triangle with radius 2
set {_shapes::triangle-2} to a triangle with radius 2
rotate shapes {_shapes::triangle-2} around y axis by 60 degrees

set particle of {_shapes::*} to electric spark particle

loop 200 times:
set {_view} to vector from yaw player's yaw and pitch player's pitch
set {_yaw} to yaw of {_view}
# figure out the rotation needed to rotate the shape
set {_rotation} to rotation from vector(0, 1, 0) to {_view}
draw the shapes {_shapes::*} at player's eye location ~ {_view}:
# only happens for this draw call, the original shape is not modified
# note that this is called once for each shape, hence `drawn shape` and not `drawn shapes`
rotate shape drawn shape by {_rotation}
# the shape takes the shortest path to rotate to the desired rotation, but that causes it to appear to rotate as we turn.
# so we'll correct for it by rotating the shape around the y axis by the yaw of the player
rotate shape drawn shape around relative y axis by -1 * {_yaw}

wait 1 tick


[MEDIA=imgur]OMe1dUq[/MEDIA]


Current Features:
  • Shapes:
    • Circles, Ellipses, Spheres, and Ellipsoids
    • Cylinders and Elliptical Cylinders
    • Arcs and Spherical Caps
    • Helices
    • Lines
    • 2D Regular and Irregular Polygons and Prisms
    • Regular polyhedra
    • Rectangles and cuboids

  • Drawing:
    • Three styles: outline, surface, and filled. Some shapes only support one or two of these styles.
    • Rotation to any orientation.
    • Scaling and offsetting.
    • Drawing multiple shapes at once.
    • Options for who sees the particles (player specific)
    • Custom particle data and density per shape
      • Full support for SkBee's particle data syntaxes

    • Debug axes for clear visualization of the orientation of your shape.
    • Shapes are only calculated when they actually change, so you can draw the same shape many times without any performance hit.
    • Option to make all calculation and drawing synchronous (async by default)
      • Ability to continuously draw a shape for a timespan (async only)

    • Dynamic locations, so particles can follow an entity with no additional user effort

  • Particles:
    • Expression for custom particles
    • Section for custom particles
    • Custom motion for particles (vector, inwards/outwards, [anti]clockwise)


Planned Features:
  • Shapes:
    • Bezier Curves
    • Custom shapes defined by a function or structure
    • "Common but difficult to code" shapes

  • Drawing:
    • Combining shapes into a custom shape to be drawn as a single shape.
    • Gradient colour fields, with custom colour nodes.

  • Animation:
    • Ability to stretch out drawing a shape over a timespan
    • Set up a pre-made animation in a custom structure, play back with one draw call

View Update

© Copyright 2014-2024 skUnity

All rights reserved.