Fixed eternal taunt
Added description for taunts Added eternal taunt description and icon Removed minestrike chest for now Removed debug commans permissions
This commit is contained in:
parent
f2aef9a873
commit
e8d698ac37
@ -186,17 +186,8 @@ public class Menu extends ShopPageBase<CosmeticManager, CosmeticShop>
|
||||
addButton(musicSlot, new ShopItem(Material.GREEN_RECORD, "Music", lore, 1, false), new OpenMusic(this, enabled.get(type)));
|
||||
if (enabled.containsKey(type)) addGlow(musicSlot);
|
||||
|
||||
/*addButton(tauntSlot, new ShopItem(Material.NAME_TAG, "Taunts", new String[]{C.Bold + "", C.cDGreen + C.Italics + "Coming soon!"}, 1, false), new IButton()
|
||||
{
|
||||
@Override
|
||||
public void onClick(Player player, ClickType clickType)
|
||||
{
|
||||
player.sendMessage(F.main("Shop", "Coming soon!"));
|
||||
}
|
||||
});*/
|
||||
|
||||
type = GadgetType.TAUNT;
|
||||
lore = getLore(ownedCount.get(type), maxCount.get(type), "Placeholder", "Visible in Games", enabled.get(type));
|
||||
lore = getLore(ownedCount.get(type), maxCount.get(type), "Taunt your enemies or just show off. Use /taunt to have a good time!", "Visible in Games", enabled.get(type));
|
||||
addButton(tauntSlot, new ShopItem(Material.NAME_TAG, "Taunts", lore, 1, false), new OpenTaunts(this, enabled.get(type)));
|
||||
if (enabled.containsKey(type)) addGlow(tauntSlot);
|
||||
|
||||
|
@ -10,21 +10,27 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.FireworkEffect;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Item;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
import mineplex.core.common.Rank;
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import mineplex.core.common.util.LineFormat;
|
||||
import mineplex.core.common.util.UtilAction;
|
||||
import mineplex.core.common.util.UtilFirework;
|
||||
import mineplex.core.common.util.UtilText;
|
||||
import mineplex.core.disguise.disguises.DisguiseSkeleton;
|
||||
import mineplex.core.events.EnableArcadeSpawnEvent;
|
||||
import mineplex.core.gadget.GadgetManager;
|
||||
import mineplex.core.gadget.gadgets.morph.managers.UtilMorph;
|
||||
import mineplex.core.gadget.gadgets.taunts.eternal.EternalClock;
|
||||
import mineplex.core.gadget.types.TauntGadget;
|
||||
import mineplex.core.itemstack.ItemStackFactory;
|
||||
import mineplex.core.recharge.Recharge;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
|
||||
@ -32,19 +38,22 @@ public class EternalTaunt extends TauntGadget
|
||||
{
|
||||
|
||||
private static final int COOLDOWN = 30000;
|
||||
private static final int PVP_COOLDOWN = 10000;
|
||||
|
||||
private Map<UUID, List<EternalClock>> _clocks = new HashMap<>();
|
||||
private Map<UUID, List<Item>> _clocks = new HashMap<>();
|
||||
|
||||
public EternalTaunt(GadgetManager manager)
|
||||
{
|
||||
super(manager, "Eternal Taunt", UtilText.splitLinesToArray(new String[]{"Placeholder"}, LineFormat.LORE),
|
||||
-15, Material.GLASS, (byte) 0);
|
||||
super(manager, "Eternal Taunt", UtilText.splitLinesToArray(new String[]{C.cGray + "Although the Eternal has been around forever, he waited to long for a worthy opponent he turned to bones.",
|
||||
"",
|
||||
C.cWhite + "Use /taunt in game to show how long you've been waiting.",
|
||||
C.cRed + "Cannot be used while in PvP!"}, LineFormat.LORE),
|
||||
-15, Material.WATCH, (byte) 0);
|
||||
setCanPlayWithPvp(false);
|
||||
setPvpCooldown(10000);
|
||||
setPvpCooldown(PVP_COOLDOWN);
|
||||
setShouldPlay(true);
|
||||
setEventType(UpdateType.FAST);
|
||||
addDisabledGames(GameType.SMASH, GameType.SMASHTEAMS, GameType.SMASHDOMINATION);
|
||||
setImmovable(20);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -53,7 +62,7 @@ public class EternalTaunt extends TauntGadget
|
||||
if (!Recharge.Instance.use(player, getName(), COOLDOWN, true, false, "Cosmetics"))
|
||||
return;
|
||||
UtilFirework.playFirework(player.getLocation(), FireworkEffect.builder().with(FireworkEffect.Type.BALL_LARGE).withColor(Color.fromRGB(255, 175, 175)).withFade(Color.RED).build());
|
||||
List<EternalClock> clocks = new ArrayList<>();
|
||||
/*List<EternalClock> clocks = new ArrayList<>();
|
||||
|
||||
EnableArcadeSpawnEvent enableArcadeSpawnEvent = new EnableArcadeSpawnEvent(true);
|
||||
Bukkit.getPluginManager().callEvent(enableArcadeSpawnEvent);
|
||||
@ -61,7 +70,7 @@ public class EternalTaunt extends TauntGadget
|
||||
// Creates armor stands
|
||||
for (EternalClock.ClockPosition clockPosition : EternalClock.ClockPosition.values())
|
||||
{
|
||||
EternalClock eternalClock = new EternalClock(player, clockPosition);
|
||||
EternalClock eternalClock = new EternalClock(player, clockPosition, this);
|
||||
eternalClock.createStand();
|
||||
clocks.add(eternalClock);
|
||||
}
|
||||
@ -69,7 +78,9 @@ public class EternalTaunt extends TauntGadget
|
||||
_clocks.put(player.getUniqueId(), clocks);
|
||||
|
||||
enableArcadeSpawnEvent = new EnableArcadeSpawnEvent(false);
|
||||
Bukkit.getPluginManager().callEvent(enableArcadeSpawnEvent);
|
||||
Bukkit.getPluginManager().callEvent(enableArcadeSpawnEvent);*/
|
||||
|
||||
_clocks.put(player.getUniqueId(), new ArrayList<>());
|
||||
|
||||
Bukkit.broadcastMessage(F.main("Taunt", F.name(player.getName()) + " waited so long they turned to bones."));
|
||||
|
||||
@ -83,13 +94,34 @@ public class EternalTaunt extends TauntGadget
|
||||
if (!_clocks.containsKey(player.getUniqueId()))
|
||||
return;
|
||||
|
||||
// Keps armorstand close to player
|
||||
for (EternalClock eternalClock : _clocks.get(player.getUniqueId()))
|
||||
int i = getPlayerTicks(player);
|
||||
|
||||
EnableArcadeSpawnEvent enableArcadeSpawnEvent = new EnableArcadeSpawnEvent(true);
|
||||
Bukkit.getPluginManager().callEvent(enableArcadeSpawnEvent);
|
||||
|
||||
Item clock = player.getWorld().dropItem(player.getLocation().add(0.5, 1.5, 0.5),
|
||||
ItemStackFactory.Instance.CreateStack(Material.WATCH, (byte) 0, 1, " " + i));
|
||||
|
||||
enableArcadeSpawnEvent = new EnableArcadeSpawnEvent(false);
|
||||
Bukkit.getPluginManager().callEvent(enableArcadeSpawnEvent);
|
||||
|
||||
Vector vel = new Vector(Math.sin(i * 9/5d), 0, Math.cos(i * 9/5d));
|
||||
UtilAction.velocity(clock, vel, Math.abs(Math.sin(i * 12/3000d)), false, 0, 0.2 + Math.abs(Math.cos(i * 12/3000d))*0.6, 1, false);
|
||||
|
||||
_clocks.get(player.getUniqueId()).add(clock);
|
||||
|
||||
if (_clocks.get(player.getUniqueId()).size() >= 5)
|
||||
{
|
||||
eternalClock.moveStand();
|
||||
_clocks.get(player.getUniqueId()).get(0).remove();
|
||||
_clocks.get(player.getUniqueId()).remove(0);
|
||||
}
|
||||
|
||||
if (getPlayerTicks(player) >= 60)
|
||||
if (i % 2 == 0)
|
||||
player.playSound(player.getLocation(), Sound.CLICK, 1f, 1f);
|
||||
else
|
||||
player.playSound(player.getLocation(), Sound.CLICK, 0.5f, 0.5f);
|
||||
|
||||
if (i >= 15)
|
||||
{
|
||||
finish(player);
|
||||
}
|
||||
@ -101,7 +133,7 @@ public class EternalTaunt extends TauntGadget
|
||||
UtilMorph.undisguise(player, Manager.getDisguiseManager());
|
||||
if (_clocks.containsKey(player.getUniqueId()))
|
||||
{
|
||||
_clocks.get(player.getUniqueId()).forEach(eternalClock -> eternalClock.removeStand());
|
||||
_clocks.get(player.getUniqueId()).forEach(c -> c.remove());
|
||||
_clocks.get(player.getUniqueId()).clear();
|
||||
_clocks.remove(player.getUniqueId());
|
||||
}
|
||||
@ -112,7 +144,20 @@ public class EternalTaunt extends TauntGadget
|
||||
{
|
||||
if (Manager.getClientManager().Get(event.getPlayer()).GetRank().has(Rank.ETERNAL))
|
||||
{
|
||||
Manager.getDonationManager().Get(event.getPlayer()).AddUnknownSalesPackagesOwned(getName());
|
||||
Manager.getDonationManager().Get(event.getPlayer()).addOwnedUnknownSalesPackage(getName());
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onClockPickup(PlayerPickupItemEvent event)
|
||||
{
|
||||
for (List<Item> clocks : _clocks.values())
|
||||
{
|
||||
for (Item item : clocks)
|
||||
{
|
||||
if (event.getItem().equals(item))
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,78 +0,0 @@
|
||||
package mineplex.core.gadget.gadgets.taunts.eternal;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class EternalClock
|
||||
{
|
||||
|
||||
private Player _player;
|
||||
private ClockPosition _clockPosition;
|
||||
private ArmorStand _armorStand;
|
||||
|
||||
public EternalClock(Player player, ClockPosition clockPosition)
|
||||
{
|
||||
_player = player;
|
||||
_clockPosition = clockPosition;
|
||||
}
|
||||
|
||||
public void createStand()
|
||||
{
|
||||
Location clockLocation = _player.getLocation().clone().add(_player.getLocation().getDirection().multiply(-1))
|
||||
.add(0, _clockPosition.getY(), 0);
|
||||
_armorStand = _player.getWorld().spawn(clockLocation, ArmorStand.class);
|
||||
_armorStand.setItemInHand(new ItemStack(Material.WATCH));
|
||||
_armorStand.setVisible(false);
|
||||
_armorStand.setGravity(false);
|
||||
}
|
||||
|
||||
public void moveStand()
|
||||
{
|
||||
switch (_clockPosition)
|
||||
{
|
||||
case A:
|
||||
_clockPosition = ClockPosition.B;
|
||||
break;
|
||||
case B:
|
||||
_clockPosition = ClockPosition.C;
|
||||
break;
|
||||
case C:
|
||||
_clockPosition = ClockPosition.D;
|
||||
break;
|
||||
case D:
|
||||
_clockPosition = ClockPosition.A;
|
||||
}
|
||||
Location clockLocation = _player.getLocation().clone().add(_player.getLocation().getDirection().multiply(-1))
|
||||
.add(0, _clockPosition.getY(), 0);
|
||||
_armorStand.teleport(clockLocation);
|
||||
}
|
||||
|
||||
public void removeStand()
|
||||
{
|
||||
_armorStand.remove();
|
||||
}
|
||||
|
||||
public enum ClockPosition
|
||||
{
|
||||
A(0.5),
|
||||
B(1),
|
||||
C(1.5),
|
||||
D(2);
|
||||
|
||||
private double _y;
|
||||
|
||||
ClockPosition(double y)
|
||||
{
|
||||
_y = y;
|
||||
}
|
||||
|
||||
public double getY()
|
||||
{
|
||||
return _y;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -11,7 +11,6 @@ import java.util.UUID;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
import mineplex.core.gadget.GadgetManager;
|
||||
import mineplex.core.gadget.gadgets.taunts.GameType;
|
||||
@ -32,8 +31,6 @@ public abstract class TauntGadget extends Gadget
|
||||
private boolean _shouldPlay = false;
|
||||
/** Sets when the taunt will run, if set above */
|
||||
private UpdateType _updateType = UpdateType.TICK;
|
||||
/** Sets the amount of time in ticks the player won't be able to move */
|
||||
private int _immovable = 0;
|
||||
/** List of games where this item is disabled */
|
||||
private List<GameType> _disabledGames = new ArrayList<>();
|
||||
/** The ticks that passed since the player started the effect */
|
||||
@ -81,7 +78,7 @@ public abstract class TauntGadget extends Gadget
|
||||
public void play(Player player)
|
||||
{
|
||||
onPlay(player);
|
||||
int ticks = _ticksPerPlayer.get(player.getUniqueId()) + 1;
|
||||
int ticks = getPlayerTicks(player) + 1;
|
||||
_ticksPerPlayer.put(player.getUniqueId(), ticks);
|
||||
}
|
||||
|
||||
@ -120,11 +117,6 @@ public abstract class TauntGadget extends Gadget
|
||||
_disabledGames.addAll(Arrays.asList(disabledGames));
|
||||
}
|
||||
|
||||
public void setImmovable(int ticks)
|
||||
{
|
||||
_immovable = ticks;
|
||||
}
|
||||
|
||||
public boolean canPlayWithPvp()
|
||||
{
|
||||
return _canPlayWithPvp;
|
||||
@ -156,24 +148,8 @@ public abstract class TauntGadget extends Gadget
|
||||
|
||||
for (Player player : getActive())
|
||||
{
|
||||
play(player);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerMove(PlayerMoveEvent event)
|
||||
{
|
||||
if (!_ticksPerPlayer.containsKey(event.getPlayer().getUniqueId()))
|
||||
return;
|
||||
|
||||
if (!isActive(event.getPlayer()))
|
||||
return;
|
||||
|
||||
int ticks = _ticksPerPlayer.get(event.getPlayer().getUniqueId());
|
||||
|
||||
if (ticks < _immovable)
|
||||
{
|
||||
event.setCancelled(true);
|
||||
if (_ticksPerPlayer.containsKey(player.getUniqueId()))
|
||||
play(player);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -162,7 +162,7 @@ public class CustomerSupport extends MiniPlugin implements ResultSetCallable
|
||||
int trickOrTreatChestsReceived = 0;
|
||||
int thankfulChestsReceived = 0;
|
||||
int gingerbreadChestsReceived = 0;
|
||||
int minestrikeChestsReceived = 0;
|
||||
//int minestrikeChestsReceived = 0;
|
||||
|
||||
for (CoinTransactionToken transaction : donor.getCoinTransactions())
|
||||
{
|
||||
@ -296,7 +296,7 @@ public class CustomerSupport extends MiniPlugin implements ResultSetCallable
|
||||
}
|
||||
|
||||
}
|
||||
if (transaction.SalesPackageName.startsWith("Minestrike Chest"))
|
||||
/*if (transaction.SalesPackageName.startsWith("Minestrike Chest"))
|
||||
{
|
||||
if (transaction.Coins == 0 && transaction.Gems == 0)
|
||||
{
|
||||
@ -305,7 +305,7 @@ public class CustomerSupport extends MiniPlugin implements ResultSetCallable
|
||||
else if (transaction.SalesPackageName.split(" ").length == 2)
|
||||
minestrikeChestsReceived += 1;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
if (transaction.SalesPackageName.startsWith("Valentines Gift"))
|
||||
{
|
||||
if (transaction.Coins == 0 && transaction.Gems == 0)
|
||||
@ -378,7 +378,7 @@ public class CustomerSupport extends MiniPlugin implements ResultSetCallable
|
||||
caller.sendMessage(C.cBlue + "Trick or Treat Chests Received: " + C.cYellow + trickOrTreatChestsReceived);
|
||||
caller.sendMessage(C.cBlue + "Thankful Chests Received: " + C.cYellow + thankfulChestsReceived);
|
||||
caller.sendMessage(C.cBlue + "Gingerbread Chests Received: " + C.cYellow + gingerbreadChestsReceived);
|
||||
caller.sendMessage(C.cBlue + "Minestrike Chests Received: " + C.cYellow + minestrikeChestsReceived);
|
||||
//caller.sendMessage(C.cBlue + "Minestrike Chests Received: " + C.cYellow + minestrikeChestsReceived);
|
||||
caller.sendMessage(C.cBlue + "Game Amplifiers Received: " + C.cYellow + boostersReceived);
|
||||
caller.sendMessage(C.cBlue + "Rune Amplifiers (20 min) Received: " + C.cYellow + runeAmplifier20);
|
||||
caller.sendMessage(C.cBlue + "Rune Amplifiers (60 min) Received: " + C.cYellow + runeAmplifier60);
|
||||
|
@ -30,7 +30,6 @@ import mineplex.staffServer.salespackage.salespackages.LifetimeHero;
|
||||
import mineplex.staffServer.salespackage.salespackages.LifetimeLegend;
|
||||
import mineplex.staffServer.salespackage.salespackages.LifetimeTitan;
|
||||
import mineplex.staffServer.salespackage.salespackages.LifetimeUltra;
|
||||
import mineplex.staffServer.salespackage.salespackages.MinestrikeChest;
|
||||
import mineplex.staffServer.salespackage.salespackages.MythicalChest;
|
||||
import mineplex.staffServer.salespackage.salespackages.OldChest;
|
||||
import mineplex.staffServer.salespackage.salespackages.OmegaChest;
|
||||
@ -97,7 +96,7 @@ public class SalesPackageManager extends MiniPlugin
|
||||
AddSalesPackage(new PowerPlayClub(this, true));
|
||||
AddSalesPackage(new OmegaChest(this));
|
||||
AddSalesPackage(new HauntedChest(this));
|
||||
AddSalesPackage(new MinestrikeChest(this));
|
||||
//AddSalesPackage(new MinestrikeChest(this));
|
||||
AddSalesPackage(new TrickOrTreatChest(this));
|
||||
AddSalesPackage(new ThankfulChest(this));
|
||||
|
||||
@ -169,7 +168,7 @@ public class SalesPackageManager extends MiniPlugin
|
||||
coinBuilder = coinBuilder.extra("[").color("gray").extra(salesPackage.getName()).color("green").click("run_command", "/display " + playerName + " " + salesPackage.getName()).extra("] ").color("gray");
|
||||
}
|
||||
else if (salesPackage instanceof MythicalChest || salesPackage instanceof AncientChest || salesPackage instanceof OldChest || salesPackage instanceof IlluminatedChest || salesPackage instanceof FreedomChest || salesPackage instanceof HauntedChest || salesPackage instanceof TrickOrTreatChest
|
||||
|| salesPackage instanceof GingerbreadChest || salesPackage instanceof MinestrikeChest)
|
||||
|| salesPackage instanceof GingerbreadChest /*|| salesPackage instanceof MinestrikeChest*/)
|
||||
{
|
||||
chestBuilder = chestBuilder.extra("[").color("gray").extra(salesPackage.getName()).color("green").click("run_command", "/display " + playerName + " " + salesPackage.getName()).extra("] ").color("gray");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user