diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/BawkBawkBattles.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/BawkBawkBattles.java index 3af8d0fbd..af956fc81 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/BawkBawkBattles.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/BawkBawkBattles.java @@ -165,22 +165,24 @@ public class BawkBawkBattles extends TeamGame implements IThrown /* * TODO: Bugs * - * - Do not trigger chicken attack on game end (eg. 3 players killed at once). - * - Make players spawn with equal distance from a target. - * - Team Challenges: Define team properly. - * - Chicken attack does not trigger sometimes. - * - Pick a Side: Does not work with 3 players. - * - Apply TNT knockback on Deadly TNT challenge - * - Stats menu does not open. - * - Map generation. - * - Minecarts two lives lost. - * - Line 536, null pointer. - * - Line 663, null pointer. - * - Fishing day, lives issue? - * - Rendering item exception in kangaroo jump http://i.imgur.com/CPYIogC.jpg - * - Glass/obsidian sometimes doesn't despawn in lava run. - * - Need more chickens. - * - Maze is impossible. + * High Priority + * - Define team spawns on correct side + * - Fix delay on map generation (NPE's on console) + * - Fix item rendering exception (kangaroo jump http://i.imgur.com/CPYIogC.jpg) + * + * Medium Priority + * - Make spawn distance equal from a target + * - Fix out of bounds exception on stats menu + * + * Low Priority + * - Spawn more chickens on Chicken Shooting + * - Fix chicken attack triggering on game end (ex. 3 players killed at once) + * - Fix TNT knockback on Deadly TNT + * - Fix double life lost on Minecart Dance + * - Fix obsidian not spawning on Lava Run + * - Fix impossible maze on Maze Runner + * - Fix fishing day lives issue + * - Fix milk sound on Milk a Cow */ @SuppressWarnings("unchecked") @@ -470,31 +472,6 @@ public class BawkBawkBattles extends TeamGame implements IThrown _settings.setCrumbling(true); announceCrumbling(); } - - // if (_challenge.canFinish()) - // { - // if (hasCrumbleSetting()) - // { - // if (canStartCrumbling()) - // { - // _settings.setCrumbling(true); - // announceCrumbling(); - // } - // else - // { - // _settings.setCrumbling(false); - // endCurrentChallenge(); - // } - // } - // else - // { - // endCurrentChallenge(); - // } - // } - // else - // { - // updateChallengeTimer(); - // } } private void announceCrumbling() @@ -542,6 +519,7 @@ public class BawkBawkBattles extends TeamGame implements IThrown _challenge.getData().setSpawns(selected); _playersTeam.SetSpawns(selected); + System.out.println("Setup: " + (selected.size())); SpectatorSpawn = UtilWorld.averageLocation(selected).add(0, 7, 0); return selected; @@ -628,14 +606,6 @@ public class BawkBawkBattles extends TeamGame implements IThrown return !_settings.isCrumbling() && lost > current / 2 && lost != current; } - private boolean canEndChallengeFromCrumble() - { - int lost = _challenge.getData().getLostPlayers().size(); - int current = getPlayersAlive().size(); - - return current - lost <= 1; - } - private void updateChallengeTimer() { for (Player player : UtilServer.getPlayers()) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/Challenge.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/Challenge.java index a7bc489aa..2af28cdb3 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/Challenge.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/Challenge.java @@ -2,6 +2,7 @@ package nautilus.game.arcade.game.games.mineware.challenge; import java.util.ArrayList; import java.util.HashSet; +import java.util.List; import org.bukkit.Location; import org.bukkit.Material; @@ -591,4 +592,34 @@ public abstract class Challenge implements Listener { return Data; } + + /** + * tadahtech's circle method (temporarily used instead of UtilShapes.getCircle) + */ + protected List circle(Location loc, Integer r, Integer h, Boolean hollow, Boolean sphere, int plusY) + { + List circleblocks = new ArrayList<>(); + + int cx = loc.getBlockX(); + int cy = loc.getBlockY(); + int cz = loc.getBlockZ(); + + for (int x = cx - r; x <= cx + r; x++) + { + for (int z = cz - r; z <= cz + r; z++) + { + for (int y = (sphere ? cy - r : cy); y < (sphere ? cy + r : cy + h); y++) + { + double dist = (cx - x) * (cx - x) + (cz - z) * (cz - z) + (sphere ? (cy - y) * (cy - y) : 0); + if (dist < r * r && !(hollow && dist < (r - 1) * (r - 1))) + { + Location l = new Location(loc.getWorld(), x, y + plusY, z); + circleblocks.add(l); + } + } + } + } + + return circleblocks; + } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeAnvilDance.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeAnvilDance.java index 8d6a7c526..f4ed7dc3f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeAnvilDance.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeAnvilDance.java @@ -3,6 +3,7 @@ package nautilus.game.arcade.game.games.mineware.challenge.type; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; +import java.util.List; import org.bukkit.Color; import org.bukkit.FireworkEffect.Type; @@ -24,7 +25,6 @@ import org.bukkit.util.Vector; import mineplex.core.common.util.UtilFirework; import mineplex.core.common.util.UtilMath; -import mineplex.core.common.util.UtilShapes; import mineplex.core.projectile.ProjectileUser; import nautilus.game.arcade.game.games.mineware.BawkBawkBattles; import nautilus.game.arcade.game.games.mineware.challenge.Challenge; @@ -54,7 +54,7 @@ public class ChallengeAnvilDance extends Challenge private HashSet _fallingAnvils = new HashSet(); private BukkitTask _fireworkTask; - + private int _arenaStartSize; public ChallengeAnvilDance(BawkBawkBattles host) @@ -73,9 +73,9 @@ public class ChallengeAnvilDance extends Challenge public ArrayList createSpawns() { ArrayList spawns = new ArrayList(); - int size = getArenaSize() - 3; + int size = getArenaSize() - 2; - for (Location location : UtilShapes.getCircle(getCenter(), true, size)) + for (Location location : circle(getCenter(), size, 1, true, false, 0)) { spawns.add(location.add(0.5, 1.1, 0.5)); } @@ -88,8 +88,8 @@ public class ChallengeAnvilDance extends Challenge public void createMap() { _arenaStartSize = getArenaSize(); - - for (Location location : UtilShapes.getCircle(getCenter(), false, _arenaStartSize)) + + for (Location location : circle(getCenter(), _arenaStartSize, 1, false, false, 0)) { Block block = location.getBlock(); block.setType(Material.SMOOTH_BRICK); @@ -258,7 +258,7 @@ public class ChallengeAnvilDance extends Challenge private void createAnvil() { Location center = getCenter().add(0, UtilMath.r(3) + _waveHeight, 0); - ArrayList locations = UtilShapes.getCircle(center, false, _arenaStartSize); + List locations = circle(center, _arenaStartSize, 1, false, false, 0); Location random = locations.get(UtilMath.r(locations.size())); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBlockLobbers.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBlockLobbers.java index 32a31a914..1ea2bff9f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBlockLobbers.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBlockLobbers.java @@ -23,7 +23,6 @@ import mineplex.core.common.util.UtilAction; import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilInv; import mineplex.core.common.util.UtilMath; -import mineplex.core.common.util.UtilShapes; import mineplex.core.projectile.ProjectileUser; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; @@ -55,7 +54,7 @@ public class ChallengeBlockLobbers extends Challenge { ArrayList spawns = new ArrayList(); - for (Location location : UtilShapes.getCircle(getCenter(), true, 8)) + for (Location location : circle(getCenter(), 8, 1, false, false, 0)) { spawns.add(location.add(0.5, 1.1, 0.5)); } @@ -67,7 +66,7 @@ public class ChallengeBlockLobbers extends Challenge @Override public void createMap() { - for (Location location : UtilShapes.getCircle(getCenter(), false, 11)) + for (Location location : circle(getCenter(), 11, 1, false, false, 0)) { Block block = location.getBlock(); block.setType(Material.WOOL); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBouncingBlock.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBouncingBlock.java index 2a0a5eee6..7e88f4866 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBouncingBlock.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBouncingBlock.java @@ -20,7 +20,6 @@ import org.bukkit.potion.PotionEffectType; import mineplex.core.common.util.C; import mineplex.core.common.util.UtilFirework; import mineplex.core.common.util.UtilMath; -import mineplex.core.common.util.UtilShapes; import mineplex.core.common.util.UtilTextBottom; import mineplex.core.common.util.UtilTextMiddle; import mineplex.core.recharge.Recharge; @@ -56,7 +55,7 @@ public class ChallengeBouncingBlock extends Challenge ArrayList spawns = new ArrayList(); int size = getArenaSize(9) - 2; - for (Location location : UtilShapes.getCircle(getCenter(), true, size)) + for (Location location : circle(getCenter(), size, 1, true, false, 0)) { spawns.add(location.add(0.5, 1.1, 0.5)); } @@ -68,7 +67,7 @@ public class ChallengeBouncingBlock extends Challenge @Override public void createMap() { - for (Location location : UtilShapes.getCircle(getCenter(), false, getArenaSize(9))) + for (Location location : circle(getCenter(), getArenaSize(9), 1, false, false, 0)) { Block block = location.getBlock(); block.setType(Material.WOOL); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBuildRace.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBuildRace.java index bae7f0e2e..a5bc45656 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBuildRace.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeBuildRace.java @@ -20,7 +20,6 @@ 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.Challenge; @@ -61,7 +60,7 @@ public class ChallengeBuildRace extends Challenge ArrayList spawns = new ArrayList(); int size = getArenaSize() - 2; - for (Location location : UtilShapes.getCircle(getCenter(), true, size)) + for (Location location : circle(getCenter(), size, 1, true, false, 0)) { spawns.add(location.add(0.5, 1.1, 0.5)); } @@ -72,7 +71,7 @@ public class ChallengeBuildRace extends Challenge @Override public void createMap() { - for (Location location : UtilShapes.getCircle(getCenter(), false, getArenaSize())) + for (Location location : circle(getCenter(), getArenaSize(), 1, false, false, 0)) { Block block = location.getBlock(); block.setType(Material.GRASS); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeCloudFall.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeCloudFall.java index 202f0a1d5..c685336e9 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeCloudFall.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeCloudFall.java @@ -41,8 +41,8 @@ public class ChallengeCloudFall extends Challenge { ArrayList spawns = new ArrayList(); int size = getArenaSize() - 2; - - for (Location location : UtilShapes.getCircle(getCenter().add(0, _platformHeight, 0), true, size)) + + for (Location location : circle(getCenter().add(0, _platformHeight, 0), size, 1, true, false, 0)) { spawns.add(location.add(0.5, 1.1, 0.5)); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeDeadlyTnt.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeDeadlyTnt.java index fa3bfdd5a..1f5785971 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeDeadlyTnt.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeDeadlyTnt.java @@ -22,7 +22,6 @@ import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilInv; import mineplex.core.common.util.UtilMath; import mineplex.core.common.util.UtilPlayer; -import mineplex.core.common.util.UtilShapes; import mineplex.core.recharge.Recharge; import mineplex.minecraft.game.core.damage.CustomDamageEvent; import nautilus.game.arcade.game.games.mineware.BawkBawkBattles; @@ -51,7 +50,7 @@ public class ChallengeDeadlyTnt extends Challenge ArrayList spawns = new ArrayList(); int size = getArenaSize() - 3; - for (Location location : UtilShapes.getCircle(getCenter(), true, size)) + for (Location location : circle(getCenter(), size, 1, true, false, 0)) { spawns.add(location.add(0.5, 1.1, 0.5)); } @@ -65,7 +64,7 @@ public class ChallengeDeadlyTnt extends Challenge { // double radius = 6 + (getChallengers().size() / 2D); - for (Location location : UtilShapes.getCircle(getCenter(), false, getArenaSize())) + for (Location location : circle(getCenter(), getArenaSize(), 1, false, false, 0)) { Block block = location.getBlock(); @@ -150,7 +149,7 @@ public class ChallengeDeadlyTnt extends Challenge TNTPrimed tnt = player.getWorld().spawn(player.getEyeLocation().add(player.getLocation().getDirection()), TNTPrimed.class); UtilAction.velocity(tnt, player.getLocation().getDirection(), 0.6, false, 0, 0.2, 1, false); tnt.setFuseTicks((int) (60 * (1 - ((System.currentTimeMillis() - Settings.getStartTime()) / 70000)))); - + player.playSound(player.getLocation(), Sound.ITEM_PICKUP, 1.0F, 1.0F); } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeFallingBlocks.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeFallingBlocks.java index 13d585b7b..da1f318bc 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeFallingBlocks.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeFallingBlocks.java @@ -81,7 +81,7 @@ public class ChallengeFallingBlocks extends Challenge 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 int _arenaStartSize; - + public ChallengeFallingBlocks(BawkBawkBattles host) { super( @@ -101,8 +101,9 @@ public class ChallengeFallingBlocks extends Challenge public ArrayList createSpawns() { ArrayList spawns = new ArrayList(); + int size = getArenaSize() - 3; - for (Location location : UtilShapes.getCircle(getCenter(), true, getArenaSize() - 3)) + for (Location location : circle(getCenter(), size, 1, true, false, 0)) { spawns.add(location.add(0.5, 1.1, 0.5)); } @@ -115,8 +116,8 @@ public class ChallengeFallingBlocks extends Challenge public void createMap() { _arenaStartSize = getArenaSize(); - - for (Location location : UtilShapes.getCircle(getCenter(), false, _arenaStartSize)) + + for (Location location : circle(getCenter(), _arenaStartSize, 1, false, false, 0)) { Material material = _floor[UtilMath.r(_floor.length)]; Block block = location.getBlock(); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeFastFood.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeFastFood.java index 36c671b5d..b791f9f6e 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeFastFood.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeFastFood.java @@ -25,7 +25,6 @@ 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; @@ -69,8 +68,9 @@ public class ChallengeFastFood extends Challenge public ArrayList createSpawns() { ArrayList spawns = new ArrayList(); + int size = getArenaSize() - 3; - for (Location location : UtilShapes.getCircle(getCenter(), true, getArenaSize() - 3)) + for (Location location : circle(getCenter(), size, 1, true, false, 0)) { spawns.add(location.add(0.5, 1.1, 0.5)); } @@ -81,7 +81,7 @@ public class ChallengeFastFood extends Challenge @Override public void createMap() { - for (Location location : UtilShapes.getCircle(getCenter(), false, getArenaSize())) + for (Location location : circle(getCenter(), getArenaSize(), 1, false, false, 0)) { Block block = location.getBlock(); block.setType(Material.GRASS); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeInfestation.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeInfestation.java index a29245ee2..02ec046a2 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeInfestation.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeInfestation.java @@ -21,7 +21,6 @@ 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.UtilShapes; import mineplex.core.disguise.disguises.DisguiseZombie; import mineplex.core.updater.UpdateType; import mineplex.core.updater.event.UpdateEvent; @@ -54,7 +53,7 @@ public class ChallengeInfestation extends Challenge { ArrayList spawns = new ArrayList(); - for (Location location : UtilShapes.getCircle(getCenter(), true, getArenaSize(10))) + for (Location location : circle(getCenter(), getArenaSize(10), 1, true, false, 0)) { spawns.add(location.add(0.5, 1.1, 0.5)); } @@ -66,7 +65,7 @@ public class ChallengeInfestation extends Challenge @Override public void createMap() { - for (Location location : UtilShapes.getCircle(getCenter(), false, getArenaSize(15))) + for (Location location : circle(getCenter(), getArenaSize(15), 1, false, false, 0)) { Block block = location.getBlock(); block.setType(Material.WOOL); diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeMinecartDance.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeMinecartDance.java index 125a8a879..cb1aa6075 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeMinecartDance.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeMinecartDance.java @@ -247,10 +247,13 @@ public class ChallengeMinecartDance extends Challenge { for (Player player : getPlayersIn(true)) { - if (!player.isInsideVehicle()) + if (player.isInsideVehicle()) + { + setCompleted(player); + } + else { Host.WorldData.World.strikeLightningEffect(player.getLocation()); - setLost(player); } } } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeTreasureDigger.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeTreasureDigger.java index 1153af459..76db766ce 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeTreasureDigger.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/mineware/challenge/type/ChallengeTreasureDigger.java @@ -22,7 +22,6 @@ 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.Challenge; @@ -89,8 +88,9 @@ public class ChallengeTreasureDigger extends Challenge public ArrayList createSpawns() { ArrayList spawns = new ArrayList(); - - for (Location location : UtilShapes.getCircle(getCenter(), true, getArenaSize() - 2)) + int size = getArenaSize() - 2; + + for (Location location : circle(getCenter(), size, 1, true, false, 0)) { spawns.add(location.add(0.5, 4.1, 0.5)); } @@ -111,7 +111,7 @@ public class ChallengeTreasureDigger extends Challenge center.add(0, i, 0); } - for (Location location : UtilShapes.getCircle(center, false, getArenaSize())) + for (Location location : circle(getCenter(), getArenaSize(), 1, false, false, 0)) { Block block = location.getBlock(); double chance = Math.random() * 100;