From 51f157931f7bf5671f7119d042d90db3a86eef7a Mon Sep 17 00:00:00 2001 From: ProSavage Date: Sat, 28 Jul 2018 00:31:58 -0500 Subject: [PATCH] Fixed all compile errors ( Took forever ) --- pom.xml | 2 +- .../java/com/massivecraft/factions/Conf.java | 36 +++++++++---------- .../massivecraft/factions/cmd/CmdBanner.java | 2 +- .../factions/cmd/CmdSeeChunk.java | 4 +-- .../factions/cmd/CmdSetBanner.java | 2 +- .../listeners/FactionsBlockListener.java | 2 +- .../listeners/FactionsEntityListener.java | 2 +- .../listeners/FactionsExploitListener.java | 10 +++--- .../listeners/FactionsPlayerListener.java | 21 +++++------ .../util/Particles/ParticleEffect.java | 8 ++--- .../factions/util/VisualizeUtil.java | 29 ++++++--------- .../zcore/fperms/PermissableAction.java | 2 +- .../zcore/fupgrades/CropUpgrades.java | 6 ++-- .../factions/zcore/util/TextUtil.java | 3 -- src/main/resources/plugin.yml | 1 + 15 files changed, 62 insertions(+), 68 deletions(-) diff --git a/pom.xml b/pom.xml index 3ceb9d81..a77131c3 100644 --- a/pom.xml +++ b/pom.xml @@ -69,7 +69,7 @@ org.spigotmc spigot-api - 1.12.2-R0.1-SNAPSHOT + 1.13-R0.1-SNAPSHOT provided diff --git a/src/main/java/com/massivecraft/factions/Conf.java b/src/main/java/com/massivecraft/factions/Conf.java index 86b3c6db..91258e52 100644 --- a/src/main/java/com/massivecraft/factions/Conf.java +++ b/src/main/java/com/massivecraft/factions/Conf.java @@ -341,53 +341,53 @@ public class Conf { territoryEnemyDenyCommands.add("tpaccept"); territoryEnemyDenyCommands.add("tpa"); - territoryProtectedMaterials.add(Material.WOODEN_DOOR); - territoryProtectedMaterials.add(Material.TRAP_DOOR); - territoryProtectedMaterials.add(Material.FENCE_GATE); + territoryProtectedMaterials.add(Material.LEGACY_WOODEN_DOOR); + territoryProtectedMaterials.add(Material.LEGACY_TRAP_DOOR); + territoryProtectedMaterials.add(Material.LEGACY_FENCE_GATE); territoryProtectedMaterials.add(Material.DISPENSER); territoryProtectedMaterials.add(Material.CHEST); territoryProtectedMaterials.add(Material.FURNACE); - territoryProtectedMaterials.add(Material.BURNING_FURNACE); - territoryProtectedMaterials.add(Material.DIODE_BLOCK_OFF); - territoryProtectedMaterials.add(Material.DIODE_BLOCK_ON); + territoryProtectedMaterials.add(Material.LEGACY_BURNING_FURNACE); + territoryProtectedMaterials.add(Material.LEGACY_DIODE_BLOCK_OFF); + territoryProtectedMaterials.add(Material.LEGACY_DIODE_BLOCK_ON); territoryProtectedMaterials.add(Material.JUKEBOX); territoryProtectedMaterials.add(Material.BREWING_STAND); - territoryProtectedMaterials.add(Material.ENCHANTMENT_TABLE); + territoryProtectedMaterials.add(Material.LEGACY_ENCHANTMENT_TABLE); territoryProtectedMaterials.add(Material.CAULDRON); - territoryProtectedMaterials.add(Material.SOIL); + territoryProtectedMaterials.add(Material.LEGACY_SOIL); territoryProtectedMaterials.add(Material.BEACON); territoryProtectedMaterials.add(Material.ANVIL); territoryProtectedMaterials.add(Material.TRAPPED_CHEST); territoryProtectedMaterials.add(Material.DROPPER); territoryProtectedMaterials.add(Material.HOPPER); - territoryDenyUseageMaterials.add(Material.FIREBALL); + territoryDenyUseageMaterials.add(Material.LEGACY_FIREBALL); territoryDenyUseageMaterials.add(Material.FLINT_AND_STEEL); territoryDenyUseageMaterials.add(Material.BUCKET); territoryDenyUseageMaterials.add(Material.WATER_BUCKET); territoryDenyUseageMaterials.add(Material.LAVA_BUCKET); - territoryProtectedMaterialsWhenOffline.add(Material.WOODEN_DOOR); - territoryProtectedMaterialsWhenOffline.add(Material.TRAP_DOOR); - territoryProtectedMaterialsWhenOffline.add(Material.FENCE_GATE); + territoryProtectedMaterialsWhenOffline.add(Material.LEGACY_WOODEN_DOOR); + territoryProtectedMaterialsWhenOffline.add(Material.LEGACY_TRAP_DOOR); + territoryProtectedMaterialsWhenOffline.add(Material.LEGACY_FENCE_GATE); territoryProtectedMaterialsWhenOffline.add(Material.DISPENSER); territoryProtectedMaterialsWhenOffline.add(Material.CHEST); territoryProtectedMaterialsWhenOffline.add(Material.FURNACE); - territoryProtectedMaterialsWhenOffline.add(Material.BURNING_FURNACE); - territoryProtectedMaterialsWhenOffline.add(Material.DIODE_BLOCK_OFF); - territoryProtectedMaterialsWhenOffline.add(Material.DIODE_BLOCK_ON); + territoryProtectedMaterialsWhenOffline.add(Material.LEGACY_BURNING_FURNACE); + territoryProtectedMaterialsWhenOffline.add(Material.LEGACY_DIODE_BLOCK_OFF); + territoryProtectedMaterialsWhenOffline.add(Material.LEGACY_DIODE_BLOCK_ON); territoryProtectedMaterialsWhenOffline.add(Material.JUKEBOX); territoryProtectedMaterialsWhenOffline.add(Material.BREWING_STAND); - territoryProtectedMaterialsWhenOffline.add(Material.ENCHANTMENT_TABLE); + territoryProtectedMaterialsWhenOffline.add(Material.LEGACY_ENCHANTMENT_TABLE); territoryProtectedMaterialsWhenOffline.add(Material.CAULDRON); - territoryProtectedMaterialsWhenOffline.add(Material.SOIL); + territoryProtectedMaterialsWhenOffline.add(Material.LEGACY_SOIL); territoryProtectedMaterialsWhenOffline.add(Material.BEACON); territoryProtectedMaterialsWhenOffline.add(Material.ANVIL); territoryProtectedMaterialsWhenOffline.add(Material.TRAPPED_CHEST); territoryProtectedMaterialsWhenOffline.add(Material.DROPPER); territoryProtectedMaterialsWhenOffline.add(Material.HOPPER); - territoryDenyUseageMaterialsWhenOffline.add(Material.FIREBALL); + territoryDenyUseageMaterialsWhenOffline.add(Material.LEGACY_FIREBALL); territoryDenyUseageMaterialsWhenOffline.add(Material.FLINT_AND_STEEL); territoryDenyUseageMaterialsWhenOffline.add(Material.BUCKET); territoryDenyUseageMaterialsWhenOffline.add(Material.WATER_BUCKET); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdBanner.java b/src/main/java/com/massivecraft/factions/cmd/CmdBanner.java index 8b3737f1..90fe1598 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdBanner.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdBanner.java @@ -52,7 +52,7 @@ public class CmdBanner extends FCommand { } else { - warBanner = P.p.createItem(Material.BANNER, 1, (short) 1, P.p.getConfig().getString("fbanners.Item.Name"), P.p.getConfig().getStringList("fbanners.Item.Lore")); + warBanner = P.p.createItem(Material.LEGACY_BANNER, 1, (short) 1, P.p.getConfig().getString("fbanners.Item.Name"), P.p.getConfig().getStringList("fbanners.Item.Lore")); } fme.msg(TL.COMMAND_BANNER_SUCCESS); warBanner.setAmount(1); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdSeeChunk.java b/src/main/java/com/massivecraft/factions/cmd/CmdSeeChunk.java index 93c07219..d066ecf1 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdSeeChunk.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdSeeChunk.java @@ -128,8 +128,8 @@ public class CmdSeeChunk extends FCommand { if (useParticles) { this.effect.display(0, 0, 0, 0, 1, loc, player); } else { - int typeId = blockY % 5 == 0 ? Material.REDSTONE_LAMP_ON.getId() : Material.STAINED_GLASS.getId(); - VisualizeUtil.addLocation(player, loc, typeId); + Material type = blockY % 5 == 0 ? Material.LEGACY_REDSTONE_LAMP_ON : Material.LEGACY_STAINED_GLASS; + VisualizeUtil.addLocation(player, loc, type); } } } diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdSetBanner.java b/src/main/java/com/massivecraft/factions/cmd/CmdSetBanner.java index fe95e447..f06d7ee3 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdSetBanner.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdSetBanner.java @@ -20,7 +20,7 @@ public class CmdSetBanner extends FCommand { } public void perform() { - if (me.getItemInHand().getType() != Material.BANNER) { + if (me.getItemInHand().getType() != Material.LEGACY_BANNER) { fme.msg(TL.COMMAND_SETBANNER_NOTBANNER); return; } diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsBlockListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsBlockListener.java index e3423bcd..ff18946d 100644 --- a/src/main/java/com/massivecraft/factions/listeners/FactionsBlockListener.java +++ b/src/main/java/com/massivecraft/factions/listeners/FactionsBlockListener.java @@ -78,7 +78,7 @@ public class FactionsBlockListener implements Listener { if (!fme.hasFaction()) { return; } - if (event.getBlock().getType() == Material.MOB_SPAWNER) { + if (event.getBlock().getType() == Material.LEGACY_MOB_SPAWNER) { Access access = fme.getFaction().getAccess(fme, PermissableAction.SPAWNER); if (access.equals(Access.DENY)) { fme.msg(TL.GENERIC_NOPERMISSION, "mine spawners"); diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java index 717a1e23..ea8e86f3 100644 --- a/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java +++ b/src/main/java/com/massivecraft/factions/listeners/FactionsEntityListener.java @@ -246,7 +246,7 @@ public class FactionsEntityListener implements Listener { targets.add(center.getRelative(1, 0, 0)); targets.add(center.getRelative(-1, 0, 0)); for (Block target : targets) { - int id = target.getTypeId(); + int id = target.getType().getId(); // ignore air, bedrock, water, lava, obsidian, enchanting table, etc.... too bad we can't get a blast resistance value through Bukkit yet if (id != 0 && (id < 7 || id > 11) && id != 49 && id != 90 && id != 116 && id != 119 && id != 120 && id != 130) { target.breakNaturally(); diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsExploitListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsExploitListener.java index 3de7ca5c..967211a2 100644 --- a/src/main/java/com/massivecraft/factions/listeners/FactionsExploitListener.java +++ b/src/main/java/com/massivecraft/factions/listeners/FactionsExploitListener.java @@ -25,10 +25,10 @@ public class FactionsExploitListener implements Listener { // thanks to ObGenBlocker and WorldGuard for this method Block block = event.getToBlock(); - int source = event.getBlock().getTypeId(); - int target = block.getTypeId(); + int source = event.getBlock().getType().getId(); + int target = block.getType().getId(); if ((target == 55 || target == 132) && (source == 0 || source == 10 || source == 11)) { - block.setTypeId(0); + block.setType(Material.AIR); } } @@ -47,7 +47,9 @@ public class FactionsExploitListener implements Listener { // blocks who occupy less than 1 block width or length wise need to be handled differently Material mat = event.getTo().getBlock().getType(); - if (((mat == Material.THIN_GLASS || mat == Material.IRON_FENCE) && clippingThrough(target, from, 0.65)) || ((mat == Material.FENCE || mat == Material.NETHER_FENCE) && clippingThrough(target, from, 0.45))) { + if (((mat == Material.LEGACY_THIN_GLASS + || mat == Material.LEGACY_IRON_FENCE) && clippingThrough(target, from, 0.65)) + || ((mat == Material.LEGACY_FENCE || mat == Material.LEGACY_NETHER_FENCE) && clippingThrough(target, from, 0.45))) { event.setTo(from); return; } diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java index 4428b963..27300352 100644 --- a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java +++ b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java @@ -51,6 +51,7 @@ import org.bukkit.util.NumberConversions; import java.util.*; import java.util.logging.Level; + public class FactionsPlayerListener implements Listener { public static HashMap bannerLocations = new HashMap<>(); @@ -201,10 +202,10 @@ public class FactionsPlayerListener implements Listener { if (!rel.isMember() || !otherFaction.playerHasOwnershipRights(me, loc) && player.getItemInHand().getType() != null) { switch (player.getItemInHand().getType()) { case CHEST: - case SIGN_POST: + case LEGACY_TRAP_DOOR: case TRAPPED_CHEST: case SIGN: - case WOOD_DOOR: + case LEGACY_WOOD_DOOR: case IRON_DOOR: return false; default: @@ -219,7 +220,7 @@ public class FactionsPlayerListener implements Listener { action = PermissableAction.LEVER; break; case STONE_BUTTON: - case WOOD_BUTTON: + case LEGACY_WOOD_BUTTON: action = PermissableAction.BUTTON; break; case DARK_OAK_DOOR: @@ -228,10 +229,10 @@ public class FactionsPlayerListener implements Listener { case IRON_DOOR: case JUNGLE_DOOR: case SPRUCE_DOOR: - case TRAP_DOOR: - case WOOD_DOOR: - case WOODEN_DOOR: - case FENCE_GATE: + case LEGACY_TRAP_DOOR: + case LEGACY_WOOD_DOOR: + case LEGACY_WOODEN_DOOR: + case LEGACY_FENCE_GATE: case ACACIA_FENCE_GATE: case BIRCH_FENCE_GATE: case DARK_OAK_FENCE_GATE: @@ -265,7 +266,7 @@ public class FactionsPlayerListener implements Listener { // You may use any block unless it is another faction's territory... if (rel.isNeutral() || (rel.isEnemy() && Conf.territoryEnemyProtectMaterials) || (rel.isAlly() && Conf.territoryAllyProtectMaterials) || (rel.isTruce() && Conf.territoryTruceProtectMaterials)) { if (!justCheck) { - me.msg(TL.PLAYER_USE_TERRITORY, (material == Material.SOIL ? "trample " : "use ") + TextUtil.getMaterialName(material), otherFaction.getTag(myFaction)); + me.msg(TL.PLAYER_USE_TERRITORY, (material == Material.LEGACY_SOIL ? "trample " : "use ") + TextUtil.getMaterialName(material), otherFaction.getTag(myFaction)); } return false; } @@ -750,7 +751,7 @@ public class FactionsPlayerListener implements Listener { return; } - if (e.getItemInHand().getType() == Material.BANNER) { + if (e.getItemInHand().getType() == Material.LEGACY_BANNER) { ItemStack bannerInHand = e.getItemInHand(); FPlayer fme = FPlayers.getInstance().getByPlayer(e.getPlayer()); ItemStack warBanner = fme.getFaction().getBanner(); @@ -760,7 +761,7 @@ public class FactionsPlayerListener implements Listener { warmeta.setLore(P.p.colorList(P.p.getConfig().getStringList("fbanners.Item.Lore"))); warBanner.setItemMeta(warmeta); } else { - warBanner = P.p.createItem(Material.BANNER, 1, (short) 1, P.p.getConfig().getString("fbanners.Item.Name"), P.p.getConfig().getStringList("fbanners.Item.Lore")); + warBanner = P.p.createItem(Material.LEGACY_BANNER, 1, (short) 1, P.p.getConfig().getString("fbanners.Item.Name"), P.p.getConfig().getStringList("fbanners.Item.Lore")); } if (warBanner.isSimilar(bannerInHand)) { diff --git a/src/main/java/com/massivecraft/factions/util/Particles/ParticleEffect.java b/src/main/java/com/massivecraft/factions/util/Particles/ParticleEffect.java index c73d5847..226677d9 100644 --- a/src/main/java/com/massivecraft/factions/util/Particles/ParticleEffect.java +++ b/src/main/java/com/massivecraft/factions/util/Particles/ParticleEffect.java @@ -406,7 +406,7 @@ public enum ParticleEffect { * @param requiredVersion Version which is required (1.x) * @param properties Properties of this particle effect */ - private ParticleEffect(String name, int id, int requiredVersion, ParticleProperty... properties) { + ParticleEffect(String name, int id, int requiredVersion, ParticleProperty... properties) { this.name = name; this.id = id; this.requiredVersion = requiredVersion; @@ -453,7 +453,7 @@ public enum ParticleEffect { */ private static boolean isWater(Location location) { Material material = location.getBlock().getType(); - return material == Material.WATER || material == Material.STATIONARY_WATER; + return material == Material.WATER || material == Material.LEGACY_STATIONARY_WATER; } /** @@ -910,7 +910,7 @@ public enum ParticleEffect { * @author DarkBlade12 * @since 1.7 */ - public static enum ParticleProperty { + public enum ParticleProperty { /** * The particle effect requires water to be displayed */ @@ -926,7 +926,7 @@ public enum ParticleEffect { /** * The particle effect uses the offsets as color values */ - COLORABLE; + COLORABLE } /** diff --git a/src/main/java/com/massivecraft/factions/util/VisualizeUtil.java b/src/main/java/com/massivecraft/factions/util/VisualizeUtil.java index 27cb9cba..9f7d4553 100644 --- a/src/main/java/com/massivecraft/factions/util/VisualizeUtil.java +++ b/src/main/java/com/massivecraft/factions/util/VisualizeUtil.java @@ -1,11 +1,11 @@ package com.massivecraft.factions.util; import org.bukkit.Location; +import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.entity.Player; import java.util.*; -import java.util.Map.Entry; public class VisualizeUtil { @@ -25,42 +25,35 @@ public class VisualizeUtil { } @SuppressWarnings("deprecation") - public static void addLocation(Player player, Location location, int typeId, byte data) { + public static void addLocation(Player player, Location location, Material type, byte data) { getPlayerLocations(player).add(location); - player.sendBlockChange(location, typeId, data); + player.sendBlockChange(location, type, data); } @SuppressWarnings("deprecation") - public static void addLocation(Player player, Location location, int typeId) { + public static void addLocation(Player player, Location location, Material material) { getPlayerLocations(player).add(location); - player.sendBlockChange(location, typeId, (byte) 0); + player.sendBlockChange(location, material, (byte) 0); } - @SuppressWarnings("deprecation") - public static void addLocations(Player player, Map locationMaterialIds) { - Set ploc = getPlayerLocations(player); - for (Entry entry : locationMaterialIds.entrySet()) { - ploc.add(entry.getKey()); - player.sendBlockChange(entry.getKey(), entry.getValue(), (byte) 0); - } - } + @SuppressWarnings("deprecation") - public static void addLocations(Player player, Collection locations, int typeId) { + public static void addLocations(Player player, Collection locations, Material material) { Set ploc = getPlayerLocations(player); for (Location location : locations) { ploc.add(location); - player.sendBlockChange(location, typeId, (byte) 0); + player.sendBlockChange(location, material, (byte) 0); } } @SuppressWarnings("deprecation") - public static void addBlocks(Player player, Collection blocks, int typeId) { + public static void addBlocks(Player player, Collection blocks, Material material) { Set ploc = getPlayerLocations(player); for (Block block : blocks) { Location location = block.getLocation(); ploc.add(location); - player.sendBlockChange(location, typeId, (byte) 0); + player.sendBlockChange(location, material, (byte) 0); } } @@ -72,7 +65,7 @@ public class VisualizeUtil { } for (Location location : locations) { Block block = location.getWorld().getBlockAt(location); - player.sendBlockChange(location, block.getTypeId(), block.getData()); + player.sendBlockChange(location, block.getType(), block.getData()); } locations.clear(); } diff --git a/src/main/java/com/massivecraft/factions/zcore/fperms/PermissableAction.java b/src/main/java/com/massivecraft/factions/zcore/fperms/PermissableAction.java index f87677f2..aa0e958d 100644 --- a/src/main/java/com/massivecraft/factions/zcore/fperms/PermissableAction.java +++ b/src/main/java/com/massivecraft/factions/zcore/fperms/PermissableAction.java @@ -95,7 +95,7 @@ public enum PermissableAction { } Material material = Material.matchMaterial(section.getString("materials." + name().toLowerCase().replace('_', '-'))); if (material == null) { - material = Material.STAINED_CLAY; + material = Material.LEGACY_STAINED_CLAY; } Access access = fme.getFaction().getAccess(permissable, this); diff --git a/src/main/java/com/massivecraft/factions/zcore/fupgrades/CropUpgrades.java b/src/main/java/com/massivecraft/factions/zcore/fupgrades/CropUpgrades.java index c4edc89f..dafeb15f 100644 --- a/src/main/java/com/massivecraft/factions/zcore/fupgrades/CropUpgrades.java +++ b/src/main/java/com/massivecraft/factions/zcore/fupgrades/CropUpgrades.java @@ -46,7 +46,7 @@ public class CropUpgrades implements Listener { private void growCrop(BlockGrowEvent e) { - if (e.getBlock().getType().equals(Material.CROPS)) { + if (e.getBlock().getType().equals(Material.LEGACY_CROPS)) { e.setCancelled(true); Crops c = new Crops(CropState.RIPE); org.bukkit.block.BlockState bs = e.getBlock().getState(); @@ -54,11 +54,11 @@ public class CropUpgrades implements Listener { bs.update(); } org.bukkit.block.Block below = e.getBlock().getLocation().subtract(0, 1, 0).getBlock(); - if (below.getType() == Material.SUGAR_CANE_BLOCK) { + if (below.getType() == Material.LEGACY_SUGAR_CANE_BLOCK) { org.bukkit.block.Block above = e.getBlock().getLocation().add(0, 1, 0).getBlock(); if (above.getType() == Material.AIR && above.getLocation().add(0, -2, 0).getBlock().getType() != Material.AIR) { - above.setType(Material.SUGAR_CANE_BLOCK); + above.setType(Material.LEGACY_SUGAR_CANE_BLOCK); } } diff --git a/src/main/java/com/massivecraft/factions/zcore/util/TextUtil.java b/src/main/java/com/massivecraft/factions/zcore/util/TextUtil.java index b0bf9824..0d8293c2 100644 --- a/src/main/java/com/massivecraft/factions/zcore/util/TextUtil.java +++ b/src/main/java/com/massivecraft/factions/zcore/util/TextUtil.java @@ -142,9 +142,6 @@ public class TextUtil { return material.toString().replace('_', ' ').toLowerCase(); } - public static String getMaterialName(int materialId) { - return getMaterialName(Material.getMaterial(materialId)); - } // -------------------------------------------- // // Material name tools diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index e7da9b98..fe7f6ff3 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,6 @@ name: Factions version: ${project.version}-1.4-BETA-6 +api-version: 1.13 main: com.massivecraft.factions.P authors: [Olof Larsson, Brett Flannigan, drtshock, ProSavage] softdepend: [CoreProtect, PlayerVaults, PlaceholderAPI, MVdWPlaceholderAPI, PermissionsEx, Permissions, Essentials, EssentialsChat, HeroChat, iChat, LocalAreaChat, LWC, nChat, ChatManager, CAPI, AuthMe, Vault, Spout, WorldEdit, WorldGuard, AuthDB, CaptureThePoints, CombatTag, dynmap, FactionsTop]