From 935e6dd9397adf33261df6fcfb442357c7b2fa0e Mon Sep 17 00:00:00 2001 From: 0x277F <0x277F@gmail.com> Date: Fri, 5 Dec 2014 14:09:05 -0700 Subject: Add API to PotionEffect to determine whether particles are visible and displayed to the client. Fixes SPIGOT-125 --- src/main/java/org/bukkit/potion/PotionEffect.java | 26 +++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'src/main') diff --git a/src/main/java/org/bukkit/potion/PotionEffect.java b/src/main/java/org/bukkit/potion/PotionEffect.java index 24ee19de..01503f49 100644 --- a/src/main/java/org/bukkit/potion/PotionEffect.java +++ b/src/main/java/org/bukkit/potion/PotionEffect.java @@ -26,22 +26,37 @@ public class PotionEffect implements ConfigurationSerializable { private final int duration; private final PotionEffectType type; private final boolean ambient; + private final boolean particles; /** * Creates a potion effect. - * * @param type effect type * @param duration measured in ticks, see {@link * PotionEffect#getDuration()} * @param amplifier the amplifier, see {@link PotionEffect#getAmplifier()} * @param ambient the ambient status, see {@link PotionEffect#isAmbient()} + * @param particles the particle status, see {@link PotionEffect#hasParticles()} */ - public PotionEffect(PotionEffectType type, int duration, int amplifier, boolean ambient) { + public PotionEffect(PotionEffectType type, int duration, int amplifier, boolean ambient, boolean particles){ Validate.notNull(type, "effect type cannot be null"); this.type = type; this.duration = duration; this.amplifier = amplifier; this.ambient = ambient; + this.particles = particles; + } + + /** + * Creates a potion effect. Assumes that particles are visible + * + * @param type effect type + * @param duration measured in ticks, see {@link + * PotionEffect#getDuration()} + * @param amplifier the amplifier, see {@link PotionEffect#getAmplifier()} + * @param ambient the ambient status, see {@link PotionEffect#isAmbient()} + */ + public PotionEffect(PotionEffectType type, int duration, int amplifier, boolean ambient) { + this(type, duration, amplifier, ambient, true); } /** @@ -162,6 +177,13 @@ public class PotionEffect implements ConfigurationSerializable { return ambient; } + /** + * @return whether this effect has particles or not + */ + public boolean hasParticles(){ + return particles; + } + @Override public int hashCode() { int hash = 1; -- cgit v1.2.3