Search in sources :

Example 1 with DynmapAPI

use of org.dynmap.DynmapAPI in project MyMaid2 by jaoafa.

the class Cmd_DT method onTabComplete.

public List<String> onTabComplete(CommandSender sender, Command cmd, String alias, String[] args) {
    if (args.length == 1) {
        if (args[0].length() == 0) {
            // /dtまで
            Plugin dynmap = plugin.getServer().getPluginManager().getPlugin("dynmap");
            if (dynmap == null || !dynmap.isEnabled()) {
                SendMessage(sender, cmd, "Dynmapプラグインが停止中、もしくは存在しないため、このコマンドを利用できません。");
                return plugin.onTabComplete(sender, cmd, alias, args);
            }
            List<String> tablist = new ArrayList<>();
            tablist.add("add");
            tablist.add("del");
            tablist.add("list");
            DynmapAPI dynmapapi = (DynmapAPI) dynmap;
            MarkerAPI markerapi = dynmapapi.getMarkerAPI();
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (Marker marker : markerset.getMarkers()) {
                    tablist.add(marker.getLabel());
                }
            }
            return tablist;
        } else {
            Plugin dynmap = plugin.getServer().getPluginManager().getPlugin("dynmap");
            if (dynmap == null || !dynmap.isEnabled()) {
                SendMessage(sender, cmd, "Dynmapプラグインが停止中、もしくは存在しないため、このコマンドを利用できません。");
                return plugin.onTabComplete(sender, cmd, alias, args);
            }
            List<String> tablist = new ArrayList<>();
            tablist.add("add");
            tablist.add("del");
            tablist.add("list");
            DynmapAPI dynmapapi = (DynmapAPI) dynmap;
            MarkerAPI markerapi = dynmapapi.getMarkerAPI();
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (Marker marker : markerset.getMarkers()) {
                    tablist.add(marker.getLabel());
                }
            }
            List<String> tablistFor = new ArrayList<>();
            tablistFor.addAll(tablist);
            for (String tab : tablistFor) {
                if (!tab.toLowerCase().startsWith(args[0].toLowerCase())) {
                    tablist.remove(tab);
                }
            }
            if (tablist.size() == 0) {
                return plugin.onTabComplete(sender, cmd, alias, args);
            }
            return tablist;
        }
    } else if (args.length == 2) {
        if (args[1].length() == 0) {
            // /dt ~まで
            if (args[0].equalsIgnoreCase("del")) {
                Plugin dynmap = plugin.getServer().getPluginManager().getPlugin("dynmap");
                if (dynmap == null || !dynmap.isEnabled()) {
                    SendMessage(sender, cmd, "Dynmapプラグインが停止中、もしくは存在しないため、このコマンドを利用できません。");
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                List<String> tablist = new ArrayList<>();
                DynmapAPI dynmapapi = (DynmapAPI) dynmap;
                MarkerAPI markerapi = dynmapapi.getMarkerAPI();
                for (MarkerSet markerset : markerapi.getMarkerSets()) {
                    for (Marker marker : markerset.getMarkers()) {
                        tablist.add(marker.getLabel());
                    }
                }
                return tablist;
            } else {
                Plugin dynmap = plugin.getServer().getPluginManager().getPlugin("dynmap");
                if (dynmap == null || !dynmap.isEnabled()) {
                    SendMessage(sender, cmd, "Dynmapプラグインが停止中、もしくは存在しないため、このコマンドを利用できません。");
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                Player player = Bukkit.getPlayerExact(args[0]);
                if (player == null) {
                    SendMessage(sender, cmd, "入力されているプレイヤー「" + args[0] + "」は見つかりません。");
                    Player any_chance_player = Bukkit.getPlayer(args[0]);
                    if (any_chance_player != null) {
                        SendMessage(sender, cmd, "もしかして: " + any_chance_player.getName());
                    }
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                List<String> tablist = new ArrayList<>();
                DynmapAPI dynmapapi = (DynmapAPI) dynmap;
                MarkerAPI markerapi = dynmapapi.getMarkerAPI();
                for (MarkerSet markerset : markerapi.getMarkerSets()) {
                    for (Marker marker : markerset.getMarkers()) {
                        tablist.add(marker.getLabel());
                    }
                }
                List<String> tablistFor = new ArrayList<>();
                tablistFor.addAll(tablist);
                for (String tab : tablistFor) {
                    if (!tab.toLowerCase().startsWith(args[1].toLowerCase())) {
                        tablist.remove(tab);
                    }
                }
                if (tablist.size() == 0) {
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                return tablist;
            }
        } else {
            if (args[0].equalsIgnoreCase("del")) {
                Plugin dynmap = plugin.getServer().getPluginManager().getPlugin("dynmap");
                if (dynmap == null || !dynmap.isEnabled()) {
                    SendMessage(sender, cmd, "Dynmapプラグインが停止中、もしくは存在しないため、このコマンドを利用できません。");
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                List<String> tablist = new ArrayList<>();
                DynmapAPI dynmapapi = (DynmapAPI) dynmap;
                MarkerAPI markerapi = dynmapapi.getMarkerAPI();
                for (MarkerSet markerset : markerapi.getMarkerSets()) {
                    for (Marker marker : markerset.getMarkers()) {
                        tablist.add(marker.getLabel());
                    }
                }
                List<String> tablistFor = new ArrayList<>();
                tablistFor.addAll(tablist);
                for (String tab : tablistFor) {
                    if (!tab.startsWith(args[1])) {
                        tablist.remove(tab);
                    }
                }
                if (tablist.size() == 0) {
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                return tablist;
            } else {
                Plugin dynmap = plugin.getServer().getPluginManager().getPlugin("dynmap");
                if (dynmap == null || !dynmap.isEnabled()) {
                    SendMessage(sender, cmd, "Dynmapプラグインが停止中、もしくは存在しないため、このコマンドを利用できません。");
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                Player player = Bukkit.getPlayerExact(args[0]);
                if (player == null) {
                    SendMessage(sender, cmd, "入力されているプレイヤー「" + args[0] + "」は見つかりません。");
                    Player any_chance_player = Bukkit.getPlayer(args[0]);
                    if (any_chance_player != null) {
                        SendMessage(sender, cmd, "もしかして: " + any_chance_player.getName());
                    }
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                List<String> tablist = new ArrayList<>();
                DynmapAPI dynmapapi = (DynmapAPI) dynmap;
                MarkerAPI markerapi = dynmapapi.getMarkerAPI();
                for (MarkerSet markerset : markerapi.getMarkerSets()) {
                    for (Marker marker : markerset.getMarkers()) {
                        tablist.add(marker.getLabel());
                    }
                }
                List<String> tablistFor = new ArrayList<>();
                tablistFor.addAll(tablist);
                for (String tab : tablistFor) {
                    if (!tab.toLowerCase().startsWith(args[1].toLowerCase())) {
                        tablist.remove(tab);
                    }
                }
                if (tablist.size() == 0) {
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                return tablist;
            }
        }
    } else if (args.length == 3) {
        if (args[2].length() == 0) {
            // /dt ~ ~まで
            if (args[0].equalsIgnoreCase("add")) {
                // <MarkerType>を出す
                Plugin dynmap = plugin.getServer().getPluginManager().getPlugin("dynmap");
                if (dynmap == null || !dynmap.isEnabled()) {
                    SendMessage(sender, cmd, "Dynmapプラグインが停止中、もしくは存在しないため、このコマンドを利用できません。");
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                List<String> tablist = new ArrayList<>();
                DynmapAPI dynmapapi = (DynmapAPI) dynmap;
                MarkerAPI markerapi = dynmapapi.getMarkerAPI();
                for (MarkerSet markerset : markerapi.getMarkerSets()) {
                    tablist.add(markerset.getMarkerSetLabel());
                }
                return tablist;
            }
        } else {
            if (args[0].equalsIgnoreCase("add")) {
                Plugin dynmap = plugin.getServer().getPluginManager().getPlugin("dynmap");
                if (dynmap == null || !dynmap.isEnabled()) {
                    SendMessage(sender, cmd, "Dynmapプラグインが停止中、もしくは存在しないため、このコマンドを利用できません。");
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                List<String> tablist = new ArrayList<>();
                DynmapAPI dynmapapi = (DynmapAPI) dynmap;
                MarkerAPI markerapi = dynmapapi.getMarkerAPI();
                for (MarkerSet markerset : markerapi.getMarkerSets()) {
                    tablist.add(markerset.getMarkerSetLabel());
                }
                List<String> tablistFor = new ArrayList<>();
                tablistFor.addAll(tablist);
                for (String tab : tablistFor) {
                    if (!tab.toLowerCase().startsWith(args[2].toLowerCase())) {
                        tablist.remove(tab);
                    }
                }
                if (tablist.size() == 0) {
                    return plugin.onTabComplete(sender, cmd, alias, args);
                }
                return tablist;
            }
        }
    }
    // JavaPlugin#onTabComplete()を呼び出す
    return plugin.onTabComplete(sender, cmd, alias, args);
}
Also used : MarkerSet(org.dynmap.markers.MarkerSet) Player(org.bukkit.entity.Player) DynmapAPI(org.dynmap.DynmapAPI) ArrayList(java.util.ArrayList) MarkerAPI(org.dynmap.markers.MarkerAPI) ArrayList(java.util.ArrayList) List(java.util.List) Marker(org.dynmap.markers.Marker) Plugin(org.bukkit.plugin.Plugin) JavaPlugin(org.bukkit.plugin.java.JavaPlugin)

Example 2 with DynmapAPI

use of org.dynmap.DynmapAPI in project MyMaid2 by jaoafa.

the class Cmd_DT method onCommand.

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    Plugin dynmap = plugin.getServer().getPluginManager().getPlugin("dynmap");
    if (dynmap == null || !dynmap.isEnabled()) {
        SendMessage(sender, cmd, "Dynmapプラグインが停止中、もしくは存在しないため、このコマンドを利用できません。");
        return true;
    }
    DynmapAPI dynmapapi = (DynmapAPI) dynmap;
    MarkerAPI markerapi = dynmapapi.getMarkerAPI();
    if (args.length >= 1 && args[0].equalsIgnoreCase("help")) {
        SendUsageMessage(sender, cmd);
        return true;
    }
    if (args.length == 1) {
        if (args[0].equalsIgnoreCase("add")) {
            // 一つではaddは使えない
            SendMessage(sender, cmd, "マーカーの追加には/dt add <MarkerName> <MarkerType>を使用します。");
            return true;
        } else if (args[0].equalsIgnoreCase("del")) {
            // 一つではdelは使えない
            SendMessage(sender, cmd, "マーカーの削除には/dt del <MarkerName>を使用します。");
            return true;
        } else if (args[0].equalsIgnoreCase("list")) {
            Set<Marker> Markers = new HashSet<Marker>();
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (Marker marker : markerset.getMarkers()) {
                    Markers.add(marker);
                }
            }
            int count = 0;
            int page = 1;
            int startcount = (page - 1) * 10;
            int endcount = page * 10;
            int maxpage = Markers.size() / 10;
            SendMessage(sender, cmd, "Marker List: " + page + "page / " + maxpage + "page");
            SendMessage(sender, cmd, "-------------------------");
            for (Marker marker : Markers) {
                if (count <= startcount) {
                    count++;
                    continue;
                }
                if (count > endcount) {
                    break;
                }
                SendMessage(sender, cmd, "[" + count + "|" + marker.getWorld() + "/" + marker.getMarkerSet().getMarkerSetLabel() + "]" + marker.getLabel() + " X:" + marker.getX() + " Y:" + marker.getY() + " Z:" + marker.getY());
                count++;
            }
            SendMessage(sender, cmd, "-------------------------");
            SendMessage(sender, cmd, startcount + " - " + endcount + " / " + Markers.size());
            if (page != maxpage) {
                SendMessage(sender, cmd, "次のページを見るには「/dt list " + (page + 1) + "」を実行します。");
            }
            return true;
        } else if (args[0].equalsIgnoreCase("near")) {
            if (!(sender instanceof Player)) {
                SendMessage(sender, cmd, "このコマンドはサーバ内から実行可能です。");
                return true;
            }
            Player player = (Player) sender;
            Location loc = player.getLocation();
            Marker SelectMarker = null;
            double distance = Double.MAX_VALUE;
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (Marker marker : markerset.getMarkers()) {
                    if (!marker.getWorld().equalsIgnoreCase(player.getWorld().getName())) {
                        continue;
                    }
                    World world = Bukkit.getWorld(marker.getWorld());
                    double nowdistance = loc.distance(new Location(world, marker.getX(), marker.getY(), marker.getZ()));
                    if (distance > nowdistance) {
                        SelectMarker = marker;
                        distance = nowdistance;
                    }
                }
            }
            if (SelectMarker == null) {
                SendMessage(sender, cmd, "マーカーが見つかりませんでした。");
                return true;
            }
            SendMessage(sender, cmd, "あなたから一番近い場所にあるマーカーは「" + SelectMarker.getLabel() + "」というマーカーです。");
            SendMessage(sender, cmd, "約" + (int) distance + "ブロック程度のところにあり、「/dt " + SelectMarker.getLabel() + "」というコマンドでテレポートできます!");
            return true;
        } else {
            // /dt <MarkerName>
            if (!(sender instanceof Player)) {
                SendMessage(sender, cmd, "このコマンドはサーバ内から実行可能です。");
                return true;
            }
            Player player = (Player) sender;
            String markerlabel = args[0];
            Map<String, Marker> Markers = new HashMap<>();
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (Marker marker : markerset.getMarkers()) {
                    Markers.put(marker.getLabel(), marker);
                }
            }
            if (Markers.containsKey(markerlabel)) {
                Marker marker = Markers.get(markerlabel);
                World world = Bukkit.getWorld(marker.getWorld());
                double x = marker.getX();
                double y = marker.getY();
                double z = marker.getZ();
                Location loc = new Location(world, x, y, z);
                loc.add(0.5f, 0f, 0.5f);
                player.teleport(loc);
                TitleAPI.sendTitle(player, 2, 5, 2, "", ChatColor.AQUA + "You have been teleported to " + markerlabel + "!");
                DiscordSend("*[" + player.getName() + ": " + player.getName() + " to " + markerlabel + "]*");
                Bukkit.broadcastMessage(ChatColor.GRAY + "[" + ChatColor.ITALIC + player.getName() + ChatColor.GRAY + ": " + ChatColor.ITALIC + player.getName() + ChatColor.GRAY + " は " + ChatColor.ITALIC + markerlabel + ChatColor.GRAY + " にワープしました]");
                return true;
            } else {
                // 見つからなかった
                SendMessage(sender, cmd, "指定されたマーカー「" + markerlabel + "」は見つかりませんでした。");
                SendMessage(sender, cmd, "マーカー名は大文字小文字を区別します。もう一度間違っていないか確認してください。");
                return true;
            }
        }
    } else if (args.length == 2) {
        if (args[0].equalsIgnoreCase("add")) {
            // 二つではaddは使えない
            SendMessage(sender, cmd, "マーカーの追加には/dt add <MarkerName> <MarkerType>を使用します。");
            return true;
        } else if (args[0].equalsIgnoreCase("del")) {
            // マーカーの削除
            // /dt del <MarkerName>
            String markerlabel = args[1];
            Map<String, Marker> Markers = new HashMap<>();
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (Marker marker : markerset.getMarkers()) {
                    Markers.put(marker.getLabel(), marker);
                }
            }
            if (Markers.containsKey(markerlabel)) {
                Marker marker = Markers.get(markerlabel);
                String world = marker.getWorld();
                double x = marker.getX();
                double y = marker.getY();
                double z = marker.getZ();
                marker.deleteMarker();
                SendMessage(sender, cmd, "マーカー「" + markerlabel + "(" + world + ", " + x + ", " + y + ", " + z + ")」を削除しました。");
                return true;
            } else {
                // 見つからなかった
                SendMessage(sender, cmd, "指定されたマーカー「" + markerlabel + "」は見つかりませんでした。");
                SendMessage(sender, cmd, "マーカー名は大文字小文字を区別します。もう一度間違っていないか確認してください。");
                return true;
            }
        } else if (args[0].equalsIgnoreCase("list")) {
            Set<Marker> Markers = new HashSet<Marker>();
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (Marker marker : markerset.getMarkers()) {
                    Markers.add(marker);
                }
            }
            if (!isNumber(args[1])) {
                SendMessage(sender, cmd, "指定されたページは数値ではありません。");
                return true;
            }
            int count = 0;
            int page = Integer.parseInt(args[1]);
            int startcount = (page - 1) * 10;
            int endcount = page * 10;
            int maxpage = (Markers.size() / 10) + 1;
            if (page < 0) {
                SendMessage(sender, cmd, "表示できるマーカーがありません。");
                return true;
            } else if (startcount >= Markers.size()) {
                SendMessage(sender, cmd, "表示できるマーカーがありません。");
                return true;
            }
            SendMessage(sender, cmd, "Marker List: " + page + "page / " + maxpage + "page");
            SendMessage(sender, cmd, "-------------------------");
            for (Marker marker : Markers) {
                if (count <= startcount) {
                    count++;
                    continue;
                }
                if (count > endcount) {
                    break;
                }
                SendMessage(sender, cmd, "[" + count + "|" + marker.getWorld() + "/" + marker.getMarkerSet().getMarkerSetLabel() + "]" + marker.getLabel() + " X:" + marker.getX() + " Y:" + marker.getY() + " Z:" + marker.getY());
                count++;
            }
            SendMessage(sender, cmd, "-------------------------");
            SendMessage(sender, cmd, startcount + " - " + endcount + " / " + Markers.size());
            if (page != maxpage) {
                SendMessage(sender, cmd, "次のページを見るには「/dt list " + (page + 1) + "」を実行します。");
            }
            return true;
        } else {
            // addとかdelとか以外 => プレイヤー名?
            // /dt <Player> <MarkerName>
            String playername = args[0];
            Player player = Bukkit.getPlayerExact(playername);
            if (player == null) {
                SendMessage(sender, cmd, "指定されたプレイヤー「" + playername + "」は見つかりませんでした。");
                Player any_chance_player = Bukkit.getPlayer(playername);
                if (any_chance_player != null) {
                    SendMessage(sender, cmd, "もしかして: " + any_chance_player.getName());
                }
                return true;
            }
            String markerlabel = args[1];
            Map<String, Marker> Markers = new HashMap<>();
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (Marker marker : markerset.getMarkers()) {
                    Markers.put(marker.getLabel(), marker);
                }
            }
            if (Markers.containsKey(markerlabel)) {
                Marker marker = Markers.get(markerlabel);
                World world = Bukkit.getWorld(marker.getWorld());
                double x = marker.getX();
                double y = marker.getY();
                double z = marker.getZ();
                Location loc = new Location(world, x, y, z);
                loc.add(0.5f, 0f, 0.5f);
                player.teleport(loc);
                TitleAPI.sendTitle(player, 2, 5, 2, "", ChatColor.AQUA + "You have been teleported to " + markerlabel + "!");
                DiscordSend("*[" + sender.getName() + ": " + player.getName() + " to " + markerlabel + "]*");
                Bukkit.broadcastMessage(ChatColor.GRAY + "[" + ChatColor.ITALIC + sender.getName() + ChatColor.GRAY + ": " + ChatColor.ITALIC + player.getName() + ChatColor.GRAY + " は " + ChatColor.ITALIC + markerlabel + ChatColor.GRAY + " にワープしました]");
                return true;
            } else {
                // 見つからなかった
                SendMessage(sender, cmd, "指定されたマーカー「" + markerlabel + "」は見つかりませんでした。");
                SendMessage(sender, cmd, "マーカー名は大文字小文字を区別します。もう一度間違っていないか確認してください。");
                return true;
            }
        }
    } else if (args.length >= 3) {
        if (args[0].equalsIgnoreCase("add")) {
            // マーカーの追加
            if (!(sender instanceof Player)) {
                SendMessage(sender, cmd, "このコマンドはサーバ内から実行可能です。");
                return true;
            }
            Player player = (Player) sender;
            Location loc = player.getLocation();
            String markerlabel = args[1];
            String markertype = args[2];
            Map<String, MarkerSet> MarkersTypes = new HashMap<>();
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                MarkersTypes.put(markerset.getMarkerSetLabel(), markerset);
            }
            if (!MarkersTypes.containsKey(markertype)) {
                // マーカータイプが見つからなかった
                SendMessage(sender, cmd, "指定されたマーカータイプ「" + markertype + "」は見つかりませんでした。");
                return true;
            }
            MarkerSet MarkerType = MarkersTypes.get(markertype);
            Map<String, Marker> Markers = new HashMap<>();
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (Marker marker : markerset.getMarkers()) {
                    Markers.put(marker.getLabel(), marker);
                }
            }
            String MarkerIconDef = MarkerIcon.DEFAULT;
            MarkerIcon markericondef = null;
            for (MarkerIcon icon : markerapi.getMarkerIcons()) {
                if (icon.getMarkerIconID().equals(MarkerIconDef)) {
                    markericondef = icon;
                }
            }
            if (markericondef == null) {
                SendMessage(sender, cmd, "デフォルトマーカーアイコンが存在しませんでした。");
                return true;
            }
            Marker marker = MarkerType.createMarker(null, markerlabel, loc.getWorld().getName(), loc.getX(), loc.getY(), loc.getZ(), markericondef, true);
            if (marker == null) {
                SendMessage(sender, cmd, "指定されたマーカー「" + markerlabel + "」を作成できませんでした。");
                return true;
            }
            SendMessage(sender, cmd, "指定されたマーカー「" + markerlabel + "」を作成しました。");
            if (Markers.containsKey(markerlabel)) {
                SendMessage(sender, cmd, "ヒント: 同じMarkerNameのマーカーが他にもあるようです。");
                SendMessage(sender, cmd, "正常にテレポートできない可能性があります。");
                return true;
            }
            return true;
        } else {
            // addとかdelとか以外 => プレイヤー名?
            // /dt <Player> <MarkerName>
            String playername = args[0];
            Player player = Bukkit.getPlayerExact(playername);
            if (player == null) {
                SendMessage(sender, cmd, "指定されたプレイヤー「" + playername + "」は見つかりませんでした。");
                Player any_chance_player = Bukkit.getPlayer(playername);
                if (any_chance_player != null) {
                    SendMessage(sender, cmd, "もしかして: " + any_chance_player.getName());
                }
                return true;
            }
            String markerlabel = "";
            int c = 1;
            while (args.length > c) {
                markerlabel += args[c];
                if (args.length != (c + 1)) {
                    markerlabel += " ";
                }
                c++;
            }
            Map<String, Marker> Markers = new HashMap<>();
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (Marker marker : markerset.getMarkers()) {
                    Markers.put(marker.getLabel(), marker);
                }
            }
            if (Markers.containsKey(markerlabel)) {
                Marker marker = Markers.get(markerlabel);
                World world = Bukkit.getWorld(marker.getWorld());
                double x = marker.getX();
                double y = marker.getY();
                double z = marker.getZ();
                Location loc = new Location(world, x, y, z);
                loc.add(0.5f, 0f, 0.5f);
                player.teleport(loc);
                TitleAPI.sendTitle(player, 2, 5, 2, "", ChatColor.AQUA + "You have been teleported to " + markerlabel + "!");
                DiscordSend("*[" + sender.getName() + ": " + player.getName() + " to " + markerlabel + "]*");
                Bukkit.broadcastMessage(ChatColor.GRAY + "[" + ChatColor.ITALIC + sender.getName() + ChatColor.GRAY + ": " + ChatColor.ITALIC + player.getName() + ChatColor.GRAY + " は " + ChatColor.ITALIC + markerlabel + ChatColor.GRAY + " にワープしました]");
                return true;
            } else {
                // 見つからなかった
                SendMessage(sender, cmd, "指定されたマーカー「" + markerlabel + "」は見つかりませんでした。");
                SendMessage(sender, cmd, "マーカー名は大文字小文字を区別します。もう一度間違っていないか確認してください。");
                return true;
            }
        }
    }
    SendUsageMessage(sender, cmd);
    return true;
}
Also used : MarkerSet(org.dynmap.markers.MarkerSet) Player(org.bukkit.entity.Player) DynmapAPI(org.dynmap.DynmapAPI) MarkerSet(org.dynmap.markers.MarkerSet) Set(java.util.Set) HashSet(java.util.HashSet) HashMap(java.util.HashMap) MarkerAPI(org.dynmap.markers.MarkerAPI) Marker(org.dynmap.markers.Marker) World(org.bukkit.World) MarkerIcon(org.dynmap.markers.MarkerIcon) HashMap(java.util.HashMap) Map(java.util.Map) Plugin(org.bukkit.plugin.Plugin) JavaPlugin(org.bukkit.plugin.java.JavaPlugin) HashSet(java.util.HashSet) Location(org.bukkit.Location)

