Update player death handling, add aggressive chicken behavior, minor changes and refactoring.

This commit is contained in:
Thanos paravantis 2016-02-26 18:17:03 +02:00
parent 0e697e279b
commit 1e08e1a5db
50 changed files with 1151 additions and 944 deletions

View File

@ -46,7 +46,7 @@ public class AchievementMainPage extends ShopPageBase<AchievementManager, Achiev
protected void buildPage()
{
ArrayList<Integer> pageLayout = new ItemLayout(
"OXOXOXOXO",
"XXXXOXXXO",
"OXOXOXOXO",
"OXOXOXOXO",
"OXOXOXOXO").getItemSlots();

View File

@ -18,6 +18,7 @@ import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.Chicken;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Item;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@ -25,29 +26,35 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.entity.ItemSpawnEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.scheduler.BukkitRunnable;
import mineplex.core.account.CoreClient;
import mineplex.core.blood.BloodEvent;
import mineplex.core.common.Rank;
import mineplex.core.common.util.C;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilAction;
import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilEnt;
import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilMath;
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.UtilTextBottom;
import mineplex.core.common.util.UtilTextMiddle;
import mineplex.core.common.util.UtilTextTop;
import mineplex.core.common.util.UtilTime;
@ -93,6 +100,7 @@ import nautilus.game.arcade.game.games.mineware.challenges.ChallengePickASide;
import nautilus.game.arcade.game.games.mineware.challenges.ChallengePunchThePig;
import nautilus.game.arcade.game.games.mineware.challenges.ChallengeRedLightGreenLight;
import nautilus.game.arcade.game.games.mineware.challenges.ChallengeReverseTag;
import nautilus.game.arcade.game.games.mineware.challenges.ChallengeRunner;
import nautilus.game.arcade.game.games.mineware.challenges.ChallengeRushPush;
import nautilus.game.arcade.game.games.mineware.challenges.ChallengeShootChickens;
import nautilus.game.arcade.game.games.mineware.challenges.ChallengeSmashOff;
@ -222,6 +230,7 @@ public class BawkBawkBattles extends TeamGame implements IThrown
_challenges.add(ChallengePunchThePig.class);
_challenges.add(ChallengeRedLightGreenLight.class);
_challenges.add(ChallengeReverseTag.class);
_challenges.add(ChallengeRunner.class); // TODO: To be tested.
_challenges.add(ChallengeRushPush.class);
_challenges.add(ChallengeShootChickens.class);
_challenges.add(ChallengeSmashOff.class);
@ -657,7 +666,7 @@ public class BawkBawkBattles extends TeamGame implements IThrown
Scoreboard.Reset();
if (GetPlayers(true).size() > 14)
if (super.GetPlayers(true).size() > 14)
{
int alive = 0;
@ -761,19 +770,20 @@ public class BawkBawkBattles extends TeamGame implements IThrown
List<String> messages = Arrays.asList(challenge.getGameMessages());
for (Player player : UtilServer.getPlayers())
for (Player player : GetPlayers(true))
{
UtilPlayer.message(player, F.count(ArcadeFormat.Line));
UtilPlayer.message(player, "");
// UtilPlayer.message(player, F.count(ArcadeFormat.Line));
UtilPlayer.message(player, " " + C.cYellow + challenge.getName());
UtilPlayer.message(player, " " + C.cYellow + challenge.getName() + C.Reset + " " + C.cGray + challenge.getType().toString());
UtilPlayer.message(player, "");
for (String currentMessage : messages)
if (messages.get(messages.size() - 1) != currentMessage)
UtilPlayer.message(player, C.cGray + " - " + C.cWhite + currentMessage);
UtilPlayer.message(player, "");
UtilPlayer.message(player, F.count(ArcadeFormat.Line));
// UtilPlayer.message(player, "");
// UtilPlayer.message(player, F.count(ArcadeFormat.Line));
}
while (true)
@ -781,7 +791,7 @@ public class BawkBawkBattles extends TeamGame implements IThrown
if (!IsLive())
break;
for (Player player : UtilServer.getPlayers())
for (Player player : GetPlayers(true))
{
String message = C.cYellow + messages.get(looped);
UtilTextMiddle.display(challenge.getName(), message, 0, 60, 20);
@ -870,7 +880,12 @@ public class BawkBawkBattles extends TeamGame implements IThrown
if (!IsLive())
return;
if (!IsAlive(event.getPlayer()))
Player player = event.getPlayer();
if (!IsAlive(player))
return;
if (!getChallengers().contains(player))
return;
if (!PrepareFreeze)
@ -897,6 +912,10 @@ public class BawkBawkBattles extends TeamGame implements IThrown
return;
Player player = event.getEntity();
if (_chickenTeam.HasPlayer(player))
return;
Location death = player.getLocation().clone();
_challenge.getLost().add(player);
@ -994,7 +1013,7 @@ public class BawkBawkBattles extends TeamGame implements IThrown
if (player.equals(other))
continue;
if (UtilMath.offset(other, player) > 5)
if (UtilMath.offset(other, player) > 7)
continue;
if (Recharge.Instance.use(player, "Approach Alive Player", 500, false, false))
@ -1010,6 +1029,82 @@ public class BawkBawkBattles extends TeamGame implements IThrown
}
}
@EventHandler
public void onChickenAttack(UpdateEvent event)
{
if (!IsLive())
return;
if (event.getType() != UpdateType.SEC)
return;
if (_chickenTeam == null)
return;
if (_chickenTeam.GetSize() == 0)
return;
for (Player player : _chickenTeam.GetPlayers(true))
{
Chicken chicken = UtilMath.randomElement(_chickenAttack.getChickens());
// Chickens attacking too many players.
if (!chicken.isOnGround())
return;
UtilEnt.CreatureLook(chicken, player);
//UtilAction.velocity(chicken, UtilAlg.calculateVelocity(player.getVelocity(), chicken.getVelocity(), 1.0D));
UtilAction.velocity(chicken, UtilAlg.getTrajectory(chicken, player).setY(0.3D));
Manager.GetProjectile().AddThrow(
chicken,
null,
this,
-1,
true,
false,
false,
true,
0.8F);
}
}
@EventHandler
public void onChickenAttackParticle(UpdateEvent event)
{
if (!IsLive())
return;
if (event.getType() != UpdateType.TICK)
return;
for (Chicken chicken : _chickenAttack.getChickens())
{
if (!chicken.isOnGround())
{
UtilParticle.PlayParticle(ParticleType.FLAME, chicken.getLocation(), 0.1F, 0.1F, 0.1F, 0.02F, 1, ViewDist.NORMAL);
}
}
}
@EventHandler
public void onChickenAttackPlayerDeath(PlayerDeathEvent event)
{
if (!IsLive())
return;
if (_challenge == null)
return;
Player player = event.getEntity();
if (!_chickenTeam.HasPlayer(player))
return;
_chickenAttack.kill(player);
}
private void gameLostMessage(Player player)
{
UtilPlayer.message(player, "");
@ -1236,8 +1331,8 @@ public class BawkBawkBattles extends TeamGame implements IThrown
_chickenAttack = new ChickenAttack(
this,
new Location(WorldData.World, 50, 0, 0),
new Location(WorldData.World, 47, 0, -3),
new Location(WorldData.World, 53, 0, 3));
new Location(WorldData.World, 45, 0, -5),
new Location(WorldData.World, 55, 0, 5));
}
@EventHandler
@ -1262,10 +1357,25 @@ public class BawkBawkBattles extends TeamGame implements IThrown
}
@EventHandler
public void onBlood(BloodEvent event)
public void onItemSpawn(ItemSpawnEvent event)
{
if (!IsLive())
return;
Item blood = event.getEntity();
ItemStack bloodItem = blood.getItemStack();
if (bloodItem.getType() == Material.INK_SACK && bloodItem.getData().getData() == 1)
{
if (bloodItem.hasItemMeta())
{
if (bloodItem.getItemMeta().hasDisplayName())
{
event.setCancelled(true);
}
}
}
}
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event)
@ -1458,6 +1568,23 @@ public class BawkBawkBattles extends TeamGame implements IThrown
public void Collide(LivingEntity target, Block block, ProjectileUser data)
{
getCurrentChallenge().onCollide(target, block, data);
if (data.GetThrown() instanceof Chicken)
{
if (target instanceof Player)
{
Player player = (Player) target;
if (_chickenTeam.HasPlayer(player) && IsAlive(player))
{
player.playSound(player.getLocation(), Sound.CHICKEN_HURT, 2.0F, 1.0F);
player.damage(4.0D);
if (UtilMath.random.nextBoolean())
UtilTextBottom.display(C.cRed + C.Bold + "bawk bawk!", player);
}
}
}
}
@Override

View File

@ -32,11 +32,6 @@ import nautilus.game.arcade.world.WorldData;
public abstract class Challenge implements Listener
{
public enum ChallengeType
{
LastStanding, FirstComplete
}
public BawkBawkBattles Host;
private String _name;

View File

@ -4,11 +4,11 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map.Entry;
import mineplex.core.common.util.UtilPlayer;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import mineplex.core.common.util.UtilPlayer;
public abstract class ChallengeSeperateRooms extends Challenge
{
private HashMap<String, Integer[]> _borders = new HashMap<String, Integer[]>();

View File

@ -28,6 +28,7 @@ import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilShapes;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeAnvilDance extends Challenge
{
@ -56,7 +57,12 @@ public class ChallengeAnvilDance extends Challenge
public ChallengeAnvilDance(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Anvil Dance", "It's raining anvils!", "Dodge them to stay alive.");
super(
host,
ChallengeType.LastStanding,
"Anvil Dance",
"It's raining anvils!",
"Dodge them to stay alive.");
}
@Override

View File

@ -29,6 +29,7 @@ import mineplex.core.itemstack.ItemBuilder;
import nautilus.game.arcade.game.games.mineware.AntiHackFix;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
import nautilus.game.arcade.game.games.mineware.events.ChallengeEndEvent;
public class ChallengeArrowRampage extends Challenge
@ -45,8 +46,7 @@ public class ChallengeArrowRampage extends Challenge
false,
true,
"You are equipped with explosive arrows.",
"Force your enemy into the void!"
);
"Force your enemy into the void!");
_antiHackFix = new AntiHackFix(this);
}

View File

@ -27,6 +27,7 @@ import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeBlockLobbers extends Challenge
{
@ -39,8 +40,7 @@ public class ChallengeBlockLobbers extends Challenge
host, ChallengeType.LastStanding,
"Block Lobbers",
"Throw blocks to other players.",
"Try to knock them off the platform!"
);
"Try to knock them off the platform!");
}
@Override

View File

@ -30,6 +30,7 @@ import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.AntiHackFix;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeBouncingBlock extends Challenge
{
@ -39,8 +40,13 @@ public class ChallengeBouncingBlock extends Challenge
public ChallengeBouncingBlock(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Bouncing Block", "Jump and punch floating wool blocks.",
"Avoid landing on red wool.", "First to 10 wins!");
super(
host,
ChallengeType.FirstComplete,
"Bouncing Block",
"Jump and punch floating wool blocks.",
"Avoid landing on red wool.",
"First to 10 wins!");
_antiHackFix = new AntiHackFix(this);
}

View File

@ -1,88 +0,0 @@
package nautilus.game.arcade.game.games.mineware.challenges;
import java.util.ArrayList;
import java.util.HashMap;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.ChallengeSeperateRooms;
public class ChallengeBuildBuilding extends ChallengeSeperateRooms
{
private ArrayList<Material> _materials = new ArrayList<Material>();
private HashMap<Location, Material> _build = new HashMap<Location, Material>();
public ChallengeBuildBuilding(BawkBawkBattles host, String challengeName)
{
super(host, ChallengeType.FirstComplete, "Replicate the building!");
for (int x = 0; x < 3; x++)
{
for (int y = 0; y < 5; y++)
{
for (int z = 0; z < 3; z++)
{
}
}
}
}
@Override
public void generateRoom(Location loc)
{
// TODO Auto-generated method stub
}
@Override
public int getBorderX()
{
return 10;
}
@Override
public int getBorderY()
{
return 20;
}
@Override
public int getBorderZ()
{
return 10;
}
@Override
public int getDividersX()
{
return 5;
}
@Override
public int getDividersZ()
{
return 5;
}
@Override
public void cleanupRoom()
{
// TODO Auto-generated method stub
}
@Override
public void setupPlayers()
{
for (Player player : getChallengers())
{
player.setGameMode(GameMode.CREATIVE);
}
}
}

View File

@ -4,17 +4,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilParticle.ViewDist;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.common.util.UtilTextMiddle;
import org.bukkit.Effect;
import org.bukkit.Location;
import org.bukkit.Material;
@ -25,6 +14,18 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilInv;
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.UtilServer;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.common.util.UtilTextMiddle;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeBuildRace extends Challenge
{
// The amount of blocks for every hotbar slot.
@ -44,8 +45,12 @@ public class ChallengeBuildRace extends Challenge
public ChallengeBuildRace(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Build Race", "Your inventory is filled with blocks.",
"Be the first to place them all in the ground!");
super(
host,
ChallengeType.FirstComplete,
"Build Race",
"Your inventory is filled with blocks.",
"Place them all in the ground!");
}
@Override

View File

