From 14b9a1aec413fc0affe7de02e5d875e251bb15dd Mon Sep 17 00:00:00 2001 From: Myles <43725835+MylesAndMore@users.noreply.github.com> Date: Mon, 5 Dec 2022 19:20:54 +0000 Subject: reformatting (this may break things) removed some flagged imports and changed some of the regen code might need to revert the commit... --- src/main/java/com/MylesAndMore/tumble/Game.java | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'src/main/java/com/MylesAndMore/tumble/Game.java') diff --git a/src/main/java/com/MylesAndMore/tumble/Game.java b/src/main/java/com/MylesAndMore/tumble/Game.java index 887c4ee..8a81e01 100644 --- a/src/main/java/com/MylesAndMore/tumble/Game.java +++ b/src/main/java/com/MylesAndMore/tumble/Game.java @@ -3,11 +3,8 @@ package com.MylesAndMore.tumble; import com.MylesAndMore.tumble.api.Generator; import org.bukkit.*; import org.bukkit.entity.Player; -import org.bukkit.event.Event; -import org.bukkit.event.EventHandler; import org.bukkit.event.player.PlayerItemDamageEvent; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; import org.jetbrains.annotations.NotNull; import java.util.*; @@ -67,8 +64,6 @@ public class Game { giveItems(new ItemStack(Material.DIAMOND_SHOVEL)); // Send players to the game sendPlayers(); - - // Keep in mind that after this runs, this command will complete and return true } else { @@ -78,7 +73,6 @@ public class Game { else if (Objects.equals(TumbleManager.getGameType(), "snowballs")) { gameType = "snowballs"; if (generateLayers(gameType)) { - // Reminder: we need a way to make this snowball infinite! giveItems(new ItemStack(Material.SNOWBALL)); sendPlayers(); } @@ -216,17 +210,15 @@ public class Game { // Set the wins of the player to their current # of wins + 1 gameWins.set(gamePlayers.indexOf(winner), (gameWins.get(gamePlayers.indexOf(winner)) + 1)); Bukkit.getServer().broadcastMessage(ChatColor.GREEN + winner.getName() + " has won the round!"); + // Clear old layers (as a fill command, this would be /fill ~-20 ~-4 ~-20 ~20 ~ ~20 relative to spawn) + Generator.generateCuboid(new Location(gameSpawn.getWorld(), gameSpawn.getX() - 20, gameSpawn.getY() - 4, gameSpawn.getZ() - 20), new Location(gameSpawn.getWorld(), gameSpawn.getX() + 20, gameSpawn.getY(), gameSpawn.getZ() + 20), Material.AIR); + // If the player has three wins, they won the game, so initiate the gameEnd if (gameWins.get(gamePlayers.indexOf(winner)) == 3) { gameEnd(winner); } + // If that player doesn't have three wins, nobody else does, so we need another round else { - // Clear old layers - Location firstPos = new Location(gameSpawn.getWorld(), gameSpawn.getX() - 20, gameSpawn.getY() - 4, gameSpawn.getZ() - 20); - Location secondPos = new Location(gameSpawn.getWorld(), gameSpawn.getX() + 20, gameSpawn.getY(), gameSpawn.getZ() + 20); - Generator.generateCuboid(firstPos, secondPos, Material.AIR); - // Generate layers - // Debug - Bukkit.getServer().broadcastMessage(gameType); + // Re-generate layers generateLayers(gameType); // Teleport players // A new method will need to be written for this; current one only supports lobby @@ -238,10 +230,7 @@ public class Game { private void gameEnd(@NotNull Player winner) { Bukkit.getServer().broadcastMessage(ChatColor.GOLD + winner.getName() + " has won the game!"); - // Clear layers - Location firstPos = new Location(gameSpawn.getWorld(), gameSpawn.getX() - 20, gameSpawn.getY() - 4, gameSpawn.getZ() - 20); - Location secondPos = new Location(gameSpawn.getWorld(), gameSpawn.getX() + 20, gameSpawn.getY(), gameSpawn.getZ() + 20); - Generator.generateCuboid(firstPos, secondPos, Material.AIR); + // Send players back to lobby } -- cgit v1.2.3 From f4c447ec2a39a1782b6e7aa83e8ad1ef65c85d35 Mon Sep 17 00:00:00 2001 From: Myles <43725835+MylesAndMore@users.noreply.github.com> Date: Mon, 5 Dec 2022 19:29:56 +0000 Subject: reformatting pt.2 this one *shouldn't* break everything (but that's what they all say) --- src/main/java/com/MylesAndMore/tumble/Game.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/main/java/com/MylesAndMore/tumble/Game.java') diff --git a/src/main/java/com/MylesAndMore/tumble/Game.java b/src/main/java/com/MylesAndMore/tumble/Game.java index 8a81e01..8f0af60 100644 --- a/src/main/java/com/MylesAndMore/tumble/Game.java +++ b/src/main/java/com/MylesAndMore/tumble/Game.java @@ -49,8 +49,10 @@ public class Game { // Initialize a list to keep track of wins between rounds private List gameWins; - // Creates a new Game - // This will return true if the game succeeds creation, and false if not + /** + * Creates a new Game + * @return true if the game succeeds creation, and false if not + */ public boolean startGame() { gameState = "starting"; if (Objects.equals(TumbleManager.getGameType(), "shovels")) { @@ -108,7 +110,6 @@ public class Game { } private boolean generateLayers(String gameType) { - // Location layer = gameSpawn; Location layer = new Location(gameSpawn.getWorld(), gameSpawn.getX(), gameSpawn.getY(), gameSpawn.getZ(), gameSpawn.getYaw(), gameSpawn.getPitch()); if (Objects.equals(gameType, "shovels")) { layer.setY(layer.getY() - 1); @@ -145,7 +146,6 @@ public class Game { else { return false; } - // layer = null; return true; } -- cgit v1.2.3 From c4375578c74f13993209d7b3673e91ab3f9b81d2 Mon Sep 17 00:00:00 2001 From: Myles <43725835+MylesAndMore@users.noreply.github.com> Date: Mon, 5 Dec 2022 21:13:53 +0000 Subject: add gamemode switching at end of round --- src/main/java/com/MylesAndMore/tumble/Game.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/main/java/com/MylesAndMore/tumble/Game.java') diff --git a/src/main/java/com/MylesAndMore/tumble/Game.java b/src/main/java/com/MylesAndMore/tumble/Game.java index 8f0af60..63c68df 100644 --- a/src/main/java/com/MylesAndMore/tumble/Game.java +++ b/src/main/java/com/MylesAndMore/tumble/Game.java @@ -182,6 +182,15 @@ public class Game { } } + private void setSurvival() { + for (List spectators = gamePlayers; spectators.size() > 0; spectators.remove(0)) { + // Get a singular player from the player list + Player spectatorPlayer = spectators.get(0); + // Set that player's gamemode to survival + spectatorPlayer.setGameMode(GameMode.SURVIVAL); + } + } + public void itemDamage(PlayerItemDamageEvent event) { // If the game type is shovels, if (Objects.equals(roundType, "shovels")) { @@ -224,7 +233,7 @@ public class Game { // A new method will need to be written for this; current one only supports lobby // Set their gamemodes to survival - + setSurvival(); } } -- cgit v1.2.3