Java Code Examples for org.bukkit.plugin.PluginManager#callEvent()

The following examples show how to use org.bukkit.plugin.PluginManager#callEvent() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CombatManager.java    From CombatLogX with GNU General Public License v3.0 6 votes vote down vote up
@Override
public void untag(Player player, PlayerUntagEvent.UntagReason untagReason) {
    if(player == null | untagReason == null || !isInCombat(player)) return;

    UUID uuid = player.getUniqueId();
    uuidToExpireTime.remove(uuid);

    UUID previousEnemyId = uuidToEnemy.remove(uuid);
    Entity previousEnemyEntity = (previousEnemyId != null ? getEntityByUUID(previousEnemyId) : null);
    LivingEntity previousEnemy = (previousEnemyEntity instanceof LivingEntity ? (LivingEntity) previousEnemyEntity : null);

    PlayerUntagEvent untagEvent = new PlayerUntagEvent(player, untagReason, previousEnemy);

    PluginManager manager = Bukkit.getPluginManager();
    manager.callEvent(untagEvent);
}
 
Example 2
Source File: CombatManager.java    From CombatLogX with GNU General Public License v3.0 5 votes vote down vote up
@Override
public boolean punish(Player player, PlayerUntagEvent.UntagReason punishReason, LivingEntity previousEnemy) {
    PlayerPunishEvent punishEvent = new PlayerPunishEvent(player, punishReason, previousEnemy);
    PluginManager manager = Bukkit.getPluginManager();

    manager.callEvent(punishEvent);
    if(punishEvent.isCancelled()) return false;

    checkKill(player);
    runPunishCommands(player, previousEnemy);
    return true;
}
 
Example 3
Source File: CombatManager.java    From CombatLogX with GNU General Public License v3.0 5 votes vote down vote up
@Override
public void run() {
    PluginManager manager = Bukkit.getPluginManager();
    List<Player> combatPlayerList = getPlayersInCombat();
    for(Player player : combatPlayerList) {
        int timeLeft = getTimerSecondsLeft(player);
        if(timeLeft <= 0) untag(player, PlayerUntagEvent.UntagReason.EXPIRE);

        PlayerCombatTimerChangeEvent event = new PlayerCombatTimerChangeEvent(player, timeLeft);
        manager.callEvent(event);
    }
}
 
Example 4
Source File: CombatManager.java    From CombatLogX with GNU General Public License v3.0 5 votes vote down vote up
private boolean failsPreTagEvent(Player player, LivingEntity enemy, PlayerPreTagEvent.TagType tagType, PlayerPreTagEvent.TagReason tagReason) {
    PluginManager manager = Bukkit.getPluginManager();
    PlayerPreTagEvent event = new PlayerPreTagEvent(player, enemy, tagType, tagReason);

    manager.callEvent(event);
    return event.isCancelled();
}
 
Example 5
Source File: ReloadCommand.java    From DungeonsXL with GNU General Public License v3.0 5 votes vote down vote up
@Override
public void onExecute(String[] args, CommandSender sender) {
    Collection<InstancePlayer> dPlayers = this.dPlayers.getAllInstancePlayers();
    if (!dPlayers.isEmpty() && args.length == 1 && sender instanceof Player) {
        MessageUtil.sendMessage(sender, DMessage.CMD_RELOAD_PLAYERS.getMessage());
        ClickEvent onClick = new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/dungeonsxl reload -force");
        String message = DefaultFontInfo.center(DMessage.BUTTON_OKAY.getMessage());
        TextComponent text = new TextComponent(message);
        text.setClickEvent(onClick);
        MessageUtil.sendMessage(sender, text);
        return;
    }

    PluginManager plugins = Bukkit.getPluginManager();

    DataReloadEvent event = new DataReloadEvent();
    plugins.callEvent(event);
    if (event.isCancelled()) {
        return;
    }

    dPlayers.forEach(InstancePlayer::leave);

    int maps = DungeonsXL.MAPS.listFiles().length - 1;
    int dungeons = DungeonsXL.DUNGEONS.listFiles().length;
    int loaded = plugin.getInstanceCache().size();
    int players = this.dPlayers.getAllGamePlayers().size();
    Internals internals = CompatibilityHandler.getInstance().getInternals();
    String vault = "";
    if (plugins.getPlugin("Vault") != null) {
        vault = plugins.getPlugin("Vault").getDescription().getVersion();
    }
    String ixl = "";
    if (plugins.getPlugin("ItemsXL") != null) {
        ixl = plugins.getPlugin("ItemsXL").getDescription().getVersion();
    }

    plugin.onDisable();
    plugin.initFolders();
    plugin.loadConfig();
    plugin.createCaches();
    plugin.initCaches();
    plugin.loadData();

    MessageUtil.sendPluginTag(sender, plugin);
    MessageUtil.sendCenteredMessage(sender, DMessage.CMD_RELOAD_SUCCESS.getMessage());
    MessageUtil.sendCenteredMessage(sender, DMessage.CMD_MAIN_LOADED.getMessage(String.valueOf(maps), String.valueOf(dungeons), String.valueOf(loaded), String.valueOf(players)));
    MessageUtil.sendCenteredMessage(sender, DMessage.CMD_MAIN_COMPATIBILITY.getMessage(String.valueOf(internals), vault, ixl));
}