Mineplex/GOD DAMN COSMETICS/gadget/gadgets/morph/MorphBlaze.java

88 lines
2.6 KiB
Java
Raw Normal View History

package mineplex.core.gadget.gadgets.morph;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerJoinEvent;
import mineplex.core.common.util.C;
import mineplex.core.common.util.LineFormat;
import mineplex.core.common.util.UtilAction;
import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilParticle.ViewDist;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilText;
import mineplex.core.disguise.disguises.DisguiseBlaze;
import mineplex.core.gadget.GadgetManager;
import mineplex.core.gadget.gadgets.morph.managers.UtilMorph;
import mineplex.core.gadget.types.MorphGadget;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
public class MorphBlaze extends MorphGadget
{
public MorphBlaze(GadgetManager manager)
{
super(manager, "Blaze Morph",
UtilText.splitLinesToArray(new String[]
{
C.cGray + "Transform into a fiery Blaze, straight from the Nether!",
C.blankLine,
"#" + C.cWhite + "Crouch to use Firefly",
}, LineFormat.LORE),
-11,
Material.BLAZE_POWDER, (byte)0);
}
@Override
public void enableCustom(final Player player, boolean message)
{
this.applyArmor(player, message);
DisguiseBlaze disguise = new DisguiseBlaze(player);
UtilMorph.disguise(player, disguise, Manager);
}
@Override
public void disableCustom(Player player, boolean message)
{
this.removeArmor(player);
UtilMorph.undisguise(player, Manager.getDisguiseManager());
}
@EventHandler
public void Trail(UpdateEvent event)
{
if (event.getType() == UpdateType.TICK)
{
for (Player player : getActive())
{
if (player.isSneaking())
{
player.leaveVehicle();
player.eject();
player.getWorld().playSound(player.getLocation(), Sound.FIZZ, 0.2f, (float)(Math.random()));
UtilParticle.PlayParticle(ParticleType.FLAME, player.getLocation().add(0, 1, 0),
0.25f, 0.25f, 0.25f, 0f, 3,
ViewDist.NORMAL, UtilServer.getPlayers());
UtilParticle.PlayParticle(ParticleType.LARGE_SMOKE, player.getLocation().add(0, 1, 0),
0.1f, 0.1f, 0.1f, 0f, 1,
ViewDist.NORMAL, UtilServer.getPlayers());
UtilAction.velocity(player, 0.8, 0.1, 1, true);
}
}
}
}
@EventHandler
public void HeroOwner(PlayerJoinEvent event)
{
if (Manager.getClientManager().Get(event.getPlayer()).hasPermission(GadgetManager.Perm.HERO_MORPH_BLAZE))
{
Manager.getDonationManager().Get(event.getPlayer()).addOwnedUnknownSalesPackage(getName());
}
}
}