From 829e6d68e0871c3446ad5b113c6c65327a3ef2c0 Mon Sep 17 00:00:00 2001 From: Garbage Mule Date: Mon, 30 May 2011 23:59:56 +0200 Subject: [PATCH] minor tweaks --- MobArena.jar | Bin 22612 -> 23018 bytes .../garbagemule/MobArena/ArenaManager.java | 3 +- .../garbagemule/MobArena/MABlockListener.java | 12 +++-- src/com/garbagemule/MobArena/MACommands.java | 13 +++++ .../garbagemule/MobArena/MASpawnThread.java | 51 ++++++++++++------ src/com/garbagemule/MobArena/MAUtils.java | 2 +- 6 files changed, 59 insertions(+), 22 deletions(-) diff --git a/MobArena.jar b/MobArena.jar index 7aa275a3e21b9e00b8f9d6347e7e69055e9a3ce0..0ab0b20b2e2d32d2305b473378ea30ecb24f287a 100644 GIT binary patch delta 15247 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

6+6vp1eP@0dN{iky)U&|8>5K+6>*Dtl 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 F{{i|()+_)3 delta 14823 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 F{txth<-Y&` diff --git a/src/com/garbagemule/MobArena/ArenaManager.java b/src/com/garbagemule/MobArena/ArenaManager.java index cc59c15..a42a3b4 100644 --- a/src/com/garbagemule/MobArena/ArenaManager.java +++ b/src/com/garbagemule/MobArena/ArenaManager.java @@ -33,6 +33,7 @@ public class ArenaManager protected static Location spectatorLoc = null; protected static boolean isRunning = false; protected static boolean isSetup = false; + protected static boolean isProtected = true; // Location variables for the arena region. protected static Location p1 = null; @@ -145,7 +146,7 @@ public class ArenaManager } MASpawnThread thread = new MASpawnThread(); - plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin,thread,100,400); + server.getScheduler().scheduleSyncRepeatingTask(plugin,thread,100,400); tellAll("Let the slaughter begin!"); } diff --git a/src/com/garbagemule/MobArena/MABlockListener.java b/src/com/garbagemule/MobArena/MABlockListener.java index 839688a..cd67412 100644 --- a/src/com/garbagemule/MobArena/MABlockListener.java +++ b/src/com/garbagemule/MobArena/MABlockListener.java @@ -23,7 +23,10 @@ public class MABlockListener extends BlockListener public void onBlockDamage(BlockDamageEvent event) { - if (!ArenaManager.isSetup) + if (!ArenaManager.isSetup || !ArenaManager.isProtected) + return; + + if (ArenaManager.blockSet.contains(event.getBlock())) return; if (MAUtils.inRegion(event.getBlock().getLocation())) @@ -32,7 +35,10 @@ public class MABlockListener extends BlockListener public void onBlockBreak(BlockBreakEvent event) { - if (!ArenaManager.isSetup) + if (!ArenaManager.isSetup || !ArenaManager.isProtected) + return; + + if (ArenaManager.blockSet.contains(event.getBlock())) return; if (MAUtils.inRegion(event.getBlock().getLocation())) @@ -41,7 +47,7 @@ public class MABlockListener extends BlockListener public void onBlockPlace(BlockPlaceEvent event) { - if (!ArenaManager.isSetup) + if (!ArenaManager.isSetup || !ArenaManager.isProtected) return; if (MAUtils.inRegion(event.getBlock().getLocation())) diff --git a/src/com/garbagemule/MobArena/MACommands.java b/src/com/garbagemule/MobArena/MACommands.java index 3661d98..d3ded85 100644 --- a/src/com/garbagemule/MobArena/MACommands.java +++ b/src/com/garbagemule/MobArena/MACommands.java @@ -170,6 +170,19 @@ public class MACommands implements CommandExecutor return true; } + // ma protect true/false + if (cmd.equals("protect")) + { + if (!arg.equals("true") && !arg.equals("false")) + return false; + + // Set the boolean + ArenaManager.isProtected = Boolean.valueOf(arg); + + ArenaManager.tellPlayer(p, "Region protection: " + arg); + return true; + } + return false; } } \ No newline at end of file diff --git a/src/com/garbagemule/MobArena/MASpawnThread.java b/src/com/garbagemule/MobArena/MASpawnThread.java index c587522..124193f 100644 --- a/src/com/garbagemule/MobArena/MASpawnThread.java +++ b/src/com/garbagemule/MobArena/MASpawnThread.java @@ -5,6 +5,7 @@ import java.util.Random; import org.bukkit.Location; import org.bukkit.entity.Slime; import org.bukkit.entity.Player; +import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.CreatureType; @@ -25,11 +26,16 @@ public class MASpawnThread implements Runnable private int wave, noOfSpawnPoints, noOfPlayers; private int dZombies, dSkeletons, dSpiders, dCreepers; private Random random; + private Player target; + private Object[] playerArray; + private String reward, currentRewards; public MASpawnThread() { + // Turn the set into an array for lookup with random numbers. + playerArray = ArenaManager.playerSet.toArray(); + noOfPlayers = playerArray.length; noOfSpawnPoints = ArenaManager.spawnpoints.size(); - noOfPlayers = ArenaManager.playerSet.size(); wave = 1; random = new Random(); @@ -41,10 +47,7 @@ public class MASpawnThread implements Runnable } public void run() - { - String reward; - String currentRewards; - + { // Check if we need to grant more rewards with the recurrent waves. for (Integer i : ArenaManager.everyWaveMap.keySet()) { @@ -98,9 +101,9 @@ public class MASpawnThread implements Runnable Location loc; int ran; - for (int i = 0; i < wave+noOfPlayers; i++) + for (int i = 0; i < wave + noOfPlayers; i++) { - loc = ArenaManager.spawnpoints.get(random.nextInt(noOfSpawnPoints)); + loc = ArenaManager.spawnpoints.get(i % noOfSpawnPoints); ran = random.nextInt(dCreepers); CreatureType mob; @@ -117,6 +120,11 @@ public class MASpawnThread implements Runnable LivingEntity e = ArenaManager.world.spawnCreature(loc,mob); ArenaManager.monsterSet.add(e); + + // Grab a random target. + ran = random.nextInt(noOfPlayers); + Creature c = (Creature) e; + c.setTarget((Player)playerArray[ran]); } } @@ -128,7 +136,7 @@ public class MASpawnThread implements Runnable Location loc; CreatureType mob; - int count; + int ran, count; boolean lightning = false; boolean slime = false; @@ -164,18 +172,27 @@ public class MASpawnThread implements Runnable for (int i = 0; i < count; i++) { - loc = ArenaManager.spawnpoints.get(random.nextInt(noOfSpawnPoints)); + loc = ArenaManager.spawnpoints.get(i % noOfSpawnPoints); LivingEntity e = ArenaManager.world.spawnCreature(loc,mob); - if (lightning) - { - ArenaManager.world.strikeLightningEffect(loc); - e.setFireTicks(0); - e.setHealth(20); - } - if (slime) ((Slime)e).setSize(2); - ArenaManager.monsterSet.add(e); + + if (slime) ((Slime)e).setSize(2); + + // Slimes can't have targets, apparently. + if (!(e instanceof Creature)) + continue; + + // Grab a random target. + ran = random.nextInt(noOfPlayers); + Creature c = (Creature) e; + c.setTarget((Player)playerArray[ran]); + } + + // Lightning, just for effect ;) + for (Location l : ArenaManager.spawnpoints) + { + ArenaManager.world.strikeLightningEffect(l); } } } \ No newline at end of file diff --git a/src/com/garbagemule/MobArena/MAUtils.java b/src/com/garbagemule/MobArena/MAUtils.java index 4bb2a05..2672f7f 100644 --- a/src/com/garbagemule/MobArena/MAUtils.java +++ b/src/com/garbagemule/MobArena/MAUtils.java @@ -196,7 +196,7 @@ public class MAUtils c.setProperty("classes.Knight.armor", "306,307,308,309"); c.setProperty("classes.Tank.items", "iron_sword, grilled_pork:2"); c.setProperty("classes.Tank.armor", "310,311,312,313"); - c.setProperty("classes.Oddjob.items", "stone_sword, flint_and_steal, netherrack:2, wood_door, fishing_rod, apple, grilled_pork:3"); + c.setProperty("classes.Oddjob.items", "stone_sword, flint_and_steel, netherrack:2, wood_pickaxe, wood_door, fishing_rod, apple, grilled_pork:3"); c.setProperty("classes.Oddjob.armor", "298,299,300,301"); c.setProperty("classes.Chef.items", "stone_sword, bread:6, grilled_pork:4, mushroom_soup, cake:3, cookie:12"); c.setProperty("classes.Chef.armor", "314,315,316,317");