@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
    public void onSignChange(SignChangeEvent event) {
        if (event.getLine(0).equalsIgnoreCase("[game]")) {
            Player player = event.getPlayer();
            if (player.hasPermission("ctt.create")) {
                try {
                    int gameid = Integer.parseInt(event.getLine(1));
                    if (GameAPIMain.getRunners().containsKey(gameid)) {
                        Game game = GameAPIMain.getRunners().get(gameid);
                        if (game.getSignLocation() == null) {
                            game.setSignLocation(event.getBlock().getLocation());
                            CTT.debug("New sign location for game " + gameid);
                            event.setLine(0, game.getName());
                            event.setLine(1, "Game " + gameid);
                            event.setLine(2, game.getPlayers().size() + "/" + game.getMaxPlayers());
                            event.setLine(3, game.getGameStage().toString());
                            player.sendMessage(ChatColor.GREEN + "Sign setup!");
                            return;
                        } else {
                            player.sendMessage(ChatColor.RED + "That game already has a sign!");
                            event.getBlock().breakNaturally();
                            return;
                        }
                    } else {
                        player.sendMessage(ChatColor.RED + event.getLine(1) + " is not a valid game ID!");
                        event.getBlock().breakNaturally();
                        return;
                    }
                } catch (NumberFormatException e) {
                    player.sendMessage(ChatColor.RED + event.getLine(1) + " is not a number!");
                    event.getBlock().breakNaturally();
                    return;
                }
            } else {
                player.sendMessage(ChatColor.RED + "You do not have permission (ctt.create)");
                event.getBlock().breakNaturally();
                return;
            }
        }
    }