diff --git a/src/main/java/xyz/twovb/sgm/games/impl/capturethebrick/CTB.java b/src/main/java/xyz/twovb/sgm/games/impl/capturethebrick/CTB.java index ac06338..06266b0 100644 --- a/src/main/java/xyz/twovb/sgm/games/impl/capturethebrick/CTB.java +++ b/src/main/java/xyz/twovb/sgm/games/impl/capturethebrick/CTB.java @@ -15,11 +15,13 @@ import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.PlayerDeathEvent; +import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerQuitEvent; import xyz.twovb.sgm.SGM; import xyz.twovb.sgm.games.GameManager; import xyz.twovb.sgm.games.Minigame; import xyz.twovb.sgm.levels.LevelManager; +import xyz.twovb.toolbox.api.CustomPlayer; import xyz.twovb.toolbox.utils.ChatUtils; import java.io.File; @@ -52,6 +54,7 @@ public class CTB implements Minigame { } } catch (Exception ex) { owner.sendMessage(ChatUtils.translate(SGM.getInstance().getMessages().getString("sgm.game.cant-start"))); + SGM.getInstance().getCLogger().error(ex.getMessage()); } } @@ -77,18 +80,23 @@ public class CTB implements Minigame { SGM.getInstance().getCLogger().log(teamName + " Player Spawn Area: " + playerSpawnArea); // Log each team's brick spawns - for (String brickSpawn : brickSpawns) { - String[] coords = brickSpawn.split(","); - if (coords.length == 3) { - int x = Integer.parseInt(coords[0]); - int y = Integer.parseInt(coords[1]); - int z = Integer.parseInt(coords[2]); - // Now you have x, y, z coordinates to work with - placeBrick(new Location(gameWorld, x, y, z), teamName); - } else { - SGM.getInstance().getCLogger().error("Invalid brick spawn: " + coords[0]); - return false; + if (brickSpawns.size() >= bricks) { + for (String brickSpawn : brickSpawns) { + String[] coords = brickSpawn.split(","); + if (coords.length == 3) { + int x = Integer.parseInt(coords[0]); + int y = Integer.parseInt(coords[1]); + int z = Integer.parseInt(coords[2]); + // Now you have x, y, z coordinates to work with + placeBrick(new Location(gameWorld, x, y, z), teamName); + } else { + SGM.getInstance().getCLogger().error("Invalid brick spawn: " + coords[0]); + return false; + } } + } else { + SGM.getInstance().getCLogger().error("Not enough brick spawns!"); + return false; } } } @@ -123,6 +131,7 @@ public class CTB implements Minigame { if (Objects.equals(team, "blue")) { brick.setType(Material.BLUE_WOOL); } + SGM.getInstance().getCLogger().log("Placed " + brick.getType() + " at " + location); } @Override @@ -201,6 +210,17 @@ public class CTB implements Minigame { return state; } + @EventHandler + void onPlayerMove(PlayerMoveEvent event) { + Player player = event.getPlayer(); + CustomPlayer cPlayer = new CustomPlayer(player); + cPlayer.sendMessage("move"); + if (event.getFrom().getX() != event.getTo().getX() || event.getFrom().getZ() != event.getTo().getZ()) { + cPlayer.sendMessage("move full block"); + } + } + +// if(e.getFrom().getX() != e.getTo().getX() || e.getFrom().getZ() != e.getTo().getZ()) { // full block } @Override public void onTick() { if (state == GameState.STARTED && players.size() <= 1) { diff --git a/src/main/resources/games/capturethebrick/options.yml b/src/main/resources/games/capturethebrick/options.yml index 7647e30..6c2045f 100644 --- a/src/main/resources/games/capturethebrick/options.yml +++ b/src/main/resources/games/capturethebrick/options.yml @@ -3,7 +3,7 @@ teams: red: brickSpawns: - 0,0,0 - - 0,1,0 + - 0,0,0 playerSpawnArea: - 0,0 - 0,0