/** * Checks to see if a player should bypass game mode restrictions. * * @param toWorld world travelling to. * @param teleportee player travelling. * @return True if they should bypass restrictions */ public boolean playerCanIgnoreGameModeRestriction(MultiverseWorld toWorld, Player teleportee) { if (toWorld != null) { return this.plugin.getMVPerms().canIgnoreGameModeRestriction(teleportee, toWorld); } else { // TODO: Determine if this value is false because a world didn't exist // or if it was because a world wasn't imported. return true; } } }
private String getLegacyString() { StringBuilder legacyFile = new StringBuilder(); legacyFile.append("[Multiverse-Core] Multiverse-Core Version: ").append(this.plugin.getDescription().getVersion()).append('\n'); legacyFile.append("[Multiverse-Core] Bukkit Version: ").append(this.plugin.getServer().getVersion()).append('\n'); legacyFile.append("[Multiverse-Core] Loaded Worlds: ").append(this.plugin.getMVWorldManager().getMVWorlds()).append('\n'); legacyFile.append("[Multiverse-Core] Multiverse Plugins Loaded: ").append(this.plugin.getPluginCount()).append('\n'); legacyFile.append("[Multiverse-Core] Economy being used: ").append(plugin.getEconomist().getEconomyName()).append('\n'); legacyFile.append("[Multiverse-Core] Permissions Plugin: ").append(this.plugin.getMVPerms().getType()).append('\n'); legacyFile.append("[Multiverse-Core] Dumping Config Values: (version ") .append(this.plugin.getMVConfig().getVersion()).append(")").append('\n'); legacyFile.append("[Multiverse-Core] messagecooldown: ").append(plugin.getMessaging().getCooldown()).append('\n'); legacyFile.append("[Multiverse-Core] teleportcooldown: ").append(plugin.getMVConfig().getTeleportCooldown()).append('\n'); legacyFile.append("[Multiverse-Core] worldnameprefix: ").append(plugin.getMVConfig().getPrefixChat()).append('\n'); legacyFile.append("[Multiverse-Core] worldnameprefixFormat: ").append(plugin.getMVConfig().getPrefixChatFormat()).append('\n'); legacyFile.append("[Multiverse-Core] enforceaccess: ").append(plugin.getMVConfig().getEnforceAccess()).append('\n'); legacyFile.append("[Multiverse-Core] displaypermerrors: ").append(plugin.getMVConfig().getDisplayPermErrors()).append('\n'); legacyFile.append("[Multiverse-Core] teleportintercept: ").append(plugin.getMVConfig().getTeleportIntercept()).append('\n'); legacyFile.append("[Multiverse-Core] firstspawnoverride: ").append(plugin.getMVConfig().getFirstSpawnOverride()).append('\n'); legacyFile.append("[Multiverse-Core] firstspawnworld: ").append(plugin.getMVConfig().getFirstSpawnWorld()).append('\n'); legacyFile.append("[Multiverse-Core] debug: ").append(plugin.getMVConfig().getGlobalDebug()).append('\n'); legacyFile.append("[Multiverse-Core] Special Code: FRN002").append('\n'); return legacyFile.toString(); }
private String getMarkdownString() { StringBuilder markdownString = new StringBuilder(); markdownString.append("# Multiverse-Core\n"); markdownString.append("## Overview\n"); markdownString.append("| Name | Value |\n"); markdownString.append("| --- | --- |\n"); markdownString.append("| Multiverse-Core Version | `").append(this.plugin.getDescription().getVersion()).append("` |\n"); markdownString.append("| Bukkit Version | `").append(this.plugin.getServer().getVersion()).append("` |\n"); //markdownString.append("| Loaded Worlds | `").append(this.plugin.getMVWorldManager().getMVWorlds()).append("` |\n"); markdownString.append("| Multiverse Plugins Loaded | `").append(this.plugin.getPluginCount()).append("` |\n"); markdownString.append("| Economy being used | `").append(plugin.getEconomist().getEconomyName()).append("` |\n"); markdownString.append("| Permissions Plugin | `").append(this.plugin.getMVPerms().getType()).append("` |\n"); markdownString.append("## Parsed Config\n"); markdownString.append("These are what Multiverse thought the in-memory values of the config were.\n\n"); markdownString.append("| Config Key | Value |\n"); markdownString.append("| --- | --- |\n"); markdownString.append("| version | `").append(this.plugin.getMVConfig().getVersion()).append("` |\n"); markdownString.append("| messagecooldown | `").append(plugin.getMessaging().getCooldown()).append("` |\n"); markdownString.append("| teleportcooldown | `").append(plugin.getMVConfig().getTeleportCooldown()).append("` |\n"); markdownString.append("| worldnameprefix | `").append(plugin.getMVConfig().getPrefixChat()).append("` |\n"); markdownString.append("| worldnameprefixFormat | `").append(plugin.getMVConfig().getPrefixChatFormat()).append("` |\n"); markdownString.append("| enforceaccess | `").append(plugin.getMVConfig().getEnforceAccess()).append("` |\n"); markdownString.append("| displaypermerrors | `").append(plugin.getMVConfig().getDisplayPermErrors()).append("` |\n"); markdownString.append("| teleportintercept | `").append(plugin.getMVConfig().getTeleportIntercept()).append("` |\n"); markdownString.append("| firstspawnoverride | `").append(plugin.getMVConfig().getFirstSpawnOverride()).append("` |\n"); markdownString.append("| firstspawnworld | `").append(plugin.getMVConfig().getFirstSpawnWorld()).append("` |\n"); markdownString.append("| debug | `").append(plugin.getMVConfig().getGlobalDebug()).append("` |\n"); return markdownString.toString(); }
for (MultiverseWorld world : this.plugin.getMVWorldManager().getMVWorlds()) { if (p != null && (!this.plugin.getMVPerms().canEnterWorld(p, world))) { continue; builder.append(" - ").append(color).append(world.getEnvironment()); if (world.isHidden()) { if (p == null || this.plugin.getMVPerms().hasPermission(p, "multiverse.core.modify", true)) { if (p == null || this.plugin.getMVPerms().hasPermission(p, "multiverse.access." + name, true)) { worldList.add(ChatColor.GRAY + name + " - UNLOADED");
@Override public void runCommand(CommandSender sender, List<String> args) { Player p = this.plugin.getServer().getPlayer(args.get(0)); if (p == null) { sender.sendMessage("Could not find player " + ChatColor.GREEN + args.get(0)); sender.sendMessage("Are they online?"); return; } MVDestination dest = this.plugin.getDestFactory().getDestination(args.get(1)); if (dest instanceof InvalidDestination) { sender.sendMessage(String.format("You asked if '%s' could go to %s%s%s,", args.get(0), ChatColor.GREEN, args.get(0), ChatColor.WHITE)); sender.sendMessage("but I couldn't find a Destination of that name? Did you type it correctly?"); return; } MVPermissions perms = this.plugin.getMVPerms(); perms.tellMeWhyICantDoThis(sender, p, dest); } }
private boolean checkSendPermissions(CommandSender teleporter, Player teleportee, MVDestination destination) { if (teleporter.equals(teleportee)) { if (!this.plugin.getMVPerms().hasPermission(teleporter, "multiverse.teleport.self." + destination.getIdentifier(), true)) { this.messaging.sendMessages(teleporter, new String[]{ String.format("%sYou don't have permission to teleport %syourself %sto a %s%s %sDestination", ChatColor.WHITE, ChatColor.AQUA, ChatColor.WHITE, ChatColor.RED, destination.getType(), ChatColor.WHITE), String.format("%s (multiverse.teleport.self.%s)", ChatColor.RED, destination.getIdentifier()) }, false); return false; } } else { if (!this.plugin.getMVPerms().hasPermission(teleporter, "multiverse.teleport.other." + destination.getIdentifier(), true)) { this.messaging.sendMessages(teleporter, new String[]{ String.format("You don't have permission to teleport another player to a %s%s Destination.", ChatColor.GREEN, destination.getType()), String.format("%s(multiverse.teleport.other.%s)", ChatColor.RED, destination.getIdentifier()) }, false); return false; } } return true; } }
if (!this.plugin.getMVPerms().hasPermission(sender, "multiverse.core.anchor.delete", true)) { sender.sendMessage(ChatColor.RED + "You don't have the permission to delete anchors!"); } else { if (!this.plugin.getMVPerms().hasPermission(sender, "multiverse.core.anchor.create", true)) { sender.sendMessage(ChatColor.RED + "You don't have the permission to create anchors!"); } else {
/** * Checks to see if a player can bypass the player limit. * * @param toWorld The world travelling to. * @param teleporter The player that initiated the teleport. * @param teleportee The player travelling. * @return True if they can bypass the player limit. */ public boolean playerCanBypassPlayerLimit(MultiverseWorld toWorld, CommandSender teleporter, Player teleportee) { if (teleporter == null) { teleporter = teleportee; } if (!(teleporter instanceof Player)) { return true; } MVPermissions perms = plugin.getMVPerms(); if (perms.hasPermission(teleportee, "mv.bypass.playerlimit." + toWorld.getName(), false)) { return true; } else { teleporter.sendMessage("The world " + toWorld.getColoredWorldString() + " is full"); return false; } }
if (!this.plugin.getMVPerms().canEnterWorld(p, world)) { sender.sendMessage(ChatColor.RED + "You aren't allowed to access to this world!"); return; boolean shownOne = false; for (MultiverseWorld world : this.worldManager.getMVWorlds()) { if (this.plugin.getMVPerms().canEnterWorld(p, world)) { // only show world if the player can access it if (showAll || !world.getCBWorld().getPlayers().isEmpty()) { // either show all or show if the world is not empty sender.sendMessage(String.format("%s%s - %s", world.getColoredWorldString(), ChatColor.WHITE, buildPlayerString(world, p, visiblePlayers)));
if (player != null && !this.plugin.getMVPerms().hasPermission(player, "multiverse.core.spawn.other", true)) { sender.sendMessage("You don't have permission to teleport another player to spawn. (multiverse.core.spawn.other)"); return; if (player != null && !this.plugin.getMVPerms().hasPermission(player, "multiverse.core.spawn.self", true)) { sender.sendMessage("You don't have permission to teleport yourself to spawn. (multiverse.core.spawn.self)"); return;
private void showList(CommandSender sender, List<String> args) { if (!this.plugin.getMVPerms().hasPermission(sender, "multiverse.core.anchor.list", true)) { sender.sendMessage(ChatColor.RED + "You don't have the permission to list anchors!"); return;
if (plugin.getMVConfig().getEnforceAccess() && teleporter != null && !this.plugin.getMVPerms().canEnterDestination(teleporter, d)) { if (teleportee.equals(teleporter)) { teleporter.sendMessage("Doesn't look like you're allowed to go " + ChatColor.RED + "there..."); } else if (teleporter != null && !this.plugin.getMVPerms().canTravelFromLocation(teleporter, d.getLocation(teleportee))) { if (teleportee.equals(teleporter)) { this.messaging.sendMessage(teleporter, String.format("DOH! Doesn't look like you can get to %s%s %sfrom where you are...", if (teleportee.getWorld().equals(w)) { if (teleporter.equals(teleportee)) { if (!this.plugin.getMVPerms().hasPermission(teleporter, "multiverse.core.spawn.self", true)) { this.messaging.sendMessages(teleporter, new String[]{ String.format("Sorry you don't have permission to go to the world spawn!"), if (!this.plugin.getMVPerms().hasPermission(teleporter, "multiverse.core.spawn.other", true)) { this.messaging.sendMessages(teleporter, new String[]{ String.format("Sorry you don't have permission to send %s to the world spawn!",
if (!this.plugin.getMVPerms().canEnterWorld(teleporterPlayer, toWorld)) { if (teleportee.equals(teleporter)) { teleporter.sendMessage("You don't have access to go here...");
if (this.plugin.getMVPerms().hasPermission(teleporter, toWorld.getExemptPermission().getName(), true)) { return true;
/** * This method is called when a player joins the server. * @param event The Event that was fired. */ @EventHandler public void playerJoin(PlayerJoinEvent event) { Player p = event.getPlayer(); if (!p.hasPlayedBefore()) { this.plugin.log(Level.FINER, "Player joined for the FIRST time!"); if (plugin.getMVConfig().getFirstSpawnOverride()) { this.plugin.log(Level.FINE, "Moving NEW player to(firstspawnoverride): " + worldManager.getFirstSpawnWorld().getSpawnLocation()); this.sendPlayerToDefaultWorld(p); } return; } else { this.plugin.log(Level.FINER, "Player joined AGAIN!"); if (this.plugin.getMVConfig().getEnforceAccess() // check this only if we're enforcing access! && !this.plugin.getMVPerms().hasPermission(p, "multiverse.access." + p.getWorld().getName(), false)) { p.sendMessage("[MV] - Sorry you can't be in this world anymore!"); this.sendPlayerToDefaultWorld(p); } } // Handle the Players GameMode setting for the new world. this.handleGameModeAndFlight(event.getPlayer(), event.getPlayer().getWorld()); playerWorld.put(p.getName(), p.getWorld().getName()); }