Mineplex/GOD DAMN COSMETICS/gadget/gadgets/morph/moba/MorphLarissa.java
Daniel Waggner 38a20f98c2 Removed Files
These two directories contain code that was removed from the src and dependencies of the compiled files. They were removed due to being either a. unnecessary or b. a royal pain in my booty.
2021-05-23 18:13:37 -07:00

133 lines
4.1 KiB
Java

package mineplex.core.gadget.gadgets.morph.moba;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import com.mojang.authlib.GameProfile;
import mineplex.core.common.skin.SkinData;
import mineplex.core.common.util.C;
import mineplex.core.common.util.LineFormat;
import mineplex.core.common.util.UtilAction;
import mineplex.core.common.util.UtilAlg;
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.UtilPlayer;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilText;
import mineplex.core.common.util.particles.effects.LineParticle;
import mineplex.core.disguise.disguises.DisguisePlayer;
import mineplex.core.gadget.GadgetManager;
import mineplex.core.gadget.gadgets.morph.managers.UtilMorph;
import mineplex.core.gadget.types.MorphGadget;
import mineplex.core.itemstack.ItemBuilder;
import mineplex.core.recharge.Recharge;
import mineplex.core.utils.UtilGameProfile;
public class MorphLarissa extends MorphGadget
{
private static final ItemStack ACTIVE_ITEM = new ItemBuilder(Material.DIAMOND_HOE)
.setTitle(C.cGreenB + "Larissa's Wand")
.addLore("Click to fire out a beam of water that knocks back", "players that it hits.")
.build();
private static final int ACTIVE_SLOT = 2;
public MorphLarissa(GadgetManager manager)
{
super(manager, "Larissa Morph", UtilText.splitLinesToArray(new String[]{
C.cGray + "Become a water mage and splash your enemies away!",
"",
C.cGreen + "Click" + C.cWhite + " your " + C.cYellow + "Wand" + C.cWhite + " to fire",
C.cWhite + "a beam of " + C.cWhite + "Water" + C.cWhite + " that",
C.cYellow + "Knocks Back" + C.cWhite + " players it hits."
}, LineFormat.LORE), -20, Material.GLASS, (byte) 0);
setDisplayItem(SkinData.LARISSA.getSkull());
}
@Override
public void enableCustom(Player player, boolean message)
{
applyArmor(player, message);
GameProfile gameProfile = UtilGameProfile.getGameProfile(player);
gameProfile.getProperties().clear();
gameProfile.getProperties().put("textures", SkinData.LARISSA.getProperty());
DisguisePlayer disguisePlayer = new DisguisePlayer(player, gameProfile);
disguisePlayer.showInTabList(true, 0);
UtilMorph.disguise(player, disguisePlayer, Manager);
player.getInventory().setItem(ACTIVE_SLOT, ACTIVE_ITEM);
}
@Override
public void disableCustom(Player player, boolean message)
{
removeArmor(player);
UtilMorph.undisguise(player, Manager.getDisguiseManager());
player.getInventory().setItem(ACTIVE_SLOT, null);
}
@EventHandler
public void interact(PlayerInteractEvent event)
{
if (event.getAction() == Action.PHYSICAL)
{
return;
}
Player player = event.getPlayer();
ItemStack itemStack = event.getItem();
if (!isActive(player) || itemStack == null || !itemStack.equals(ACTIVE_ITEM))
{
return;
}
event.setCancelled(true);
Location location = player.getEyeLocation();
if (!Manager.selectLocation(this, location))
{
Manager.informNoUse(player);
return;
}
if (!Recharge.Instance.use(player, "Aqua Cannon", 4000, true, true, "Cosmetics"))
{
return;
}
LineParticle lineParticle = new LineParticle(player.getEyeLocation(), location.getDirection(), 0.2, 10, ParticleType.DRIP_WATER, UtilServer.getPlayers());
while (!lineParticle.update())
{
for (Player nearby : UtilPlayer.getNearby(lineParticle.getLastLocation(), 2))
{
if (player.equals(nearby))
{
continue;
}
UtilAction.velocity(nearby, UtilAlg.getTrajectory(player.getLocation(), nearby.getLocation()).setY(1));
break;
}
}
player.getWorld().playSound(lineParticle.getLastLocation(), Sound.BLAZE_HIT, 1, 1.4F);
UtilParticle.PlayParticleToAll(ParticleType.FIREWORKS_SPARK, lineParticle.getLastLocation(), 0, 0, 0, 0.2F, 10, ViewDist.NORMAL);
}
}