summaryrefslogtreewikicommitdiff
path: root/src/main/java/net
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2021-08-31 21:55:27 -0400
committerTyler Murphy <tylermurphy534@gmail.com>2021-08-31 21:55:27 -0400
commitf1379a94754b68cc3904d2b96b5815854d5565c1 (patch)
tree39ef970eabaaeabf0993ea1cec6ffbd31c83a07b /src/main/java/net
parent1.3.0 beta 4 (diff)
downloadkenshinshideandseek-f1379a94754b68cc3904d2b96b5815854d5565c1.tar.gz
kenshinshideandseek-f1379a94754b68cc3904d2b96b5815854d5565c1.tar.bz2
kenshinshideandseek-f1379a94754b68cc3904d2b96b5815854d5565c1.zip
1.3.0 beta 5
Diffstat (limited to 'src/main/java/net')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/Main.java26
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/Store.java17
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/CommandHandler.java)4
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java)54
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/bukkit/TabCompleter.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/CommandTabCompleter.java)4
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java81
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/About.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/commands/About.java)2
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Help.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/commands/Help.java)4
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/commands/Reload.java)6
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java)2
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/SetBorder.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java)6
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/commands/SetSpawnLocation.java)2
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Start.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/commands/Start.java)102
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java (renamed from src/main/java/net/tylermurphy/hideAndSeek/commands/Stop.java)7
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/EventTick.java169
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java69
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java100
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java43
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/util/Functions.java49
19 files changed, 452 insertions, 295 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/Main.java b/src/main/java/net/tylermurphy/hideAndSeek/Main.java
index 3e1e4b7..de6b043 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/Main.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/Main.java
@@ -12,15 +12,27 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
+import org.bukkit.scheduler.BukkitTask;
-import net.tylermurphy.hideAndSeek.events.EventListener;
-import net.tylermurphy.hideAndSeek.events.EventTick;
+import net.tylermurphy.hideAndSeek.bukkit.CommandHandler;
+import net.tylermurphy.hideAndSeek.bukkit.EventListener;
+import net.tylermurphy.hideAndSeek.bukkit.TabCompleter;
+import net.tylermurphy.hideAndSeek.bukkit.Tick;
+import net.tylermurphy.hideAndSeek.events.Glow;
+import net.tylermurphy.hideAndSeek.events.Taunt;
+import net.tylermurphy.hideAndSeek.events.Worldborder;
public class Main extends JavaPlugin implements Listener {
public static Main plugin;
public static File root;
+ public static Taunt taunt;
+ public static Glow glow;
+ public static Worldborder worldborder;
+
+ private BukkitTask onTickTask;
+
public void onEnable() {
plugin = this;
@@ -41,10 +53,10 @@ public class Main extends JavaPlugin implements Listener {
root = this.getServer().getWorldContainer();
// Start Tick Timer
- Bukkit.getServer().getScheduler().runTaskTimer(this, new Runnable(){
+ onTickTask = Bukkit.getServer().getScheduler().runTaskTimer(this, new Runnable(){
public void run(){
try{
- EventTick.onTick();
+ Tick.onTick();
} catch (Exception e) {
e.printStackTrace();
}
@@ -53,12 +65,16 @@ public class Main extends JavaPlugin implements Listener {
}
+ public void onDisable() {
+ onTickTask.cancel();
+ }
+
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
return CommandHandler.handleCommand(sender, cmd, label, args);
}
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
- return CommandTabCompleter.handleTabComplete(sender, command, label, args);
+ return TabCompleter.handleTabComplete(sender, command, label, args);
}
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/Store.java b/src/main/java/net/tylermurphy/hideAndSeek/Store.java
index b7350a6..f7b3905 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/Store.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/Store.java
@@ -18,13 +18,18 @@ public class Store {
public static Map<String,Player>
playerList = new HashMap<String,Player>();
+ public static List<String>
+ Hider,
+ Seeker,
+ Spectator;
+
public static Scoreboard
board;
public static Team
- Hider,
- Seeker,
- Spectator;
+ HiderTeam,
+ SeekerTeam,
+ SpectatorTeam;
public static String
messagePrefix,
@@ -35,8 +40,7 @@ public class Store {
gameoverPrefix,
warningPrefix,
spawnWorld,
- status = "Standby",
- tauntPlayer = "";
+ status = "Standby";
public static Vector
spawnPosition,
@@ -57,12 +61,10 @@ public class Store {
interactableTrapdoors,
interactableFencegate,
worldborderEnabled = false,
- decreaseBorder = false,
runningBackup = false;
public static int
minPlayers,
- glowTime = 0,
gameId = 0,
worldborderSize,
worldborderDelay,
@@ -128,6 +130,7 @@ public class Store {
worldborderDelay = Math.max(1,getConfig().getInt("worldBorder.delay"));
worldborderEnabled = getConfig().getBoolean("worldBorder.enabled");
blockedCommands = getConfig().getStringList("blockedCommands");
+ blockedCommands.add("team");
//Prefix
char SYMBOLE = '\u00A7';
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/CommandHandler.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java
index ade208d..73bfd08 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/CommandHandler.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/CommandHandler.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek;
+package net.tylermurphy.hideAndSeek.bukkit;
import static net.tylermurphy.hideAndSeek.Store.*;
@@ -10,7 +10,7 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
-import net.tylermurphy.hideAndSeek.commands.*;
+import net.tylermurphy.hideAndSeek.command.*;
import net.tylermurphy.hideAndSeek.util.ICommand;
public class CommandHandler {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java
index 46cf676..c46dc87 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/events/EventListener.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/EventListener.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek.events;
+package net.tylermurphy.hideAndSeek.bukkit;
import static net.tylermurphy.hideAndSeek.Store.*;
@@ -26,6 +26,7 @@ import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
+import org.bukkit.event.player.PlayerKickEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.potion.PotionEffect;
@@ -39,7 +40,8 @@ public class EventListener implements Listener {
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
if(status.equals("Playing") || status.equals("Starting")) {
- Spectator.addEntry(event.getPlayer().getName());
+ Spectator.add(event.getPlayer().getName());
+ SpectatorTeam.addEntry(event.getPlayer().getName());
event.getPlayer().sendMessage(messagePrefix + "You have joined mid game, and thus have been placed on the spectator team.");
event.getPlayer().setGameMode(GameMode.SPECTATOR);
event.getPlayer().getInventory().clear();
@@ -48,7 +50,8 @@ public class EventListener implements Listener {
}
event.getPlayer().teleport(new Location(Bukkit.getWorld("hideandseek_"+spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ()));
} else if(status.equals("Setup") || status.equals("Standby")) {
- Hider.addEntry(event.getPlayer().getName());
+ Hider.add(event.getPlayer().getName());
+ HiderTeam.addEntry(event.getPlayer().getName());
event.getPlayer().setGameMode(GameMode.ADVENTURE);
event.getPlayer().teleport(new Location(Bukkit.getWorld(spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ()));
}
@@ -57,10 +60,26 @@ public class EventListener implements Listener {
@EventHandler
public void onQuit(PlayerQuitEvent event) {
+ if(!playerList.containsKey(event.getPlayer().getName())) return;
playerList.remove(event.getPlayer().getName());
- Hider.removeEntry(event.getPlayer().getName());
- Seeker.removeEntry(event.getPlayer().getName());
- Spectator.removeEntry(event.getPlayer().getName());
+ Hider.remove(event.getPlayer().getName());
+ HiderTeam.removeEntry(event.getPlayer().getName());
+ Seeker.remove(event.getPlayer().getName());
+ SeekerTeam.removeEntry(event.getPlayer().getName());
+ Spectator.remove(event.getPlayer().getName());
+ SpectatorTeam.removeEntry(event.getPlayer().getName());
+ }
+
+ @EventHandler
+ public void onKick(PlayerKickEvent event) {
+ if(!playerList.containsKey(event.getPlayer().getName())) return;
+ playerList.remove(event.getPlayer().getName());
+ Hider.remove(event.getPlayer().getName());
+ HiderTeam.removeEntry(event.getPlayer().getName());
+ Seeker.remove(event.getPlayer().getName());
+ SeekerTeam.removeEntry(event.getPlayer().getName());
+ Spectator.remove(event.getPlayer().getName());
+ SpectatorTeam.removeEntry(event.getPlayer().getName());
}
@EventHandler
@@ -77,13 +96,15 @@ public class EventListener implements Listener {
player.setHealth(player.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
player.teleport(new Location(Bukkit.getWorld("hideandseek_"+spawnWorld), spawnPosition.getX(), spawnPosition.getY(), spawnPosition.getZ()));
Packet.playSound(player, Sound.ENTITY_PLAYER_DEATH, 1, 1);
- if(Hider.hasEntry(event.getEntity().getName())) {
- Bukkit.broadcastMessage(String.format(messagePrefix + "%s%s%s has died and became a seeker", ChatColor.GOLD, event.getEntity().getName(), ChatColor.WHITE));
+ if(Hider.contains(event.getEntity().getName())) {
+ Bukkit.broadcastMessage(String.format(messagePrefix + "%s%s%s was found and became a seeker", ChatColor.GOLD, event.getEntity().getName(), ChatColor.WHITE));
}
- if(Seeker.hasEntry(event.getEntity().getName())) {
- Bukkit.broadcastMessage(String.format(messagePrefix + "%s%s%s has been beat by a hider", ChatColor.RED, event.getEntity().getName(), ChatColor.WHITE));
+ if(Seeker.contains(event.getEntity().getName())) {
+ Bukkit.broadcastMessage(String.format(messagePrefix + "%s%s%s was killed", ChatColor.RED, event.getEntity().getName(), ChatColor.WHITE));
}
- Seeker.addEntry(player.getName());
+ Seeker.add(player.getName());
+ Hider.remove(player.getName());
+ SeekerTeam.addEntry(player.getName());
Functions.resetPlayer(player);
for(Player temp : playerList.values()) {
Packet.setGlow(player, temp, false);
@@ -218,17 +239,10 @@ public class EventListener implements Listener {
Snowball snowball = (Snowball) event.getEntity();
if(snowball.getShooter() instanceof Player) {
Player player = (Player) snowball.getShooter();
- if(Hider.hasEntry(player.getName())) {
- glowTime++;
+ if(Hider.contains(player.getName())) {
+ Main.glow.onProjectilve();
snowball.remove();
player.getInventory().remove(Material.SNOWBALL);
- int temp = gameId;
- Bukkit.getServer().getScheduler().runTaskLater(Main.plugin, new Runnable() {
- public void run() {
- if(temp != gameId) return;
- glowTime--;
- }
- }, 20 * 30);
}
}
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/CommandTabCompleter.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/TabCompleter.java
index cec59af..2a88178 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/CommandTabCompleter.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/TabCompleter.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek;
+package net.tylermurphy.hideAndSeek.bukkit;
import java.util.ArrayList;
import java.util.List;
@@ -7,7 +7,7 @@ import java.util.stream.Collectors;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
-public class CommandTabCompleter{
+public class TabCompleter{
public static List<String> handleTabComplete(CommandSender sender, Command command, String label, String[] args) {
if(args.length == 1) {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java
new file mode 100644
index 0000000..eccaf39
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/bukkit/Tick.java
@@ -0,0 +1,81 @@
+package net.tylermurphy.hideAndSeek.bukkit;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+
+import org.bukkit.Bukkit;
+import org.bukkit.Location;
+import org.bukkit.Sound;
+import org.bukkit.entity.Player;
+
+import net.tylermurphy.hideAndSeek.command.Stop;
+import net.tylermurphy.hideAndSeek.util.Functions;
+import net.tylermurphy.hideAndSeek.util.Packet;
+
+public class Tick {
+
+ static int tick = 0;
+
+ public static void onTick() {
+
+ if(board == null) {
+ Functions.loadScoreboard();
+ }
+
+ if(status.equals("Starting")) {
+ onStarting();
+ } else if(status.equals("Playing")) {
+ onPlaying();
+ }
+
+ tick ++;
+
+ if(( status.equals("Starting") || status.equals("Playing") ) && Hider.size() < 1) {
+ Bukkit.broadcastMessage(gameoverPrefix + "All hiders have been found.");
+ Stop.onStop();
+ }
+ if(( status.equals("Starting") || status.equals("Playing") ) && Seeker.size() < 1) {
+ Bukkit.broadcastMessage(abortPrefix + "All seekers have quit.");
+ Stop.onStop();
+ }
+ }
+
+ private static void onStarting() {
+ for(String playerName : Seeker) {
+ Player player = playerList.get(playerName);
+ if(player != null) {
+ player.teleport(new Location(Bukkit.getWorld("hideandseek_"+spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ()));
+ }
+ }
+ }
+
+ private static void onPlaying() {
+ for(String playerName : Hider) {
+ Player player = playerList.get(playerName);
+ int distance = 100;
+ for(String seekerName : Seeker) {
+ Player seeker = playerList.get(seekerName);
+ int temp = (int) player.getLocation().distance(seeker.getLocation());
+ if(distance > temp) {
+ distance = temp;
+ }
+ }
+ switch(tick%10) {
+ case 0:
+ if(distance < 30) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BASEDRUM, .5f, 1f);
+ if(distance < 10) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
+ break;
+ case 3:
+ if(distance < 30) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BASEDRUM, .3f, 1f);
+ if(distance < 10) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
+ break;
+ case 6:
+ if(distance < 10) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
+ break;
+ case 9:
+ if(distance < 20) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
+ break;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/About.java b/src/main/java/net/tylermurphy/hideAndSeek/command/About.java
index 76cd28b..3c4a8f0 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/commands/About.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/About.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek.commands;
+package net.tylermurphy.hideAndSeek.command;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/Help.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java
index a998a11..f33717e 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/commands/Help.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java
@@ -1,9 +1,9 @@
-package net.tylermurphy.hideAndSeek.commands;
+package net.tylermurphy.hideAndSeek.command;
import org.bukkit.command.CommandSender;
import net.md_5.bungee.api.ChatColor;
-import net.tylermurphy.hideAndSeek.CommandHandler;
+import net.tylermurphy.hideAndSeek.bukkit.CommandHandler;
import net.tylermurphy.hideAndSeek.util.ICommand;
public class Help implements ICommand {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/Reload.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java
index 04128c5..1b1f1d5 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/commands/Reload.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Reload.java
@@ -1,8 +1,9 @@
-package net.tylermurphy.hideAndSeek.commands;
+package net.tylermurphy.hideAndSeek.command;
import org.bukkit.command.CommandSender;
import net.tylermurphy.hideAndSeek.Store;
+import net.tylermurphy.hideAndSeek.util.Functions;
import net.tylermurphy.hideAndSeek.util.ICommand;
import static net.tylermurphy.hideAndSeek.Store.*;
@@ -11,6 +12,9 @@ public class Reload implements ICommand {
public void execute(CommandSender sender, String[] args) {
Store.loadConfig();
+ try {
+ Functions.loadScoreboard();
+ } catch(Exception e) {}
sender.sendMessage(messagePrefix + "Reloaded the config");
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java
index 37ead8a..2956c80 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/commands/SaveMap.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SaveMap.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek.commands;
+package net.tylermurphy.hideAndSeek.command;
import static net.tylermurphy.hideAndSeek.Store.*;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SetBorder.java
index ae99c7a..e8ad2c9 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetBorder.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SetBorder.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek.commands;
+package net.tylermurphy.hideAndSeek.command;
import static net.tylermurphy.hideAndSeek.Store.*;
@@ -30,7 +30,7 @@ public class SetBorder implements ICommand {
addToSection("worldBorder",temp);
saveConfig();
sender.sendMessage(messagePrefix + "Disabled worldborder.");
- Functions.resetWorldborder();
+ Functions.resetWorldborder(spawnWorld);
return;
}
int num,delay;
@@ -68,7 +68,7 @@ public class SetBorder implements ICommand {
addToSection("worldBorder",temp);
sender.sendMessage(messagePrefix + "Set border center to current location, size to "+num+", and delay to "+delay);
saveConfig();
- Functions.resetWorldborder();
+ Functions.resetWorldborder(spawnWorld);
}
public String getLabel() {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetSpawnLocation.java b/src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java
index 18e3703..62d6bc9 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/commands/SetSpawnLocation.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/SetSpawnLocation.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek.commands;
+package net.tylermurphy.hideAndSeek.command;
import static net.tylermurphy.hideAndSeek.Store.*;
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/Start.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java
index a8eec85..a49ce41 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/commands/Start.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Start.java
@@ -1,7 +1,6 @@
-package net.tylermurphy.hideAndSeek.commands;
+package net.tylermurphy.hideAndSeek.command;
import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.command.CommandSender;
@@ -10,12 +9,16 @@ import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import net.tylermurphy.hideAndSeek.Main;
+import net.tylermurphy.hideAndSeek.events.Glow;
+import net.tylermurphy.hideAndSeek.events.Taunt;
+import net.tylermurphy.hideAndSeek.events.Worldborder;
import net.tylermurphy.hideAndSeek.util.Functions;
import net.tylermurphy.hideAndSeek.util.ICommand;
import static net.tylermurphy.hideAndSeek.Store.*;
import java.io.File;
+import java.util.ArrayList;
import java.util.Random;
public class Start implements ICommand {
@@ -55,10 +58,17 @@ public class Start implements ICommand {
sender.sendMessage(errorPrefix + "Invalid player: " + seekerName);
return;
}
+ Hider = new ArrayList<String>();
+ Seeker = new ArrayList<String>();
+ Spectator = new ArrayList<String>();
for(Player temp : playerList.values()) {
- Hider.addEntry(temp.getName());
+ if(temp.getName().equals(seeker.getName()))
+ continue;
+ Hider.add(temp.getName());
+ HiderTeam.addEntry(temp.getName());
}
- Seeker.addEntry(seeker.getName());
+ Seeker.add(seeker.getName());
+ SeekerTeam.addEntry(seeker.getName());
for(Player player : playerList.values()) {
player.getInventory().clear();
@@ -68,21 +78,20 @@ public class Start implements ICommand {
player.removePotionEffect(effect.getType());
}
}
- //Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("spawnpoint @a %s %s %s", spawnPosition.getBlockX(), spawnPosition.getBlockY(), spawnPosition.getBlockZ()));
- for(String playerName : Seeker.getEntries()) {
+ for(String playerName : Seeker) {
Player player = playerList.get(playerName);
if(player != null) {
player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS,1000000,127,false,false));
player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW,1000000,127,false,false));
}
}
- for(String playerName : Hider.getEntries()) {
+ for(String playerName : Hider) {
Player player = playerList.get(playerName);
if(player != null) {
player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED,1000000,5,false,false));
}
}
- Functions.resetWorldborder();
+ Functions.resetWorldborder("hideandseek_"+spawnWorld);
status = "Starting";
int temp = gameId;
Bukkit.getServer().broadcastMessage(messagePrefix + "Hiders have 30 seconds to hide!");
@@ -137,75 +146,24 @@ public class Start implements ICommand {
for(Player player : playerList.values()) {
Functions.resetPlayer(player);
}
+ Main.worldborder = null;
+ Main.taunt = null;
+ Main.glow = null;
+
+ if(worldborderEnabled) {
+ Main.worldborder = new Worldborder(gameId);
+ Main.worldborder.schedule();
+ }
+
+ Main.taunt = new Taunt(gameId);
+ Main.taunt.schedule();
+
+ Main.glow = new Glow(gameId);
}
}, 20 * 30);
- if(worldborderEnabled) {
- scheduleWorldborder();
- }
- scheduleTaunt();
-
- }
-
- private static void scheduleTaunt() {
- Bukkit.getServer().getScheduler().runTaskAsynchronously(Main.plugin, new Runnable(){
-
- public void run() {
- int temp = gameId;
- while(true) {
- if(tauntPlayer != null && !tauntPlayer.equals("")) {
- try { Thread.sleep(1000); } catch (InterruptedException e) {}
- if(gameId != temp) break;
- continue;
- }
- try { Thread.sleep(1000*60); } catch (InterruptedException e) {}
- if(gameId != temp) break;
- if(Math.random() > .8) {
- Player taunted = null;
- int rand = (int) (Math.random()*Hider.getEntries().size());
- for(Player player : playerList.values()) {
- if(Hider.hasEntry(player.getName())) {
- rand--;
- if(rand==0) {
- taunted = player;
- break;
- }
- }
- }
- if(taunted != null) {
- taunted.sendMessage(ChatColor.RED + "" + ChatColor.ITALIC + "Oh no! You have been chosed to be taunted.");
- Bukkit.getServer().broadcastMessage(tauntPrefix + " A random hider will be taunted in the next 30s");
- try { Thread.sleep(1000*30); } catch (InterruptedException e) {}
- if(gameId != temp) break;
- tauntPlayer = taunted.getName();
- }
- }
- }
- }
- });
}
- private static void scheduleWorldborder() {
-
- Bukkit.getServer().getScheduler().runTaskAsynchronously(Main.plugin, new Runnable(){
-
- public void run() {
- int temp = gameId;
- while(true) {
- try { Thread.sleep(1000*60*worldborderDelay); } catch (InterruptedException e) {}
- if(gameId != temp) break;
- if(currentWorldborderSize-100 > 100) {
- Bukkit.getServer().broadcastMessage(worldborderPrefix + "Worldborder decreacing by 100 blocks over the next 30s");
- currentWorldborderSize -= 100;
- decreaseBorder = true;
- } else {
- break;
- }
- }
- }
- });
- }
-
public String getLabel() {
return "start";
}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/commands/Stop.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java
index b709120..c956d3d 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/commands/Stop.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Stop.java
@@ -1,4 +1,4 @@
-package net.tylermurphy.hideAndSeek.commands;
+package net.tylermurphy.hideAndSeek.command;
import static net.tylermurphy.hideAndSeek.Store.*;
@@ -35,9 +35,11 @@ public class Stop implements ICommand {
if(status.equals("Standby")) return;
status = "Standby";
gameId++;
+ Functions.resetWorldborder("hideandseek_"+spawnWorld);
for(Player player : playerList.values()) {
player.setGameMode(GameMode.ADVENTURE);
- Hider.addEntry(player.getName());
+ Hider.add(player.getName());
+ HiderTeam.addEntry(player.getName());
player.getInventory().clear();
player.teleport(new Location(Bukkit.getWorld(spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ()));
for(PotionEffect effect : player.getActivePotionEffects()){
@@ -48,7 +50,6 @@ public class Stop implements ICommand {
Packet.setGlow(player, temp, false);
}
}
- Functions.resetWorldborder();
}
public String getUsage() {
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/EventTick.java b/src/main/java/net/tylermurphy/hideAndSeek/events/EventTick.java
deleted file mode 100644
index 042b0a3..0000000
--- a/src/main/java/net/tylermurphy/hideAndSeek/events/EventTick.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package net.tylermurphy.hideAndSeek.events;
-
-import static net.tylermurphy.hideAndSeek.Store.*;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.Color;
-import org.bukkit.FireworkEffect;
-import org.bukkit.Location;
-import org.bukkit.Sound;
-import org.bukkit.World;
-import org.bukkit.WorldBorder;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.Firework;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.meta.FireworkMeta;
-import org.bukkit.scoreboard.Scoreboard;
-import org.bukkit.scoreboard.ScoreboardManager;
-import org.bukkit.scoreboard.Team.Option;
-import org.bukkit.scoreboard.Team.OptionStatus;
-
-import net.tylermurphy.hideAndSeek.commands.Stop;
-import net.tylermurphy.hideAndSeek.util.Packet;
-
-public class EventTick {
-
- static int tick = 0;
-
- public static void onTick() {
-
- if(board == null) {
- ScoreboardManager manager = Bukkit.getScoreboardManager();
- Scoreboard mainBoard = manager.getMainScoreboard();
-
- try { mainBoard.registerNewTeam("Seeker");} catch(Exception e) {}
- Seeker = mainBoard.getTeam("Seeker");
- Seeker.setColor(ChatColor.RED);
- if(nametagsVisible)
- Seeker.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.FOR_OTHER_TEAMS);
- else
- Seeker.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.NEVER);
- Seeker.setAllowFriendlyFire(false);
-
- try { mainBoard.registerNewTeam("Hider");} catch(Exception e) {}
- Hider = mainBoard.getTeam("Hider");
- Hider.setColor(ChatColor.GOLD);
- if(nametagsVisible)
- Hider.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.FOR_OWN_TEAM);
- else
- Hider.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.NEVER);
- Hider.setAllowFriendlyFire(false);
-
- try { mainBoard.registerNewTeam("Spectator");} catch(Exception e) {}
- Spectator = mainBoard.getTeam("Spectator");
- Spectator.setColor(ChatColor.GRAY);
- Spectator.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.NEVER);
- Spectator.setAllowFriendlyFire(false);
-
- board = mainBoard;
- }
-
- for(String entry : Hider.getEntries()) {
- if(!playerList.containsKey(entry)) {
- Hider.removeEntry(entry);
- }
- }
-
- for(String entry : Seeker.getEntries()) {
- if(!playerList.containsKey(entry)) {
- Seeker.removeEntry(entry);
- }
- }
-
- for(String entry : Spectator.getEntries()) {
- if(!playerList.containsKey(entry)) {
- Spectator.removeEntry(entry);
- }
- }
-
- if(status.equals("Starting")) {
- onStarting();
- } else if(status.equals("Playing")) {
- onPlaying();
- }
-
- tick ++;
-
- if(( status.equals("Starting") || status.equals("Playing") ) && Hider.getSize() < 1) {
- Bukkit.broadcastMessage(gameoverPrefix + "All hiders have been found.");
- Stop.onStop();
- }
- if(( status.equals("Starting") || status.equals("Playing") ) && Seeker.getSize() < 1) {
- Bukkit.broadcastMessage(abortPrefix + "All seekers have quit.");
- Stop.onStop();
- }
- }
-
- private static void onStarting() {
- for(String playerName : Seeker.getEntries()) {
- Player player = playerList.get(playerName);
- if(player != null) {
- player.teleport(new Location(Bukkit.getWorld("hideandseek_"+spawnWorld), spawnPosition.getX(),spawnPosition.getY(),spawnPosition.getZ()));
- }
- }
- }
-
- private static void onPlaying() {
- if(decreaseBorder) {
- World world = Bukkit.getWorld("world");
- WorldBorder border = world.getWorldBorder();
- border.setSize(border.getSize()-100,30);
- decreaseBorder = false;
- }
- if(!tauntPlayer.equals("")) {
- Player taunted = playerList.get(tauntPlayer);
- if(taunted != null) {
- Firework fw = (Firework) taunted.getLocation().getWorld().spawnEntity(taunted.getLocation(), EntityType.FIREWORK);
- FireworkMeta fwm = fw.getFireworkMeta();
- fwm.setPower(4);
- fwm.addEffect(FireworkEffect.builder()
- .withColor(Color.BLUE)
- .withColor(Color.RED)
- .withColor(Color.YELLOW)
- .with(FireworkEffect.Type.STAR)
- .with(FireworkEffect.Type.BALL)
- .with(FireworkEffect.Type.BALL_LARGE)
- .flicker(true)
- .withTrail()
- .build());
- fw.setFireworkMeta(fwm);
- Bukkit.getServer().broadcastMessage(tauntPrefix + " Taunt has been activated");
- }
- tauntPlayer = "";
- }
- for(String playerName : Hider.getEntries()) {
- Player player = playerList.get(playerName);
- int distance = 100;
- for(String seekerName : Seeker.getEntries()) {
- Player seeker = playerList.get(seekerName);
- int temp = (int) player.getLocation().distance(seeker.getLocation());
- if(distance > temp) {
- distance = temp;
- }
- if(glowTime > 0) {
- Packet.setGlow(player, seeker, true);
- } else {
- Packet.setGlow(player, seeker, false);
- }
- }
- switch(tick%10) {
- case 0:
- if(distance < 30) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BASEDRUM, .5f, 1f);
- if(distance < 10) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
- break;
- case 3:
- if(distance < 30) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BASEDRUM, .3f, 1f);
- if(distance < 10) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
- break;
- case 6:
- if(distance < 10) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
- break;
- case 9:
- if(distance < 20) Packet.playSound(player, Sound.BLOCK_NOTE_BLOCK_BIT, .3f, 1f);
- break;
- }
- }
- }
-
-}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java b/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java
new file mode 100644
index 0000000..ec94803
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/Glow.java
@@ -0,0 +1,69 @@
+package net.tylermurphy.hideAndSeek.events;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+
+import net.tylermurphy.hideAndSeek.Main;
+import net.tylermurphy.hideAndSeek.util.Packet;
+
+public class Glow {
+
+ private final int temp;
+ private int glowTime;
+ private boolean running;
+
+ public Glow(int temp) {
+ this.temp = temp;
+ this.glowTime = 0;
+ }
+
+ public void onProjectilve() {
+ glowTime++;
+ if(!running)
+ startGlow();
+ }
+
+ private void startGlow() {
+ running = true;
+ for(String hiderName : Hider) {
+ Player hider = playerList.get(hiderName);
+ if(hider == null) continue;
+ for(String seekerName : Seeker) {
+ Player seeker = playerList.get(seekerName);
+ if(seeker == null) continue;
+ Packet.setGlow(hider, seeker, true);
+ }
+ }
+ waitGlow();
+ }
+
+ private void waitGlow() {
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ if(temp != gameId) return;
+ glowTime--;
+ glowTime = Math.max(glowTime, 0);
+ if(glowTime == 0) {
+ stopGlow();
+ } else {
+ waitGlow();
+ }
+ }
+ }, 20*30);
+ }
+
+ private void stopGlow() {
+ for(String hiderName : Hider) {
+ Player hider = playerList.get(hiderName);
+ if(hider == null) continue;
+ for(String seekerName : Seeker) {
+ Player seeker = playerList.get(seekerName);
+ if(seeker == null) continue;
+ Packet.setGlow(hider, seeker, false);
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java b/src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java
new file mode 100644
index 0000000..f2f09a1
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/Taunt.java
@@ -0,0 +1,100 @@
+package net.tylermurphy.hideAndSeek.events;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.Color;
+import org.bukkit.FireworkEffect;
+import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Firework;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.meta.FireworkMeta;
+
+import net.tylermurphy.hideAndSeek.Main;
+
+public class Taunt {
+
+ private final int temp;
+ private String tauntPlayer;
+
+ public Taunt(int temp) {
+ this.temp = temp;
+ }
+
+ public void schedule() {
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ tryTaunt();
+ }
+ },20*60*5);
+ }
+
+ private void waitTaunt() {
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ tryTaunt();
+ }
+ },20*60);
+ }
+
+ private void tryTaunt() {
+ if(temp != gameId) return;
+ if(Math.random() > .8) {
+ executeTaunt();
+ } else {
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ tryTaunt();
+ }
+ },20*60);
+ }
+ }
+
+ private void executeTaunt() {
+ Player taunted = null;
+ int rand = (int) (Math.random()*Hider.size());
+ for(Player player : playerList.values()) {
+ if(Hider.contains(player.getName())) {
+ rand--;
+ if(rand==0) {
+ taunted = player;
+ break;
+ }
+ }
+ }
+ if(taunted != null) {
+ taunted.sendMessage(ChatColor.RED + "" + ChatColor.ITALIC + "Oh no! You have been chosed to be taunted.");
+ Bukkit.getServer().broadcastMessage(tauntPrefix + " A random hider will be taunted in the next 30s");
+ tauntPlayer = taunted.getName();
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ if(temp != gameId) return;
+ Player taunted = playerList.get(tauntPlayer);
+ if(taunted != null) {
+ Firework fw = (Firework) taunted.getLocation().getWorld().spawnEntity(taunted.getLocation(), EntityType.FIREWORK);
+ FireworkMeta fwm = fw.getFireworkMeta();
+ fwm.setPower(4);
+ fwm.addEffect(FireworkEffect.builder()
+ .withColor(Color.BLUE)
+ .withColor(Color.RED)
+ .withColor(Color.YELLOW)
+ .with(FireworkEffect.Type.STAR)
+ .with(FireworkEffect.Type.BALL)
+ .with(FireworkEffect.Type.BALL_LARGE)
+ .flicker(true)
+ .withTrail()
+ .build());
+ fw.setFireworkMeta(fwm);
+ Bukkit.getServer().broadcastMessage(tauntPrefix + " Taunt has been activated");
+ }
+ tauntPlayer = "";
+ waitTaunt();
+ }
+ },20*30);
+ } else {
+ waitTaunt();
+ }
+ }
+
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java b/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
new file mode 100644
index 0000000..5e64381
--- /dev/null
+++ b/src/main/java/net/tylermurphy/hideAndSeek/events/Worldborder.java
@@ -0,0 +1,43 @@
+package net.tylermurphy.hideAndSeek.events;
+
+import org.bukkit.Bukkit;
+import org.bukkit.World;
+import org.bukkit.WorldBorder;
+
+import net.tylermurphy.hideAndSeek.Main;
+
+import static net.tylermurphy.hideAndSeek.Store.*;
+
+public class Worldborder {
+
+ private final int temp;
+
+ public Worldborder(int temp) {
+ this.temp = temp;
+ }
+
+ public void schedule() {
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ decreaceWorldborder();
+ }
+ },20*60*worldborderDelay);
+ }
+
+ private void decreaceWorldborder() {
+ if(temp != gameId) return;
+ if(currentWorldborderSize-100 > 100) {
+ Bukkit.getServer().broadcastMessage(worldborderPrefix + "Worldborder decreacing by 100 blocks over the next 30s");
+ currentWorldborderSize -= 100;
+ World world = Bukkit.getWorld("hideandseek_"+spawnWorld);
+ WorldBorder border = world.getWorldBorder();
+ border.setSize(border.getSize()-100,30);
+ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.plugin, new Runnable() {
+ public void run() {
+ decreaceWorldborder();
+ }
+ },20*60*worldborderDelay);
+ }
+ }
+
+}
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/util/Functions.java b/src/main/java/net/tylermurphy/hideAndSeek/util/Functions.java
index 57ae441..55ff03a 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/util/Functions.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/util/Functions.java
@@ -6,6 +6,7 @@ import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.WorldBorder;
@@ -19,6 +20,10 @@ import org.bukkit.potion.PotionData;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.potion.PotionType;
+import org.bukkit.scoreboard.Scoreboard;
+import org.bukkit.scoreboard.ScoreboardManager;
+import org.bukkit.scoreboard.Team.Option;
+import org.bukkit.scoreboard.Team.OptionStatus;
import net.tylermurphy.hideAndSeek.Main;
@@ -30,7 +35,7 @@ public class Functions {
player.removePotionEffect(effect.getType());
}
player.addPotionEffect(new PotionEffect(PotionEffectType.DOLPHINS_GRACE, 1000000, 1, false, false));
- if(Seeker.getEntries().contains(player.getName())){
+ if(Seeker.contains(player.getName())){
ItemStack diamondSword = new ItemStack(Material.DIAMOND_SWORD,1);
diamondSword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
ItemMeta diamondSwordMeta = diamondSword.getItemMeta();
@@ -51,7 +56,7 @@ public class Functions {
player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW_FALLING, 1000000, 1, false, false));
player.addPotionEffect(new PotionEffect(PotionEffectType.WATER_BREATHING, 1000000, 10, false, false));
}
- else if(Hider.getEntries().contains(player.getName())){
+ else if(Hider.contains(player.getName())){
ItemStack stoneSword = new ItemStack(Material.STONE_SWORD,1);
stoneSword.addEnchantment(Enchantment.DAMAGE_ALL, 2);
ItemMeta stoneSwordMeta = stoneSword.getItemMeta();
@@ -87,15 +92,15 @@ public class Functions {
}
}
- public static void resetWorldborder() {
+ public static void resetWorldborder(String worldName) {
if(worldborderEnabled) {
- World world = Bukkit.getWorld("world");
+ World world = Bukkit.getWorld(worldName);
WorldBorder border = world.getWorldBorder();
border.setSize(worldborderSize);
border.setCenter(worldborderPosition.getX(), worldborderPosition.getZ());
currentWorldborderSize = worldborderSize;
} else {
- World world = Bukkit.getWorld("world");
+ World world = Bukkit.getWorld(worldName);
WorldBorder border = world.getWorldBorder();
border.setSize(30000000);
border.setCenter(0, 0);
@@ -119,5 +124,37 @@ public class Functions {
unloadMap(mapname);
loadMap(mapname);
}
+
+ public static void loadScoreboard() {
+
+ ScoreboardManager manager = Bukkit.getScoreboardManager();
+ Scoreboard mainBoard = manager.getMainScoreboard();
+
+ try { mainBoard.registerNewTeam("Seeker");} catch(Exception e) {}
+ SeekerTeam = mainBoard.getTeam("Seeker");
+ SeekerTeam.setColor(ChatColor.RED);
+ if(nametagsVisible)
+ SeekerTeam.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.FOR_OTHER_TEAMS);
+ else
+ SeekerTeam.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.NEVER);
+ SeekerTeam.setAllowFriendlyFire(false);
+
+ try { mainBoard.registerNewTeam("Hider");} catch(Exception e) {}
+ HiderTeam = mainBoard.getTeam("Hider");
+ HiderTeam.setColor(ChatColor.GOLD);
+ if(nametagsVisible)
+ HiderTeam.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.FOR_OWN_TEAM);
+ else
+ HiderTeam.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.NEVER);
+ HiderTeam.setAllowFriendlyFire(false);
+
+ try { mainBoard.registerNewTeam("Spectator");} catch(Exception e) {}
+ SpectatorTeam = mainBoard.getTeam("Spectator");
+ SpectatorTeam.setColor(ChatColor.GRAY);
+ SpectatorTeam.setOption(Option.NAME_TAG_VISIBILITY, OptionStatus.NEVER);
+ SpectatorTeam.setAllowFriendlyFire(false);
+
+ board = mainBoard;
+ }
-}
+} \ No newline at end of file