Change death effect skull and item spawn height, add /restrict <challenge> command.
This commit is contained in:
parent
c0a397b9fb
commit
b3e2d67152
@ -1 +1 @@
|
|||||||
[[{"location":"C:\\@Thanos\\Documents\\Minecraft\\Mineplex\\projects\\Mineplex\\Plugins\\Libraries\\craftbukkit.jar","type":"JAR","hints":{}},"ABSENT"],[{"location":"C:\\@Thanos\\Documents\\Minecraft\\Mineplex\\projects\\Mineplex\\Plugins\\Mineplex.Core.Common","type":"PROJECT","hints":{"PROJECT_NAME":"Mineplex.Core.Common"}},"ABSENT"]]
|
[[{"location":"C:\\@Thanos\\Documents\\Minecraft\\Mineplex\\projects\\Mineplex\\Plugins\\Mineplex.Core.Common","type":"PROJECT","hints":{"PROJECT_NAME":"Mineplex.Core.Common"}},"ABSENT"],[{"location":"C:\\@Thanos\\Documents\\Minecraft\\Mineplex\\projects\\Mineplex\\Plugins\\Nautilus.Game.Arcade","type":"PROJECT","hints":{"PROJECT_NAME":"Nautilus.Game.Arcade"}},"ABSENT"],[{"location":"C:\\Program Files\\Java\\jre1.8.0_51","type":"JRE","hints":{}},"jre:jre:1.8.0"]]
|
@ -31,15 +31,19 @@ import org.bukkit.potion.PotionEffect;
|
|||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import com.google.common.base.Joiner;
|
||||||
|
|
||||||
import mineplex.core.account.CoreClient;
|
import mineplex.core.account.CoreClient;
|
||||||
import mineplex.core.blood.BloodEvent;
|
import mineplex.core.blood.BloodEvent;
|
||||||
import mineplex.core.common.Rank;
|
import mineplex.core.common.Rank;
|
||||||
import mineplex.core.common.util.C;
|
import mineplex.core.common.util.C;
|
||||||
import mineplex.core.common.util.F;
|
import mineplex.core.common.util.F;
|
||||||
|
import mineplex.core.common.util.UtilBlockText;
|
||||||
import mineplex.core.common.util.UtilInv;
|
import mineplex.core.common.util.UtilInv;
|
||||||
import mineplex.core.common.util.UtilMath;
|
import mineplex.core.common.util.UtilMath;
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
import mineplex.core.common.util.UtilServer;
|
import mineplex.core.common.util.UtilServer;
|
||||||
|
import mineplex.core.common.util.UtilText;
|
||||||
import mineplex.core.common.util.UtilTextMiddle;
|
import mineplex.core.common.util.UtilTextMiddle;
|
||||||
import mineplex.core.common.util.UtilTextTop;
|
import mineplex.core.common.util.UtilTextTop;
|
||||||
import mineplex.core.common.util.UtilTime;
|
import mineplex.core.common.util.UtilTime;
|
||||||
@ -162,6 +166,57 @@ public class MineWare extends SoloGame implements IThrown
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Debug Only
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@EventHandler
|
||||||
|
public void restrictChallengeCommand(PlayerCommandPreprocessEvent event)
|
||||||
|
{
|
||||||
|
Player player = event.getPlayer();
|
||||||
|
String command = "restrict";
|
||||||
|
String message = event.getMessage();
|
||||||
|
|
||||||
|
if (player.isOp())
|
||||||
|
{
|
||||||
|
if (message.startsWith("/" + command))
|
||||||
|
{
|
||||||
|
String[] pieces = message.split(" ");
|
||||||
|
|
||||||
|
if (pieces.length > 1)
|
||||||
|
{
|
||||||
|
String rawClass = pieces[1].replace("Challenge", "");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Class<? extends Challenge> result = (Class<? extends Challenge>) Class.forName("nautilus.game.arcade.game.games.mineware.challenges.Challenge" + rawClass);
|
||||||
|
|
||||||
|
String name = rawClass.replaceAll("(?!^)([A-Z])", " $1");
|
||||||
|
|
||||||
|
Announce(C.cAqua + C.Bold + GetType().GetName() + " restricted to " + name + " challenge.");
|
||||||
|
|
||||||
|
_challenges.clear();
|
||||||
|
_challenges.add(result);
|
||||||
|
}
|
||||||
|
catch (ClassNotFoundException e)
|
||||||
|
{
|
||||||
|
UtilPlayer.message(player, F.main("Debug", "Could not match " + F.elem(rawClass) + " with any challenges."));
|
||||||
|
}
|
||||||
|
catch (ClassCastException e)
|
||||||
|
{
|
||||||
|
UtilPlayer.message(player, F.main("Debug", "Could not match " + F.elem(rawClass) + " with any challenges."));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Announce(C.cAqua + C.Bold + GetType().GetName() + " challenge restrictions were cleared.");
|
||||||
|
_challenges.clear();
|
||||||
|
PopulateOrders();
|
||||||
|
}
|
||||||
|
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void PopulateOrders()
|
public void PopulateOrders()
|
||||||
{
|
{
|
||||||
_challenges.add(ChallengeAnvilDance.class);
|
_challenges.add(ChallengeAnvilDance.class);
|
||||||
@ -494,9 +549,11 @@ public class MineWare extends SoloGame implements IThrown
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Player player = event.getEntity();
|
Player player = event.getEntity();
|
||||||
|
Location death = player.getLocation().clone();
|
||||||
|
|
||||||
_challenge.getLost().add(player);
|
_challenge.getLost().add(player);
|
||||||
LoseLife(event.getEntity(), true);
|
LoseLife(event.getEntity(), true);
|
||||||
|
_deathEffect.playDeath(player, death);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
@ -885,11 +942,9 @@ public class MineWare extends SoloGame implements IThrown
|
|||||||
|
|
||||||
public void LoseLife(Player player, boolean isDeath)
|
public void LoseLife(Player player, boolean isDeath)
|
||||||
{
|
{
|
||||||
Location death = player.getLocation().clone();
|
|
||||||
|
|
||||||
if (!isDeath)
|
if (!isDeath)
|
||||||
{
|
{
|
||||||
Manager.addSpectator(player, false);
|
Manager.addSpectator(player, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_challenge == null || _challenge.IsCompleted(player))
|
if (_challenge == null || _challenge.IsCompleted(player))
|
||||||
@ -897,7 +952,7 @@ public class MineWare extends SoloGame implements IThrown
|
|||||||
|
|
||||||
int lives = GetLives(player);
|
int lives = GetLives(player);
|
||||||
int playersAlive = 0;
|
int playersAlive = 0;
|
||||||
|
|
||||||
for(Player players: _lives.keySet())
|
for(Player players: _lives.keySet())
|
||||||
{
|
{
|
||||||
if(_lives.get(players) > 0)
|
if(_lives.get(players) > 0)
|
||||||
@ -926,11 +981,9 @@ public class MineWare extends SoloGame implements IThrown
|
|||||||
|
|
||||||
if (isDeath)
|
if (isDeath)
|
||||||
{
|
{
|
||||||
Manager.addSpectator(player, false);
|
Manager.addSpectator(player, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_deathEffect.playDeath(player, death);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void endCurrentChallenge() // TODO
|
public void endCurrentChallenge() // TODO
|
||||||
|
@ -368,7 +368,7 @@ public class ChallengeMinecartDance extends Challenge
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}.runTaskLater(Host.Manager.getPlugin(), ticks);
|
}.runTaskLater(Host.Manager.getPlugin(), ticks * 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void spawnFireworkAtCorners(Color color)
|
public void spawnFireworkAtCorners(Color color)
|
||||||
|
@ -110,8 +110,7 @@ public class DeathEffect
|
|||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
private void spawnChickenHead(DeathEffectData data)
|
private void spawnChickenHead(DeathEffectData data)
|
||||||
{
|
{
|
||||||
Location loc = data.getLocation();
|
Location dropsite = data.getLocation();
|
||||||
Location dropsite = loc.clone().subtract(0, 0.7, 0);
|
|
||||||
|
|
||||||
ArmorStand chickenHead = _host.WorldData.World.spawn(dropsite, ArmorStand.class);
|
ArmorStand chickenHead = _host.WorldData.World.spawn(dropsite, ArmorStand.class);
|
||||||
chickenHead.setVisible(false);
|
chickenHead.setVisible(false);
|
||||||
@ -128,7 +127,7 @@ public class DeathEffect
|
|||||||
data.setChickenHead(chickenHead);
|
data.setChickenHead(chickenHead);
|
||||||
playHeadRotation(data);
|
playHeadRotation(data);
|
||||||
|
|
||||||
Hologram hologram = getRandomHologram(loc);
|
Hologram hologram = getRandomHologram(dropsite);
|
||||||
hologram.start();
|
hologram.start();
|
||||||
data.setHologram(hologram);
|
data.setHologram(hologram);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user