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

101 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.PlayerInteractEvent;
import mineplex.core.achievement.AchievementManager;
import mineplex.core.common.util.C;
import mineplex.core.common.util.LineFormat;
import mineplex.core.common.util.UtilAction;
import mineplex.core.common.util.UtilEnt;
import mineplex.core.common.util.UtilEvent;
import mineplex.core.common.util.UtilEvent.ActionType;
import mineplex.core.common.util.UtilText;
import mineplex.core.disguise.disguises.DisguiseSlime;
import mineplex.core.gadget.GadgetManager;
import mineplex.core.gadget.gadgets.morph.managers.UtilMorph;
import mineplex.core.gadget.types.MorphGadget;
import mineplex.core.recharge.Recharge;
public class MorphSlime extends MorphGadget
{
private AchievementManager _achievementManager;
public MorphSlime(GadgetManager manager, AchievementManager achievements)
{
super(manager, "Big Larry Morph", UtilText.splitLinesToArray(new String[]
{
C.cGray + "Have you ever looked at Big Larry and thought, \'I really want to be that guy\'!? Well, today is your lucky day!",
C.blankLine,
"#" + C.cWhite + "Left Click to use Bounce",
C.blankLine,
"#" + C.cWhite + "+1 Size per 10 Mineplex Levels",
}, LineFormat.LORE),
80000,
Material.SLIME_BALL, (byte)0);
_achievementManager = achievements;
}
@Override
public void enableCustom(final Player player, boolean message)
{
this.applyArmor(player, message);
DisguiseSlime disguise = new DisguiseSlime(player);
int size = 1 + _achievementManager.getMineplexLevelNumber(player) / 8;
if (size < 1)
size = 1;
if (size > 12)
size = 12;
disguise.SetSize(size);
UtilMorph.disguise(player, disguise, Manager);
}
@Override
public void disableCustom(Player player, boolean message)
{
this.removeArmor(player);
UtilMorph.undisguise(player, Manager.getDisguiseManager());
}
@EventHandler
public void skill(PlayerInteractEvent event)
{
Player player = event.getPlayer();
if (!isActive(player))
return;
if (!UtilEvent.isAction(event, ActionType.L))
return;
if (!UtilEnt.isGrounded(player))
return;
if (!Recharge.Instance.use(player, getName(), 1000, false, false, "Cosmetics"))
return;
player.getWorld().playSound(player.getLocation(), Sound.SLIME_ATTACK, 1f, 1f);
//Size
int size = 1 + _achievementManager.getMineplexLevelNumber(player) / 8;
if (size < 1)
size = 1;
if (size > 12)
size = 12;
//Vel
UtilAction.velocity(player, 1 + (size * 0.2), 0, 10, true);
}
}