So, you got a big source code revamp. Big whoop, wanna fight about it?

This commit is contained in:
Garbage Mule
2012-02-24 05:11:06 +01:00
parent e7c66be183
commit 777f6b9b07
193 changed files with 11912 additions and 12726 deletions
+4 -1
View File
@@ -76,7 +76,10 @@ arenas:
priority: 1
frequency: 1
monsters:
mushroom_cows: 10
zombies: 30
skeletons: 18
spiders: 5
mushroom_cows: 1
wave: 1
boss1:
type: boss
@@ -1,212 +0,0 @@
package garbagemule.mobarena.standard;
import static org.junit.Assert.*;
import java.io.*;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;
import org.apache.commons.io.FileUtils;
import org.bukkit.util.config.Configuration;
import org.junit.*;
import com.garbagemule.MobArena.util.Config;
@SuppressWarnings("deprecation")
public class TestNewConfig
{
private Configuration oldConfig;
private Config newConfig;
private File testFileOld, testFileNew;
@Before
public void setup() {
testFileOld = makeTestFile("test", "config.yml");
testFileNew = makeTestFile("test", "config.yml");
oldConfig = new Configuration(testFileOld);
newConfig = new Config(testFileNew);
oldConfig.load();
newConfig.load();
}
@After
public void cleanup() {
testFileOld.delete();
testFileNew.delete();
}
@Test
public void getProperty() {
String path = "arenas.lol.rewards.waves.after.7";
Object oldObj = oldConfig.getProperty(path);
Object newObj = newConfig.getProperty(path);
assertEquals(oldObj, newObj);
}
@Test
public void getInt() {
String path = "arenas.lol.settings.first-wave-delay";
int oldInt = oldConfig.getInt(path, -1);
int newInt = newConfig.getInt(path, -2);
assertEquals(oldInt, newInt);
}
@Test
public void getString() {
String path = "classes.Knight.items";
String oldString = oldConfig.getString(path, "old");
String newString = newConfig.getString(path, "new");
assertEquals(oldString, newString);
path = "classes.Knight.armor";
oldString = oldConfig.getString(path, "old");
newString = newConfig.getString(path, "new");
assertEquals(oldString, newString);
}
@Test
public void getBoolean() {
String path = "global-settings.enabled";
boolean oldBoolean = oldConfig.getBoolean(path, false);
boolean newBoolean = newConfig.getBoolean(path, true);
assertEquals(oldBoolean, newBoolean);
// Test with both permutations of the default value.
oldBoolean = oldConfig.getBoolean(path, true);
newBoolean = newConfig.getBoolean(path, false);
assertEquals(oldBoolean, newBoolean);
}
@Test
public void getKeys() {
String path = "classes";
List<String> oldList = new LinkedList<String>();
List<String> newList = new LinkedList<String>();
oldList.addAll(oldConfig.getKeys(path));
newList.addAll(newConfig.getKeys(path));
// Sort, just in case.
Collections.sort(oldList);
Collections.sort(newList);
assertEquals(oldList, newList);
}
@Test
public void getStringList() {
String path = "classes.Knight.permissions";
List<String> oldList = oldConfig.getStringList(path, null);
List<String> newList = newConfig.getStringList(path, null);
assertNotNull(oldList);
assertNotNull(newList);
assertFalse(oldList.isEmpty());
assertFalse(newList.isEmpty());
assertEquals(oldList, newList);
// Empty lists.
path = "classes.Tank.permissions";
oldList = oldConfig.getStringList(path, new LinkedList<String>());
newList = newConfig.getStringList(path, new LinkedList<String>());
assertNotNull(oldList);
assertNotNull(newList);
assertTrue(oldList.isEmpty());
assertTrue(newList.isEmpty());
assertEquals(oldList, newList);
// Null values behave the same as empty lists.
oldList = oldConfig.getStringList(path, null);
newList = newConfig.getStringList(path, null);
assertNotNull(oldList);
assertNotNull(newList);
assertTrue(oldList.isEmpty());
assertTrue(newList.isEmpty());
assertEquals(oldList, newList);
// Non-existing lists.
path = "classes.Archer.permissions";
oldList = oldConfig.getStringList(path, new LinkedList<String>());
newList = newConfig.getStringList(path, new LinkedList<String>());
assertNotNull(oldList);
assertNotNull(newList);
assertTrue(oldList.isEmpty());
assertTrue(newList.isEmpty());
assertEquals(oldList, newList);
}
@Test
public void removeProperty() {
String path = "global-settings.enabled";
// Make sure something exists first.
Object oldObj = oldConfig.getProperty(path);
Object newObj = newConfig.getProperty(path);
assertNotNull(oldObj);
assertNotNull(newObj);
assertEquals(oldObj, newObj);
// Remove and try again.
oldConfig.removeProperty(path);
newConfig.removeProperty(path);
// They should now both be null.
oldObj = oldConfig.getProperty(path);
newObj = newConfig.getProperty(path);
assertNull(oldObj);
assertNull(newObj);
assertEquals(oldObj, newObj);
// Should be idempotent.
oldConfig.removeProperty(path);
newConfig.removeProperty(path);
oldObj = oldConfig.getProperty(path);
newObj = newConfig.getProperty(path);
assertNull(oldObj);
assertNull(newObj);
assertEquals(oldObj, newObj);
}
private File makeTestFile(String path, String filename) {
// Grab the time
Timestamp timestamp = new Timestamp(new Date().getTime());
// Convert to a string
String time = new SimpleDateFormat("MM-dd-yyyy-H_m_s_S").format(timestamp);
// Make a new file
File testFile = new File(path + File.separator + time + "_" + filename);
// Start copying the bytes
try {
FileUtils.copyFile(new File(path + File.separator + filename), testFile);
}
catch (Exception e) {
e.printStackTrace();
}
return testFile;
}
}
@@ -1,208 +0,0 @@
package garbagemule.mobarena.standard;
import static org.junit.Assert.*;
import mock.bukkit.*;
import mock.mobarena.*;
import mock.util.MockLogger;
import org.junit.*;
import com.garbagemule.MobArena.*;
import com.garbagemule.MobArena.commands.*;
public class TestUserCommands
{
private static final String LABEL = "ma";
private MockLogger log;
private String expected;
private MobArenaPlugin plugin;
private ArenaMaster arenaMaster;
private CommandHandler commandHandler;
private MockPlayer player;
@Before
public void setup() {
// Set up the log.;
log = new MockLogger();
log.log("Start");
// Create a plugin.
plugin = new MockMobArena();
// Get the ArenaMaster.
arenaMaster = plugin.getArenaMaster();
// Create a player and a command handler.
player = new MockPlayer("garbagemule", log);
commandHandler = new CommandHandler(plugin);
}
@After
public void cleanup() {
log = null;
plugin = null;
arenaMaster = null;
player = null;
commandHandler = null;
}
/* ********************************************************************* */
/*
/* JOIN COMMAND
/*
/* ********************************************************************* */
// TODO: Expand all tests to check that the player is indeed added and warped.
@Test
public void expectArguments() {
commandHandler.onCommand(player, null, LABEL, compileArgs());
expected = MockLogger.compileMsgToPlayer(player, Msg.MISC_NONE);
assertEquals(expected, log.getLastEntry().getValue());
}
@Test
public void playerCanJoinExistingArena() {
// Create some arenas.
createArenas("test","test2","test21","test12");
// Try to join an existing arena.
commandHandler.onCommand(player, null, LABEL, compileArgs("join","test"));
// Success!
expected = MockLogger.compileMsgToPlayer(player, Msg.JOIN_PLAYER_JOINED);
assertEquals(expected, log.getLastEntry().getValue());
// Verify that the player is now in the lobby.
Arena a = arenaMaster.getArenaWithName("test");
assertTrue(a.inLobby(player));
}
@Test
public void playerCantJoinNonExistingArena() {
// Create some arenas.
createArenas("test","test2","test21","test12");
// Try to join one that doesn't exist.
commandHandler.onCommand(player, null, LABEL, compileArgs("join","test1"));
// Failure!
expected = MockLogger.compileMsgToPlayer(player, Msg.ARENA_DOES_NOT_EXIST);
assertEquals(expected, log.getLastEntry().getValue());
}
@Test
public void argsRequiredForMultipleArenas() {
// Create some arenas.
createArenas("test","test2","test21","test12");
// Try to join with no arguments.
commandHandler.onCommand(player, null, LABEL, compileArgs("join"));
// Should join the only existing arena.
expected = MockLogger.compileMsgToPlayer(player, Msg.JOIN_ARG_NEEDED);
assertEquals(expected, log.getLastEntry().getValue());
}
@Test
public void noArgsNeededForOneArenaOnly() {
// Create one arena.
createArenas("gjklqwejklewjglkejg");
// Try to join with no arguments.
commandHandler.onCommand(player, null, LABEL, compileArgs("join"));
// Should join the only existing arena.
expected = MockLogger.compileMsgToPlayer(player, Msg.JOIN_PLAYER_JOINED);
assertEquals(expected, log.getLastEntry().getValue());
// Verify that the player is now in the lobby.
Arena a = arenaMaster.getArenaWithName("gjklqwejklewjglkejg");
assertTrue(a.inLobby(player));
}
@Test
public void playerCanOnlyJoinPermittedArenas() {
// Create a couple of arenas.
createArenas("yay", "nay");
// Give the player no permission for one.
player.setPermission("mobarena.arenas.nay", false);
// Try to join.
commandHandler.onCommand(player, null, LABEL, compileArgs("join","nay"));
// No permission.
expected = MockLogger.compileMsgToPlayer(player, Msg.JOIN_ARENA_PERMISSION);
assertEquals(expected, log.getLastEntry().getValue());
// Verify that the player didn't join and isn't in the lobby.
Arena a = arenaMaster.getArenaWithName("nay");
assertFalse(a.inLobby(player));
}
/* ********************************************************************* */
/*
/* LIST ARENAS COMMAND
/*
/* ********************************************************************* */
@Test
public void shouldListAllArenas() {
// Create some arenas.
createArenas("one", "two", "three", "four");
// Try to list them.
commandHandler.onCommand(player, null, LABEL, compileArgs("arenas"));
// Should show all of them, because player has permission to all per default.
expected = MockLogger.compileMsgToPlayer(player, Msg.MISC_LIST_ARENAS.toString("one, two, three, four"));
assertEquals(expected, log.getLastEntry().getValue());
}
@Test
public void shouldListMiscNoneIfNoArenas() {
// Create an arena and remove the permission.
createArenas("one");
player.setPermission("mobarena.arenas.one", false);
// Try to list arenas.
commandHandler.onCommand(player, null, LABEL, compileArgs("arenas"));
// Should display MISC_NONE
String none = Msg.MISC_NONE.toString();
expected = MockLogger.compileMsgToPlayer(player, Msg.MISC_LIST_ARENAS.toString(none));
assertEquals(expected, log.getLastEntry().getValue());
}
@Test
public void shouldDisplayOnlyPermittedArenas() {
// Create three arenas, remove permissions for one.
createArenas("one", "two", "three");
player.setPermission("mobarena.arenas.two", false);
// List arenas.
commandHandler.onCommand(player, null, LABEL, compileArgs("arenas"));
// Should display one and three.
expected = MockLogger.compileMsgToPlayer(player, Msg.MISC_LIST_ARENAS.toString("one, three"));
assertEquals(expected, log.getLastEntry().getValue());
}
private void createArenas(String... args) {
for (String s : args) {
arenaMaster.createArenaNode(s, null);
}
}
private String[] compileArgs(String... args) {
return args;
}
}
+135
View File
@@ -9,10 +9,13 @@ import org.bukkit.*;
import org.bukkit.block.Block;
import org.bukkit.entity.*;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.*;
import org.bukkit.map.MapView;
import org.bukkit.permissions.*;
import org.bukkit.plugin.Plugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.util.Vector;
public class MockPlayer implements Player
@@ -973,4 +976,136 @@ public class MockPlayer implements Player
}
@Override
public Player getKiller()
{
// TODO Auto-generated method stub
return null;
}
@Override
public boolean teleport(Location arg0, TeleportCause arg1)
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean teleport(Entity arg0, TeleportCause arg1)
{
// TODO Auto-generated method stub
return false;
}
@Override
public long getFirstPlayed()
{
// TODO Auto-generated method stub
return 0;
}
@Override
public long getLastPlayed()
{
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean hasPlayedBefore()
{
// TODO Auto-generated method stub
return false;
}
@Override
public void playEffect(EntityEffect arg0) {
// TODO Auto-generated method stub
}
@Override
public Set<String> getListeningPluginChannels() {
// TODO Auto-generated method stub
return null;
}
@Override
public void sendPluginMessage(Plugin arg0, String arg1, byte[] arg2) {
// TODO Auto-generated method stub
}
//@Override
public boolean getAllowFlight() {
// TODO Auto-generated method stub
return false;
}
//@Override
public void setAllowFlight(boolean arg0) {
// TODO Auto-generated method stub
}
//@Override
public void setBedSpawnLocation(Location arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean addPotionEffect(PotionEffect arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean addPotionEffect(PotionEffect arg0, boolean arg1) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean addPotionEffects(Collection<PotionEffect> arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public Collection<PotionEffect> getActivePotionEffects() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean hasPotionEffect(PotionEffectType arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public void removePotionEffect(PotionEffectType arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean canSee(Player arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public void hidePlayer(Player arg0) {
// TODO Auto-generated method stub
}
@Override
public void showPlayer(Player arg0) {
// TODO Auto-generated method stub
}
}
-540
View File
@@ -1,540 +0,0 @@
package mock.mobarena;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Wolf;
//import org.bukkit.util.config.Configuration;
import com.garbagemule.MobArena.Arena;
import com.garbagemule.MobArena.ArenaPlayer;
import com.garbagemule.MobArena.ArenaPlayerStatistics;
import com.garbagemule.MobArena.MAUtils;
import com.garbagemule.MobArena.MobArena;
import com.garbagemule.MobArena.MobArenaPlugin;
import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.repairable.Repairable;
import com.garbagemule.MobArena.util.Config;
import com.garbagemule.MobArena.waves.BossWave;
import com.garbagemule.MobArena.waves.Wave;
public class MockArena extends Arena
{
private MobArenaPlugin plugin;
private String name;
private boolean enabled;
public MockArena(MobArenaPlugin plugin, String name, World world) {
this.plugin = plugin;
this.name = name;
this.enabled = true;
this.setup = true;
this.running = false;
this.arenaPlayers = new HashSet<Player>();
this.lobbyPlayers = new HashSet<Player>();
}
@Override
public boolean startArena()
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean endArena()
{
// TODO Auto-generated method stub
return false;
}
@Override
public void forceStart()
{
// TODO Auto-generated method stub
}
@Override
public void forceEnd()
{
// TODO Auto-generated method stub
}
@Override
public void playerJoin(Player p, Location loc) {
lobbyPlayers.add(p);
}
@Override
public void playerReady(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void playerLeave(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void playerDeath(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void playerSpec(Player p, Location loc)
{
// TODO Auto-generated method stub
}
@Override
public void playerKill(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void restoreInvAndGiveRewardsDelayed(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void restoreInvAndGiveRewards(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void storePlayerData(Player p, Location loc)
{
// TODO Auto-generated method stub
}
@Override
public void storeContainerContents()
{
// TODO Auto-generated method stub
}
@Override
public void restoreContainerContents()
{
// TODO Auto-generated method stub
}
@Override
public void movePlayerToLobby(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void movePlayerToSpec(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void movePlayerToEntry(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void repairBlocks()
{
// TODO Auto-generated method stub
}
@Override
public void queueRepairable(Repairable r)
{
// TODO Auto-generated method stub
}
@Override
public void assignClass(Player p, String className)
{
// TODO Auto-generated method stub
}
@Override
public void assignRandomClass(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void assignClassPermissions(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void removeClassPermissions(Player p)
{
// TODO Auto-generated method stub
}
@Override
public void load(Config config)
{
// TODO Auto-generated method stub
}
@Override
public void restoreRegion()
{
// TODO Auto-generated method stub
}
@Override
public void serializeConfig()
{
// TODO Auto-generated method stub
}
@Override
public void deserializeConfig()
{
// TODO Auto-generated method stub
}
@Override
public boolean serializeRegion()
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean deserializeRegion()
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean inRegion(Location loc)
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean inRegionRadius(Location loc, int radius)
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean inArena(Player p)
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean inLobby(Player p) {
return lobbyPlayers.contains(p);
}
@Override
public boolean isEnabled() {
return enabled;
}
@Override
public boolean isRunning()
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isPvpEnabled()
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isLightningEnabled()
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isBossWave()
{
// TODO Auto-generated method stub
return false;
}
@Override
public String configName() {
return name;
}
@Override
public String arenaName()
{
// TODO Auto-generated method stub
return null;
}
@Override
public MobArena getPlugin()
{
// TODO Auto-generated method stub
return null;
}
@Override
public World getWorld()
{
// TODO Auto-generated method stub
return null;
}
@Override
public Wave getWave()
{
// TODO Auto-generated method stub
return null;
}
@Override
public void setWave(Wave wave)
{
// TODO Auto-generated method stub
}
@Override
public void setBossWave(BossWave bossWave)
{
// TODO Auto-generated method stub
}
@Override
public Set<String> getClasses()
{
// TODO Auto-generated method stub
return null;
}
@Override
public List<Location> getAllSpawnpoints()
{
// TODO Auto-generated method stub
return null;
}
@Override
public List<Location> getSpawnpoints()
{
// TODO Auto-generated method stub
return null;
}
@Override
public Location getBossSpawnpoint()
{
// TODO Auto-generated method stub
return null;
}
@Override
public int getPlayerCount()
{
// TODO Auto-generated method stub
return 0;
}
@Override
public void addBlock(Block b)
{
// TODO Auto-generated method stub
}
@Override
public void addMonster(LivingEntity e)
{
// TODO Auto-generated method stub
}
@Override
public void addExplodingSheep(LivingEntity e)
{
// TODO Auto-generated method stub
}
@Override
public List<Player> getAllPlayers()
{
// TODO Auto-generated method stub
return null;
}
@Override
public List<Player> getLivingPlayers()
{
// TODO Auto-generated method stub
return null;
}
@Override
public Set<Player> getArenaPlayers()
{
// TODO Auto-generated method stub
return null;
}
@Override
public Collection<ArenaPlayer> getArenaPlayerSet()
{
// TODO Auto-generated method stub
return null;
}
@Override
public List<ArenaPlayerStatistics> getArenaPlayerStatistics(
Comparator<ArenaPlayerStatistics> comparator)
{
// TODO Auto-generated method stub
return null;
}
@Override
public List<Player> getNonreadyPlayers()
{
// TODO Auto-generated method stub
return null;
}
@Override
public Set<LivingEntity> getMonsters()
{
// TODO Auto-generated method stub
return null;
}
@Override
public Set<Wolf> getPets()
{
// TODO Auto-generated method stub
return null;
}
@Override
public void resetIdleTimer()
{
// TODO Auto-generated method stub
}
@Override
public void addTrunkAndLeaves(Block b)
{
// TODO Auto-generated method stub
}
@Override
public boolean canAfford(Player p)
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean takeFee(Player p)
{
// TODO Auto-generated method stub
return false;
}
@Override
public boolean canJoin(Player p) {
if (!enabled)
plugin.tell(p, Msg.JOIN_ARENA_NOT_ENABLED);
else if (!setup) //|| recurrentWaves.isEmpty()) TODO: Test waves.
plugin.tell(p, Msg.JOIN_ARENA_NOT_SETUP);
else if (edit)
plugin.tell(p, Msg.JOIN_ARENA_EDIT_MODE);
else if (running && (notifyPlayers.contains(p) || notifyPlayers.add(p)))
plugin.tell(p, Msg.JOIN_ARENA_IS_RUNNING);
else if (arenaPlayers.contains(p) || lobbyPlayers.contains(p))
plugin.tell(p, Msg.JOIN_ALREADY_PLAYING);
else if (!p.hasPermission("mobarena.arenas." + configName()))
plugin.tell(p, Msg.JOIN_ARENA_PERMISSION);
else if (maxPlayers > 0 && lobbyPlayers.size() >= maxPlayers)
plugin.tell(p, Msg.JOIN_PLAYER_LIMIT_REACHED);
else if (joinDistance > 0 && !inRegionRadius(p.getLocation(), joinDistance))
plugin.tell(p, Msg.JOIN_TOO_FAR);
else if (emptyInvJoin && !MAUtils.hasEmptyInventory(p))
plugin.tell(p, Msg.JOIN_EMPTY_INV);
else
return true;
/*else if (!canAfford(p))
plugin.tell(p, Msg.JOIN_FEE_REQUIRED, MAUtils.listToString(entryFee, plugin));*/
return false;
}
@Override
public boolean canSpec(Player p)
{
// TODO Auto-generated method stub
return false;
}
@Override
public String toString() {
return name;
}
}
-232
View File
@@ -1,232 +0,0 @@
package mock.mobarena;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import com.garbagemule.MobArena.*;
public class MockArenaMaster extends ArenaMaster
{
private MobArenaPlugin plugin;
private List<Arena> arenas;
public MockArenaMaster(MobArenaPlugin plugin) {
this.plugin = plugin;
this.arenas = new LinkedList<Arena>();
}
@Override
public List<Arena> getEnabledArenas() {
List<Arena> result = new LinkedList<Arena>();
for (Arena a : arenas) {
if (a.isEnabled())
result.add(a);
}
return result;
}
@Override
public List<Arena> getPermittedArenas(Player p) {
List<Arena> result = new LinkedList<Arena>();
for (Arena a : arenas) {
String perm = "mobarena.arenas." + a.configName();
if (!p.isPermissionSet(perm) || p.hasPermission(perm))
result.add(a);
}
return result;
}
@Override
public List<Arena> getEnabledAndPermittedArenas(Player p) {
List<Arena> result = new LinkedList<Arena>();
for (Arena a : arenas) {
// We only want enabled arenas.
if (!a.isEnabled())
continue;
// And the player must have permission.
String perm = "mobarena.arenas." + a.configName();
if (!p.isPermissionSet(perm) || p.hasPermission(perm))
result.add(a);
}
return result;
}
@Override
public Arena getArenaAtLocation(Location loc)
{
return null;
}
@Override
public List<Arena> getArenasInWorld(World world)
{
return null;
}
@Override
public List<Player> getAllPlayers()
{
return null;
}
@Override
public List<Player> getAllPlayersInArena(String arenaName)
{
return null;
}
@Override
public List<Player> getAllLivingPlayers()
{
return null;
}
@Override
public List<Player> getLivingPlayersInArena(String arenaName)
{
return null;
}
@Override
public Arena getArenaWithPlayer(Player p)
{
return null;
}
@Override
public Arena getArenaWithPlayer(String playerName)
{
return null;
}
@Override
public Arena getArenaWithSpectator(Player p)
{
return null;
}
@Override
public Arena getArenaWithMonster(Entity e)
{
return null;
}
@Override
public Arena getArenaWithPet(Entity e)
{
return null;
}
@Override
public Arena getArenaWithName(String configName) {
return getArenaWithName(this.arenas, configName);
}
@Override
public Arena getArenaWithName(Collection<Arena> arenas, String configName) {
for (Arena a : arenas) {
if (a.configName().equals(configName))
return a;
}
return null;
}
@Override
public void initialize()
{
}
@Override
public void loadSettings()
{
}
@Override
public void loadClasses()
{
}
@Override
public void loadArenas()
{
}
@Override
public Arena createArenaNode(String configName, World world) {
Arena a = new MockArena(plugin, configName, world);
arenas.add(a);
return a;
}
@Override
public void removeArenaNode(String configName)
{
}
@Override
public void update(boolean settings, boolean classes, boolean arenalist)
{
}
@Override
public void serializeSettings()
{
}
@Override
public void serializeArenas()
{
}
@Override
public void deserializeArenas()
{
}
@Override
public void updateSettings()
{
}
@Override
public void updateClasses()
{
}
@Override
public void updateArenas()
{
}
@Override
public void updateAll()
{
}
}
+33 -25
View File
@@ -1,39 +1,47 @@
package mock.mobarena;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import mock.util.MockLogger;
import com.garbagemule.MobArena.ArenaMaster;
import com.garbagemule.MobArena.MobArenaPlugin;
import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.framework.ArenaMaster;
import com.garbagemule.MobArena.util.config.Config;
public class MockMobArena implements MobArenaPlugin
public class MockMobArena //extends MobArena //implements MobArenaPlugin
{
private ArenaMaster arenaMaster;
private MockLogger log;
private Config config;
public MockMobArena() {
this.arenaMaster = new MockArenaMaster(this);
//this.arenaMaster = new MockArenaMaster(this);
this.log = MockLogger.getLogger("MobArenaTest");
}
//@Override
public void onEnable() {
//this.config = new Config(new File(getDataFolder(), "config.yml"));
//this.arenaMaster = new ArenaMasterImpl(this);
this.log.log("MockMobArena enabled.");
}
//@Override
public void onDisable() {
log.log("MockMobArena disabled.");
}
//@Override
public Config getMAConfig() {
return config;
}
public MockMobArena(ArenaMaster arenaMaster) {
this.arenaMaster = arenaMaster;
}
@Override
//@Override
public ArenaMaster getArenaMaster() {
return arenaMaster;
}
@Override
public void tell(CommandSender sender, String msg) {
if (sender == null || msg.equals("") || msg.equals(" "))
return;
sender.sendMessage(ChatColor.GREEN + "[MobArena] " + ChatColor.WHITE + msg);
}
@Override
public void tell(CommandSender sender, Msg msg) {
tell(sender, msg.toString());
}
//@Override
public void info(String msg) { log.log("[MobArena] " + msg); }
//@Override
public void warning(String msg) { log.log("[MobArena] " + msg); }
//@Override
public void error(String msg) { log.log("[MobArena] " + msg); }
}
+23 -3
View File
@@ -3,18 +3,38 @@ package mock.util;
import java.sql.Timestamp;
import java.util.*;
import java.util.Map.Entry;
import java.util.logging.Logger;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import com.garbagemule.MobArena.Msg;
public class MockLogger
public class MockLogger extends Logger
{
private TreeMap<Timestamp,String> entries;
private static Map<String,MockLogger> loggers = new TreeMap<String,MockLogger>();
private TreeMap<Timestamp,String> entries = new TreeMap<Timestamp,String>();
public MockLogger() {
/**
* Private constructor to ensure that all MockLoggers exist within this class as singletons.
*/
/*private MockLogger() {
this.entries = new TreeMap<Timestamp,String>();
}*/
protected MockLogger(String name, String resourceBundleName) {
super(name, resourceBundleName);
}
/**
* All MockLogger objects are singletons.
* @param name the name of a MockLogger
* @return the MockLogger with the input name, or a new MockLogger if it didn't already exist.
*/
public static MockLogger getLogger(String name) {
if (!loggers.containsKey(name))
loggers.put(name, new MockLogger(name, null));
return loggers.get(name);
}
public void log(String msg) {