Fixed the rainbow taunt
This commit is contained in:
parent
d6605e973d
commit
85b5eee92f
@ -1,5 +1,8 @@
|
|||||||
package mineplex.core.gadget.gadgets.taunts;
|
package mineplex.core.gadget.gadgets.taunts;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@ -8,6 +11,7 @@ import mineplex.core.common.util.LineFormat;
|
|||||||
import mineplex.core.common.util.UtilText;
|
import mineplex.core.common.util.UtilText;
|
||||||
import mineplex.core.gadget.GadgetManager;
|
import mineplex.core.gadget.GadgetManager;
|
||||||
import mineplex.core.gadget.types.TauntGadget;
|
import mineplex.core.gadget.types.TauntGadget;
|
||||||
|
import mineplex.core.particleeffects.EffectLocation;
|
||||||
import mineplex.core.particleeffects.RainbowTauntEffect;
|
import mineplex.core.particleeffects.RainbowTauntEffect;
|
||||||
import mineplex.core.recharge.Recharge;
|
import mineplex.core.recharge.Recharge;
|
||||||
|
|
||||||
@ -32,7 +36,12 @@ public class RainbowTaunt extends TauntGadget
|
|||||||
if (!Recharge.Instance.use(player, getName(), COOLDOWN, true, false, "Cosmetics"))
|
if (!Recharge.Instance.use(player, getName(), COOLDOWN, true, false, "Cosmetics"))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
HashSet<Material> ignore = new HashSet<>();
|
||||||
|
ignore.add(Material.AIR);
|
||||||
|
Location loc = player.getTargetBlock(ignore, 64).getLocation().add(0.5, 0.5, 0.5);
|
||||||
|
|
||||||
RainbowTauntEffect rainbowTauntEffect = new RainbowTauntEffect(player, Manager.getPlugin());
|
RainbowTauntEffect rainbowTauntEffect = new RainbowTauntEffect(player, Manager.getPlugin());
|
||||||
|
rainbowTauntEffect.setTargetLocation(new EffectLocation(loc));
|
||||||
rainbowTauntEffect.start();
|
rainbowTauntEffect.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ public class RainbowTauntEffect extends Effect
|
|||||||
@Override
|
@Override
|
||||||
public void runEffect()
|
public void runEffect()
|
||||||
{
|
{
|
||||||
Location location = getEffectLocation().getLocation();
|
/*Location location = getEffectLocation().getFixedLocation();
|
||||||
Location target = getTargetLocation().getLocation();
|
Location target = getTargetLocation().getLocation();
|
||||||
Vector link = target.toVector().subtract(location.toVector());
|
Vector link = target.toVector().subtract(location.toVector());
|
||||||
float length = (float) link.length();
|
float length = (float) link.length();
|
||||||
@ -48,7 +48,7 @@ public class RainbowTauntEffect extends Effect
|
|||||||
float y = (float) (-pitch * Math.pow(x, 2) + HEIGHT);
|
float y = (float) (-pitch * Math.pow(x, 2) + HEIGHT);
|
||||||
location.add(v).add(0, y, 0);
|
location.add(v).add(0, y, 0);
|
||||||
ColoredParticle coloredParticle = new ColoredParticle(UtilParticle.ParticleType.RED_DUST,
|
ColoredParticle coloredParticle = new ColoredParticle(UtilParticle.ParticleType.RED_DUST,
|
||||||
new DustSpellColor(_color), _effectLocation.getLocation().clone().add(0, .5, 0));
|
new DustSpellColor(_color), location);
|
||||||
coloredParticle.display();
|
coloredParticle.display();
|
||||||
location.subtract(0, y, 0).subtract(v);
|
location.subtract(0, y, 0).subtract(v);
|
||||||
|
|
||||||
@ -70,6 +70,32 @@ public class RainbowTauntEffect extends Effect
|
|||||||
else
|
else
|
||||||
_color = _red;
|
_color = _red;
|
||||||
}
|
}
|
||||||
|
}*/
|
||||||
|
Location location = getEffectLocation().getFixedLocation();
|
||||||
|
Location target = getTargetLocation().getFixedLocation();
|
||||||
|
Color[] colors = new Color[]{_violet, _indigo, _blue, _green, _yellow, _orange, _red};
|
||||||
|
|
||||||
|
for (int i = 0; i < 7; i++)
|
||||||
|
{
|
||||||
|
line(location.clone().add(0, 0.25 * i, 0), target.clone().add(0, 0.25 * i, 0), colors[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void line(Location startLocation, Location targetLocation, Color color)
|
||||||
|
{
|
||||||
|
Vector link = targetLocation.toVector().subtract(startLocation.toVector());
|
||||||
|
float length = (float) link.length();
|
||||||
|
float pitch = (float) (4 * HEIGHT / Math.pow(length, 2));
|
||||||
|
for (int i = 0; i < PARTICLES; i++)
|
||||||
|
{
|
||||||
|
Vector v = link.clone().normalize().multiply(length * i / PARTICLES);
|
||||||
|
float x = ((float) i / PARTICLES) * length - length / 2;
|
||||||
|
float y = (float) (-pitch * Math.pow(x, 2) + HEIGHT);
|
||||||
|
startLocation.add(v).add(0, y, 0);
|
||||||
|
ColoredParticle coloredParticle = new ColoredParticle(UtilParticle.ParticleType.RED_DUST,
|
||||||
|
new DustSpellColor(color), startLocation);
|
||||||
|
coloredParticle.display();
|
||||||
|
startLocation.subtract(0, y, 0).subtract(v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user