Mineplex/GOD DAMN COSMETICS/gadget/gadgets/doublejump/DoubleJumpPresent.java

74 lines
1.9 KiB
Java
Raw Normal View History

package mineplex.core.gadget.gadgets.doublejump;
import org.bukkit.Color;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import mineplex.core.common.skin.SkinData;
import mineplex.core.common.util.C;
import mineplex.core.common.util.LineFormat;
import mineplex.core.common.util.UtilItem;
import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilText;
import mineplex.core.common.util.particles.ColoredParticle;
import mineplex.core.common.util.particles.DustSpellColor;
import mineplex.core.gadget.GadgetManager;
import mineplex.core.gadget.types.DoubleJumpEffectGadget;
import mineplex.core.gadget.util.CostConstants;
public class DoubleJumpPresent extends DoubleJumpEffectGadget
{
private static final int PRESENTS = 5;
private static final DustSpellColor[] COLOURS =
{
new DustSpellColor(Color.RED),
new DustSpellColor(Color.GREEN)
};
public DoubleJumpPresent(GadgetManager manager)
{
super(manager, "Present Leap",
UtilText.splitLineToArray(C.cGray + "A leap of joy on Christmas Day!", LineFormat.LORE),
CostConstants.FOUND_IN_GINGERBREAD_CHESTS, Material.GLASS, (byte) 0);
setDisplayItem(SkinData.PRESENT.getSkull());
}
@Override
public void doEffect(Player player)
{
Location location = player.getLocation().add(0, 1, 0);
for (int i = 0; i < PRESENTS; i++)
{
UtilItem.dropItem(getDisplayItem(), location, true, false, 15, false);
}
Manager.runSyncTimer(new BukkitRunnable()
{
int iterations = 0;
@Override
public void run()
{
if (++iterations >= 20)
{
cancel();
return;
}
Location locationNow = player.getLocation();
for (DustSpellColor colour : COLOURS)
{
new ColoredParticle(ParticleType.RED_DUST, colour, locationNow)
.display();
}
}
}, 5, 1);
}
}