JoinCommand and ArenaListCommand somewhat done.
This commit is contained in:
+111
@@ -0,0 +1,111 @@
|
||||
# MobArena v0.94.4.3 - Config-file
|
||||
# Read the Wiki for details on how to set up this file: http://goo.gl/F5TTc
|
||||
# Note: You -must- use spaces instead of tabs!
|
||||
global-settings:
|
||||
enabled: true
|
||||
allowed-commands: /list, /pl
|
||||
update-notification: true
|
||||
classes:
|
||||
Knight:
|
||||
items: diamond_sword, grilled_pork:2, rotten_flesh:2
|
||||
armor: 306,307,308,309
|
||||
permissions:
|
||||
- fastfood.instanteat
|
||||
- fastfood.nostarve
|
||||
- -fastfood.autoregain
|
||||
Tank:
|
||||
items: iron_sword, grilled_pork:3, apple, coal, compass
|
||||
armor: 310,311,312,313
|
||||
permissions:
|
||||
Archer:
|
||||
items: wood_sword, bow, arrow:256, grilled_pork, bone
|
||||
armor: 298,299,300,301
|
||||
Chef:
|
||||
items: stone_sword, bread:6, grilled_pork:4, mushroom_soup, cake:5, ink_sack:3:10, wool:3:2, ink_sack:brown:10, wool:brown:2
|
||||
armor: 314,315,316,317
|
||||
permissions:
|
||||
- fastfood.instanteat
|
||||
- fastfood.nostarve
|
||||
- -fastfood.autoregain
|
||||
Oddjob:
|
||||
items: stone_sword, flint_and_steel, netherrack:2, tnt:4, pork:3, potion:32:10, potion:10, potion:8226:2, potion:8197:2, potion:16420:2
|
||||
armor: 298,299,300,301
|
||||
permissions:
|
||||
- fastfood.instanteat
|
||||
- fastfood.nostarve
|
||||
- -fastfood.autoregain
|
||||
arenas:
|
||||
lol:
|
||||
settings:
|
||||
world: Tundra
|
||||
enabled: true
|
||||
protect: true
|
||||
entry-fee: ''
|
||||
logging: yml
|
||||
clear-wave-before-next: true
|
||||
detonate-creepers: false
|
||||
detonate-damage: false
|
||||
lightning: true
|
||||
auto-equip-armor: true
|
||||
force-restore: false
|
||||
soft-restore: false
|
||||
soft-restore-drops: false
|
||||
require-empty-inv-join: false
|
||||
require-empty-inv-spec: true
|
||||
hellhounds: false
|
||||
pvp-enabled: false
|
||||
monster-infight: false
|
||||
allow-teleporting: false
|
||||
spectate-on-death: true
|
||||
share-items-in-arena: true
|
||||
player-limit: 0
|
||||
max-join-distance: 0
|
||||
repair-delay: 5
|
||||
first-wave-delay: 3
|
||||
wave-interval: 12
|
||||
special-modulo: 4
|
||||
max-idle-time: 0
|
||||
min-players: 0
|
||||
max-players: 0
|
||||
spout-class-select: true
|
||||
final-wave: 0
|
||||
waves:
|
||||
recurrent:
|
||||
def1:
|
||||
type: default
|
||||
priority: 1
|
||||
frequency: 1
|
||||
monsters:
|
||||
mushroom_cows: 10
|
||||
wave: 1
|
||||
boss1:
|
||||
type: boss
|
||||
priority: 10
|
||||
frequency: 5
|
||||
monster: zombie
|
||||
abilities: root-target, fetch-distant
|
||||
ability-interval: 3
|
||||
ability-announce: true
|
||||
rewards:
|
||||
waves:
|
||||
after:
|
||||
'7': minecart, storage_minecart, powered_minecart
|
||||
'16': diamond_sword
|
||||
'13': iron_sword, iron_pickaxe, iron_spade
|
||||
every:
|
||||
'1': sponge
|
||||
'3': feather, bone, stick
|
||||
'10': iron_ingot:10, gold_ingot:8
|
||||
'5': dirt:4, gravel:4, stone:4
|
||||
coords:
|
||||
p1: 83,64,107,0.0,0.0
|
||||
p2: 113,79,137,0.0,0.0
|
||||
arena: 100,72,132,-233.39989,10.649986
|
||||
lobby: 87,66,111,0.0,0.0
|
||||
spectator: 13,66,46,6.0015564,-3.7500422
|
||||
spawnpoints:
|
||||
s1: 88,72,112,0.0,0.0
|
||||
s2: 88,72,132,0.0,0.0
|
||||
s3: 108,72,112,0.0,0.0
|
||||
s4: 108,72,132,0.0,0.0
|
||||
leaderboard: 16,67,49,0.0,0.0
|
||||
@@ -0,0 +1,212 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package mock.bukkit;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class MockCommand extends Command
|
||||
{
|
||||
public MockCommand(String name)
|
||||
{
|
||||
super(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(CommandSender arg0, String arg1, String[] arg2)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,976 @@
|
||||
package mock.bukkit;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
import java.util.*;
|
||||
|
||||
import mock.util.MockLogger;
|
||||
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.inventory.*;
|
||||
import org.bukkit.map.MapView;
|
||||
import org.bukkit.permissions.*;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class MockPlayer implements Player
|
||||
{
|
||||
private MockLogger log;
|
||||
private String name;
|
||||
private int health;
|
||||
private boolean isOp;
|
||||
private Map<String,Boolean> permissions;
|
||||
|
||||
public MockPlayer(String name) {
|
||||
this.name = name;
|
||||
this.health = 20;
|
||||
this.isOp = false;
|
||||
this.permissions = new HashMap<String,Boolean>();
|
||||
}
|
||||
|
||||
public MockPlayer(String name, MockLogger log) {
|
||||
this(name);
|
||||
this.log = log;
|
||||
}
|
||||
|
||||
public void setPermission(String perm, Boolean b) {
|
||||
permissions.put(perm, b);
|
||||
}
|
||||
|
||||
public void removePermission(String perm) {
|
||||
permissions.remove(perm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameMode getGameMode()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayerInventory getInventory()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItemInHand()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSleepTicks()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSleeping()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGameMode(GameMode arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setItemInHand(ItemStack arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void damage(int value)
|
||||
{
|
||||
health -= value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void damage(int arg0, Entity arg1)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getEyeHeight()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getEyeHeight(boolean arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Location getEyeLocation()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHealth()
|
||||
{
|
||||
return health;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLastDamage()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Block> getLastTwoTargetBlocks(HashSet<Byte> arg0, int arg1)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Block> getLineOfSight(HashSet<Byte> arg0, int arg1)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxHealth()
|
||||
{
|
||||
return 20;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaximumAir()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaximumNoDamageTicks()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getNoDamageTicks()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRemainingAir()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Block getTargetBlock(HashSet<Byte> arg0, int arg1)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vehicle getVehicle()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInsideVehicle()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean leaveVehicle()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHealth(int value)
|
||||
{
|
||||
health = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLastDamage(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMaximumAir(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMaximumNoDamageTicks(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNoDamageTicks(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRemainingAir(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Arrow shootArrow()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Egg throwEgg()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Snowball throwSnowball()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean eject()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEntityId()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getFallDistance()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFireTicks()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityDamageEvent getLastDamageCause()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Location getLocation()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFireTicks()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Entity> getNearbyEntities(double arg0, double arg1, double arg2)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getPassenger()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Server getServer()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTicksLived()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID getUniqueId()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector getVelocity()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public World getWorld()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDead()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFallDistance(float arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFireTicks(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLastDamageCause(EntityDamageEvent arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setPassenger(Entity arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTicksLived(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVelocity(Vector arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean teleport(Location arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean teleport(Entity arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin arg0, int arg1)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin arg0, String arg1,
|
||||
boolean arg2)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PermissionAttachment addAttachment(Plugin arg0, String arg1,
|
||||
boolean arg2, int arg3)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<PermissionAttachmentInfo> getEffectivePermissions()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(String perm) {
|
||||
Boolean b = permissions.get(perm);
|
||||
if (b == null || b.booleanValue() == true)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(Permission perm)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(String perm) {
|
||||
return permissions.get(perm) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPermissionSet(Permission arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void recalculatePermissions()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeAttachment(PermissionAttachment arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOp()
|
||||
{
|
||||
return isOp;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOp(boolean value)
|
||||
{
|
||||
this.isOp = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessage(String msg) {
|
||||
log.log(msg);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Player getPlayer()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBanned()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOnline()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWhitelisted()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBanned(boolean arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setWhitelisted(boolean arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> serialize()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void awardAchievement(Achievement arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void chat(String arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public InetSocketAddress getAddress()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Location getBedSpawnLocation()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Location getCompassTarget()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDisplayName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getExhaustion()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getExp()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getExperience()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFoodLevel()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLevel()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPlayerListName()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getPlayerTime()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getPlayerTimeOffset()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getSaturation()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTotalExperience()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void giveExp(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void incrementStatistic(Statistic arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void incrementStatistic(Statistic arg0, int arg1)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void incrementStatistic(Statistic arg0, Material arg1)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void incrementStatistic(Statistic arg0, Material arg1, int arg2)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPlayerTimeRelative()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSleepingIgnored()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSneaking()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSprinting()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void kickPlayer(String arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadData()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performCommand(String arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playEffect(Location arg0, Effect arg1, int arg2)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playNote(Location arg0, byte arg1, byte arg2)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playNote(Location arg0, Instrument arg1, Note arg2)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetPlayerTime()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveData()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendBlockChange(Location arg0, Material arg1, byte arg2)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendBlockChange(Location arg0, int arg1, byte arg2)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean sendChunkChange(Location arg0, int arg1, int arg2, int arg3,
|
||||
byte[] arg4)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMap(MapView arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendRawMessage(String arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCompassTarget(Location arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDisplayName(String arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExhaustion(float arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExp(float arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExperience(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFoodLevel(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLevel(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerListName(String arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerTime(long arg0, boolean arg1)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSaturation(float arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSleepingIgnored(boolean arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSneaking(boolean arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSprinting(boolean arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTotalExperience(int arg0)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateInventory()
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,540 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,232 @@
|
||||
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()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package mock.mobarena;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import com.garbagemule.MobArena.ArenaMaster;
|
||||
import com.garbagemule.MobArena.MobArenaPlugin;
|
||||
import com.garbagemule.MobArena.Msg;
|
||||
|
||||
public class MockMobArena implements MobArenaPlugin
|
||||
{
|
||||
private ArenaMaster arenaMaster;
|
||||
|
||||
public MockMobArena() {
|
||||
this.arenaMaster = new MockArenaMaster(this);
|
||||
}
|
||||
|
||||
public MockMobArena(ArenaMaster arenaMaster) {
|
||||
this.arenaMaster = arenaMaster;
|
||||
}
|
||||
|
||||
@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());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package mock.util;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.garbagemule.MobArena.Msg;
|
||||
|
||||
public class MockLogger
|
||||
{
|
||||
private TreeMap<Timestamp,String> entries;
|
||||
|
||||
public MockLogger() {
|
||||
this.entries = new TreeMap<Timestamp,String>();
|
||||
}
|
||||
|
||||
public void log(String msg) {
|
||||
Timestamp time = new Timestamp(new Date().getTime());
|
||||
this.entries.put(time, msg);
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return entries.size();
|
||||
}
|
||||
|
||||
public Entry<Timestamp,String> getLastEntry() {
|
||||
if (entries.isEmpty())
|
||||
return null;
|
||||
|
||||
return entries.lastEntry();
|
||||
}
|
||||
|
||||
public Entry<Timestamp,String> findEntry(String msg) {
|
||||
for (Entry<Timestamp,String> entry : entries.entrySet()) {
|
||||
if (entry.getValue().equals(msg))
|
||||
return entry;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Entry<Timestamp,String> findEntryAfterTime(String msg, Timestamp time) {
|
||||
for (Entry<Timestamp,String> entry : entries.entrySet()) {
|
||||
if (entry.getKey().compareTo(time) >= 0 && entry.getValue().equals(msg))
|
||||
return entry;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String compileMsgToPlayer(Player p, String msg) {
|
||||
return ChatColor.GREEN + "[MobArena] " + ChatColor.WHITE + msg;
|
||||
}
|
||||
|
||||
public static String compileMsgToPlayer(Player p, Msg msg) {
|
||||
return compileMsgToPlayer(p, msg.toString());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user