Example 3 with DynmapAPI

use of org.dynmap.DynmapAPI in project RedProtect by FabioZumbi12.

the class RedProtect method onEnable.

public void onEnable() {
    try {
        plugin = this;
        BossBar = checkBM();
        MyChunk = checkMyChunk();
        MyPet = checkMyPet();
        McMMo = checkMcMMo();
        Mc = checkMc();
        Vault = checkVault();
        SkillAPI = checkSkillAPI();
        PvPm = checkPvPm();
        Ess = checkEss();
        GP = checkGP();
        Dyn = checkDyn();
        WE = checkWe();
        AWE = checkAWe();
        SC = checkSP();
        Fac = checkFac();
        PLib = checkPLib();
        PlaceHolderAPI = checkPHAPI();
        JarFile = this.getFile();
        initVars();
        RPConfig.init();
        RPLang.init();
        rm.loadAll();
        OnlineMode = serv.getOnlineMode();
        serv.getPluginManager().registerEvents(new RPGlobalListener(), this);
        serv.getPluginManager().registerEvents(new RPBlockListener(), this);
        serv.getPluginManager().registerEvents(new RPPlayerListener(), this);
        serv.getPluginManager().registerEvents(new RPEntityListener(), this);
        serv.getPluginManager().registerEvents(new RPWorldListener(), this);
        serv.getPluginManager().registerEvents(new RPAddProtection(), this);
        version = getBukkitVersion();
        logger.debug("Version String: " + version);
        if (version >= 180) {
            serv.getPluginManager().registerEvents(new RPMine18(), this);
        }
        if (version >= 190) {
            serv.getPluginManager().registerEvents(new RPMine19(), this);
        }
        getCommand("RedProtect").setExecutor(new RPCommands());
        if (Vault) {
            RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
            if (rsp == null) {
                logger.warning("Vault found, but for some reason cant be used with RedProtect.");
                Vault = false;
            } else {
                econ = rsp.getProvider();
                logger.info("Vault found. Hooked.");
            }
        }
        if (PLib) {
            logger.info("ProtocolLib found. Hidding Gui Flag item stats.");
        }
        if (PvPm) {
            logger.info("PvPManager found. Hooked.");
        }
        if (Ess) {
            pless = (Essentials) Bukkit.getPluginManager().getPlugin("Essentials");
            logger.info("Essentials found. Hooked.");
        }
        if (WE) {
            logger.info("WorldEdit found. Hooked.");
        }
        if (AWE) {
            logger.info("AsyncWorldEdit found. Hooked.");
        }
        if (BossBar) {
            logger.info("BossbarAPI found. Hooked.");
        }
        if (MyPet) {
            serv.getPluginManager().registerEvents(new MPListener(), this);
            logger.info("MyPet found. Hooked.");
        }
        if (McMMo) {
            serv.getPluginManager().registerEvents(new McMMoListener(), this);
            logger.info("McMMo found. Hooked.");
        }
        if (SkillAPI) {
            serv.getPluginManager().registerEvents(new SkillAPIListener(), this);
            logger.info("SkillAPI found. Hooked.");
        }
        if (MyChunk) {
            logger.sucess("MyChunk found. Ready to convert!");
            logger.warning("Use '/rp mychunkconvert' to start MyChunk conversion (This may cause lag during conversion)");
        }
        if (Mc) {
            logger.info("MagicCarpet found. Hooked.");
        }
        if (SC) {
            clanManager = SimpleClans.getInstance().getClanManager();
            logger.info("SimpleClans found. Hooked.");
        }
        if (Dyn && RPConfig.getBool("hooks.dynmap.enable")) {
            logger.info("Dynmap found. Hooked.");
            logger.info("Loading dynmap markers...");
            dynmap = new RPDynmap((DynmapAPI) Bukkit.getPluginManager().getPlugin("dynmap"));
            logger.info("Dynmap markers loaded!");
        }
        if (PlaceHolderAPI) {
            new RPPlaceHoldersAPI(this).hook();
            logger.info("PlaceHolderAPI found. Hooked and registered some chat placeholders.");
        }
        if (Fac) {
            serv.getPluginManager().registerEvents(new RPFactions(), this);
            logger.info("Factions found. Hooked.");
        }
        if (!RPConfig.getString("file-type").equalsIgnoreCase("mysql")) {
            RPUtil.ReadAllDB(rm.getAllRegions());
        } else {
            logger.info("Theres " + rm.getTotalRegionsNum() + " regions on (" + RPConfig.getString("file-type") + ") database!");
        }
        logger.info("Loading API...");
        this.rpAPI = new RedProtectAPI();
        logger.info("API Loaded!");
        logger.clear("&4 _   _  _  &c _   _   _  _ _  _  _ _ _  __");
        logger.clear("&4|_| |_ | \\ &c|_| |_| | |  |  |_ |   |    /");
        logger.clear("&4| \\ |_ |_/ &c|   | \\ |_|  |  |_ |_  |   /");
        logger.clear("&a¯ " + pdf.getFullName() + " enabled");
        logger.clear("");
        if (RPConfig.getBool("update-check.enable")) {
            logger.info("Checking for update...");
            if (CheckUpdate()) {
                logger.sucess("Update available! Use /rp update to download.");
            } else {
                logger.info("No update available.");
            }
        }
        if (RPConfig.getString("file-type").equals("yml")) {
            AutoSaveHandler();
        }
    } catch (Exception e) {
        e.printStackTrace();
        if (!RPConfig.getString("file-type").equalsIgnoreCase("mysql")) {
            logger.severe("Error enabling RedProtect, plugin will shut down.");
            this.disable();
        }
    }
}
Also used : RPPlayerListener(br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPPlayerListener) RPWorldListener(br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPWorldListener) DynmapAPI(org.dynmap.DynmapAPI) RPGlobalListener(br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPGlobalListener) RPAddProtection(br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPAddProtection) MPListener(br.net.fabiozumbi12.RedProtect.Bukkit.hooks.MPListener) RPMine19(br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPMine19) RPMine18(br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPMine18) SkillAPIListener(br.net.fabiozumbi12.RedProtect.Bukkit.hooks.SkillAPIListener) RPFactions(br.net.fabiozumbi12.RedProtect.Bukkit.hooks.RPFactions) RPBlockListener(br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPBlockListener) McMMoListener(br.net.fabiozumbi12.RedProtect.Bukkit.hooks.McMMoListener) Economy(net.milkbowl.vault.economy.Economy) RPEntityListener(br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPEntityListener) RedProtectAPI(br.net.fabiozumbi12.RedProtect.Bukkit.API.RedProtectAPI) RPPlaceHoldersAPI(br.net.fabiozumbi12.RedProtect.Bukkit.hooks.RPPlaceHoldersAPI) RPDynmap(br.net.fabiozumbi12.RedProtect.Bukkit.hooks.RPDynmap) RPCommands(br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPCommands)

