Added Taunts :toot:

This commit is contained in:
LCastr0 2016-12-08 03:44:55 -02:00 committed by cnr
parent 56003cccab
commit 0af46005e7
3 changed files with 159 additions and 0 deletions

View File

@ -0,0 +1,62 @@
package mineplex.core.gadget.event;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
public class TauntCommandEvent extends Event
{
private static final HandlerList handlers = new HandlerList();
private Player _player;
private boolean _gameInProgress;
private boolean _alive;
private boolean _spectator;
private boolean _inPvp;
public TauntCommandEvent(Player player, boolean gameInProgress, boolean alive, boolean spectator, boolean inPvp)
{
_player = player;
_gameInProgress = gameInProgress;
_alive = alive;
_spectator = spectator;
_inPvp = inPvp;
}
public Player getPlayer()
{
return _player;
}
public boolean isGameInProgress()
{
return _gameInProgress;
}
public boolean isAlive()
{
return _alive;
}
public boolean isSpectator()
{
return _spectator;
}
public boolean isInPvp()
{
return _inPvp;
}
public HandlerList getHandlers()
{
return handlers;
}
public static HandlerList getHandlerList()
{
return handlers;
}
}

View File

@ -0,0 +1,66 @@
package mineplex.core.gadget.types;
import java.time.YearMonth;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import mineplex.core.gadget.GadgetManager;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
public abstract class TauntGadget extends Gadget
{
protected Player _player;
protected long _started;
protected boolean _hasStarted = false;
private boolean _shouldPlay = false;
private UpdateType _updateType = UpdateType.TICK;
public TauntGadget(GadgetManager manager, String name, String[] desc, int cost, Material mat, byte data,
String... alternativeSalesPackageNames)
{
super(manager, GadgetType.TAUNT, name, desc, cost, mat, data, 1, alternativeSalesPackageNames);
}
public TauntGadget(GadgetManager manager, String name, String[] desc, int cost, Material mat, byte data,
YearMonth yearMonth, String... alternativeSalesPackageNames)
{
super(manager, GadgetType.TAUNT, name, desc, cost, mat, data, yearMonth, 1, alternativeSalesPackageNames);
}
public abstract void start();
public abstract void play();
public abstract void finish();
public void setShouldPlay(boolean shouldPlay)
{
_shouldPlay = shouldPlay;
}
public void setEventType(UpdateType updateType)
{
_updateType = updateType;
}
@EventHandler
public void onUpdate(UpdateEvent event)
{
if (!_hasStarted)
return;
if (!_shouldPlay)
return;
if (event.getType() != _updateType)
return;
play();
}
}

View File

@ -0,0 +1,31 @@
package nautilus.game.arcade.command;
import org.bukkit.entity.Player;
import mineplex.core.command.CommandBase;
import mineplex.core.common.Rank;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.gadget.event.TauntCommandEvent;
import nautilus.game.arcade.ArcadeManager;
public class TauntCommand extends CommandBase<ArcadeManager>
{
private ArcadeManager _arcadeManager;
public TauntCommand(ArcadeManager manager)
{
super(manager, Rank.ALL, "taunt");
_arcadeManager = manager;
}
@Override
public void Execute(Player player, String[] args)
{
TauntCommandEvent event = new TauntCommandEvent(player, _arcadeManager.isGameInProgress(),
_arcadeManager.GetGame().IsAlive(player), UtilPlayer.isSpectator(player), false);
}
}