public CommandMap getCommandMap() { CommandMap commandMap = ReflectionUtil.getField(plugin.getServer().getPluginManager(), "commandMap"); if (commandMap == null) { if (fallbackCommands != null) { commandMap = fallbackCommands; } else { Bukkit.getServer().getLogger().severe(plugin.getDescription().getName() + ": Could not retrieve server CommandMap, using fallback instead!"); fallbackCommands = commandMap = new SimpleCommandMap(Bukkit.getServer()); Bukkit.getServer().getPluginManager().registerEvents(new FallbackRegistrationListener(fallbackCommands), plugin); } } return commandMap; }
public PermissionAttachment addAttachment(Plugin plugin, int ticks) { if (plugin == null) { throw new IllegalArgumentException("Plugin cannot be null"); } else if (!plugin.isEnabled()) { throw new IllegalArgumentException("Plugin " + plugin.getDescription().getFullName() + " is disabled"); } PermissionAttachment result = addAttachment(plugin); if (Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new RemoveAttachmentRunnable(result), ticks) == -1) { Bukkit.getServer().getLogger().log(Level.WARNING, "Could not add PermissionAttachment to " + parent + " for plugin " + plugin.getDescription().getFullName() + ": Scheduler returned -1"); result.remove(); return null; } else { return result; } }
/** * Executed on tab completion for this command, returning a list of * options the player can tab through. * * @param sender Source object which is executing this command * @param alias the alias being used * @param args All arguments passed to the command, split via ' ' * @return a list of tab-completions for the specified arguments. This * will never be null. List may be immutable. * @throws IllegalArgumentException if sender, alias, or args is null */ public List<String> tabComplete(CommandSender sender, String alias, String[] args) throws IllegalArgumentException { Validate.notNull(sender, "Sender cannot be null"); Validate.notNull(args, "Arguments cannot be null"); Validate.notNull(alias, "Alias cannot be null"); if (args.length == 0) { return ImmutableList.of(); } String lastWord = args[args.length - 1]; Player senderPlayer = sender instanceof Player ? (Player) sender : null; ArrayList<String> matchedPlayers = new ArrayList<String>(); for (Player player : sender.getServer().getOnlinePlayers()) { String name = player.getName(); if ((senderPlayer == null || senderPlayer.canSee(player)) && StringUtil.startsWithIgnoreCase(name, lastWord)) { matchedPlayers.add(name); } } Collections.sort(matchedPlayers, String.CASE_INSENSITIVE_ORDER); return matchedPlayers; }
public static PermissionsResolver factory(Server server, YAMLProcessor config) { if (server.getPluginManager().getPlugin("Vault") == null) { return null; } RegisteredServiceProvider<Permission> rsp = server.getServicesManager().getRegistration(Permission.class); perms = rsp.getProvider(); if (perms == null) { return null; } return new VaultResolver(server); }
sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; sender.sendMessage("You must specify which player you wish to perform this action on."); return true; if (player.hasAchievement(achievement)) { continue; Bukkit.getServer().getPluginManager().callEvent(event); if (!event.isCancelled()) { player.awardAchievement(achievement); Command.broadcastCommandMessage(sender, String.format("Successfully given all achievements to %s", player.getName())); return true; Achievement achievement = Bukkit.getUnsafe().getAchievementFromInternalName(statisticString); Bukkit.getServer().getPluginManager().callEvent(event); Bukkit.getServer().getPluginManager().callEvent(event); Bukkit.getServer().getPluginManager().callEvent(event); Bukkit.getServer().getPluginManager().callEvent(event);
public static String getNick(Player player) { if (Bukkit.getServer().getPluginManager().getPlugin("Essentials") != null) { Essentials essentials = (Essentials) Bukkit.getServer().getPluginManager().getPlugin("Essentials"); User user = essentials.getUser(player.getUniqueId()); String prefix = essentials.getSettings().getNicknamePrefix(); return ChatColor.stripColor(user.getNick(false)).replace(prefix, ""); } return player.getName(); }
public static String getNick(UUID uuid) { if (Bukkit.getServer().getPluginManager().getPlugin("Essentials") != null) { Essentials essentials = (Essentials) Bukkit.getServer().getPluginManager().getPlugin("Essentials"); User user = essentials.getUser(uuid); String prefix = essentials.getSettings().getNicknamePrefix(); return ChatColor.stripColor(user.getNick(false)).replace(prefix, ""); } return Bukkit.getPlayer(uuid).getName(); }
@Override public void broadcastNotification(String message) { Bukkit.broadcast(message, "worldguard.notify"); Set<Permissible> subs = Bukkit.getPluginManager().getPermissionSubscriptions("worldguard.notify"); for (Player player : Bukkit.getServer().getOnlinePlayers()) { if (!(subs.contains(player) && player.hasPermission("worldguard.notify")) && WorldGuardPlugin.inst().hasPermission(player, "worldguard.notify")) { // Make sure the player wasn't already broadcasted to. player.sendMessage(message); } } WorldGuard.logger.info(message); }
@Override public void execute(CommandSender sender, String[] args) { if (!sender.hasPermission("buycraft.admin")) { sender.sendMessage(ChatColor.RED + plugin.getI18n().get("no_permission")); return; } if (args.length != 3 || !(args[1].equalsIgnoreCase("package") || args[1].equalsIgnoreCase("category")) || !StringUtils.isNumeric(args[2])) { sender.sendMessage(ChatColor.RED + "Incorrect syntax: /buycraft sendlink <player> package|category <id>"); return; } Player p = Bukkit.getPlayer(args[0]); if (p == null || !p.isOnline()) { sender.sendMessage(ChatColor.RED + "That player is not online!"); return; } if (args[1].equalsIgnoreCase("package")) { plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new SendCheckoutLink(plugin, Integer.valueOf(args[2]), p, false, sender)); return; } else if (args[1].equalsIgnoreCase("category")) { plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new SendCheckoutLink(plugin, Integer.valueOf(args[2]), p, true, sender)); return; } }
public static void handlePartyTeleportEvent(Player teleportingPlayer, Player targetPlayer) { McMMOPlayer mcMMOPlayer = UserManager.getPlayer(teleportingPlayer); McMMOPartyTeleportEvent event = new McMMOPartyTeleportEvent(teleportingPlayer, targetPlayer, mcMMOPlayer.getParty().getName()); mcMMO.p.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { return; } teleportingPlayer.teleport(targetPlayer); teleportingPlayer.sendMessage(LocaleLoader.getString("Party.Teleport.Player", targetPlayer.getName())); targetPlayer.sendMessage(LocaleLoader.getString("Party.Teleport.Target", teleportingPlayer.getName())); mcMMOPlayer.getPartyTeleportRecord().actualizeLastUse(); }
@Override public void run() { Server server = Bukkit.getServer(); server.dispatchCommand(server.getConsoleSender(), cmd); } }, delay);
@SuppressWarnings("deprecation") @EventHandler public void onPlayerMove(PlayerMoveEvent event) { Block block, control; if (event.getTo().getY() > event.getFrom().getY()) { block = event.getPlayer().getWorld().getBlockAt(new Location(event.getPlayer().getWorld(), event.getTo().getX(), event.getTo().getY() + 2, event.getTo().getZ())); control = event.getPlayer().getWorld().getBlockAt(new Location(event.getPlayer().getWorld(), event.getTo().getX(), event.getTo().getY() - 2, event.getTo().getZ())); if (!(block.getTypeId() != 0 || control.getTypeId() == 0)) { EvtJump custom = new EvtJump(event.getPlayer()); Bukkit.getServer().getPluginManager().callEvent(custom); if (custom.isCancelled()) { event.setCancelled(true); } } } }
private <TEvent extends Event, TPower extends Power, TResult, TReturn> void triggerPostFire(Player player, ItemStack itemStack, TEvent event, Trigger<TEvent, TPower, TResult, TReturn> trigger, Map<Power, PowerResult> resultMap, TReturn ret) { RPGItemsPowersPostFireEvent<TEvent, TPower, TResult, TReturn> postFire = new RPGItemsPowersPostFireEvent<>(player, itemStack, event, this, trigger, resultMap, ret); Bukkit.getServer().getPluginManager().callEvent(postFire); Context.instance().cleanTemp(player.getUniqueId()); if (getItemStackDurability(itemStack).map(d -> d <= 0).orElse(false)) { itemStack.setAmount(0); itemStack.setType(Material.AIR); } }
static void refreshPlayer(final Player player, final Player forWhom) { Preconditions.checkState(Main.getInst().isEnabled(), "Not Enabled!"); Preconditions.checkNotNull(player, "player"); Preconditions.checkNotNull(forWhom, "forWhom"); if (player != forWhom && player.getWorld() == forWhom.getWorld() && forWhom.canSee(player)) { forWhom.hidePlayer(player); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Main.getInst(), () -> forWhom.showPlayer(player), 2); } }
if (!testPermission(sender)) return true; if (args.length != 1) { sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; if (!sender.getServer().getPluginManager().useTimings()) { sender.sendMessage("Please enable timings by setting \"settings.plugin-profiling\" to true in bukkit.yml"); return true; fileNames = new PrintStream(names); for (Plugin plugin : Bukkit.getPluginManager().getPlugins()) { pluginIdx++; long totalTime = 0;
/** * Register a provider of a service. * * @param <T> Provider * @param service service class * @param provider provider to register * @param plugin plugin with the provider * @param priority priority of the provider */ public <T> void register(Class<T> service, T provider, Plugin plugin, ServicePriority priority) { RegisteredServiceProvider<T> registeredProvider = null; synchronized (providers) { List<RegisteredServiceProvider<?>> registered = providers.get(service); if (registered == null) { registered = new ArrayList<RegisteredServiceProvider<?>>(); providers.put(service, registered); } registeredProvider = new RegisteredServiceProvider<T>(service, provider, priority, plugin); // Insert the provider into the collection, much more efficient big O than sort int position = Collections.binarySearch(registered, registeredProvider); if (position < 0) { registered.add(-(position + 1), registeredProvider); } else { registered.add(position, registeredProvider); } } Bukkit.getServer().getPluginManager().callEvent(new ServiceRegisterEvent(registeredProvider)); }
/** * Clear the spam list periodically */ private void debounceRequests() { Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask( GlobalWarming.getInstance(), () -> { synchronized (this) { playerRequestList.clear(); } }, 0L, SPAM_INTERVAL_TICKS); }
public static final BukkitVersionHelper getHelper() { if(helper == null) { Log.info("version=" + Bukkit.getServer().getVersion()); if(Bukkit.getServer().getVersion().contains("MCPC")) { Log.severe("*********************************************************************************"); Log.severe("* MCPC-Plus is no longer supported via the Bukkit version of Dynmap. *"); Log.severe("* Install the appropriate Forge version of Dynmap. *"); Log.severe("* Add the DynmapCBBridge plugin to enable support for Dynmap-compatible plugins *"); Log.severe("*********************************************************************************"); } else if(Bukkit.getServer().getVersion().contains("BukkitForge")) { Log.severe("*********************************************************************************"); Log.severe("* BukkitForge is not supported via the Bukkit version of Dynmap. *"); Log.severe("* Install the appropriate Forge version of Dynmap. *"); Log.severe("* Add the DynmapCBBridge plugin to enable support for Dynmap-compatible plugins *"); Log.severe("*********************************************************************************"); } else if(Bukkit.getServer().getClass().getName().contains("GlowServer")) { Log.info("Loading Glowstone support"); helper = new BukkitVersionHelperGlowstone(); } else { helper = new BukkitVersionHelperCB(); } } return helper; } protected BukkitVersionHelper() {
/** * Adds this permission to the specified parent permission. * <p> * If the parent permission does not exist, it will be created and * registered. * * @param name Name of the parent permission * @param value The value to set this permission to * @return Parent permission it created or loaded */ public Permission addParent(String name, boolean value) { PluginManager pm = Bukkit.getServer().getPluginManager(); String lname = name.toLowerCase(); Permission perm = pm.getPermission(lname); if (perm == null) { perm = new Permission(lname); pm.addPermission(perm); } addParent(perm, value); return perm; }
@Override public void runCommand(CommandSender sender, Command baseCommand, String baseCommandLabel, String subCommandLabel, String[] subCommandArgs) { SetupData state; if (plugin.getConfiguration().isWorldeditHookEnabled() && plugin.getServer().getPluginManager().isPluginEnabled("WorldEdit")) { state = new WESetupData(plugin); } else { state = new SetupData(plugin); } state.setArenaName(subCommandArgs[0]); states.setSetupState(((Player) sender).getUniqueId(), state); sender.sendMessage(SkyTrans.get(TransKey.SWS_START_CONFIRMATION, subCommandArgs[0])); } }