Compare commits
4 Commits
fa687f168f
...
main
Author | SHA1 | Date | |
---|---|---|---|
be945c688c | |||
c853f7a433 | |||
d22ac3d22a | |||
1c1d41ff10 |
39
config.yml
Normal file
39
config.yml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# general
|
||||||
|
prefix: null
|
||||||
|
minplayers: 2
|
||||||
|
maxplayers: 4
|
||||||
|
# The language selected here can only be changed by reloading the plugin
|
||||||
|
# the language must equal the language file in ../lang
|
||||||
|
# by default avaiable are: de-ger, en-us
|
||||||
|
language: "en-us"
|
||||||
|
autorestart: false
|
||||||
|
lobby-auto-queue: true
|
||||||
|
force-on-spawn: true
|
||||||
|
lobby-server: "lobby"
|
||||||
|
|
||||||
|
# scoreboard
|
||||||
|
scoreboard:
|
||||||
|
lobby:
|
||||||
|
player: "Player:"
|
||||||
|
timeleft: "Starting in:"
|
||||||
|
server: "your.server.ip"
|
||||||
|
ingame:
|
||||||
|
timeleft: "Time:"
|
||||||
|
player: "Player:"
|
||||||
|
alive: "Alive:"
|
||||||
|
kills: "kills:"
|
||||||
|
server: "your.server.ip"
|
||||||
|
|
||||||
|
# spawn points
|
||||||
|
lobby: null
|
||||||
|
arena: null
|
||||||
|
|
||||||
|
# Permissions
|
||||||
|
admin:
|
||||||
|
all: "tw.admin"
|
||||||
|
setlocation:
|
||||||
|
all: "tw.admin.setlocation"
|
||||||
|
lobby: "tw.admin.setlocation.lobby"
|
||||||
|
arena: "tw.admin.setlocation.arena"
|
||||||
|
start: "tw.admin.start"
|
||||||
|
stop: "tw.admin.stop"
|
@ -1,7 +1,7 @@
|
|||||||
package de.steev.Tridentwar.States;
|
package de.steev.Tridentwar.States;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
@ -1,14 +1,21 @@
|
|||||||
package de.steev.Tridentwar.States;
|
package de.steev.Tridentwar.States;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.scoreboard.DisplaySlot;
|
||||||
|
import org.bukkit.scoreboard.Objective;
|
||||||
|
import org.bukkit.scoreboard.Scoreboard;
|
||||||
|
import org.bukkit.scoreboard.ScoreboardManager;
|
||||||
|
|
||||||
public class Active {
|
public class Active {
|
||||||
private final GameManager gameManager;
|
private final GameManager gameManager;
|
||||||
|
private final ScoreboardManager manager;
|
||||||
|
private boolean isInitialized = false;
|
||||||
|
|
||||||
public Active(GameManager gameManager) {
|
public Active(GameManager gameManager) {
|
||||||
|
this.manager = Bukkit.getScoreboardManager();
|
||||||
this.gameManager = gameManager;
|
this.gameManager = gameManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -18,9 +25,26 @@ public class Active {
|
|||||||
this.gameManager.getPlayerManager().setPlayersHealth(20F);
|
this.gameManager.getPlayerManager().setPlayersHealth(20F);
|
||||||
this.gameManager.getPlayerManager().setAlive(Bukkit.getOnlinePlayers().size());
|
this.gameManager.getPlayerManager().setAlive(Bukkit.getOnlinePlayers().size());
|
||||||
this.gameManager.getPlayerManager().giveKits();
|
this.gameManager.getPlayerManager().giveKits();
|
||||||
|
|
||||||
|
Scoreboard board = manager.getNewScoreboard();
|
||||||
|
Objective obj = board.registerNewObjective("Tridentwar", "dummy", "SLPNetwork");
|
||||||
|
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
|
||||||
|
|
||||||
for (Player p : Bukkit.getOnlinePlayers()) {
|
for (Player p : Bukkit.getOnlinePlayers()) {
|
||||||
|
|
||||||
|
if (!isInitialized) {
|
||||||
this.gameManager.getPlayerManager().setKills(p, 0);
|
this.gameManager.getPlayerManager().setKills(p, 0);
|
||||||
this.gameManager.getScoreBoardManager().updateScoreBoard(p, this.gameManager.getPlayerManager().getAlive(), this.gameManager.getPlayerManager().getKills(p));
|
}
|
||||||
|
|
||||||
|
obj.getScore("=-=-=-=-=-=-=-=-=-=-=").setScore(5);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.player") + " " + p.getDisplayName()).setScore(4);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.alive") + " " + this.gameManager.getPlayerManager().getAlive()).setScore(3);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.kills") + " " + this.gameManager.getPlayerManager().getKills(p)).setScore(2);
|
||||||
|
obj.getScore("").setScore(1);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.server")).setScore(0);
|
||||||
|
|
||||||
|
p.setScoreboard(board);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package de.steev.Tridentwar.States;
|
package de.steev.Tridentwar.States;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package de.steev.Tridentwar.States;
|
package de.steev.Tridentwar.States;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import de.steev.Tridentwar.Tasks.GameStartCountdownTask;
|
import de.steev.Tridentwar.tasks.GameStartCountdownTask;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package de.steev.Tridentwar.States;
|
package de.steev.Tridentwar.States;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package de.steev.Tridentwar.States;
|
package de.steev.Tridentwar.States;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Tasks.LobbyWaitingTask;
|
import de.steev.Tridentwar.tasks.LobbyWaitingTask;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package de.steev.Tridentwar.States;
|
package de.steev.Tridentwar.States;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package de.steev.Tridentwar;
|
package de.steev.Tridentwar;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Commands.TridentwarCommand;
|
import de.steev.Tridentwar.commands.TridentwarCommand;
|
||||||
import de.steev.Tridentwar.Listeners.*;
|
import de.steev.Tridentwar.listeners.*;
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package de.steev.Tridentwar.Commands;
|
package de.steev.Tridentwar.commands;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
@ -38,6 +38,7 @@ public class TridentwarCommand implements CommandExecutor {
|
|||||||
case "start":
|
case "start":
|
||||||
if(commandSender.hasPermission(this.gameManager.getPlugin().config.getString("admin.start")) ||
|
if(commandSender.hasPermission(this.gameManager.getPlugin().config.getString("admin.start")) ||
|
||||||
commandSender.hasPermission(this.gameManager.getPlugin().config.getString("admin.all"))) {
|
commandSender.hasPermission(this.gameManager.getPlugin().config.getString("admin.all"))) {
|
||||||
|
gameManager.getLobbyWaitingTask().cancel();
|
||||||
gameManager.setGameState(GameState.STARTING);
|
gameManager.setGameState(GameState.STARTING);
|
||||||
} else {
|
} else {
|
||||||
// Get permission error message from config
|
// Get permission error message from config
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package de.steev.Tridentwar.Handlers;
|
package de.steev.Tridentwar.handlers;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
@ -1,7 +1,7 @@
|
|||||||
package de.steev.Tridentwar.Listeners;
|
package de.steev.Tridentwar.listeners;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package de.steev.Tridentwar.Listeners;
|
package de.steev.Tridentwar.listeners;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.Effect;
|
import org.bukkit.Effect;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package de.steev.Tridentwar.Listeners;
|
package de.steev.Tridentwar.listeners;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package de.steev.Tridentwar.Listeners;
|
package de.steev.Tridentwar.listeners;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package de.steev.Tridentwar.Listeners;
|
package de.steev.Tridentwar.listeners;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package de.steev.Tridentwar.Listeners;
|
package de.steev.Tridentwar.listeners;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Tridentwar;
|
import de.steev.Tridentwar.Tridentwar;
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import de.steev.Tridentwar.Tasks.TridentResetTask;
|
import de.steev.Tridentwar.tasks.TridentResetTask;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
@ -1,17 +1,13 @@
|
|||||||
package de.steev.Tridentwar.Manager;
|
package de.steev.Tridentwar.manager;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Handlers.FileHandler;
|
import de.steev.Tridentwar.handlers.FileHandler;
|
||||||
import de.steev.Tridentwar.States.*;
|
import de.steev.Tridentwar.States.*;
|
||||||
import de.steev.Tridentwar.Tridentwar;
|
import de.steev.Tridentwar.Tridentwar;
|
||||||
import de.steev.Tridentwar.Tasks.GameStartCountdownTask;
|
import de.steev.Tridentwar.tasks.GameStartCountdownTask;
|
||||||
import de.steev.Tridentwar.Tasks.LobbyWaitingTask;
|
import de.steev.Tridentwar.tasks.LobbyWaitingTask;
|
||||||
import org.bukkit.*;
|
import org.bukkit.*;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
|
||||||
import org.checkerframework.checker.units.qual.A;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
public class GameManager {
|
public class GameManager {
|
||||||
private final Tridentwar plugin;
|
private final Tridentwar plugin;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package de.steev.Tridentwar.Manager;
|
package de.steev.Tridentwar.manager;
|
||||||
|
|
||||||
public enum GameState {
|
public enum GameState {
|
||||||
LOBBY, WAITING, STARTING, ACTIVE, WON, RESTARTING, STOPPING, ABORTING;
|
LOBBY, WAITING, STARTING, ACTIVE, WON, RESTARTING, STOPPING, ABORTING;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package de.steev.Tridentwar.Manager;
|
package de.steev.Tridentwar.manager;
|
||||||
|
|
||||||
import net.md_5.bungee.api.ChatMessageType;
|
import net.md_5.bungee.api.ChatMessageType;
|
||||||
import net.md_5.bungee.api.chat.TextComponent;
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package de.steev.Tridentwar.Manager;
|
package de.steev.Tridentwar.manager;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataOutput;
|
import com.google.common.io.ByteArrayDataOutput;
|
||||||
import com.google.common.io.ByteStreams;
|
import com.google.common.io.ByteStreams;
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
package de.steev.Tridentwar.Manager;
|
package de.steev.Tridentwar.manager;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.scoreboard.*;
|
import org.bukkit.scoreboard.*;
|
||||||
|
|
||||||
|
// TODO: consider building a scoreboard builder
|
||||||
|
// TODO: reworking scoreboard logic to make it possible to replace the entire scoreboard
|
||||||
public class ScoreBoardManager {
|
public class ScoreBoardManager {
|
||||||
private GameManager gameManager;
|
private GameManager gameManager;
|
||||||
private final ScoreboardManager manager;
|
private final ScoreboardManager manager;
|
||||||
@ -12,7 +14,10 @@ public class ScoreBoardManager {
|
|||||||
* Manages Scoreboards created by the plugin
|
* Manages Scoreboards created by the plugin
|
||||||
* @param gameManager the local gamemanager instance
|
* @param gameManager the local gamemanager instance
|
||||||
*/
|
*/
|
||||||
public ScoreBoardManager(GameManager gameManager) { this.manager = Bukkit.getScoreboardManager(); }
|
public ScoreBoardManager(GameManager gameManager) {
|
||||||
|
this.gameManager = gameManager;
|
||||||
|
this.manager = Bukkit.getScoreboardManager();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates and sets a scoreboard for a player
|
* Creates and sets a scoreboard for a player
|
||||||
@ -21,26 +26,18 @@ public class ScoreBoardManager {
|
|||||||
* @param kills how many kills the player got
|
* @param kills how many kills the player got
|
||||||
*/
|
*/
|
||||||
public void createScoreBoard(Player player, int alive, int kills) {
|
public void createScoreBoard(Player player, int alive, int kills) {
|
||||||
// Create board instance
|
|
||||||
Scoreboard board = manager.getNewScoreboard();
|
Scoreboard board = manager.getNewScoreboard();
|
||||||
|
|
||||||
// Create Board Objective
|
|
||||||
Objective obj = board.registerNewObjective("Tridentwar", "dummy", "SLPNetwork");
|
Objective obj = board.registerNewObjective("Tridentwar", "dummy", "SLPNetwork");
|
||||||
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
|
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
|
||||||
|
|
||||||
// Create Scores
|
obj.getScore("=-=-=-=-=-=-=-=-=-=-=").setScore(5);
|
||||||
Score splitter = obj.getScore("=-=-=-=-=-=-=-=-=-=-=");
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.player") + " " + player.getDisplayName()).setScore(4);
|
||||||
splitter.setScore(5);
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.alive") + " " + alive).setScore(3);
|
||||||
Score playerName = obj.getScore("Player: " + player.getDisplayName());
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.kills") + " " + kills).setScore(2);
|
||||||
playerName.setScore(4);
|
obj.getScore("").setScore(1);
|
||||||
Score aliveScore = obj.getScore("Alive: " + alive);
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.server")).setScore(0);
|
||||||
aliveScore.setScore(3);
|
|
||||||
Score killsScore = obj.getScore("Kills: " + kills);
|
player.setScoreboard(board); // **Scoreboard setzen**
|
||||||
killsScore.setScore(2);
|
|
||||||
Score blankScore = obj.getScore("");
|
|
||||||
blankScore.setScore(1);
|
|
||||||
Score hostScore = obj.getScore("play.slpnetwork.de");
|
|
||||||
hostScore.setScore(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -51,31 +48,31 @@ public class ScoreBoardManager {
|
|||||||
* TODO: add time
|
* TODO: add time
|
||||||
*/
|
*/
|
||||||
public void updateScoreBoard(Player player, int alive, int kills) {
|
public void updateScoreBoard(Player player, int alive, int kills) {
|
||||||
// Grab Scoreboard from Player
|
|
||||||
Scoreboard board = player.getScoreboard();
|
Scoreboard board = player.getScoreboard();
|
||||||
|
|
||||||
// Detect if a Scoreboard has been created
|
// Falls der Spieler kein eigenes Scoreboard hat, erstelle eins
|
||||||
if(board == null) {
|
if (board == null || board.getObjective(DisplaySlot.SIDEBAR) == null) {
|
||||||
// If there is none, create one
|
|
||||||
createScoreBoard(player, alive, kills);
|
createScoreBoard(player, alive, kills);
|
||||||
} else {
|
player.setScoreboard(board);
|
||||||
// Fetch objective from existing scoreboard
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Objective obj = board.getObjective(DisplaySlot.SIDEBAR);
|
Objective obj = board.getObjective(DisplaySlot.SIDEBAR);
|
||||||
|
|
||||||
// Replace Scores present on the Screen
|
if (obj == null) { // Falls das Objective aus irgendeinem Grund null ist
|
||||||
Score splitter = obj.getScore("=-=-=-=-=-=-=-=-=-=-=");
|
obj = board.registerNewObjective("Tridentwar", "dummy", "SLPNetwork");
|
||||||
splitter.setScore(5);
|
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
|
||||||
Score playerName = obj.getScore("Player: " + player.getDisplayName());
|
|
||||||
playerName.setScore(4);
|
|
||||||
Score aliveScore = obj.getScore("Alive: " + alive);
|
|
||||||
aliveScore.setScore(3);
|
|
||||||
Score killsScore = obj.getScore("Kills: " + kills);
|
|
||||||
killsScore.setScore(2);
|
|
||||||
Score blankScore = obj.getScore("");
|
|
||||||
blankScore.setScore(1);
|
|
||||||
Score hostScore = obj.getScore("play.slpnetwork.de");
|
|
||||||
hostScore.setScore(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Scores aktualisieren
|
||||||
|
obj.getScore("=-=-=-=-=-=-=-=-=-=-=").setScore(5);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.player") + " " + player.getDisplayName()).setScore(4);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.alive") + " " + alive).setScore(3);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.kills") + " " + kills).setScore(2);
|
||||||
|
obj.getScore("").setScore(1);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.server")).setScore(0);
|
||||||
|
|
||||||
|
player.setScoreboard(board);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package de.steev.Tridentwar.Manager;
|
package de.steev.Tridentwar.manager;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package de.steev.Tridentwar.Manager;
|
package de.steev.Tridentwar.manager;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Tasks.TridentResetTask;
|
import de.steev.Tridentwar.tasks.TridentResetTask;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -1,13 +1,21 @@
|
|||||||
package de.steev.Tridentwar.Tasks;
|
package de.steev.Tridentwar.tasks;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
import org.bukkit.scoreboard.DisplaySlot;
|
||||||
|
import org.bukkit.scoreboard.Objective;
|
||||||
|
import org.bukkit.scoreboard.Scoreboard;
|
||||||
|
import org.bukkit.scoreboard.ScoreboardManager;
|
||||||
|
|
||||||
public class GameStartCountdownTask extends BukkitRunnable {
|
public class GameStartCountdownTask extends BukkitRunnable {
|
||||||
private GameManager gameManager;
|
private GameManager gameManager;
|
||||||
|
private final ScoreboardManager manager;
|
||||||
|
|
||||||
public GameStartCountdownTask (GameManager gameManager) {
|
public GameStartCountdownTask (GameManager gameManager) {
|
||||||
|
this.manager = Bukkit.getScoreboardManager();
|
||||||
this.gameManager = gameManager;
|
this.gameManager = gameManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -15,6 +23,22 @@ public class GameStartCountdownTask extends BukkitRunnable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
|
Scoreboard board = manager.getNewScoreboard();
|
||||||
|
|
||||||
|
Objective obj = board.registerNewObjective("Tridentwar", "dummy", "SLPNetwork");
|
||||||
|
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
|
||||||
|
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers()){
|
||||||
|
obj.getScore("=-=-=-=-=-=-=-=-=-=-=").setScore(4);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.lobby.player") + " " + player.getDisplayName()).setScore(3);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.lobby.timeleft") + " " + timeLeft).setScore(2);
|
||||||
|
obj.getScore("").setScore(1);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.server")).setScore(0);
|
||||||
|
|
||||||
|
player.setScoreboard(board);
|
||||||
|
}
|
||||||
|
|
||||||
timeLeft--;
|
timeLeft--;
|
||||||
if(timeLeft <= 0) {
|
if(timeLeft <= 0) {
|
||||||
cancel();
|
cancel();
|
||||||
|
@ -1,15 +1,24 @@
|
|||||||
package de.steev.Tridentwar.Tasks;
|
package de.steev.Tridentwar.tasks;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import de.steev.Tridentwar.Manager.GameState;
|
import de.steev.Tridentwar.manager.GameState;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.GameMode;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
import org.bukkit.scoreboard.DisplaySlot;
|
||||||
|
import org.bukkit.scoreboard.Objective;
|
||||||
|
import org.bukkit.scoreboard.Scoreboard;
|
||||||
|
import org.bukkit.scoreboard.ScoreboardManager;
|
||||||
|
|
||||||
public class LobbyWaitingTask extends BukkitRunnable {
|
public class LobbyWaitingTask extends BukkitRunnable {
|
||||||
private GameManager gameManager;
|
private GameManager gameManager;
|
||||||
|
private final ScoreboardManager manager;
|
||||||
|
|
||||||
public LobbyWaitingTask(GameManager gameManager) {
|
public LobbyWaitingTask(GameManager gameManager) {
|
||||||
this.gameManager = gameManager;
|
this.gameManager = gameManager;
|
||||||
|
this.manager = Bukkit.getScoreboardManager();
|
||||||
System.out.println("DEBUG: Lobby is Waiting");
|
System.out.println("DEBUG: Lobby is Waiting");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -17,7 +26,30 @@ public class LobbyWaitingTask extends BukkitRunnable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
|
if (Bukkit.getOnlinePlayers().size() >= this.gameManager.getPlugin().config.getInt("maxplayers")) {
|
||||||
|
timeLeft=10;
|
||||||
|
}
|
||||||
|
|
||||||
|
Scoreboard board = manager.getNewScoreboard();
|
||||||
|
|
||||||
|
Objective obj = board.registerNewObjective("Tridentwar", "dummy", "SLPNetwork");
|
||||||
|
obj.setDisplaySlot(DisplaySlot.SIDEBAR);
|
||||||
|
|
||||||
|
|
||||||
timeLeft--;
|
timeLeft--;
|
||||||
|
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers()){
|
||||||
|
|
||||||
|
obj.getScore("=-=-=-=-=-=-=-=-=-=-=").setScore(4);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.lobby.player") + " " + player.getDisplayName()).setScore(3);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.lobby.timeleft") + " " + timeLeft).setScore(2);
|
||||||
|
obj.getScore("").setScore(1);
|
||||||
|
obj.getScore(this.gameManager.getPlugin().config.getString("scoreboard.ingame.server")).setScore(0);
|
||||||
|
|
||||||
|
player.setScoreboard(board);
|
||||||
|
}
|
||||||
|
|
||||||
this.gameManager.getMessageManager().broadCastXPBar(ChatColor.translateAlternateColorCodes('&', this.gameManager.getPlugin().languageDataConfig.getString("game.countdown") + timeLeft));
|
this.gameManager.getMessageManager().broadCastXPBar(ChatColor.translateAlternateColorCodes('&', this.gameManager.getPlugin().languageDataConfig.getString("game.countdown") + timeLeft));
|
||||||
if (timeLeft > 10) {
|
if (timeLeft > 10) {
|
||||||
switch (timeLeft) {
|
switch (timeLeft) {
|
||||||
@ -41,11 +73,18 @@ public class LobbyWaitingTask extends BukkitRunnable {
|
|||||||
} else {
|
} else {
|
||||||
Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',
|
Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',
|
||||||
this.gameManager.getFileHandler().replaceVars(this.gameManager.getPlugin().languageDataConfig.getString("game.starting"), null, null)));
|
this.gameManager.getFileHandler().replaceVars(this.gameManager.getPlugin().languageDataConfig.getString("game.starting"), null, null)));
|
||||||
gameManager.setGameState(GameState.STARTING);
|
this.gameManager.setGameState(GameState.ACTIVE);
|
||||||
}
|
}
|
||||||
cancel();
|
cancel();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* calls cancel to stop task
|
||||||
|
*/
|
||||||
|
public void stopTask() {
|
||||||
|
cancel();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package de.steev.Tridentwar.Tasks;
|
package de.steev.Tridentwar.tasks;
|
||||||
|
|
||||||
import de.steev.Tridentwar.Manager.GameManager;
|
import de.steev.Tridentwar.manager.GameManager;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
Reference in New Issue
Block a user