aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/MylesAndMore/tumble/commands
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/MylesAndMore/tumble/commands')
-rw-r--r--src/main/java/com/MylesAndMore/tumble/commands/StartGame.java45
1 files changed, 29 insertions, 16 deletions
diff --git a/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java b/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java
index fd0b825..de82e09 100644
--- a/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java
+++ b/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java
@@ -1,5 +1,6 @@
package com.MylesAndMore.tumble.commands;
+import com.MylesAndMore.tumble.GameManager;
import com.MylesAndMore.tumble.TumbleManager;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@@ -9,6 +10,7 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.List;
+import java.util.Objects;
public class StartGame implements CommandExecutor {
// Define the startGame method so that other classes can refrence it
@@ -26,23 +28,16 @@ public class StartGame implements CommandExecutor {
// If the load was successful, start game
if (TumbleManager.getMVWorldManager().loadWorld(TumbleManager.getGameWorld())) {
sender.sendMessage("Starting game, please wait.");
-
- // Generate the blocks in game world
-
-
- // While there are still players in the lobby, send them to the gameWorld
- // This is just a way of sending everybody in the lobby to the game
- for (List<Player> playersInLobby = TumbleManager.getPlayersInLobby(); playersInLobby.size() > 0; playersInLobby = TumbleManager.getPlayersInLobby()) {
- // Get a singular player from the player list
- Player aPlayer = playersInLobby.get(0);
- // Teleport that player to the spawn of the gameWorld
- aPlayer.teleport(Bukkit.getWorld(TumbleManager.getGameWorld()).getSpawnLocation());
+ // Check which gamemode to initiate from the config file
+ if (GameManager.createGame(TumbleManager.getPlugin().getConfig().getString("gameMode"))) {
+ // If game type exists, send players to the world
+ // At this point, layers have been generated, and items have been allotted from the createGame method
+ sendWorld();
+ }
+ else {
+ // If game type does not exist, give sender feedback
+ sender.sendMessage(ChatColor.RED + "Failed to recognize game of type " + ChatColor.GRAY + TumbleManager.getPlugin().getConfig().getString("gameMode"));
}
-
- // Give players game item (shovels/snowballs/etc.)
-
- // Add a little break because it can take the clients a bit to load into the new world
- // Then, transition to another method because this one is getting really long
}
// If load was unsuccessful, give feedback
// Note: this should not occur unless the config file was edited externally,
@@ -72,6 +67,24 @@ public class StartGame implements CommandExecutor {
}
}
+ public void sendWorld() {
+ // Create Locations to scatter players around the first layer
+
+ // While there are still players in the lobby, send them to the gameWorld
+ // This is just a way of sending everybody in the lobby to the game
+ for (List<Player> playersInLobby = TumbleManager.getPlayersInLobby(); playersInLobby.size() > 0; playersInLobby = TumbleManager.getPlayersInLobby()) {
+ // Get a singular player from the player list
+ Player aPlayer = playersInLobby.get(0);
+ // Teleport that player to the spawn of the gameWorld
+ aPlayer.teleport(Bukkit.getWorld(TumbleManager.getGameWorld()).getSpawnLocation());
+ }
+
+ // Add a little break because it can take the clients a bit to load into the new world
+ // Then, transition to another method because this one is getting really long
+ // In that method: set a flag to monitor the playerDeathEvent so we know when all the players have died
+ // Also start music
+ }
+
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
startGame(sender, args);