aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-07-01 03:38:14 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-07-01 03:38:14 -0400
commit3b63c0e4ef7b14fd89d94170e5e6aa683374f0f8 (patch)
treeac1878a32993103a0af6bdc6fbca7531e72525d7 /src/main/java
parente1c1d130937c0e56535f8ab20fa0b2719b759a01 (diff)
downloadTumble-3b63c0e4ef7b14fd89d94170e5e6aa683374f0f8.tar.gz
Tumble-3b63c0e4ef7b14fd89d94170e5e6aa683374f0f8.tar.bz2
Tumble-3b63c0e4ef7b14fd89d94170e5e6aa683374f0f8.zip
Various fixes
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/MylesAndMore/Tumble/commands/ForceStop.java6
-rw-r--r--src/main/java/com/MylesAndMore/Tumble/commands/Join.java13
-rw-r--r--src/main/java/com/MylesAndMore/Tumble/commands/Reload.java2
-rw-r--r--src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java7
-rw-r--r--src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java11
-rw-r--r--src/main/java/com/MylesAndMore/Tumble/game/Game.java13
6 files changed, 39 insertions, 13 deletions
diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/ForceStop.java b/src/main/java/com/MylesAndMore/Tumble/commands/ForceStop.java
index 5ca856b..24f430c 100644
--- a/src/main/java/com/MylesAndMore/Tumble/commands/ForceStop.java
+++ b/src/main/java/com/MylesAndMore/Tumble/commands/ForceStop.java
@@ -19,12 +19,12 @@ public class ForceStop implements SubCommand, CommandExecutor, TabCompleter {
@Override
public String getCommandName() {
- return "forcestop";
+ return "forceStop";
}
@Override
public String getPermission() {
- return "tumble.forcestop";
+ return "tumble.forceStop";
}
@Override
@@ -52,7 +52,7 @@ public class ForceStop implements SubCommand, CommandExecutor, TabCompleter {
return false;
}
- game.gameEnd();
+ game.stopGame();
sender.sendMessage(languageManager.fromKey("forcestop-success"));
return true;
}
diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/Join.java b/src/main/java/com/MylesAndMore/Tumble/commands/Join.java
index 3bda96c..1dbbad6 100644
--- a/src/main/java/com/MylesAndMore/Tumble/commands/Join.java
+++ b/src/main/java/com/MylesAndMore/Tumble/commands/Join.java
@@ -5,7 +5,6 @@ import com.MylesAndMore.Tumble.game.Game;
import com.MylesAndMore.Tumble.plugin.GameState;
import com.MylesAndMore.Tumble.plugin.GameType;
import com.MylesAndMore.Tumble.plugin.SubCommand;
-import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
@@ -37,7 +36,7 @@ public class Join implements SubCommand, CommandExecutor, TabCompleter {
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
- if (!(sender instanceof Player)) {
+ if (!(sender instanceof Player p)) {
sender.sendMessage(languageManager.fromKey("not-for-console"));
return false;
}
@@ -61,7 +60,7 @@ public class Join implements SubCommand, CommandExecutor, TabCompleter {
Game game;
if (args.length < 2 || args[1] == null) {
if (arena.game == null) {
- sender.sendMessage(ChatColor.RED + "no game is currently taking place in this arena, specify the game type to start one");
+ sender.sendMessage(languageManager.fromKey("specify-game-type"));
return false;
}
else {
@@ -97,6 +96,14 @@ public class Join implements SubCommand, CommandExecutor, TabCompleter {
}
}
+ if (game.arena.gameSpawn == null) {
+ if (p.isOp()) {
+ sender.sendMessage(languageManager.fromKey("arena-not-ready-op"));
+ } else {
+ sender.sendMessage(languageManager.fromKey("arena-not-ready"));
+ }
+ }
+
if (game.gameState != GameState.WAITING) {
sender.sendMessage(languageManager.fromKey("game-in-progress"));
return false;
diff --git a/src/main/java/com/MylesAndMore/Tumble/commands/Reload.java b/src/main/java/com/MylesAndMore/Tumble/commands/Reload.java
index 7d6041e..03ce42d 100644
--- a/src/main/java/com/MylesAndMore/Tumble/commands/Reload.java
+++ b/src/main/java/com/MylesAndMore/Tumble/commands/Reload.java
@@ -30,7 +30,7 @@ public class Reload implements SubCommand, CommandExecutor, TabCompleter {
for (Arena a : arenaManager.arenas.values()) {
if (a.game != null) {
- a.game.gameEnd();
+ a.game.stopGame();
}
}
diff --git a/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java b/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java
index b5fbba6..3b56f7f 100644
--- a/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java
+++ b/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java
@@ -8,14 +8,13 @@ import java.util.Objects;
import static com.MylesAndMore.Tumble.Main.plugin;
public class ConfigManager {
+ public boolean HideLeaveJoin;
+ public int waitDuration;
+
private final CustomConfig configYml = new CustomConfig("config.yml");
private final Configuration config = configYml.getConfig();
private final Configuration defaultConfig = Objects.requireNonNull(config.getDefaults());
-
- public boolean HideLeaveJoin;
- public int waitDuration;
-
public ConfigManager() {
configYml.saveDefaultConfig();
validate();
diff --git a/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java b/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java
index cd96551..917ce78 100644
--- a/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java
+++ b/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java
@@ -36,7 +36,16 @@ public class LanguageManager {
}
public String fromKeyNoPrefix(String key) {
- String val = config.getString(key, "LANG_ERR");
+ String val = config.getString(key);
+
+ if (val == null) {
+ val = defaultConfig.getString(key);
+ }
+
+ if (val == null) {
+ val = "LANG_ERR";
+ }
+
return ChatColor.translateAlternateColorCodes('&',val);
}
}
diff --git a/src/main/java/com/MylesAndMore/Tumble/game/Game.java b/src/main/java/com/MylesAndMore/Tumble/game/Game.java
index 5988180..20d8869 100644
--- a/src/main/java/com/MylesAndMore/Tumble/game/Game.java
+++ b/src/main/java/com/MylesAndMore/Tumble/game/Game.java
@@ -166,7 +166,8 @@ public class Game {
/**
* Ends game: Displays overall winner and teleports players to lobby
*/
- public void gameEnd() {
+ private void gameEnd() {
+
if (!gamePlayers.isEmpty()) {
setGamemode(gamePlayers, GameMode.SPECTATOR);
@@ -207,6 +208,16 @@ public class Game {
arena.game = null;
}
+ public void stopGame() {
+ gamePlayers.forEach(this::removePlayer);
+ Bukkit.getServer().getScheduler().cancelTask(gameID);
+ gameID = -1;
+ Bukkit.getServer().getScheduler().cancelTask(autoStartID);
+ autoStartID = -1;
+ HandlerList.unregisterAll(eventListener);
+ arena.game = null;
+ }
+
/**
* Removes a player from the game.
* Called when a player leaves the server, or if they issue the leave command