diff --git a/src/main/java/org/spongepowered/api/effect/particle/ParticleOptions.java b/src/main/java/org/spongepowered/api/effect/particle/ParticleOptions.java index 924d98524d..f7debab78e 100644 --- a/src/main/java/org/spongepowered/api/effect/particle/ParticleOptions.java +++ b/src/main/java/org/spongepowered/api/effect/particle/ParticleOptions.java @@ -37,6 +37,7 @@ import org.spongepowered.api.registry.RegistryTypes; import org.spongepowered.api.util.Color; import org.spongepowered.api.util.Direction; +import org.spongepowered.api.util.Ticks; import org.spongepowered.math.vector.Vector3d; /** @@ -74,21 +75,21 @@ public final class ParticleOptions { */ public static final DefaultedRegistryReference> COLOR = ParticleOptions.key(ResourceKey.sponge("color")); + /** + * This option will affect the delay of particles that are spawned. + * The only vanilla {@link ParticleType}s this option isn't applicable to are: + * + * + */ + public static final DefaultedRegistryReference> DELAY = ParticleOptions.key(ResourceKey.sponge("delay")); + /** * This option will change the direction of a particle. */ public static final DefaultedRegistryReference> DIRECTION = ParticleOptions.key(ResourceKey.sponge("direction")); -// /** TODO -// * This option will modify the color of a particle. The only vanilla -// * {@link ParticleType}s this option is applicable to is -// * {@link ParticleTypes#FIREWORKS}. -// * -// *

The {@link List} may never be empty. Or a {@link IllegalArgumentException} -// * will be thrown when applying.

-// */ -// public static final Supplier>> FIREWORK_EFFECTS = Sponge.getRegistry().getCatalogRegistry().provideSupplier(ParticleOption.class, "firework_effects"); - /** * This option will affect the appearance of a particle. The only vanilla * {@link ParticleType} this option is applicable to are: @@ -101,13 +102,6 @@ public final class ParticleOptions { */ public static final DefaultedRegistryReference> ITEM_STACK_SNAPSHOT = ParticleOptions.key(ResourceKey.sponge("item_stack_snapshot")); -// /** TODO -// * This option will affect the appearance of a particle. The only vanilla -// * {@link ParticleType} this option is applicable to is -// * {@link ParticleTypes#NOTE}. -// */ -// public static final Supplier> NOTE = Sponge.getRegistry().getCatalogRegistry().provideSupplier(ParticleOption.class, "note"); - /** * This option will affect how all the particles are spread. */ @@ -134,6 +128,16 @@ public final class ParticleOptions { */ public static final DefaultedRegistryReference> QUANTITY = ParticleOptions.key(ResourceKey.sponge("quantity")); + /** + * This option will change the roll of a particle. The only + * vanilla {@link ParticleType}s this option is applicable to is: + * + *
    + *
  • {@link ParticleTypes#SCULK_CHARGE}
  • + *
+ */ + public static final DefaultedRegistryReference> ROLL = ParticleOptions.key(ResourceKey.sponge("roll")); + /** * This option will change the scale of a particle. The only * vanilla {@link ParticleType}s this option is applicable to is: @@ -147,21 +151,25 @@ public final class ParticleOptions { */ public static final DefaultedRegistryReference> SCALE = ParticleOptions.key(ResourceKey.sponge("scale")); -// /** TODO -// * This option will affect whether a particle type will have a lower -// * velocity in the horizontal plane. The only vanilla {@link ParticleType}s -// * that this option will affect are: -// * -// *
    -// *
  • {@link ParticleTypes#EFFECT}
  • -// *
  • {@link ParticleTypes#INSTANT_EFFECT}
  • -// *
  • {@link ParticleTypes#WITCH_MAGIC}
  • -// *
-// * -// *

These particle types don't have a configurable velocity (through -// * {@link #VELOCITY}) in the horizontal plane.

-// */ -// public static final Supplier> SLOW_HORIZONTAL_VELOCITY = Sponge.getRegistry().getCatalogRegistry().provideSupplier(ParticleOption.class, "slow_horizontal_velocity"); + /** + * This option will change the color the transition particle will change to. + * The only vanilla {@link ParticleType}s this option is applicable to is: + * + *
    + *
  • {@link ParticleTypes#DUST_COLOR_TRANSITION}
  • + *
+ */ + public static final DefaultedRegistryReference> TO_COLOR = ParticleOptions.key(ResourceKey.sponge("to_color")); + + /** + * This option will change the travel time of a particle. + * The only vanilla {@link ParticleType}s this option is applicable to is: + * + *
    + *
  • {@link ParticleTypes#VIBRATION}
  • + *
+ */ + public static final DefaultedRegistryReference> TRAVEL_TIME = ParticleOptions.key(ResourceKey.sponge("travel_time")); /** * This option will affect how most particles are moving.