@ -2,10 +2,6 @@ package nautilus.game.arcade.game.games.mineware.challenges;
import java.util.ArrayList;
import mineplex.core.common.util.UtilMath;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
@ -18,11 +14,20 @@ import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.UtilMath;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeChestLoot extends Challenge
{
public ChallengeChestLoot(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete,"Diamond Seeker", "Find a diamond in the chests.");
super(
host,
ChallengeType.FirstComplete,
"Diamond Seeker",
"Find a diamond in the chests.");
}
@Override
@ -30,9 +35,9 @@ public class ChallengeChestLoot extends Challenge
{
ArrayList<Location> spawns = new ArrayList<Location>();
for (int x = -(getArenaSize() - 1); x <= getArenaSize()-1; x++)
for (int x = -(getArenaSize() - 1); x <= getArenaSize() - 1; x++)
{
for (int z = -(getArenaSize() - 1); z <= getArenaSize()-1; z++)
for (int z = -(getArenaSize() - 1); z <= getArenaSize() - 1; z++)
{
if (x % 2 == 0 && z % 2 == 0)
{

View File

@ -1,125 +0,0 @@
package nautilus.game.arcade.game.games.mineware.challenges;
import java.util.ArrayList;
import java.util.Iterator;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
public class ChallengeChickenFishing extends Challenge
{
private ArrayList<Entity> _chickens = new ArrayList<Entity>();
private ArrayList<Location> _spawns = new ArrayList<Location>();
private ArrayList<Location> _chickenSpawns = new ArrayList<Location>();
public ChallengeChickenFishing(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete,"Chicken Fishing", "Fish all dem Chickens");
}
@Override
public ArrayList<Location> getSpawns()
{
return _spawns;
}
@EventHandler
public void onSecond(UpdateEvent event)
{
if (event.getType() != UpdateType.FAST)
{
return;
}
Iterator<Entity> itel = _chickens.iterator();
while (itel.hasNext())
{
Entity ent = itel.next();
// TODO Validate chicken is caught
if (!ent.isValid())
{
itel.remove();
}
}
for (Player player : getChallengers())
{
Block block = player.getLocation().getBlock();
if (block.isLiquid())
{
setLost(player);
}
}
}
@Override
public void cleanupRoom()
{
for (Entity chicken : _chickens)
{
chicken.remove();
}
}
@Override
public void setupPlayers()
{
for (Player player : getChallengers())
{
player.getInventory().addItem(new ItemStack(Material.FISHING_ROD));
}
}
@Override
public void generateRoom()
{
int size = (getChallengers().size() / 2) + 4;
for (Location location : UtilShapes.getCircle(getCenter(), true, size))
{
Block block = location.getBlock();
for (int y = 0; y <= 7; y++)
{
Block b = block.getRelative(0, y, 0);
if (y < 3 || (y < 5 && UtilMath.random.nextBoolean()))
{
b.setType(Material.STONE);
}
else if (y != 7)
{
b.setType(Material.DIRT);
}
else
{
b.setType(Material.GRASS);
}
}
_spawns.add(location.clone().add(0.5, 7.1, 0.5));
}
for (Location location : UtilShapes.getCircle(getCenter(), false,
size - 1))
{
_chickenSpawns.add(location.add(0.5, 0.5, 0.5));
}
}
}

View File

@ -15,12 +15,18 @@ import mineplex.core.common.util.UtilShapes;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeCloudFall extends Challenge
{
public ChallengeCloudFall(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Cloud Fall", "Jump and land on the green wool.", "Make sure to avoid the clouds.", "First to the bottom wins!");
super(
host,
ChallengeType.FirstComplete,
"Cloud Fall",
"Jump and land on green wool.",
"Avoid the deadly clouds!");
}
@Override
@ -28,24 +34,24 @@ public class ChallengeCloudFall extends Challenge
{
{
ArrayList<Location> spawns = new ArrayList<Location>();
for(int x = -(getArenaSize() - 1); x <= getArenaSize(); x++)
for (int x = -(getArenaSize() - 1); x <= getArenaSize(); x++)
{
for(int z = -(getArenaSize() - 1); z <= getArenaSize(); z++)
for (int z = -(getArenaSize() - 1); z <= getArenaSize(); z++)
{
boolean goodSpawn = true;
int y = 73;
if(x % 2 == 0 && z % 2 == 0)
if (x % 2 == 0 && z % 2 == 0)
{
while(Host.WorldData.World.getBlockAt(x, y, z).getType() == Material.AIR)
while (Host.WorldData.World.getBlockAt(x, y, z).getType() == Material.AIR)
{
if(y > 76)
if (y > 76)
{
goodSpawn = false;
break;
}
y++;
}
if(goodSpawn)
if (goodSpawn)
{
spawns.add(getCenter().clone().add(x + 0.5, y + 1.1, z + 0.5));
}
@ -73,33 +79,33 @@ public class ChallengeCloudFall extends Challenge
@Override
public void generateRoom()
{
for(int x = -getArenaSize(); x <= getArenaSize(); x++)
for (int x = -getArenaSize(); x <= getArenaSize(); x++)
{
for(int z = -getArenaSize(); z <= getArenaSize(); z++)
for (int z = -getArenaSize(); z <= getArenaSize(); z++)
{
for(int y = 0; y <= 75; y++)
for (int y = 0; y <= 75; y++)
{
Block b = getCenter().getBlock().getRelative(x, y, z);
if(y == 0)
if (y == 0)
{
b.setType(Material.WOOL);
}
if(y == 1 && Math.abs(x) < getArenaSize()-2 && Math.abs(z) < getArenaSize()-2)
if (y == 1 && Math.abs(x) < getArenaSize() - 2 && Math.abs(z) < getArenaSize() - 2)
{
if(UtilMath.r(8) == 0)
if (UtilMath.r(8) == 0)
{
b.setType(Material.WOOL);
b.setData((byte) 5);
b.getRelative(BlockFace.UP).setType(Material.WOOL);
b.getRelative(BlockFace.UP).setData((byte)5);
b.getRelative(BlockFace.UP).setData((byte) 5);
addBlock(b.getRelative(BlockFace.UP));
}
}
if(y > 10 && y < 70)
if (y > 10 && y < 70)
{
if(UtilMath.r(200) == 1)
if (UtilMath.r(200) == 1)
{
// RIP DRY rule ;-;. plz don't hurt me :(
b.getRelative(BlockFace.NORTH).setType(Material.STAINED_CLAY);
@ -113,7 +119,7 @@ public class ChallengeCloudFall extends Challenge
addBlock(b.getRelative(BlockFace.SOUTH));
}
}
if(b.getType() != Material.AIR)
if (b.getType() != Material.AIR)
{
addBlock(b);
}
@ -122,13 +128,13 @@ public class ChallengeCloudFall extends Challenge
}
// The spawning platform
int size = 8;
for(Location locs : UtilShapes.getCircle(new Location(Host.WorldData.World, 0, 75, 0), false, size))
for (Location locs : UtilShapes.getCircle(new Location(Host.WorldData.World, 0, 75, 0), false, size))
{
locs.getBlock().setType(Material.WOOL);
locs.getBlock().setData((byte) UtilMath.r(16));
addBlock(locs.getBlock());
}
for(Location locs : UtilShapes.getCircle(new Location(Host.WorldData.World, 0, 75, 0), false, size/2))
for (Location locs : UtilShapes.getCircle(new Location(Host.WorldData.World, 0, 75, 0), false, size / 2))
{
locs.getBlock().setType(Material.AIR);
}
@ -138,30 +144,30 @@ public class ChallengeCloudFall extends Challenge
@EventHandler
public void onfallDamage(CustomDamageEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(!(event.GetDamageeEntity() instanceof Player))
if (!(event.GetDamageeEntity() instanceof Player))
{
return;
}
if(event.GetCause() != DamageCause.FALL)
if (event.GetCause() != DamageCause.FALL)
{
return;
}
if(isDone(event.GetDamageePlayer()))
if (isDone(event.GetDamageePlayer()))
{
return;
}
if(Math.round(event.GetDamageePlayer().getLocation().getY()) == 3)
if (Math.round(event.GetDamageePlayer().getLocation().getY()) == 3)
{
event.SetCancelled("fell on wool");
SetCompleted(event.GetDamageePlayer());
}
// else
// {
// event.AddMod("Increased Damage", "Missed jump", 2, false);
// }
// else
// {
// event.AddMod("Increased Damage", "Missed jump", 2, false);
// }
}
}

View File

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
@ -30,6 +29,7 @@ import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeDogsVersusCats extends Challenge
{
@ -42,8 +42,14 @@ public class ChallengeDogsVersusCats extends Challenge
public ChallengeDogsVersusCats(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Dogs VS Cats", "If you are a dog, bark.", "If you are a cat, meow.",
"Look up and punch to bark or meow.", "First team to the end number wins!");
super(
host,
ChallengeType.FirstComplete,
"Dogs Vs Cats",
"If you are a dog, bark.",
"If you are a cat, meow.",
"Look up and punch to bark or meow.",
"First team to the end number wins!");
}
@Override

View File

@ -22,6 +22,7 @@ import mineplex.core.common.util.UtilServer;
import mineplex.core.itemstack.ItemBuilder;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeDragonEgg extends Challenge
{
@ -30,7 +31,11 @@ public class ChallengeDragonEgg extends Challenge
public ChallengeDragonEgg(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Dragon egg", "Whack a dragon egg 10 times.");
super(
host,
ChallengeType.FirstComplete,
"Dragon egg",
"Whack a dragon egg 10 times.");
}
@Override

View File

@ -3,17 +3,6 @@ package nautilus.game.arcade.game.games.mineware.challenges;
import java.util.ArrayList;
import java.util.HashSet;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilParticle;
import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.common.util.UtilParticle.ViewDist;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.common.util.UtilTextBottom;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
@ -28,6 +17,18 @@ import org.bukkit.event.entity.EntityChangeBlockEvent;
import org.bukkit.event.entity.ItemSpawnEvent;
import org.bukkit.scheduler.BukkitRunnable;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilMath;
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.UtilServer;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.common.util.UtilTextBottom;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeFallingBlocks extends Challenge
{
// The chance of an anvil to spawn in a single block.
@ -55,21 +56,36 @@ public class ChallengeFallingBlocks extends Challenge
private HashSet<Block> _remaining = new HashSet<Block>();
// The array of materials used to generate random falling blocks.
private Material[] _materials =
{ Material.GRASS, Material.DIRT, Material.STONE, Material.LOG, Material.WOOD, Material.COBBLESTONE, Material.GRAVEL, Material.COAL_ORE,
Material.IRON_ORE, Material.HAY_BLOCK, Material.JUKEBOX, Material.SMOOTH_BRICK, Material.EMERALD_ORE, Material.FURNACE };
private Material[] _materials = {
Material.GRASS,
Material.DIRT,
Material.STONE,
Material.LOG,
Material.WOOD,
Material.COBBLESTONE,
Material.GRAVEL,
Material.COAL_ORE,
Material.IRON_ORE,
Material.HAY_BLOCK,
Material.JUKEBOX,
Material.SMOOTH_BRICK,
Material.EMERALD_ORE,
Material.FURNACE };
// The array of materials used to generate random floor.
private Material[] _floor =
{ Material.GRASS, Material.DIRT, Material.STONE, Material.COBBLESTONE };
private Material[] _floor = { Material.GRASS, Material.DIRT, Material.STONE, Material.COBBLESTONE };
// The array of sounds used to play when a new wave is being deployed.
private Sound[] _sounds =
{ Sound.DIG_GRASS, Sound.DIG_GRAVEL, Sound.DIG_SAND, Sound.DIG_SNOW, Sound.DIG_STONE, Sound.DIG_WOOD, Sound.DIG_WOOL };
private Sound[] _sounds = { Sound.DIG_GRASS, Sound.DIG_GRAVEL, Sound.DIG_SAND, Sound.DIG_SNOW, Sound.DIG_STONE, Sound.DIG_WOOD, Sound.DIG_WOOL };
public ChallengeFallingBlocks(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Falling Blocks", "Blocks are falling from the sky!", "Try to avoid getting hit.");
super(
host,
ChallengeType.LastStanding,
"Falling Blocks",
"Blocks are falling from the sky!",
"Try to avoid getting hit.");
_time = (int) _nextWave;
_modifiedSpawnChance = _spawnChance;
@ -81,7 +97,7 @@ public class ChallengeFallingBlocks extends Challenge
ArrayList<Location> spawns = new ArrayList<Location>();
Location center = new Location(Host.WorldData.World, 0, 0, 0);
for(Location location : UtilShapes.getCircle(center, true, getArenaSize() - 3))
for (Location location : UtilShapes.getCircle(center, true, getArenaSize() - 3))
{
double x = location.getX() + 0.5;
double y = 1.1;
@ -99,15 +115,15 @@ public class ChallengeFallingBlocks extends Challenge
{
Location center = new Location(Host.WorldData.World, 0, 0, 0);
for(Location location : UtilShapes.getCircle(center, false, getArenaSize()))
for (Location location : UtilShapes.getCircle(center, false, getArenaSize()))
{
Material material = _floor[UtilMath.r(_floor.length)];
Block block = location.getBlock();
block.setType(material);
if(material == Material.STONE)
if (material == Material.STONE)
{
if(UtilMath.random.nextBoolean())
if (UtilMath.random.nextBoolean())
{
block.setData((byte) 5);
}
@ -131,16 +147,16 @@ public class ChallengeFallingBlocks extends Challenge
_wavesCompleted = 0;
_modifiedSpawnChance = 0;
for(Block block : _remaining)
for (Block block : _remaining)
{
block.setType(Material.AIR);
}
_remaining.clear();
for(Entity entity : Host.WorldData.World.getEntities())
for (Entity entity : Host.WorldData.World.getEntities())
{
if(entity instanceof FallingBlock)
if (entity instanceof FallingBlock)
{
entity.remove();
}
@ -156,10 +172,10 @@ public class ChallengeFallingBlocks extends Challenge
@EventHandler
public void onEntityChangeBlockEvent(final EntityChangeBlockEvent event)
{
if(!Host.IsLive() || !Host.isChallengeStarted())
if (!Host.IsLive() || !Host.isChallengeStarted())
return;
if(event.getEntity() instanceof FallingBlock)
if (event.getEntity() instanceof FallingBlock)
{
final Block block = event.getBlock();
_remaining.add(block);
@ -169,7 +185,7 @@ public class ChallengeFallingBlocks extends Challenge
@Override
public void run()
{
if(!Host.IsLive() || !Host.isChallengeStarted())
if (!Host.IsLive() || !Host.isChallengeStarted())
{
cancel();
return;
@ -188,10 +204,10 @@ public class ChallengeFallingBlocks extends Challenge
@EventHandler
public void onBlockFade(BlockFadeEvent event)
{
if(!Host.IsLive() || !Host.isChallengeStarted())
if (!Host.IsLive() || !Host.isChallengeStarted())
return;
if(event.getNewState().getType() == Material.DIRT || event.getNewState().getType() == Material.GRASS)
if (event.getNewState().getType() == Material.DIRT || event.getNewState().getType() == Material.GRASS)
event.setCancelled(true);
}
@ -202,7 +218,7 @@ public class ChallengeFallingBlocks extends Challenge
@Override
public void run()
{
if(!Host.IsLive() || !Host.isChallengeStarted())
if (!Host.IsLive() || !Host.isChallengeStarted())
{
cancel();
return;
@ -220,13 +236,13 @@ public class ChallengeFallingBlocks extends Challenge
@Override
public void run()
{
if(!Host.IsLive() || !Host.isChallengeStarted())
if (!Host.IsLive() || !Host.isChallengeStarted())
{
cancel();
return;
}
if(_time <= 0)
if (_time <= 0)
{
_time = (int) _nextWave;
}
@ -234,7 +250,7 @@ public class ChallengeFallingBlocks extends Challenge
int wave = _wavesCompleted + 1;
String time = C.cWhite + C.Bold + _time;
if(wave > 1)
if (wave > 1)
{
UtilTextBottom.display(C.cYellow + C.Bold + "Next Wave: " + time, UtilServer.getPlayers());
}
@ -250,34 +266,34 @@ public class ChallengeFallingBlocks extends Challenge
private void createWave()
{
if(_modifiedSpawnChance < 100.0)
if (_modifiedSpawnChance < 100.0)
_modifiedSpawnChance += _incrementRate;
_wavesCompleted++;
Sound nextSound = _sounds[UtilMath.r(_sounds.length)];
for(Player player : Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
player.playSound(player.getLocation(), nextSound, 1.0F, 1.5F);
}
Location center = new Location(Host.WorldData.World, 0, _waveHeight, 0);
for(Location location : UtilShapes.getCircle(center, false, getArenaSize()))
for (Location location : UtilShapes.getCircle(center, false, getArenaSize()))
{
if(Math.random() * 100 <= _modifiedSpawnChance)
if (Math.random() * 100 <= _modifiedSpawnChance)
{
createFallingBlock(location);
}
}
// Prevent camping
for(Player player : Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
Location camp = player.getLocation();
if(camp.getY() >= 1 && camp.getY() <= 3)
if (camp.getY() >= 1 && camp.getY() <= 3)
{
createFallingBlock(new Location(Host.WorldData.World, camp.getX(), _waveHeight, camp.getZ()));
}
@ -293,8 +309,8 @@ public class ChallengeFallingBlocks extends Challenge
FallingBlock block = world.spawnFallingBlock(location, material, (byte) 0);
block.setDropItem(false);
if(material == Material.SMOOTH_BRICK || material == Material.DIRT)
if(UtilMath.random.nextBoolean())
if (material == Material.SMOOTH_BRICK || material == Material.DIRT)
if (UtilMath.random.nextBoolean())
block = world.spawnFallingBlock(location, material, (byte) 2);
damageNearby(block);
@ -307,21 +323,21 @@ public class ChallengeFallingBlocks extends Challenge
@Override
public void run()
{
if(!Host.IsLive() || !block.isValid() || block.isOnGround() || !Host.isChallengeStarted())
if (!Host.IsLive() || !block.isValid() || block.isOnGround() || !Host.isChallengeStarted())
{
cancel();
return;
}
for(Entity entity : block.getNearbyEntities(0.05, 0.05, 0.05))
for (Entity entity : block.getNearbyEntities(0.05, 0.05, 0.05))
{
if(entity instanceof Player)
if (entity instanceof Player)
{
Player player = (Player) entity;
if(isDone(player))
if (isDone(player))
return;
if(!Host.IsAlive(player))
if (!Host.IsAlive(player))
return;
player.damage(player.getHealth());

View File

@ -2,20 +2,6 @@ package nautilus.game.arcade.game.games.mineware.challenges;
import java.util.ArrayList;
import mineplex.core.common.util.UtilEvent;
import mineplex.core.common.util.UtilEvent.ActionType;
import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilMath;
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.UtilServer;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.itemstack.ItemStackFactory;
import mineplex.core.recharge.Recharge;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Effect;
import org.bukkit.Location;
import org.bukkit.Material;
@ -30,21 +16,51 @@ import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.scheduler.BukkitRunnable;
import mineplex.core.common.util.UtilEvent;
import mineplex.core.common.util.UtilEvent.ActionType;
import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilMath;
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.UtilServer;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.itemstack.ItemStackFactory;
import mineplex.core.recharge.Recharge;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeFastFood extends Challenge
{
private Material[] _food =
{ Material.APPLE, Material.BREAD, Material.GRILLED_PORK, Material.COOKED_BEEF, Material.RAW_FISH, Material.COOKED_FISH, Material.CAKE,
Material.COOKIE, Material.MELON, Material.COOKED_CHICKEN, Material.CARROT_ITEM, Material.BAKED_POTATO, Material.PUMPKIN_PIE };
private Material[] _food = {
Material.APPLE,
Material.BREAD,
Material.GRILLED_PORK,
Material.COOKED_BEEF,
Material.RAW_FISH,
Material.COOKED_FISH,
Material.CAKE,
Material.COOKIE,
Material.MELON,
Material.COOKED_CHICKEN,
Material.CARROT_ITEM,
Material.BAKED_POTATO,
Material.PUMPKIN_PIE };
private Material[] _flowers =
{ Material.LONG_GRASS, Material.YELLOW_FLOWER, Material.RED_ROSE };
private Material[] _flowers = { Material.LONG_GRASS, Material.YELLOW_FLOWER, Material.RED_ROSE };
private int _itemSeperator = 0;
public ChallengeFastFood(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Fast Food", "Your inventory is full of food!", "Punch to throw it in the ground.",
"First player to drop them all wins.");
super(
host,
ChallengeType.FirstComplete,
"Fast Food",
"Your inventory is full of food.",
"Punch to throw it in the ground.",
"First player to drop them all wins!");
}
@Override
@ -53,7 +69,7 @@ public class ChallengeFastFood extends Challenge
ArrayList<Location> spawns = new ArrayList<Location>();
Location center = new Location(Host.WorldData.World, 0, 0, 0);
for(Location location : UtilShapes.getCircle(center, true, getArenaSize() - 3))
for (Location location : UtilShapes.getCircle(center, true, getArenaSize() - 3))
{
double x = location.getX() + 0.5;
double y = 1.1;
@ -70,7 +86,7 @@ public class ChallengeFastFood extends Challenge
{
Location center = new Location(Host.WorldData.World, 0, 0, 0);
for(Location location : UtilShapes.getCircle(center, false, getArenaSize()))
for (Location location : UtilShapes.getCircle(center, false, getArenaSize()))
{
Block block = location.getBlock();
block.setType(Material.GRASS);
@ -84,9 +100,9 @@ public class ChallengeFastFood extends Challenge
{
itemParticleTask();
for(Player player : Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
for(int i = 0; i < 9; i++)
for (int i = 0; i < 9; i++)
{
player.getInventory().setItem(i, getRandomFood());
}
@ -98,9 +114,9 @@ public class ChallengeFastFood extends Challenge
{
_itemSeperator = 0;
for(Entity entity : Host.WorldData.World.getEntities())
for (Entity entity : Host.WorldData.World.getEntities())
{
if(entity instanceof Item)
if (entity instanceof Item)
{
entity.remove();
}
@ -110,14 +126,14 @@ public class ChallengeFastFood extends Challenge
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event)
{
if(!Host.IsLive() || !Host.isChallengeStarted())
if (!Host.IsLive() || !Host.isChallengeStarted())
return;
Player player = event.getPlayer();
if(UtilEvent.isAction(event, ActionType.L) && !isDone(player))
if (UtilEvent.isAction(event, ActionType.L) && !isDone(player))
{
if(event.getItem() != null)
if (event.getItem() != null)
{
ItemStack item = event.getItem();
throwItemInGround(player, item);
@ -136,19 +152,19 @@ public class ChallengeFastFood extends Challenge
@Override
public void run()
{
if(!Host.IsLive() || !Host.isChallengeStarted())
if (!Host.IsLive() || !Host.isChallengeStarted())
{
cancel();
return;
}
for(Entity entity : Host.WorldData.World.getEntities())
for (Entity entity : Host.WorldData.World.getEntities())
{
if(entity instanceof Item)
if (entity instanceof Item)
{
Item item = (Item) entity;
if(!item.isValid() || item.isDead() || item.isOnGround() || item.getItemStack().getType() == Material.INK_SACK)
if (!item.isValid() || item.isDead() || item.isOnGround() || item.getItemStack().getType() == Material.INK_SACK)
continue;
UtilParticle.PlayParticle(ParticleType.INSTANT_SPELL, item.getLocation(), 0, 0, 0, 0, 1, ViewDist.NORMAL,
@ -164,11 +180,11 @@ public class ChallengeFastFood extends Challenge
Material foodMaterial = UtilMath.randomElement(_food);
byte data = 0;
if(foodMaterial == Material.RAW_FISH)
if (foodMaterial == Material.RAW_FISH)
{
data = (byte) (UtilMath.r(3) + 1);
}
else if(foodMaterial == Material.COOKED_FISH)
else if (foodMaterial == Material.COOKED_FISH)
{
data = (byte) UtilMath.r(1);
}
@ -179,13 +195,13 @@ public class ChallengeFastFood extends Challenge
private void changeItemSlot(Player player)
{
for(int i = 0; i < 9; i++)
for (int i = 0; i < 9; i++)
{
if(player.getInventory().getItem(i) != null)
if (player.getInventory().getItem(i) != null)
{
ItemStack newItemSelection = player.getInventory().getItem(i);
if(newItemSelection.getType() != Material.AIR)
if (newItemSelection.getType() != Material.AIR)
{
player.getInventory().setHeldItemSlot(i);
return;
@ -197,7 +213,7 @@ public class ChallengeFastFood extends Challenge
@SuppressWarnings("deprecation")
private void throwItemInGround(Player player, ItemStack item)
{
if(!Recharge.Instance.use(player, "Food Throw", 100, false, false))
if (!Recharge.Instance.use(player, "Food Throw", 100, false, false))
return;
player.getWorld().playSound(player.getLocation(), Sound.EAT, 0.5F, 1.1F);
@ -223,43 +239,43 @@ public class ChallengeFastFood extends Challenge
@Override
public void run()
{
if(!Host.IsLive() || !Host.isChallengeStarted() || !item.isValid() || item.isDead())
if (!Host.IsLive() || !Host.isChallengeStarted() || !item.isValid() || item.isDead())
{
cancel();
return;
}
if(item.isOnGround())
if (item.isOnGround())
{
double random = Math.random() * 100;
if(random < 30.0)
if (random < 30.0)
{
Location drop = item.getLocation();
Block block = drop.getBlock();
Block below = block.getRelative(BlockFace.DOWN);
if(UtilMath.random.nextBoolean())
if (UtilMath.random.nextBoolean())
{
if(below.getType() != Material.AIR)
if (below.getType() != Material.AIR)
{
below.setType(Material.DIRT);
if(UtilMath.random.nextBoolean())
if (UtilMath.random.nextBoolean())
below.setData((byte) 1);
}
}
if(block.getType() == Material.AIR && below.getType() != Material.AIR)
if (block.getType() == Material.AIR && below.getType() != Material.AIR)
{
Material flower = UtilMath.randomElement(_flowers);
block.setType(flower);
if(flower == Material.LONG_GRASS)
if (flower == Material.LONG_GRASS)
{
block.setData((byte) (UtilMath.r(2) + 1));
}
else if(flower == Material.RED_ROSE)
else if (flower == Material.RED_ROSE)
{
block.setData((byte) UtilMath.r(8));
}
@ -280,7 +296,7 @@ public class ChallengeFastFood extends Challenge
{
ArrayList<ItemStack> items = UtilInv.getItems(player);
if(items.size() == 0)
if (items.size() == 0)
SetCompleted(player);
}

View File

@ -39,6 +39,7 @@ import mineplex.core.itemstack.ItemBuilder;
import mineplex.core.recharge.Recharge;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
@SuppressWarnings("deprecation")
public class ChallengeFishingDay extends Challenge
@ -50,7 +51,11 @@ public class ChallengeFishingDay extends Challenge
public ChallengeFishingDay(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Fishing Day", "Be the first to catch 5 fish.",
super(
host,
ChallengeType.FirstComplete,
"Fishing Day",
"Be the first to catch 5 fish.",
"Watch out for TNT if you miss the fish!");
}

View File

@ -26,6 +26,7 @@ import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeInfestation extends Challenge
{
@ -38,14 +39,19 @@ public class ChallengeInfestation extends Challenge
public ChallengeInfestation(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Infestation", "Avoid the deadly zombie!", "Watch out, the infected can kill humans.");
super(
host,
ChallengeType.LastStanding,
"Infestation",
"Avoid the deadly zombie.",
"The infected can kill humans!");
}
@Override
public ArrayList<Location> getSpawns()
{
ArrayList<Location> spawns = new ArrayList<Location>();
for(Location locs : UtilShapes.getCircle(new Location(Host.WorldData.World, 0, 0, 0), true, getArenaSize(10)))
for (Location locs : UtilShapes.getCircle(new Location(Host.WorldData.World, 0, 0, 0), true, getArenaSize(10)))
{
spawns.add(getCenter().clone().add(locs.getX() + 0.5, locs.getY() + 1.1, locs.getZ() + 0.5));
}
@ -55,9 +61,9 @@ public class ChallengeInfestation extends Challenge
@Override
public void cleanupRoom()
{
for(Player player : Host.GetPlayers(false))
for (Player player : Host.GetPlayers(false))
{
if(player.hasPotionEffect(PotionEffectType.SPEED))
if (player.hasPotionEffect(PotionEffectType.SPEED))
{
player.removePotionEffect(PotionEffectType.SPEED);
}
@ -74,7 +80,7 @@ public class ChallengeInfestation extends Challenge
public void setupPlayers()
{
_gameStart = System.currentTimeMillis();
for(Player player : Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, Integer.MAX_VALUE, 1));
}
@ -86,7 +92,7 @@ public class ChallengeInfestation extends Challenge
@Override
public void generateRoom()
{
for(Location locs : UtilShapes.getCircle(new Location(Host.WorldData.World, 0, 0, 0), false, getArenaSize(15)))
for (Location locs : UtilShapes.getCircle(new Location(Host.WorldData.World, 0, 0, 0), false, getArenaSize(15)))
{
locs.getBlock().setType(Material.WOOL);
locs.getBlock().setData((byte) UtilMath.r(16));
@ -106,29 +112,29 @@ public class ChallengeInfestation extends Challenge
@EventHandler
public void onZombieInfection(CustomDamageEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(!(event.GetDamageeEntity() instanceof Player))
if (!(event.GetDamageeEntity() instanceof Player))
{
return;
}
if((!(event.GetDamagerEntity(false) instanceof Player)))
if ((!(event.GetDamagerEntity(false) instanceof Player)))
{
return;
}
if(isCompleted(event.GetDamageePlayer()))
if (isCompleted(event.GetDamageePlayer()))
{
event.SetCancelled("Player already finished");
return;
}
if(!_infectedPlayers.contains(event.GetDamagerPlayer(false).getName()))
if (!_infectedPlayers.contains(event.GetDamagerPlayer(false).getName()))
{
event.SetCancelled("Not an infector");
return;
}
if(_infectedPlayers.contains(event.GetDamageePlayer().getName()))
if (_infectedPlayers.contains(event.GetDamageePlayer().getName()))
{
event.SetCancelled("Already infected");
return;
@ -144,33 +150,33 @@ public class ChallengeInfestation extends Challenge
@EventHandler
public void zombieControl(UpdateEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(event.getType() != UpdateType.FAST)
if (event.getType() != UpdateType.FAST)
{
return;
}
if(_zombieFrozen)
if (_zombieFrozen)
{
if(System.currentTimeMillis() > _zombieFreezeEnd)
if (System.currentTimeMillis() > _zombieFreezeEnd)
{
_zombieFrozen = false;
}
return;
}
if(UtilMath.r(15) == 0)
if (UtilMath.r(15) == 0)
{
freezeZombie((UtilMath.r(3)+3)*1000);
freezeZombie((UtilMath.r(3) + 3) * 1000);
}
if(_infectedZombie.getLocation().getY() < -1)
if (_infectedZombie.getLocation().getY() < -1)
{
_infectedZombie.teleport(new Location(Host.WorldData.World, 0, 1, 0));
}
Player closestPlayer = UtilPlayer.getClosest(_infectedZombie.getLocation(), (Entity) null);
_infectedZombie.setTarget(closestPlayer);
if(_zombieSpeed <= 3.0f)
if (_zombieSpeed <= 3.0f)
{
_zombieSpeed *= 1.03f;
}
@ -178,11 +184,11 @@ public class ChallengeInfestation extends Challenge
UtilEnt.CreatureLook(_infectedZombie, closestPlayer);
UtilEnt.CreatureMove(_infectedZombie, closestPlayer.getLocation(), _zombieSpeed);
if(_infectedZombie.getLocation().distance(closestPlayer.getLocation()) <= 2)
if (_infectedZombie.getLocation().distance(closestPlayer.getLocation()) <= 2)
{
if(!_infectedPlayers.contains(closestPlayer.getName()))
if (!_infectedPlayers.contains(closestPlayer.getName()))
{
if(_gameStart+5000 > System.currentTimeMillis())
if (_gameStart + 5000 > System.currentTimeMillis())
{
return;
}
@ -194,19 +200,19 @@ public class ChallengeInfestation extends Challenge
@EventHandler
public void winCheck(UpdateEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(event.getType() != UpdateType.FASTER)
if (event.getType() != UpdateType.FASTER)
{
return;
}
if(_infectedPlayers.size() >= Math.floor(Host.GetPlayers(true).size()/2))
if (_infectedPlayers.size() >= Math.floor(Host.GetPlayers(true).size() / 2))
{
for(Player player: Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
if(_infectedPlayers.contains(player.getName()))
if (_infectedPlayers.contains(player.getName()))
{
setLost(player);
}
@ -221,11 +227,11 @@ public class ChallengeInfestation extends Challenge
@EventHandler
public void blockMobFire(EntityCombustEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(event.getEntity() instanceof Zombie)
if (event.getEntity() instanceof Zombie)
{
event.getEntity().setFireTicks(0);
event.setCancelled(true);
@ -240,7 +246,7 @@ public class ChallengeInfestation extends Challenge
public void playerInfect(Player player)
{
if(_infectedPlayers.contains(player.getName()))
if (_infectedPlayers.contains(player.getName()))
{
return;
}

View File

@ -5,13 +5,6 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import mineplex.core.common.util.UtilAction;
import mineplex.core.common.util.UtilMath;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
@ -20,6 +13,14 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerMoveEvent;
import mineplex.core.common.util.UtilAction;
import mineplex.core.common.util.UtilMath;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeKangarooJump extends Challenge
{
private long _gameTime = System.currentTimeMillis() + ((UtilMath.r(5) + 20) * 1000);
@ -29,7 +30,12 @@ public class ChallengeKangarooJump extends Challenge
public ChallengeKangarooJump(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Kangaroo Jump", "Jump from block to block.", "Player with the highest height wins!");
super(
host,
ChallengeType.FirstComplete,
"Kangaroo Jump",
"Jump from block to block.",
"Player with the highest height wins!");
}
@Override
@ -37,11 +43,11 @@ public class ChallengeKangarooJump extends Challenge
{
ArrayList<Location> spawns = new ArrayList<Location>();
for(int x = -(getArenaSize() - 1); x <= getArenaSize() - 1; x++)
for (int x = -(getArenaSize() - 1); x <= getArenaSize() - 1; x++)
{
for(int z = -(getArenaSize() - 1); z <= getArenaSize() - 1; z++)
for (int z = -(getArenaSize() - 1); z <= getArenaSize() - 1; z++)
{
if(x % 2 == 0 && z % 2 == 0)
if (x % 2 == 0 && z % 2 == 0)
{
spawns.add(getCenter().clone().add(x + 0.5, 1.1, z + 0.5));
}
@ -59,7 +65,7 @@ public class ChallengeKangarooJump extends Challenge
@Override
public void setupPlayers()
{
for(Player player : Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
_players.put(player.getName(), true);
_playerJumpHeight.put(player, 0);
@ -70,22 +76,22 @@ public class ChallengeKangarooJump extends Challenge
@Override
public void generateRoom()
{
for(int x = -getArenaSize(); x <= getArenaSize(); x++)
for (int x = -getArenaSize(); x <= getArenaSize(); x++)
{
for(int z = -getArenaSize(); z <= getArenaSize(); z++)
for (int z = -getArenaSize(); z <= getArenaSize(); z++)
{
for(int y = 0; y <= 150; y++)
for (int y = 0; y <= 150; y++)
{
Block b = getCenter().getBlock().getRelative(x, y, z);
if(y == 0)
if (y == 0)
{
b.setType(Material.DIRT);
b.setData((byte) 2);
}
else if(y > 2)
else if (y > 2)
{
if(UtilMath.r(33) == 15)
if (UtilMath.r(33) == 15)
{
b.setType(Material.WOOL);
b.setData((byte) UtilMath.r(16));
@ -93,12 +99,12 @@ public class ChallengeKangarooJump extends Challenge
}
else
{
if(Math.abs(x) == getArenaSize() || Math.abs(z) == getArenaSize())
if (Math.abs(x) == getArenaSize() || Math.abs(z) == getArenaSize())
{
b.setType(Material.FENCE);
}
}
if(b.getType() != Material.AIR)
if (b.getType() != Material.AIR)
{
addBlock(b);
}
@ -110,23 +116,23 @@ public class ChallengeKangarooJump extends Challenge
@EventHandler
public void onPlayerJump(PlayerMoveEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(!Host.isChallengeStarted())
if (!Host.isChallengeStarted())
{
return;
}
if(event.getFrom().getY() >= event.getTo().getY())
if (event.getFrom().getY() >= event.getTo().getY())
{
return;
}
Player player = event.getPlayer();
if(_players.get(player.getName()) == false) // TODO fix
if (_players.get(player.getName()) == false) // TODO fix
{
if(player.isOnGround())
if (player.isOnGround())
{
_players.put(player.getName(), true);
}
@ -139,33 +145,33 @@ public class ChallengeKangarooJump extends Challenge
@EventHandler
public void playerJumpTracker(PlayerMoveEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
Player player = event.getPlayer();
if(player.getLocation().getBlockY() < 4)
if (player.getLocation().getBlockY() < 4)
{
return; // Return = Stop code
}
if(!player.isOnGround())
if (!player.isOnGround())
{
return;
}
if(!_playerJumpHeight.containsKey(player))
if (!_playerJumpHeight.containsKey(player))
{
return;
}
if(isLost(player))
if (isLost(player))
{
_playerJumpHeight.remove(player);
}
if((player.getLocation().getBlockY() < _playerJumpHeight.get(player)))
if ((player.getLocation().getBlockY() < _playerJumpHeight.get(player)))
{
_playerJumpHeight.remove(player);
return;
}
if(player.getLocation().getBlockY() > _playerJumpHeight.get(player))
if (player.getLocation().getBlockY() > _playerJumpHeight.get(player))
{
_playerJumpHeight.put(player, player.getLocation().getBlockY());
}
@ -174,32 +180,32 @@ public class ChallengeKangarooJump extends Challenge
@EventHandler
public void gameEndChecker(UpdateEvent event)
{
if(event.getType() != UpdateType.FASTER)
if (event.getType() != UpdateType.FASTER)
{
return;
}
if(System.currentTimeMillis() > _gameTime)
if (System.currentTimeMillis() > _gameTime)
{
HashMap<String, Integer> playerHeights = new HashMap<String, Integer>();
for(Player player : Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
if(!Host.IsAlive(player))
if (!Host.IsAlive(player))
{
return;
}
if(!playerHeights.containsKey(player.getName()))
if (!playerHeights.containsKey(player.getName()))
{
playerHeights.put(player.getName(), player.getLocation().getBlockY());
}
}
ArrayList<String> sortedList = sortHash(playerHeights);
for(int i = 0; i < (sortedList.size()); i++)
for (int i = 0; i < (sortedList.size()); i++)
{
System.out.println(sortedList.get(i));
if(!isDone(Bukkit.getPlayer(sortedList.get(i))))
if (!isDone(Bukkit.getPlayer(sortedList.get(i))))
{
if(i < (sortedList.size() / 2))
if (i < (sortedList.size() / 2))
{
SetCompleted(Bukkit.getPlayer(sortedList.get(i)));
}

View File

@ -23,6 +23,7 @@ import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeKingOfTheHill extends Challenge
{
@ -31,7 +32,11 @@ public class ChallengeKingOfTheHill extends Challenge
public ChallengeKingOfTheHill(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "King Of The Ladder", "Reach the top of the ladder.");
super(
host,
ChallengeType.FirstComplete,
"King Of The Ladder",
"Reach the top of the ladder.");
}
@Override

View File

@ -21,6 +21,7 @@ import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeLavaRun extends Challenge
{
@ -31,7 +32,13 @@ public class ChallengeLavaRun extends Challenge
public ChallengeLavaRun(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Lava run", "The lava is coming!", "Stand on the obsidian.", "Run! Run! Run!");
super(
host,
ChallengeType.LastStanding,
"Lava Ρun",
"The lava is coming!",
"Stand on the obsidian.",
"Run! Run! Run!");
}
@Override

View File

@ -3,19 +3,6 @@ package nautilus.game.arcade.game.games.mineware.challenges;
import java.util.ArrayList;
import java.util.HashMap;
import mineplex.core.common.util.C;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.disguise.disguises.DisguiseVillager;
import mineplex.core.hologram.Hologram;
import mineplex.core.hologram.Hologram.HologramTarget;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
@ -32,6 +19,20 @@ import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.C;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.disguise.disguises.DisguiseVillager;
import mineplex.core.hologram.Hologram;
import mineplex.core.hologram.Hologram.HologramTarget;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeMilkACow extends Challenge
{
private Villager _villager;
@ -41,7 +42,12 @@ public class ChallengeMilkACow extends Challenge
public ChallengeMilkACow(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Milk the cows", "Milk 5 different cows.", "Deliver the milk to the villager!");
super(
host,
ChallengeType.FirstComplete,
"Milk a Cow",
"Milk 5 different cows.",
"Deliver the milk to the villager!");
}
@Override
@ -138,29 +144,43 @@ public class ChallengeMilkACow extends Challenge
_villager.setCustomName(C.Bold + "Farmer Joe");
_villager.setCustomNameVisible(true);
String[] names = new String[]
{
"Tom", "Steve", "John", "Harry", "Andrew", "Daniel", "Bobbae", "Jim"
String[] names = new String[] {
"Tom",
"Steve",
"John",
"Harry",
"Andrew",
"Daniel",
"Bobbae",
"Jim"
};
if (UtilMath.r(5) == 0)
{
names = new String[]
{
"Moorten", "Mooington", "Mooley", "Moose", "Mooskee", "Chicken", "Mooffy", "Moozzle",
names = new String[] {
"Moorten",
"Mooington",
"Mooley",
"Moose",
"Mooskee",
"Chicken",
"Mooffy",
"Moozzle",
};
}
for (int i = 0; i < 8; i++)
{
Location loc = getCenter().clone().add(UtilMath.r(((getArenaSize()*2)-1) - (getArenaSize()-1)), 1, UtilMath.r((getArenaSize()*2)-1) - (getArenaSize()-1));
Location loc = getCenter().clone().add(UtilMath.r(((getArenaSize() * 2) - 1) - (getArenaSize() - 1)), 1,
UtilMath.r((getArenaSize() * 2) - 1) - (getArenaSize() - 1));
Cow cow = (Cow) loc.getWorld().spawnEntity(loc, EntityType.COW);
cow.setCustomName(C.cWhite + names[i]);
cow.setCustomNameVisible(true);
_milked.put(cow, new ArrayList<String>());
_cowIndicator.put(cow, new Hologram(Host.Manager.getHologramManager(), cow.getLocation().clone().add(0, 2.5, 0), C.cRed + "Already Milked!"));
_cowIndicator.put(cow,
new Hologram(Host.Manager.getHologramManager(), cow.getLocation().clone().add(0, 2.5, 0), C.cRed + "Already Milked!"));
Hologram holo = _cowIndicator.get(cow);
holo.setHologramTarget(HologramTarget.WHITELIST);
@ -174,21 +194,21 @@ public class ChallengeMilkACow extends Challenge
@EventHandler
public void cowIndicator(UpdateEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(event.getType() != UpdateType.SEC)
if (event.getType() != UpdateType.SEC)
{
return;
}
for(Entity entCow: _milked.keySet())
for (Entity entCow : _milked.keySet())
{
for(String playerName: _milked.get(entCow))
for (String playerName : _milked.get(entCow))
{
Hologram holo = _cowIndicator.get(entCow);
if(!holo.containsPlayer(playerName))
if (!holo.containsPlayer(playerName))
{
holo.addPlayer(playerName);
}
@ -271,9 +291,9 @@ public class ChallengeMilkACow extends Challenge
{
ArrayList<Location> spawns = new ArrayList<Location>();
for (int x = -(getArenaSize() - 1); x <= getArenaSize()-1; x++)
for (int x = -(getArenaSize() - 1); x <= getArenaSize() - 1; x++)
{
for (int z = -(getArenaSize() - 1); z <= getArenaSize()-1; z++)
for (int z = -(getArenaSize() - 1); z <= getArenaSize() - 1; z++)
{
if (x % 2 == 0 && z % 2 == 0)
{

View File

@ -3,10 +3,6 @@ package nautilus.game.arcade.game.games.mineware.challenges;
import java.util.ArrayList;
import java.util.Arrays;
import mineplex.core.common.util.UtilMath;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
@ -17,6 +13,11 @@ import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.UtilMath;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeMineADiamond extends Challenge
{
private ArrayList<Material> _ores = new ArrayList<Material>(Arrays.asList(Material.IRON_ORE, Material.GOLD_ORE,
@ -25,8 +26,11 @@ public class ChallengeMineADiamond extends Challenge
public ChallengeMineADiamond(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Mine a Diamond", "Find a diamond around the map.",
"Be the first to mine one!");
super(
host,
ChallengeType.FirstComplete,
"Mine a Diamond",
"Find a diamond around the map.");
}
@Override
@ -107,7 +111,8 @@ public class ChallengeMineADiamond extends Challenge
UtilMath.r(getArenaSize() * 2) - (getArenaSize()), 1,
UtilMath.r(getArenaSize() * 2) - (getArenaSize()));
if (copy.getType() == Material.DIAMOND_ORE && Math.abs(copy.getX()) < getArenaSize() && Math.abs(copy.getY()) < getArenaSize())
if (copy.getType() == Material.DIAMOND_ORE && Math.abs(copy.getX()) < getArenaSize()
&& Math.abs(copy.getY()) < getArenaSize())
{
i--;
continue;

View File

@ -27,14 +27,14 @@ import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
import net.minecraft.server.v1_8_R3.BlockPosition;
import net.minecraft.server.v1_8_R3.PacketPlayOutWorldEvent;
public class ChallengeMinecartDance extends Challenge
{
/*
* _state if 1 = waiting if 2 = stateSwitch if 3 = cartsSpawned and player
* battle
* _state if 1 = waiting if 2 = stateSwitch if 3 = cartsSpawned and player battle
*/
private boolean _isPlayingMusic = false;
private int _availableMinecarts;
@ -44,7 +44,11 @@ public class ChallengeMinecartDance extends Challenge
public ChallengeMinecartDance(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Musical Minecart", "Get ready when the fireworks change color.",
super(
host,
ChallengeType.LastStanding,
"Musical Minecart",
"Get ready when the fireworks change color.",
"Once they're green, get inside a minecart!");
}
@ -202,7 +206,8 @@ public class ChallengeMinecartDance extends Challenge
{
((CraftPlayer) player).getHandle().playerConnection.sendPacket(new PacketPlayOutWorldEvent(1005,
new BlockPosition(getCenter().getBlockX(), getCenter().getBlockY() + 5, getCenter()
.getBlockZ()), 2259, false));
.getBlockZ()),
2259, false));
}
}
if (_timeSinceLastState + 5500 < System.currentTimeMillis())
@ -244,7 +249,8 @@ public class ChallengeMinecartDance extends Challenge
{
((CraftPlayer) player).getHandle().playerConnection.sendPacket(new PacketPlayOutWorldEvent(1005,
new BlockPosition(getCenter().getBlockX(), getCenter().getBlockY() + 5, getCenter()
.getBlockZ()), 0, false));
.getBlockZ()),
0, false));
}
}
@ -252,14 +258,15 @@ public class ChallengeMinecartDance extends Challenge
{
Minecart minecart = Host.WorldData.World.spawn(
new Location(Host.WorldData.World, UtilMath.r(getArenaSize(7) * 2) - (getArenaSize(7)), 2,
UtilMath.r(getArenaSize(7) * 2) - (getArenaSize(7))), Minecart.class);
UtilMath.r(getArenaSize(7) * 2) - (getArenaSize(7))),
Minecart.class);
UtilEnt.ghost(minecart, true, false);
_minecarts.add(minecart);
}
_state = 3;
if(getCurrentyAlive(false).size() >= 10)
if (getCurrentyAlive(false).size() >= 10)
{
startTimer(Math.round(getCurrentyAlive(false).size()/2));
startTimer(Math.round(getCurrentyAlive(false).size() / 2));
}
else
{

View File

@ -22,13 +22,21 @@ import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeMiniOneInTheQuiver extends Challenge
{
public ChallengeMiniOneInTheQuiver(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Mini OITQ", false, true, "Avoid getting hit by arrows.", "You receive an arrow every 4 seconds.",
"Last man standing wins!");
super(
host,
ChallengeType.LastStanding,
"Mini OITQ",
false,
true,
"Shoot arrows to instant kill others.",
"Avoid getting hit by them.",
"Arrow supply every 4 seconds.");
}
@Override

View File

@ -3,10 +3,6 @@ package nautilus.game.arcade.game.games.mineware.challenges;
import java.util.ArrayList;
import java.util.HashMap;
import mineplex.core.common.util.UtilPlayer;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
@ -15,13 +11,22 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerMoveEvent;
import mineplex.core.common.util.UtilPlayer;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeNavigateMaze extends Challenge
{
private HashMap<Player, Long> _playerCompletionTime = new HashMap<Player, Long>();
public ChallengeNavigateMaze(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Nagivation Maze", "Go to the other side of the maze.");
super(
host,
ChallengeType.FirstComplete,
"Nagivation Maze",
"Go to the other side of the maze.");
}
@Override
@ -45,7 +50,7 @@ public class ChallengeNavigateMaze extends Challenge
{
return;
}
if(isDone(event.getPlayer()))
if (isDone(event.getPlayer()))
{
return;
}
@ -154,9 +159,11 @@ public class ChallengeNavigateMaze extends Challenge
{
Block block = nextLoop.remove(0);
for (BlockFace face : new BlockFace[]
{
BlockFace.EAST, BlockFace.WEST, BlockFace.SOUTH, BlockFace.NORTH
for (BlockFace face : new BlockFace[] {
BlockFace.EAST,
BlockFace.WEST,
BlockFace.SOUTH,
BlockFace.NORTH
})
{
Block b = block.getRelative(face);

View File

@ -3,6 +3,13 @@ package nautilus.game.arcade.game.games.mineware.challenges;
import java.util.ArrayList;
import java.util.HashSet;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilPlayer;
@ -11,13 +18,7 @@ import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengePickASide extends Challenge
{
@ -28,8 +29,12 @@ public class ChallengePickASide extends Challenge
public ChallengePickASide(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Pick a Side", "The side with the fewest players wins!",
"No... Standing in the middle won't work");
super(
host,
ChallengeType.FirstComplete,
"Pick a Side",
"The side with the smallest amount of players wins.",
"Standing in the middle does not work.");
}
public int getMinPlayers()

View File

@ -4,14 +4,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilMath;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
@ -21,6 +13,15 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.EntityDeathEvent;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilMath;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengePunchThePig extends Challenge
{
private int _amountOfKills = 5;
@ -30,7 +31,11 @@ public class ChallengePunchThePig extends Challenge
public ChallengePunchThePig(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Punch the Pig", "Kill 5 pigs!");
super(
host,
ChallengeType.FirstComplete,
"Punch the Pig",
"Kill 5 pigs.");
}
@Override
@ -38,11 +43,11 @@ public class ChallengePunchThePig extends Challenge
{
ArrayList<Location> spawns = new ArrayList<Location>();
for(int x = -(getArenaSize() - 1); x < getArenaSize() - 1; x++)
for (int x = -(getArenaSize() - 1); x < getArenaSize() - 1; x++)
{
for(int z = -(getArenaSize() - 1); z < getArenaSize() - 1; z++)
for (int z = -(getArenaSize() - 1); z < getArenaSize() - 1; z++)
{
if(x % 2 == 0 && z % 2 == 0)
if (x % 2 == 0 && z % 2 == 0)
{
spawns.add(getCenter().clone().add(x, 1.1, z));
}
@ -54,9 +59,9 @@ public class ChallengePunchThePig extends Challenge
@Override
public void cleanupRoom()
{
for(Pig pigs : _pigs)
for (Pig pigs : _pigs)
{
if(!pigs.isDead())
if (!pigs.isDead())
{
pigs.remove();
}
@ -69,7 +74,7 @@ public class ChallengePunchThePig extends Challenge
@Override
public void setupPlayers()
{
for(int i = 0; i <= Math.round((Host.GetPlayers(true).size()) * 5); i++)
for (int i = 0; i <= Math.round((Host.GetPlayers(true).size()) * 5); i++)
{
Location loc = getCenter().clone().add(UtilMath.r((getArenaSize() * 2) - 1) - (getArenaSize() - 1), 1,
UtilMath.r((getArenaSize() * 2) - 1) - (getArenaSize() - 1));
@ -83,7 +88,7 @@ public class ChallengePunchThePig extends Challenge
_pigs.add(pig);
}
for(Player player : Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
_playerScore.put(player.getName(), 0);
}
@ -94,26 +99,26 @@ public class ChallengePunchThePig extends Challenge
@Override
public void generateRoom()
{
for(int x = -getArenaSize(); x <= getArenaSize(); x++)
for (int x = -getArenaSize(); x <= getArenaSize(); x++)
{
for(int z = -getArenaSize(); z <= getArenaSize(); z++)
for (int z = -getArenaSize(); z <= getArenaSize(); z++)
{
for(int y = 0; y <= 1; y++)
for (int y = 0; y <= 1; y++)
{
Block b = getCenter().getBlock().getRelative(x, y, z);
if(y == 0)
if (y == 0)
{
b.setType(Material.GRASS);
}
else
{
if(Math.abs(x) == getArenaSize() || Math.abs(z) == getArenaSize())
if (Math.abs(x) == getArenaSize() || Math.abs(z) == getArenaSize())
{
b.setType(Material.FENCE);
}
}
if(b.getType() != Material.AIR)
if (b.getType() != Material.AIR)
{
addBlock(b);
}
@ -125,29 +130,29 @@ public class ChallengePunchThePig extends Challenge
@EventHandler
public void onPigPunch(CustomDamageEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(event.GetDamageeEntity() == null)
if (event.GetDamageeEntity() == null)
{
return;
}
if(event.GetDamagerPlayer(false) == null)
if (event.GetDamagerPlayer(false) == null)
{
return;
}
if(event.GetDamageeEntity() instanceof Pig)
if (event.GetDamageeEntity() instanceof Pig)
{
if(isCompleted(event.GetDamagerPlayer(false)))
if (isCompleted(event.GetDamagerPlayer(false)))
{
event.SetCancelled("Player already completed");
return;
}
if(_pigs.contains(event.GetDamageeEntity()))
if (_pigs.contains(event.GetDamageeEntity()))
{
if(_playerScore.get(event.GetDamagerPlayer(false).getName()) != _amountOfKills - 1)
if (_playerScore.get(event.GetDamagerPlayer(false).getName()) != _amountOfKills - 1)
{
_playerScore.put(event.GetDamagerPlayer(false).getName(), _playerScore.get(event.GetDamagerPlayer(false).getName()) + 1);
displayCount(event.GetDamagerPlayer(false), event.GetDamageeEntity().getLocation().add(0.5, 1, 0.5),
@ -168,11 +173,11 @@ public class ChallengePunchThePig extends Challenge
@EventHandler
public void onPigDeath(EntityDeathEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(event.getEntity() instanceof Pig)
if (event.getEntity() instanceof Pig)
{
event.getDrops().clear();
}
@ -181,26 +186,26 @@ public class ChallengePunchThePig extends Challenge
@EventHandler
public void checkPigs(UpdateEvent event)
{
if(event.getType() != UpdateType.FASTER)
if (event.getType() != UpdateType.FASTER)
{
return;
}
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(!Host.isChallengeStarted())
if (!Host.isChallengeStarted())
{
return;
}
if(!_pigs.isEmpty())
if (!_pigs.isEmpty())
{
return;
}
for(Player player : Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
if(isCompleted(player))
if (isCompleted(player))
{
return;
}

View File

@ -31,6 +31,7 @@ import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
import net.md_5.bungee.api.ChatColor;
public class ChallengeRedLightGreenLight extends Challenge
@ -48,7 +49,13 @@ public class ChallengeRedLightGreenLight extends Challenge
public ChallengeRedLightGreenLight(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Red Light, Green Light", false, false, "Be the first to reach the end.", "Don't move while the fireworks are red!");
super(
host,
ChallengeType.FirstComplete,
"Red Light, Green Light",
"Be the first to reach the end.",
"You can move when the fireworks are green.",
"Stay still when the fireworks turn red.");
}
@Override
@ -56,11 +63,11 @@ public class ChallengeRedLightGreenLight extends Challenge
{
ArrayList<Location> spawns = new ArrayList<Location>();
for(int x = -31; x <= -30; x++)
for (int x = -31; x <= -30; x++)
{
for(int z = -(getArenaSize() - 1); z <= getArenaSize() - 1; z++)
for (int z = -(getArenaSize() - 1); z <= getArenaSize() - 1; z++)
{
if(x % 2 == 0 && z % 2 == 0)
if (x % 2 == 0 && z % 2 == 0)
{
spawns.add(getCenter().clone().add(x + 0.5, 2.1, z + 0.5));
}
@ -74,9 +81,9 @@ public class ChallengeRedLightGreenLight extends Challenge
{
_host.remove();
for(Player player: Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
if(player.hasPotionEffect(PotionEffectType.SLOW))
if (player.hasPotionEffect(PotionEffectType.SLOW))
{
player.removePotionEffect(PotionEffectType.SLOW);
}
@ -89,7 +96,7 @@ public class ChallengeRedLightGreenLight extends Challenge
{
changeMoveState(true);
for(Player player: Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, Integer.MAX_VALUE, 2));
}
@ -102,34 +109,34 @@ public class ChallengeRedLightGreenLight extends Challenge
int colorPicker = 0;
Collections.reverse(_colorList);
for(int x = -32; x <= 32; x++) //length people need to run
for (int x = -32; x <= 32; x++) //length people need to run
{
for(int z = -getArenaSize(); z <= getArenaSize(); z++)
for (int z = -getArenaSize(); z <= getArenaSize(); z++)
{
for(int y = 0; y <= 1; y++)
for (int y = 0; y <= 1; y++)
{
Block b = getCenter().getBlock().getRelative(x, y, z);
if(y == 0)
if (y == 0)
{
b.setType(Material.BEDROCK);
}
else if(y > 0)
else if (y > 0)
{
b.setType(Material.WOOL);
b.setData(_colorList.get(colorPicker).byteValue());
}
if(x == _villagerLocationX)
if (x == _villagerLocationX)
{
b.setType(Material.COAL_BLOCK);
}
if(b.getType() != Material.AIR)
if (b.getType() != Material.AIR)
{
addBlock(b);
}
}
}
if(var % 8 == 0 && (colorPicker != _colorList.size() - 1))
if (var % 8 == 0 && (colorPicker != _colorList.size() - 1))
{
colorPicker++;
}
@ -137,7 +144,7 @@ public class ChallengeRedLightGreenLight extends Challenge
}
Host.CreatureAllowOverride = true;
_host = (Villager)getCenter().getWorld().spawnEntity(new Location(getCenter().getWorld(), _villagerLocationX, 2, 0), EntityType.VILLAGER);
_host = (Villager) getCenter().getWorld().spawnEntity(new Location(getCenter().getWorld(), _villagerLocationX, 2, 0), EntityType.VILLAGER);
UtilEnt.Vegetate(_host);
UtilEnt.ghost(_host, true, false);
Host.CreatureAllowOverride = false;
@ -146,25 +153,27 @@ public class ChallengeRedLightGreenLight extends Challenge
@EventHandler
public void playerMoveHandler(final PlayerMoveEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(isDone(event.getPlayer()) || !Host.IsPlaying(event.getPlayer()))
if (isDone(event.getPlayer()) || !Host.IsPlaying(event.getPlayer()))
{
return;
}
if(event.getPlayer().getLocation().getX() > _villagerLocationX) // Wins the challenge
if (event.getPlayer().getLocation().getX() > _villagerLocationX) // Wins the challenge
{
SetCompleted(event.getPlayer());
}
if(!_canMove && !_cooldownedPlayers.contains(event.getPlayer().getName()) && _timeBeforeAction < System.currentTimeMillis())
if (!_canMove && !_cooldownedPlayers.contains(event.getPlayer().getName()) && _timeBeforeAction < System.currentTimeMillis())
{
if(event.getFrom().getBlockX() == event.getTo().getBlockX())
if (event.getFrom().getBlockX() == event.getTo().getBlockX())
{
return;
}
UtilAction.velocity(event.getPlayer(), UtilAlg.getTrajectory2d(event.getPlayer().getLocation(), new Location(getCenter().getWorld(), -32, 5, 0)), 1.5, true, 0.4, 0, 10, true);
UtilAction.velocity(event.getPlayer(),
UtilAlg.getTrajectory2d(event.getPlayer().getLocation(), new Location(getCenter().getWorld(), -32, 5, 0)), 1.5, true, 0.4, 0, 10,
true);
_cooldownedPlayers.add(event.getPlayer().getName());
new BukkitRunnable()
@ -182,19 +191,19 @@ public class ChallengeRedLightGreenLight extends Challenge
@EventHandler
public void stateChangeHandler(UpdateEvent event)
{
if(event.getType() != UpdateType.FAST)
if (event.getType() != UpdateType.FAST)
{
return;
}
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(_canMove)
if (_canMove)
{
if(_timeSinceLastRed+_minTimeBeforeRed < System.currentTimeMillis())
if (_timeSinceLastRed + _minTimeBeforeRed < System.currentTimeMillis())
{
if(UtilMath.r(2) == 0)
if (UtilMath.r(2) == 0)
{
changeMoveState(false);
}
@ -202,9 +211,9 @@ public class ChallengeRedLightGreenLight extends Challenge
}
else
{
if(_timeSinceLastGreen+_minTimeBeforeGreen < System.currentTimeMillis())
if (_timeSinceLastGreen + _minTimeBeforeGreen < System.currentTimeMillis())
{
if(UtilMath.r(3) == 0)
if (UtilMath.r(3) == 0)
{
changeMoveState(true);
}
@ -214,15 +223,15 @@ public class ChallengeRedLightGreenLight extends Challenge
private void changeMoveState(boolean condition)
{
if(condition != _canMove)
if (condition != _canMove)
{
if(condition)
if (condition)
{
_timeSinceLastRed = System.currentTimeMillis();
_canMove = true;
spawnFireWork(Color.GREEN);
for(Player player: UtilServer.getPlayers())
for (Player player : UtilServer.getPlayers())
{
player.sendMessage(F.main("Green Light", "You can now move!"));
@ -236,10 +245,10 @@ public class ChallengeRedLightGreenLight extends Challenge
_timeBeforeAction = System.currentTimeMillis() + 1500; //1.5 seconds before the player HAS to stand still
_canMove = false;
spawnFireWork(Color.RED);
for(Player player: UtilServer.getPlayers())
for (Player player : UtilServer.getPlayers())
{
player.sendMessage(F.main("Red Light", "Freeze!"));
UtilTextMiddle.display(ChatColor.RED + "Freeze!", "", 0, 20*3, 20);
UtilTextMiddle.display(ChatColor.RED + "Freeze!", "", 0, 20 * 3, 20);
player.getWorld().playSound(player.getLocation(), Sound.NOTE_BASS, 2f, 1f);
player.getWorld().playSound(player.getLocation(), Sound.NOTE_BASS, 2f, 1f);
@ -250,7 +259,7 @@ public class ChallengeRedLightGreenLight extends Challenge
private void spawnFireWork(Color color)
{
for(int i = -getArenaSize(); i < getArenaSize()*2; i += 4)
for (int i = -getArenaSize(); i < getArenaSize() * 2; i += 4)
{
UtilFirework.playFirework(new Location(Host.WorldData.World, 30, 10, i), Type.BALL_LARGE, color, false, false);
}

View File

@ -28,6 +28,7 @@ import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeReverseTag extends Challenge
{
@ -38,9 +39,14 @@ public class ChallengeReverseTag extends Challenge
private HashSet<String> _cooldowned = new HashSet<String>();
private HashSet<Player> _nonTaggedPlayers = new HashSet<Player>();
public ChallengeReverseTag(BawkBawkBattles Host)
public ChallengeReverseTag(BawkBawkBattles host)
{
super(Host, ChallengeType.FirstComplete, "Reverse Tag", "Be a sparkling person until the end.", "Punch the sparking people to become one!");
super(
host,
ChallengeType.FirstComplete,
"Reverse Tag",
"Punch a sparkling person to become one.",
"Stay sparkling until the end.");
}
@Override
@ -48,11 +54,11 @@ public class ChallengeReverseTag extends Challenge
{
ArrayList<Location> spawns = new ArrayList<Location>();
for(int x = -14; x <= 14; x++)
for (int x = -14; x <= 14; x++)
{
for(int z = -14; z <= 14; z++)
for (int z = -14; z <= 14; z++)
{
if(x % 2 == 0 && z % 2 == 0)
if (x % 2 == 0 && z % 2 == 0)
{
spawns.add(getCenter().clone().add(x + 0.5, 1.1, z + 0.5));
}
@ -77,10 +83,10 @@ public class ChallengeReverseTag extends Challenge
ArrayList<Player> players = new ArrayList<Player>(Host.GetPlayers(true));
Collections.shuffle(players);
for(Player player : players)
for (Player player : players)
{
_nonTaggedPlayers.add(player);
if(looped % 2 == 0)
if (looped % 2 == 0)
{
addTagged(player);
}
@ -94,18 +100,18 @@ public class ChallengeReverseTag extends Challenge
{
int random = UtilMath.r(16);
for(int x = -16; x <= 16; x += 4)
for (int x = -16; x <= 16; x += 4)
{
for(int z = -16; z <= 16; z += 4)
for (int z = -16; z <= 16; z += 4)
{
for(int y = 0; y <= 0; y++)
for (int y = 0; y <= 0; y++)
{
Block b = getCenter().getBlock().getRelative(x, y, z);
if(y == 0)
if (y == 0)
{
for(int _x = x; _x <= x + 3; _x++)
for (int _x = x; _x <= x + 3; _x++)
{
for(int _z = z; _z <= z + 3; _z++)
for (int _z = z; _z <= z + 3; _z++)
{
b = getCenter().getBlock().getRelative(_x, y, _z);
b.setType(Material.WOOL);
@ -115,7 +121,7 @@ public class ChallengeReverseTag extends Challenge
}
random = UtilMath.r(16);
}
if(b.getType() != Material.AIR)
if (b.getType() != Material.AIR)
{
addBlock(b);
}
@ -127,21 +133,21 @@ public class ChallengeReverseTag extends Challenge
@EventHandler
public void tntFirework(UpdateEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(event.getType() != UpdateType.SEC)
if (event.getType() != UpdateType.SEC)
{
return;
}
checkGameEnd();
if(UtilServer.getPlayers().length > 40) // Made to prevent lag issues
if (UtilServer.getPlayers().length > 40) // Made to prevent lag issues
{
return;
}
for(String nameofPlayer : _tagged)
for (String nameofPlayer : _tagged)
{
UtilFirework.playFirework(Bukkit.getPlayer(nameofPlayer).getEyeLocation(), Type.BURST, Color.GREEN, false, false);
}
@ -150,25 +156,25 @@ public class ChallengeReverseTag extends Challenge
@EventHandler
public void onPlayerPunch(CustomDamageEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(event.GetDamagerPlayer(false) == null || event.GetDamageePlayer() == null)
if (event.GetDamagerPlayer(false) == null || event.GetDamageePlayer() == null)
{
return;
}
if(_tagged.contains(event.GetDamagerPlayer(false).getName()))
if (_tagged.contains(event.GetDamagerPlayer(false).getName()))
{
event.SetCancelled("Tagger can't tag another");
return;
}
if(!(_tagged.contains(event.GetDamageePlayer().getName())))
if (!(_tagged.contains(event.GetDamageePlayer().getName())))
{
event.SetCancelled("Damaged a nontagged person");
return;
}
if(_cooldowned.contains(event.GetDamageePlayer().getName()))
if (_cooldowned.contains(event.GetDamageePlayer().getName()))
{
event.SetCancelled("Damaged is on cooldown");
return;
@ -180,11 +186,11 @@ public class ChallengeReverseTag extends Challenge
@EventHandler
public void displayGameProgress(UpdateEvent event)
{
if(event.getType() != UpdateType.FASTEST)
if (event.getType() != UpdateType.FASTEST)
{
return;
}
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
@ -194,11 +200,11 @@ public class ChallengeReverseTag extends Challenge
@EventHandler
public void onTaggedDeath(PlayerDeathEvent event)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(_tagged.contains(event.getEntity().getName()))
if (_tagged.contains(event.getEntity().getName()))
{
_tagged.remove(event.getEntity().getName());
}
@ -206,7 +212,7 @@ public class ChallengeReverseTag extends Challenge
private void removeTagged(Player player)
{
if(_tagged.contains(player.getName()))
if (_tagged.contains(player.getName()))
{
//UtilPlayer.message(player, C.cYellow + C.Bold + "You are " + C.cRed + "NO LONGER" + C.cYellow + " tagged!");
@ -214,12 +220,12 @@ public class ChallengeReverseTag extends Challenge
player.getInventory().setHelmet(new ItemStack(Material.AIR));
_tagged.remove(player.getName());
if(_nonTaggedPlayers.contains(player))
if (_nonTaggedPlayers.contains(player))
{
_nonTaggedPlayers.remove(player);
}
for(int i = 0; i <= 8; i++)
for (int i = 0; i <= 8; i++)
{
player.getInventory().clear(i);
}
@ -228,7 +234,7 @@ public class ChallengeReverseTag extends Challenge
private void addTagged(final Player player)
{
if(!_tagged.contains(player.getName()))
if (!_tagged.contains(player.getName()))
{
// UtilPlayer.message(player, C.cYellow + C.Bold + "You are " + C.cGreen + "NOW" + C.cYellow + " tagged! Keep it up!");
@ -244,10 +250,9 @@ public class ChallengeReverseTag extends Challenge
{
_cooldowned.remove(player.getName());
}
}.runTaskLater(Host.Manager.getPlugin(), 20*_cooldown);
}.runTaskLater(Host.Manager.getPlugin(), 20 * _cooldown);
for(int i = 0; i <= 8; i++)
for (int i = 0; i <= 8; i++)
{
player.getInventory().setItem(i, ItemStackFactory.Instance.CreateStack(35, (byte) 5));
}
@ -256,11 +261,11 @@ public class ChallengeReverseTag extends Challenge
public void checkGameEnd()
{
if(System.currentTimeMillis() > _endTime)
if (System.currentTimeMillis() > _endTime)
{
for(Player player : Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
if(_tagged.contains(player.getName()))
if (_tagged.contains(player.getName()))
{
SetCompleted(player);
}

View File

@ -20,6 +20,7 @@ import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeRunner extends Challenge
{
@ -27,8 +28,12 @@ public class ChallengeRunner extends Challenge
public ChallengeRunner(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Runner",
"Blocks are disappearing beneath you! Run away!");
super(
host,
ChallengeType.LastStanding,
"Runner",
"Blocks below your feet are falling.",
"Run as fast as you can!");
}
@Override

View File

@ -19,15 +19,21 @@ import mineplex.core.common.util.UtilTextMiddle;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeRushPush extends Challenge
{
private boolean _challengeEnded = false;
private HashMap<String, String> _teams = new HashMap<String, String>();
public ChallengeRushPush(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Rush push", true, true, "Rush to your enemy.",
super(
host,
ChallengeType.LastStanding,
"Rush push",
true,
true,
"Rush to your enemy.",
"Push them off the platform.");
}
@ -114,13 +120,13 @@ public class ChallengeRushPush extends Challenge
{
int onBlue = 0;
int onRed = 0;
if(_teams.containsKey(event.getEntity().getName()))
if (_teams.containsKey(event.getEntity().getName()))
{
_teams.remove(event.getEntity().getName());
}
for(String playerName: _teams.keySet())
for (String playerName : _teams.keySet())
{
if(_teams.get(playerName) == "blue")
if (_teams.get(playerName) == "blue")
{
onBlue++;
}
@ -129,7 +135,7 @@ public class ChallengeRushPush extends Challenge
onRed++;
}
}
if((onBlue == 0 || onRed == 0) && Host.isCrumbling() == false)
if ((onBlue == 0 || onRed == 0) && Host.isCrumbling() == false)
{
UtilTextMiddle.display(onBlue == 0 ? C.cBlue + "Blue Team won!" : C.cRed + "Red Team won!", "Friendly fire enabled!", 20, 60, 20);
}

View File

@ -4,16 +4,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilMath;
import mineplex.core.itemstack.ItemBuilder;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
@ -29,6 +19,17 @@ import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.event.entity.ProjectileLaunchEvent;
import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilMath;
import mineplex.core.itemstack.ItemBuilder;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeShootChickens extends Challenge
{
private ArrayList<Chicken> _chickens = new ArrayList<Chicken>();
@ -39,7 +40,12 @@ public class ChallengeShootChickens extends Challenge
public ChallengeShootChickens(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Chicken Shooting", "Shoot 6 chickens!");
super(
host,
ChallengeType.FirstComplete,
"Chicken Shooting",
"Shoot 6 chickens.",
"When a chicken lands, it dissapears.");
}
@Override
@ -61,15 +67,15 @@ public class ChallengeShootChickens extends Challenge
@EventHandler
public void onShoot(ProjectileLaunchEvent event)
{
if(event.getEntity() instanceof Arrow)
if (event.getEntity() instanceof Arrow)
{
_arrows.add(event.getEntity());
Arrow arrow = (Arrow) event.getEntity();
Player player = (Player) arrow.getShooter();
if(!isDone(player))
if (!isDone(player))
{
_arrowsShot.put(player, _arrowsShot.get(player)+1);
_arrowsShot.put(player, _arrowsShot.get(player) + 1);
}
}
}
@ -131,11 +137,11 @@ public class ChallengeShootChickens extends Challenge
return;
}
UpdateType speed;
if(getCurrentyAlive(false).size() >= 40)
if (getCurrentyAlive(false).size() >= 40)
{
speed = UpdateType.FASTEST;
}
else if(getCurrentyAlive(false).size() >= 20)
else if (getCurrentyAlive(false).size() >= 20)
{
speed = UpdateType.FASTER;
}
@ -164,7 +170,8 @@ public class ChallengeShootChickens extends Challenge
if (_chickens.size() < 11 + (getChallengers().size() * 2))
{
Location loc = getCenter().clone().add(UtilMath.r(getArenaSize()*2) - (getArenaSize()), 15, UtilMath.r(getArenaSize()*2) - (getArenaSize()));
Location loc = getCenter().clone().add(UtilMath.r(getArenaSize() * 2) - (getArenaSize()), 15,
UtilMath.r(getArenaSize() * 2) - (getArenaSize()));
Host.CreatureAllowOverride = true;
Chicken chicken = (Chicken) loc.getWorld().spawnEntity(loc, EntityType.CHICKEN);
@ -183,7 +190,8 @@ public class ChallengeShootChickens extends Challenge
for (Player player : Host.GetPlayers(true))
{
player.getInventory().setItem(0,new ItemBuilder(Material.BOW).addEnchantment(Enchantment.ARROW_INFINITE, 1).setUnbreakable(true).build());
player.getInventory().setItem(0,
new ItemBuilder(Material.BOW).addEnchantment(Enchantment.ARROW_INFINITE, 1).setUnbreakable(true).build());
player.getInventory().setItem(9, new ItemStack(Material.ARROW));
_killedChickens.put(player.getName(), 0);
@ -242,9 +250,9 @@ public class ChallengeShootChickens extends Challenge
{
ArrayList<Location> spawns = new ArrayList<Location>();
for (int x = -(getArenaSize()-1); x <= getArenaSize()-1; x++)
for (int x = -(getArenaSize() - 1); x <= getArenaSize() - 1; x++)
{
for (int z = -(getArenaSize()-1); z <= getArenaSize()-1; z++)
for (int z = -(getArenaSize() - 1); z <= getArenaSize() - 1; z++)
{
if (x % 2 == 0 && z % 2 == 0)
{

View File

@ -10,6 +10,7 @@ import org.bukkit.entity.Player;
import mineplex.core.common.util.UtilMath;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeSmashOff extends Challenge
{
@ -17,7 +18,13 @@ public class ChallengeSmashOff extends Challenge
public ChallengeSmashOff(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Smash off", false, true, "Knock other players off the platform!");
super(
host,
ChallengeType.LastStanding,
"Smash Off",
false,
true,
"Knock all others off the platform.");
}
@Override

View File

@ -14,12 +14,16 @@ import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilPlayer;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeSpleef extends Challenge
{
public ChallengeSpleef(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Spleef",
super(
host,
ChallengeType.LastStanding,
"Spleef",
"Destroy the blocks beneath other players!");
}

View File

@ -5,6 +5,14 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map.Entry;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilServer;
@ -13,14 +21,7 @@ import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.inventory.ItemStack;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeStandOnColor extends Challenge
{
@ -33,7 +34,11 @@ public class ChallengeStandOnColor extends Challenge
public ChallengeStandOnColor(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Color Change", "Stand on the correct color.");
super(
host,
ChallengeType.LastStanding,
"Color Change",
"Stand on the correct color.");
for (int i = 0; i <= 15; i++)
{

View File

@ -26,6 +26,7 @@ import mineplex.core.recharge.Recharge;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeTntLauncher extends Challenge
{
@ -34,7 +35,14 @@ public class ChallengeTntLauncher extends Challenge
public ChallengeTntLauncher(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Deadly TNT", false, true, "Throw TNT to other players.", "Don't get knocked off!");
super(
host,
ChallengeType.LastStanding,
"Deadly TNT",
false,
true,
"Throw TNT to other players.",
"Do not get knocked off.");
}
@Override

View File

@ -3,13 +3,6 @@ package nautilus.game.arcade.game.games.mineware.challenges;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.common.util.UtilTextMiddle;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
@ -27,6 +20,14 @@ import org.bukkit.event.entity.ItemSpawnEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.common.util.UtilTextMiddle;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeTreasureDigger extends Challenge
{
private LinkedHashMap<Material, Double> _lootChance = new LinkedHashMap<Material, Double>();
@ -34,8 +35,12 @@ public class ChallengeTreasureDigger extends Challenge
public ChallengeTreasureDigger(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Treasure Digger", "Search for treasure below the sand.", "Find weapons to kill the others!",
"Be the last person to stay alive.");
super(
host,
ChallengeType.LastStanding,
"Treasure Digger",
"Search for treasure below the sand.",
"Find weapons to kill the others!");
_lootChance.put(Material.BONE, 20.0);
_lootChance.put(Material.STRING, 20.0);
@ -83,7 +88,7 @@ public class ChallengeTreasureDigger extends Challenge
ArrayList<Location> spawns = new ArrayList<Location>();
Location center = new Location(Host.WorldData.World, 0, 0, 0);
for(Location location : UtilShapes.getCircle(center, true, getArenaSize() - 2))
for (Location location : UtilShapes.getCircle(center, true, getArenaSize() - 2))
{
double x = location.getX() + 0.5;
double y = 4.1;
@ -102,73 +107,73 @@ public class ChallengeTreasureDigger extends Challenge
{
Location center = new Location(Host.WorldData.World, 0, 0, 0);
for(int i = 0; i < 6; i++)
for (int i = 0; i < 6; i++)
{
if(i > 0)
if (i > 0)
{
center = center.clone();
center.setY(0);
center.add(0, i, 0);
}
for(Location location : UtilShapes.getCircle(center, false, getArenaSize()))
for (Location location : UtilShapes.getCircle(center, false, getArenaSize()))
{
Block block = location.getBlock();
double chance = Math.random() * 100;
if(i == 0)
if (i == 0)
{
block.setType(Material.BEDROCK);
}
else if(i == 1)
else if (i == 1)
{
block.setType(Material.SAND);
if(chance < 45.0) // 20%
if (chance < 45.0) // 20%
{
block.setData((byte) 1);
}
if(chance < 25.0) // 10%
if (chance < 25.0) // 10%
{
block.setType(Material.SANDSTONE);
block.setData((byte) 0);
}
if(chance < 15.0) // 15%
if (chance < 15.0) // 15%
{
makeChestWithTreasure(block);
}
}
else if(i == 2)
else if (i == 2)
{
block.setType(Material.SAND);
if(chance < 30.0) // 20%
if (chance < 30.0) // 20%
{
block.setData((byte) 1);
}
if(chance < 10.0) // 10%
if (chance < 10.0) // 10%
{
block.setType(Material.SANDSTONE);
block.setData((byte) 0);
}
}
else if(i == 3)
else if (i == 3)
{
block.setType(Material.SAND);
if(chance < 10.0) // 10%
if (chance < 10.0) // 10%
{
block.setType(Material.SANDSTONE);
}
}
else if(i == 4)
else if (i == 4)
{
Block below = block.getRelative(BlockFace.DOWN);
if(chance < 1.5 && !getSpawns().contains(block.getLocation()) && below.getType() == Material.SAND)
if (chance < 1.5 && !getSpawns().contains(block.getLocation()) && below.getType() == Material.SAND)
{
block.setType(Material.DEAD_BUSH);
}
@ -190,7 +195,7 @@ public class ChallengeTreasureDigger extends Challenge
Host.WorldBlockBurn = true;
Host.WorldFireSpread = true;
for(Player players : Host.GetPlayers(true))
for (Player players : Host.GetPlayers(true))
{
ItemStack shovel = new ItemStack(Material.STONE_SPADE);
players.getInventory().setItem(4, shovel);
@ -210,9 +215,9 @@ public class ChallengeTreasureDigger extends Challenge
Host.WorldBlockBurn = false;
Host.WorldFireSpread = false;
for(Entity entity : Host.WorldData.World.getEntities())
for (Entity entity : Host.WorldData.World.getEntities())
{
if(entity instanceof Item)
if (entity instanceof Item)
{
entity.remove();
}
@ -228,7 +233,7 @@ public class ChallengeTreasureDigger extends Challenge
@EventHandler
public void onEntityChangeBlock(EntityChangeBlockEvent event)
{
if(event.getEntity() instanceof FallingBlock)
if (event.getEntity() instanceof FallingBlock)
{
FallingBlock block = (FallingBlock) event.getEntity();
block.setDropItem(false);
@ -238,17 +243,17 @@ public class ChallengeTreasureDigger extends Challenge
@EventHandler
public void onEntityDamageByEntity(EntityDamageByEntityEvent event)
{
if(event.getEntity() instanceof Player && event.getDamager() instanceof Player)
if (event.getEntity() instanceof Player && event.getDamager() instanceof Player)
{
Player damager = (Player) event.getDamager();
ItemStack item = damager.getItemInHand();
if(isDone(damager))
if (isDone(damager))
return;
if(item != null)
if (item != null)
{
if(!item.getType().name().toLowerCase().contains("sword"))
if (!item.getType().name().toLowerCase().contains("sword"))
{
UtilTextMiddle.display("", C.cRed + "You cannot attack without a weapon.", 5, 40, 5, damager);
damager.playSound(damager.getLocation(), Sound.NOTE_BASS_GUITAR, 1.0F, 0.5F);
@ -261,7 +266,7 @@ public class ChallengeTreasureDigger extends Challenge
@SuppressWarnings("deprecation")
private void makeChestWithTreasure(Block block)
{
if(!areChestsNearby(block))
if (!areChestsNearby(block))
{
block.setType(Material.CHEST);
block.setData((byte) UtilMath.r(4));
@ -286,31 +291,31 @@ public class ChallengeTreasureDigger extends Challenge
{
Inventory inv = chest.getInventory();
for(int i = 0; i <= UtilMath.r(2) + 1; i++)
for (int i = 0; i <= UtilMath.r(2) + 1; i++)
{
double chance = Math.random() * 100;
Material loot = getRandomLootMaterial();
double lootChance = getLootChance(loot);
while(chance >= lootChance)
while (chance >= lootChance)
{
chance = Math.random() * 100;
loot = getRandomLootMaterial();
lootChance = getLootChance(loot);
}
if(chance < lootChance)
if (chance < lootChance)
{
ItemStack item = new ItemStack(loot);
if(item.getType() == Material.ARROW || item.getType() == Material.BONE || item.getType() == Material.STRING)
if (item.getType() == Material.ARROW || item.getType() == Material.BONE || item.getType() == Material.STRING)
{
item.setAmount(UtilMath.r(3) + 1);
}
int slot = UtilMath.r(inv.getSize());
while(inv.getItem(slot) != null && inv.getContents().length != inv.getSize())
while (inv.getItem(slot) != null && inv.getContents().length != inv.getSize())
{
slot = UtilMath.r(inv.getSize());
}

View File

@ -38,6 +38,7 @@ import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeVolleyPig extends Challenge
{
@ -51,7 +52,11 @@ public class ChallengeVolleyPig extends Challenge
public ChallengeVolleyPig(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Volley Pig", "Punch the pig on the enemy side.", "Do not cross the middle!");
super(
host,
ChallengeType.FirstComplete,
"Volley Pig",
"Punch the pig on the enemy side.");
}
@Override

View File

@ -30,6 +30,7 @@ import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeWaterHorror extends Challenge
{
@ -43,7 +44,11 @@ public class ChallengeWaterHorror extends Challenge
public ChallengeWaterHorror(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Water Horror", "Deadly TNT is spawning from the water!",
super(
host,
ChallengeType.LastStanding,
"Water Horror",
"TNT is spawning from the water!",
"Use your boat to dodge explosions.");
}

View File

@ -20,6 +20,7 @@ import mineplex.core.common.util.UtilMath;
import mineplex.core.projectile.ProjectileUser;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
import nautilus.game.arcade.game.games.mineware.events.ChallengeEndEvent;
public class ChallengeWaveCrush extends Challenge
@ -33,7 +34,11 @@ public class ChallengeWaveCrush extends Challenge
public ChallengeWaveCrush(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Wave Crush", "Avoid the crushing waves!");
super(
host,
ChallengeType.LastStanding,
"Wave Crush",
"Avoid the crushing waves.");
}
@Override
@ -41,11 +46,11 @@ public class ChallengeWaveCrush extends Challenge
{
ArrayList<Location> spawns = new ArrayList<Location>();
for(int x = -15; x <= -13; x++)
for (int x = -15; x <= -13; x++)
{
for(int z = -(getArenaSize() - 1); z <= getArenaSize() - 1; z++)
for (int z = -(getArenaSize() - 1); z <= getArenaSize() - 1; z++)
{
if(x % 2 == 0 && z % 2 == 0)
if (x % 2 == 0 && z % 2 == 0)
{
spawns.add(getCenter().clone().add(x + 0.5, 2.1, z + 0.5));
}
@ -59,17 +64,17 @@ public class ChallengeWaveCrush extends Challenge
{
_inProgress = false;
for(int x = -16; x <= 15; x++)
for (int x = -16; x <= 15; x++)
{
for(int z = -getArenaSize(); z <= getArenaSize(); z++)
for (int z = -getArenaSize(); z <= getArenaSize(); z++)
{
for(int y = 0; y <= 10; y++)
for (int y = 0; y <= 10; y++)
{
Block b = Host.WorldData.World.getBlockAt(x, y, z);
{
if(b.getType() != Material.AIR)
if (b.getType() != Material.AIR)
{
if(!getModifiedBlocks().contains(b))
if (!getModifiedBlocks().contains(b))
{
b.setType(Material.AIR);
}
@ -83,7 +88,7 @@ public class ChallengeWaveCrush extends Challenge
@Override
public void setupPlayers()
{
for(Player player: Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
_survivedWaves.put(player, 0);
}
@ -99,28 +104,28 @@ public class ChallengeWaveCrush extends Challenge
_waveAmount++;
Block choosenBlock;
if(!_inProgress || !Host.IsLive())
if (!_inProgress || !Host.IsLive())
{
this.cancel();
}
choosenBlock = Host.WorldData.World.getBlockAt(15, 1, UtilMath.r(getArenaSize() * 2) - getArenaSize());
while(choosenBlock.getType() == Material.AIR)
while (choosenBlock.getType() == Material.AIR)
{
choosenBlock = Host.WorldData.World.getBlockAt(15, 1, UtilMath.r(getArenaSize() * 2) - getArenaSize());
}
waveStartingPoint(choosenBlock, 2);
if(_waveAmount % 3 == 0)
if (_waveAmount % 3 == 0)
{
_waveSpeed--;
}
for(Player player: _survivedWaves.keySet())
for (Player player : _survivedWaves.keySet())
{
if(!isDone(player))
if (!isDone(player))
{
_survivedWaves.put(player, _survivedWaves.get(player)+1);
_survivedWaves.put(player, _survivedWaves.get(player) + 1);
}
}
}
@ -133,30 +138,30 @@ public class ChallengeWaveCrush extends Challenge
int var = 0;
int colorPicker = 0;
for(int x = -16; x <= 15; x++)
for (int x = -16; x <= 15; x++)
{
for(int z = -getArenaSize(); z <= getArenaSize(); z++)
for (int z = -getArenaSize(); z <= getArenaSize(); z++)
{
for(int y = 0; y <= 1; y++)
for (int y = 0; y <= 1; y++)
{
Block b = getCenter().getBlock().getRelative(x, y, z);
if(y == 0)
if (y == 0)
{
b.setType(Material.BEDROCK);
}
else if(y > 0)
else if (y > 0)
{
b.setType(Material.WOOL);
b.setData(_colorList.get(colorPicker).byteValue());
}
if(b.getType() != Material.AIR)
if (b.getType() != Material.AIR)
{
addBlock(b);
}
}
}
if(var % 4 == 0 && (colorPicker != _colorList.size() - 1))
if (var % 4 == 0 && (colorPicker != _colorList.size() - 1))
{
colorPicker++;
}
@ -167,24 +172,24 @@ public class ChallengeWaveCrush extends Challenge
@Override
public void onCollide(LivingEntity target, Block block, ProjectileUser data)
{
if(!Host.IsLive())
if (!Host.IsLive())
{
return;
}
if(!(data.GetThrown() instanceof FallingBlock))
if (!(data.GetThrown() instanceof FallingBlock))
{
return;
}
if(!(target instanceof Player))
if (!(target instanceof Player))
{
return;
}
Player thePlayer = (Player) target;
if(isDone(thePlayer))
if (isDone(thePlayer))
{
return;
}
if(!Host.IsAlive(thePlayer))
if (!Host.IsAlive(thePlayer))
{
return;
}
@ -195,9 +200,9 @@ public class ChallengeWaveCrush extends Challenge
public void waveStartingPoint(Block block, int radius)
{
Block pickedBlock = Host.WorldData.World.getBlockAt(block.getX(), block.getY(), block.getZ() - radius);
if(radius != 1)
if (radius != 1)
{
for(int i = 0; i <= (radius * 2) + 1; i++)
for (int i = 0; i <= (radius * 2) + 1; i++)
{
waveCreation(Host.WorldData.World.getBlockAt(pickedBlock.getX(), pickedBlock.getY(), pickedBlock.getZ() + i));
}
@ -211,9 +216,9 @@ public class ChallengeWaveCrush extends Challenge
@EventHandler
public void OnChallengeEnd(ChallengeEndEvent event)
{
for(Player player : Host.GetPlayers(true))
for (Player player : Host.GetPlayers(true))
{
if(!isDone(player))
if (!isDone(player))
{
SetCompleted(player);
}
@ -224,9 +229,9 @@ public class ChallengeWaveCrush extends Challenge
@Override
public void run()
{
for(Entity fBlocks : Host.WorldData.World.getEntities())
for (Entity fBlocks : Host.WorldData.World.getEntities())
{
if(fBlocks instanceof FallingBlock)
if (fBlocks instanceof FallingBlock)
{
fBlocks.remove();
}
@ -245,11 +250,11 @@ public class ChallengeWaveCrush extends Challenge
@Override
public void run()
{
if(!_inProgress)
if (!_inProgress)
{
this.cancel();
}
if(theBlock.getType() == Material.AIR)
if (theBlock.getType() == Material.AIR)
{
this.cancel();
}

View File

@ -3,19 +3,6 @@ package nautilus.game.arcade.game.games.mineware.challenges.removed;
import java.util.ArrayList;
import java.util.HashMap;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilFirework;
import mineplex.core.common.util.UtilMath;
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.UtilServer;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.itemstack.ItemBuilder;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import org.bukkit.FireworkEffect.Type;
import org.bukkit.Location;
import org.bukkit.Material;
@ -32,6 +19,20 @@ import org.bukkit.material.Wool;
import org.bukkit.projectiles.ProjectileSource;
import org.bukkit.scheduler.BukkitRunnable;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilFirework;
import mineplex.core.common.util.UtilMath;
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.UtilServer;
import mineplex.core.common.util.UtilShapes;
import mineplex.core.itemstack.ItemBuilder;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeBlockShot extends Challenge
{
private HashMap<String, Integer> _shotBlocks = new HashMap<String, Integer>();
@ -40,7 +41,11 @@ public class ChallengeBlockShot extends Challenge
public ChallengeBlockShot(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Block Shot", "Shoot down 5 blocks");
super(
host,
ChallengeType.FirstComplete,
"Block Shot",
"Shoot down 5 blocks");
}
@Override

View File

@ -18,12 +18,17 @@ import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilMath;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeDiamondFall extends Challenge
{
public ChallengeDiamondFall(BawkBawkBattles host)
{
super(host, ChallengeType.LastStanding, "Diamond Fall", "Loot the most diamonds from chests!");
super(
host,
ChallengeType.LastStanding,
"Diamond Fall",
"Loot the most diamonds from chests!");
}
@Override

View File

@ -16,6 +16,7 @@ import mineplex.core.common.util.UtilPlayer;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeHitTargets extends Challenge
{
@ -24,7 +25,11 @@ public class ChallengeHitTargets extends Challenge
public ChallengeHitTargets(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Hit target", "Hit the chosen players");
super(
host,
ChallengeType.FirstComplete,
"Hit target",
"Hit the chosen players.");
}
@EventHandler

View File

@ -27,6 +27,7 @@ import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.ChallengeSeperateRooms;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeNameThatSound extends ChallengeSeperateRooms
{
@ -38,7 +39,10 @@ public class ChallengeNameThatSound extends ChallengeSeperateRooms
public ChallengeNameThatSound(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Hit the creature that makes the noises");
super(
host,
ChallengeType.FirstComplete,
"Hit the creature that makes the noises.");
_sounds.put(EntityType.ZOMBIE, new Sound[] {
Sound.ZOMBIE_DEATH,

View File

@ -5,17 +5,6 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Random;
import mineplex.core.common.util.C;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilEnt;
import mineplex.core.common.util.UtilFirework;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilTextBottom;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.events.ChallengeEndEvent;
import org.bukkit.Bukkit;
import org.bukkit.Color;
import org.bukkit.FireworkEffect;
@ -37,6 +26,18 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scheduler.BukkitTask;
import mineplex.core.common.util.C;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilEnt;
import mineplex.core.common.util.UtilFirework;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilTextBottom;
import mineplex.core.updater.event.UpdateEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
import nautilus.game.arcade.game.games.mineware.events.ChallengeEndEvent;
public class ChallengeSimonSays extends Challenge
{
private boolean _truthful = true;
@ -56,8 +57,13 @@ public class ChallengeSimonSays extends Challenge
public ChallengeSimonSays(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Simon Says", "Do everything Simon says", "Don't listen to anyone else!",
"first with 3 correct wins!");
super(
host,
ChallengeType.FirstComplete,
"Simon Says",
"Do everything that Simon says.",
"Don't listen to anyone else!",
"First with 3 correct answers wins.");
}
private enum simonTypes

View File

@ -8,19 +8,24 @@ import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.inventory.ItemStack;
import mineplex.core.common.util.UtilMath;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeSkyFall extends Challenge
{
public ChallengeSkyFall(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Skyfall", "Land on the bottom pad, knock players around with snowballs!");
super(
host,
ChallengeType.FirstComplete,
"Skyfall",
"Land on the bottom pad, knock players around with snowballs!");
}
@Override

View File

@ -20,6 +20,7 @@ import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilMath;
import nautilus.game.arcade.game.games.mineware.BawkBawkBattles;
import nautilus.game.arcade.game.games.mineware.Challenge;
import nautilus.game.arcade.game.games.mineware.ChallengeType;
public class ChallengeTameTheWolf extends Challenge
{
@ -31,7 +32,11 @@ public class ChallengeTameTheWolf extends Challenge
public ChallengeTameTheWolf(BawkBawkBattles host)
{
super(host, ChallengeType.FirstComplete, "Tame The Wolf", "Find the right item", "To tame the wolf!");
super(
host,
ChallengeType.FirstComplete,
"Tame The Wolf",
"Find the correct item to tame the wolf.");
}
@Override

View File

@ -11,11 +11,16 @@ import org.bukkit.block.BlockFace;
import org.bukkit.entity.Chicken;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.scheduler.BukkitRunnable;
import mineplex.core.common.util.C;
import mineplex.core.common.util.UtilBlock;
import mineplex.core.common.util.UtilEnt;
import mineplex.core.common.util.UtilInv;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilTextMiddle;
import mineplex.core.disguise.disguises.DisguiseChicken;
@ -78,32 +83,46 @@ public class ChickenAttack
player.teleport(_center);
UtilTextMiddle.display(C.cRed + "Chicken Attack", "You ran out of lives!", 5, 40, 5, player);
UtilTextMiddle.display(C.cRed + "Chicken Attack!", "You ran out of lives.", 5, 40, 5, player);
player.playSound(player.getLocation(), Sound.WITHER_SPAWN, 1.0F, 1.0F);
debugDeathTask(player);
player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, Integer.MAX_VALUE, 1));
ensurePlayerKill(player);
System.out.println("Chicken attack triggered for " + player.getName() + ".");
}
private void debugDeathTask(Player player)
private void ensurePlayerKill(Player player)
{
new BukkitRunnable()
{
@Override
public void run()
{
if (_host.IsLive())
if (_host.IsLive() && _host.getChickenTeam().HasPlayer(player) && _host.IsAlive(player))
{
UtilPlayer.message(player, C.cWhite + C.Bold + "You have been moved to spectators.");
kill(player);
}
else
{
cancel();
}
}.runTaskLater(_plugin, 100L);
}
}.runTaskLater(_plugin, 400L);
}
private void kill(Player player)
public void kill(Player player)
{
System.out.println("Killed: " + player.getName());
_host.Manager.Clear(player);
new BukkitRunnable()
{
@Override
public void run()
{
_host.SetPlayerState(player, PlayerState.OUT);
DisguiseChicken disguise = new DisguiseChicken(player);
@ -117,6 +136,8 @@ public class ChickenAttack
player.playSound(player.getLocation(), Sound.BAT_TAKEOFF, 1.0F, 1.0F);
}
}.runTaskLater(_plugin, 1L);
}
private void spawnChickens()
{
@ -139,7 +160,10 @@ public class ChickenAttack
{
_chickens.add(chicken);
// TODO: Make chickens attack player.
UtilEnt.addLookAtPlayerAI(chicken, 2.0F);
if (UtilMath.random.nextDouble() * 100 < 10.0)
chicken.setBaby();
}
public boolean isGroupMember(Chicken chicken)
@ -157,6 +181,11 @@ public class ChickenAttack
_chickens.clear();
}
public ArrayList<Chicken> getChickens()
{
return _chickens;
}
public Location getPlatformCenter()
{
return _center;