Example 4 with DynmapAPI

use of org.dynmap.DynmapAPI in project MyMaid2 by jaoafa.

the class Cmd_City method onCommand.

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    Plugin dynmap = plugin.getServer().getPluginManager().getPlugin("dynmap");
    if (dynmap == null || !dynmap.isEnabled()) {
        SendMessage(sender, cmd, "Dynmapプラグインが停止中、もしくは存在しないため、このコマンドを利用できません。");
        return true;
    }
    if (!(sender instanceof Player)) {
        SendMessage(sender, cmd, "このコマンドはサーバ内から実行可能です。");
        return true;
    }
    Player player = (Player) sender;
    DynmapAPI dynmapapi = (DynmapAPI) dynmap;
    MarkerAPI markerapi = dynmapapi.getMarkerAPI();
    if (args.length >= 1 && args[0].equalsIgnoreCase("help")) {
        SendUsageMessage(sender, cmd);
        return true;
    }
    if (markerapi.getMarkerSet("towns") == null) {
        Bukkit.getLogger().info("エリア情報を保管するDynmapSets「towns」が存在しないため、作成します。");
        markerapi.createMarkerSet("towns", "Towns", null, true);
    }
    if (args.length == 1) {
        if (args[0].equalsIgnoreCase("addcorner")) {
            // /city addcorner - コーナーを追加
            Set<Location> corner = new LinkedHashSet<Location>();
            if (Corner.containsKey(player.getName())) {
                corner.addAll(Corner.get(player.getName()));
            }
            Location loc = player.getLocation();
            corner.add(loc);
            Corner.put(player.getName(), corner);
            SendMessage(sender, cmd, "次の地点をコーナーキューに追加しました: #" + corner.size() + " X: " + loc.getBlockX() + " Z: " + loc.getBlockZ());
            return true;
        } else if (args[0].equalsIgnoreCase("clearcorner")) {
            // /city clearcorner - コーナーを削除
            if (Corner.containsKey(player.getName())) {
                Corner.remove(player.getName());
                SendMessage(sender, cmd, "削除に成功しました。");
                return true;
            } else {
                SendMessage(sender, cmd, "削除に失敗しました。");
                return true;
            }
        } else if (args[0].equalsIgnoreCase("undocorner")) {
            // /city undocorner - ひとつ前に追加したコーナーを削除
            if (Corner.containsKey(player.getName())) {
                Set<Location> corner = new LinkedHashSet<Location>();
                int now = 0;
                Location loc = null;
                for (Location one : Corner.get(player.getName())) {
                    if (now == (Corner.get(player.getName()).size() - 1)) {
                        loc = one;
                        break;
                    }
                    corner.add(one);
                    now++;
                }
                if (loc == null) {
                    SendMessage(sender, cmd, "ひとつ前のコーナーの削除に失敗しました。");
                    return true;
                }
                Corner.put(player.getName(), corner);
                SendMessage(sender, cmd, "ひとつ前のコーナー(X: " + loc.getBlockX() + " / Z: " + loc.getBlockZ() + ")の削除に成功しました。");
                return true;
            } else {
                SendMessage(sender, cmd, "ひとつ前のコーナーの削除に失敗しました。");
                return true;
            }
        } else if (args[0].equalsIgnoreCase("show")) {
            // /city show [エリア名] - エリアの情報を表示。エリア名を設定しないといまいるところのエリア情報を表示(できるかどうか)
            long start = System.currentTimeMillis();
            Location now = player.getLocation();
            MarkerSet markerset = markerapi.getMarkerSet("towns");
            boolean bool = true;
            for (AreaMarker areamarker : markerset.getAreaMarkers()) {
                List<Location> locs = new ArrayList<>();
                for (int i = 0; i < areamarker.getCornerCount(); i++) {
                    Location loc = new Location(Bukkit.getWorld(areamarker.getWorld()), areamarker.getCornerX(i), -114514, areamarker.getCornerZ(i));
                    locs.add(loc);
                }
                if (inArea(now, locs)) {
                    SendMessage(sender, cmd, "この場所は「" + areamarker.getLabel() + "」という名前のエリアです。");
                    SendMessage(sender, cmd, "説明: " + areamarker.getDescription());
                    bool = true;
                }
            }
            if (bool)
                SendMessage(sender, cmd, "この場所はエリア登録されていません。");
            if (DebugMode) {
                long end = System.currentTimeMillis();
                System.out.println("処理時間: " + (end - start) + "ms");
            }
        /*
				MarkerSet markerset = markerapi.getMarkerSet("towns");
				for(AreaMarker areamarker : markerset.getAreaMarkers()){
					// @param XorZ Xならtrue, Zならfalse
					// @param isMaxMaxならtrue, Minならfalse
					int maxX = getMaxOrMin(areamarker, true, true);
					int maxZ = getMaxOrMin(areamarker, false, true);
					int minX = getMaxOrMin(areamarker, true, false);
					int minZ = getMaxOrMin(areamarker, false, false);
					if(DebugMode) System.out.println("最大最小" + maxX + ", " + maxZ + ", " + minX + ", " + minZ);

					Location playerloc = player.getLocation();
					if(playerloc.getX() < minX || playerloc.getZ() > maxX){
						double x = playerloc.getX();
						double z = playerloc.getZ();
						int count = getCorners(areamarker, (int) x, (int) z);
						if(DebugMode) System.out.println("Count: " + count);

						if(count % 2 != 0){
							// 範囲内
							SendMessage(sender, cmd, "この場所は「" + areamarker.getLabel() + "」という名前のエリアです。");
							SendMessage(sender, cmd, "説明: " + areamarker.getDescription());

							if(DebugMode){
								long end = System.currentTimeMillis();
								System.out.println("処理時間: " + (end - start)  + "ms");
							}
							return true;
						}
					}
				}

				SendMessage(sender, cmd, "この場所はエリア登録されていません。");

				if(DebugMode){
					long end = System.currentTimeMillis();
					System.out.println("処理時間: " + (end - start)  + "ms");
				}
				return true;
				 */
        /*
				double minX = 0;
				double maxX = 0;
				boolean bool = true;
				int c = 0;
				MarkerSet markerset = markerapi.getMarkerSet("towns");
				for(AreaMarker areamarker : markerset.getAreaMarkers()){
					for(int i = 0; i < areamarker.getCornerCount(); i++){
						double x = areamarker.getCornerX(i);
						if(minX > x){
							minX = x;
						}
						if(maxX < x){
							maxX = x;
						}
						c++;
					}
				}
				SendMessage(sender, cmd, "minX: " + minX);
				SendMessage(sender, cmd, "maxX: " + maxX);
				SendMessage(sender, cmd, "Count: " + c);

				if(minX < player.getLocation().getX() && maxX < player.getLocation().getX()){
					SendMessage(sender, cmd, "この場所はエリア登録されていません。");
				}else if(minX > player.getLocation().getX() && maxX > player.getLocation().getX()){
					SendMessage(sender, cmd, "+1");
				}else if(minX < player.getLocation().getX() && maxX > player.getLocation().getX()){
					SendMessage(sender, cmd, "線分より右にいるのか左にいるのかを判定し、結果次第");
				}
				 */
        }
    } else if (args.length == 2) {
        if (args[0].equalsIgnoreCase("del")) {
            String cityName = args[1];
            MarkerSet markerset = markerapi.getMarkerSet("towns");
            for (AreaMarker areamarker : markerset.getAreaMarkers()) {
                if (areamarker.getLabel().equals(cityName)) {
                    areamarker.deleteMarker();
                    SendMessage(sender, cmd, "指定されたエリア名のエリアを削除しました。");
                    return true;
                }
            }
            SendMessage(sender, cmd, "指定されたエリア名のエリアは見つかりませんでした。");
            return true;
        } else if (args[0].equalsIgnoreCase("show")) {
            String cityName = args[1];
            AreaMarker select = null;
            MarkerSet markerset = markerapi.getMarkerSet("towns");
            for (AreaMarker areamarker : markerset.getAreaMarkers()) {
                if (areamarker.getLabel().equals(cityName)) {
                    select = areamarker;
                }
            }
            if (select == null) {
                SendMessage(sender, cmd, "指定されたエリア名のエリアは見つかりませんでした。");
                return true;
            }
            String label = select.getLabel();
            String desc = select.getDescription();
            SendMessage(sender, cmd, "--- " + label + " ---");
            SendMessage(sender, cmd, "説明: " + desc);
            return true;
        } else if (args[0].equalsIgnoreCase("addcorner")) {
            String cityName = args[1];
            AreaMarker select = null;
            MarkerSet markerset = markerapi.getMarkerSet("towns");
            for (AreaMarker areamarker : markerset.getAreaMarkers()) {
                if (areamarker.getLabel().equals(cityName)) {
                    select = areamarker;
                }
            }
            if (select == null) {
                SendMessage(sender, cmd, "指定されたエリア名のエリアは見つかりませんでした。");
                return true;
            }
            List<Double> Xs = new LinkedList<>();
            List<Double> Zs = new LinkedList<>();
            for (int i = 0; i < select.getCornerCount(); i++) {
                Xs.add(select.getCornerX(i));
                Zs.add(select.getCornerZ(i));
            }
            Location loc = player.getLocation();
            Xs.add(loc.getBlockX() + 0.5);
            Zs.add(loc.getBlockZ() + 0.5);
            double[] ArrXs = Xs.stream().mapToDouble(Double::doubleValue).toArray();
            double[] ArrZs = Zs.stream().mapToDouble(Double::doubleValue).toArray();
            select.setCornerLocations(ArrXs, ArrZs);
            SendMessage(sender, cmd, "エリア「" + select.getLabel() + "」に新しいコーナーを追加しました。");
            SendMessage(sender, cmd, "順番を変更したりする場合は、「/city editcorner <Name>」コマンドをお使いください。");
            return true;
        } else if (args[0].equalsIgnoreCase("editcorner")) {
            SendMessage(sender, cmd, "システム障害が多くみられるため、一時的にeditcornerの使用を停止しています。");
            return true;
        /*
				String cityName = args[1];
				AreaMarker select = null;
				MarkerSet markerset = markerapi.getMarkerSet("towns");
				for(AreaMarker areamarker : markerset.getAreaMarkers()){
					if(areamarker.getLabel().equals(cityName)){
						select = areamarker;
					}
				}
				if(select == null){
					SendMessage(sender, cmd, "指定されたエリア名のエリアは見つかりませんでした。");
					return true;
				}
				new _OpenGUI(player, select).runTaskLater(plugin, 1);
				return true;
				*/
        }
    } else if (args.length == 3) {
        if (args[0].equalsIgnoreCase("add")) {
            // /city add <Name> <Color> - エリアの範囲を設定(Dynmapに表示)
            if (!Corner.containsKey(player.getName())) {
                // コーナー未登録
                SendMessage(sender, cmd, "コーナーが未登録です。/city addcornerを使用してコーナーを登録してください。");
                return true;
            }
            Set<Location> corner = Corner.get(player.getName());
            if (corner.size() < 2) {
                // コーナー数が2つ未満
                SendMessage(sender, cmd, "コーナー数が足りません。/city addcornerを使用してコーナーを登録してください。");
                return true;
            }
            String cityName = args[1];
            String color = args[2];
            for (MarkerSet markerset : markerapi.getMarkerSets()) {
                for (AreaMarker areamarker : markerset.getAreaMarkers()) {
                    if (areamarker.getLabel().equals(cityName)) {
                        SendMessage(sender, cmd, "登録しようとしたエリア名は既に存在します。再登録する場合は削除してください。");
                        return true;
                    }
                }
            }
            MarkerSet set = markerapi.getMarkerSet("towns");
            List<Double> Xs = new LinkedList<>();
            List<Double> Zs = new LinkedList<>();
            for (Location loc : corner) {
                Xs.add(new Double(loc.getBlockX()) + 0.5);
                Zs.add(new Double(loc.getBlockZ()) + 0.5);
            }
            double[] ArrXs = Xs.stream().mapToDouble(Double::doubleValue).toArray();
            double[] ArrZs = Zs.stream().mapToDouble(Double::doubleValue).toArray();
            AreaMarker area = set.createAreaMarker(null, cityName, false, player.getWorld().getName(), ArrXs, ArrZs, true);
            if (area == null) {
                SendMessage(sender, cmd, "登録に失敗しました。");
                return true;
            }
            area.setFillStyle(area.getFillOpacity(), 0x808080);
            int colorint;
            try {
                colorint = Integer.parseInt(color, 16);
            } catch (NumberFormatException e) {
                SendMessage(sender, cmd, "登録に失敗しました。");
                SendMessage(sender, cmd, "色の指定が不正です。");
                return true;
            }
            area.setLineStyle(area.getLineWeight(), area.getLineOpacity(), colorint);
            SendMessage(sender, cmd, "登録に成功しました。");
            Corner.remove(player.getName());
            return true;
        } else if (args[0].equalsIgnoreCase("setcolor")) {
            // /city color <Name> <Color> - エリアの色を変更
            String cityName = args[1];
            String color = args[2];
            AreaMarker select = null;
            MarkerSet markerset = markerapi.getMarkerSet("towns");
            for (AreaMarker areamarker : markerset.getAreaMarkers()) {
                if (areamarker.getLabel().equals(cityName)) {
                    select = areamarker;
                }
            }
            if (select == null) {
                SendMessage(sender, cmd, "指定されたエリア名のエリアは見つかりませんでした。");
                return true;
            }
            int newcolorint;
            try {
                newcolorint = Integer.parseInt(color, 16);
            } catch (NumberFormatException e) {
                SendMessage(sender, cmd, "登録に失敗しました。");
                SendMessage(sender, cmd, "色の指定が不正です。");
                return true;
            }
            select.setLineStyle(select.getLineWeight(), select.getLineOpacity(), newcolorint);
            SendMessage(sender, cmd, "エリア色の変更に成功しました。");
            return true;
        } else if (args[0].equalsIgnoreCase("setdesc")) {
            String cityName = args[1];
            String desc = "";
            int c = 2;
            while (args.length > c) {
                desc += args[c] + " ";
                c++;
            }
            AreaMarker select = null;
            MarkerSet markerset = markerapi.getMarkerSet("towns");
            for (AreaMarker areamarker : markerset.getAreaMarkers()) {
                if (areamarker.getLabel().equals(cityName)) {
                    select = areamarker;
                }
            }
            if (select == null) {
                SendMessage(sender, cmd, "指定されたエリア名のエリアは見つかりませんでした。");
                return true;
            }
            desc = htmlspecialchars(desc);
            select.setDescription("<b>" + select.getLabel() + "</b><br />" + desc);
            SendMessage(sender, cmd, "指定されたエリア名のエリアへ説明文を追加しました。");
            return true;
        }
    } else if (args.length >= 3) {
        if (args[0].equalsIgnoreCase("setdesc")) {
            String cityName = args[1];
            String desc = "";
            int c = 2;
            while (args.length > c) {
                desc += args[c] + " ";
                c++;
            }
            AreaMarker select = null;
            MarkerSet markerset = markerapi.getMarkerSet("towns");
            for (AreaMarker areamarker : markerset.getAreaMarkers()) {
                if (areamarker.getLabel().equals(cityName)) {
                    select = areamarker;
                }
            }
            if (select == null) {
                SendMessage(sender, cmd, "指定されたエリア名のエリアは見つかりませんでした。");
                return true;
            }
            desc = htmlspecialchars(desc);
            select.setDescription("<b>" + select.getLabel() + "</b><br />" + desc);
            SendMessage(sender, cmd, "指定されたエリア名のエリアへ説明文を追加しました。");
            return true;
        }
    }
    SendUsageMessage(sender, cmd);
    return true;
}
Also used : LinkedHashSet(java.util.LinkedHashSet) MarkerSet(org.dynmap.markers.MarkerSet) Player(org.bukkit.entity.Player) DynmapAPI(org.dynmap.DynmapAPI) AreaMarker(org.dynmap.markers.AreaMarker) MarkerAPI(org.dynmap.markers.MarkerAPI) LinkedList(java.util.LinkedList) ArrayList(java.util.ArrayList) List(java.util.List) LinkedList(java.util.LinkedList) Plugin(org.bukkit.plugin.Plugin) JavaPlugin(org.bukkit.plugin.java.JavaPlugin) Location(org.bukkit.Location)

Aggregations

DynmapAPI (org.dynmap.DynmapAPI)4 Player (org.bukkit.entity.Player)3 Plugin (org.bukkit.plugin.Plugin)3 JavaPlugin (org.bukkit.plugin.java.JavaPlugin)3 MarkerAPI (org.dynmap.markers.MarkerAPI)3 MarkerSet (org.dynmap.markers.MarkerSet)3 ArrayList (java.util.ArrayList)2 List (java.util.List)2 Location (org.bukkit.Location)2 Marker (org.dynmap.markers.Marker)2 RedProtectAPI (br.net.fabiozumbi12.RedProtect.Bukkit.API.RedProtectAPI)1 MPListener (br.net.fabiozumbi12.RedProtect.Bukkit.hooks.MPListener)1 McMMoListener (br.net.fabiozumbi12.RedProtect.Bukkit.hooks.McMMoListener)1 RPDynmap (br.net.fabiozumbi12.RedProtect.Bukkit.hooks.RPDynmap)1 RPFactions (br.net.fabiozumbi12.RedProtect.Bukkit.hooks.RPFactions)1 RPPlaceHoldersAPI (br.net.fabiozumbi12.RedProtect.Bukkit.hooks.RPPlaceHoldersAPI)1 SkillAPIListener (br.net.fabiozumbi12.RedProtect.Bukkit.hooks.SkillAPIListener)1 RPAddProtection (br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPAddProtection)1 RPBlockListener (br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPBlockListener)1 RPCommands (br.net.fabiozumbi12.RedProtect.Bukkit.listeners.RPCommands)1