Search in sources :

Example 41 with TextComponent

use of net.md_5.bungee.api.chat.TextComponent in project FireAPI by FireBlade-Serv.

the class StaffChatCommand method execute.

// ! = all en jeu
// : = staff chat
// @ = party chat
@Override
public void execute(CommandSender sender, String[] args) {
    if (sender instanceof ProxiedPlayer) {
        ProxiedPlayer pp = (ProxiedPlayer) sender;
        if (this.api.getRankSystem().hasRankAndSup(pp.getName(), Rank.GUIDE)) {
            if (this.players.containsKey(pp)) {
                pp.sendMessage(new TextComponent(this.pre + "§aBien, vous n'entendez plus les discutions du staff !"));
                this.players.remove(pp);
            } else {
                pp.sendMessage(new TextComponent(this.pre + "§aBien, vous entendez maintenant les discussions du staff !"));
                pp.sendMessage(new TextComponent(this.pre + "§oRappel : Utilisez ':' devant vos messages pour parler au reste du staff !"));
                this.players.put(pp, true);
            }
        } else {
            pp.sendMessage(new TextComponent(this.pre + "§cErreur vous n'avez pas la permission d'utiliser cette commande !"));
        }
    } else {
        if (this.consoleListen) {
            sender.sendMessage(new TextComponent(this.pre + "§aBien, vous n'entendez plus les discutions du staff !"));
            this.consoleListen = false;
        } else {
            sender.sendMessage(new TextComponent(this.pre + "§aBien, vous entendez maintenant les discussions du staff !"));
            this.consoleListen = true;
        }
    }
}
Also used : TextComponent(net.md_5.bungee.api.chat.TextComponent) ProxiedPlayer(net.md_5.bungee.api.connection.ProxiedPlayer)

Example 42 with TextComponent

use of net.md_5.bungee.api.chat.TextComponent in project FireAPI by FireBlade-Serv.

the class StaffChatCommand method send.

public void send(ProxiedPlayer p, String message) {
    String pname = this.api.getChatUtils().getStringRank(p.getName()) + " " + this.api.getChatUtils().getRankColor(p.getName()) + p.getName();
    Iterator<ProxiedPlayer> it = this.players.keySet().iterator();
    while (it.hasNext()) {
        ProxiedPlayer next = it.next();
        if (this.players.get(next)) {
            next.sendMessage(new TextComponent(this.pre + pname + "§r§o : " + message));
        }
    }
}
Also used : TextComponent(net.md_5.bungee.api.chat.TextComponent) ProxiedPlayer(net.md_5.bungee.api.connection.ProxiedPlayer)

Example 43 with TextComponent

use of net.md_5.bungee.api.chat.TextComponent in project solinia3-core by mixxit.

the class SoliniaPlayer method setInteraction.

@Override
public void setInteraction(UUID interaction, ISoliniaNPC npc) {
    if (interaction == null) {
        this.interaction = interaction;
        this.getBukkitPlayer().sendMessage(ChatColor.GRAY + "* You are no longer interacting");
        return;
    }
    Entity e = Bukkit.getEntity(interaction);
    if (e == null)
        return;
    if (!(e instanceof LivingEntity))
        return;
    if (((Creature) e).getTarget() != null) {
        if (interaction != null) {
            this.getBukkitPlayer().sendMessage(ChatColor.GRAY + "* You are no longer interacting");
            interaction = null;
        }
        return;
    }
    if (Bukkit.getEntity(interaction) instanceof Wolf) {
        Wolf w = (Wolf) Bukkit.getEntity(interaction);
        if (w.getOwner() != null)
            return;
    }
    this.interaction = interaction;
    if (npc != null) {
        this.getBukkitPlayer().sendMessage(ChatColor.GRAY + "* You are now interacting with " + Bukkit.getEntity(interaction).getName() + " [" + npc.getId() + "] - Anything you type will be heared by the NPC and possibly responded to. Words in pink are trigger words you can type");
        if (npc.getMerchantid() > 0) {
            try {
                StateManager.getInstance().getEntityManager().getLivingEntity((LivingEntity) e).say("i have a [" + ChatColor.LIGHT_PURPLE + "SHOP" + ChatColor.AQUA + "] available if you are interested in buying or selling something", getBukkitPlayer());
            } catch (CoreStateInitException cse) {
            // 
            }
        }
        for (ISoliniaNPCEventHandler eventHandler : npc.getEventHandlers()) {
            if (!eventHandler.getInteractiontype().equals(InteractionType.ITEM))
                continue;
            // See if player has any items that are wanted
            int itemId = Integer.parseInt(eventHandler.getTriggerdata());
            if (itemId == 0)
                continue;
            if (Utils.getPlayerTotalCountOfItemId(getBukkitPlayer(), itemId) < 1)
                continue;
            try {
                ISoliniaItem item = StateManager.getInstance().getConfigurationManager().getItem(itemId);
                TextComponent tc = new TextComponent();
                tc.setText(ChatColor.YELLOW + "[QUEST] ");
                TextComponent tc2 = new TextComponent();
                tc2.setText(ChatColor.GRAY + "- Click here to give " + item.getDisplayname() + ChatColor.RESET);
                tc2.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/npcgive " + itemId));
                tc.addExtra(tc2);
                getBukkitPlayer().spigot().sendMessage(tc);
            } catch (CoreStateInitException eNotInitialised) {
                continue;
            }
        }
    }
}
Also used : ISoliniaLivingEntity(com.solinia.solinia.Interfaces.ISoliniaLivingEntity) LivingEntity(org.bukkit.entity.LivingEntity) TextComponent(net.md_5.bungee.api.chat.TextComponent) ISoliniaLivingEntity(com.solinia.solinia.Interfaces.ISoliniaLivingEntity) Entity(org.bukkit.entity.Entity) LivingEntity(org.bukkit.entity.LivingEntity) ISoliniaItem(com.solinia.solinia.Interfaces.ISoliniaItem) ISoliniaNPCEventHandler(com.solinia.solinia.Interfaces.ISoliniaNPCEventHandler) CoreStateInitException(com.solinia.solinia.Exceptions.CoreStateInitException) ClickEvent(net.md_5.bungee.api.chat.ClickEvent) Wolf(org.bukkit.entity.Wolf)

Example 44 with TextComponent

use of net.md_5.bungee.api.chat.TextComponent in project solinia3-core by mixxit.

the class CommandAA method onCommand.

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (!(sender instanceof Player))
        return false;
    Player player = (Player) sender;
    try {
        ISoliniaPlayer solplayer = SoliniaPlayerAdapter.Adapt(player);
        player.sendMessage("Current AA Points: " + solplayer.getAAPoints());
        if (args.length < 1) {
            player.sendMessage(ChatColor.GRAY + "Insufficient arguments (list,buy)");
            return true;
        }
        switch(args[0]) {
            case "list":
                int pageno = 1;
                if (args.length > 1)
                    pageno = Integer.parseInt(args[1]);
                pageno = pageno - 1;
                int sizePerPage = 8;
                List<ISoliniaAARank> fullaaranks = solplayer.getBuyableAARanks();
                List<ISoliniaAARank> aaranks = fullaaranks.stream().skip(pageno * sizePerPage).limit(sizePerPage).collect(Collectors.toCollection(ArrayList::new));
                for (ISoliniaAARank aarank : aaranks) {
                    ISoliniaAAAbility aaAbility = StateManager.getInstance().getConfigurationManager().getAAAbility(aarank.getAbilityid());
                    if (aaAbility != null)
                        if (!aaAbility.isEnabled())
                            continue;
                    if (aarank.getCost() <= solplayer.getAAPoints()) {
                        if (solplayer.canPurchaseAlternateAdvancementRank(aaAbility, aarank)) {
                            TextComponent tc = new TextComponent();
                            tc.setText(ChatColor.LIGHT_PURPLE + aaAbility.getName() + " Rank " + aarank.getPosition() + ChatColor.RESET + " Cost: " + ChatColor.YELLOW + aarank.getCost() + ChatColor.RESET + " AA points /aa buy " + aarank.getId());
                            String details = ChatColor.GOLD + aaAbility.getName() + " Rank: " + aarank.getPosition() + ChatColor.RESET + "\n" + aarank.getDescription() + ChatColor.RESET;
                            tc.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder(details).create()));
                            sender.spigot().sendMessage(tc);
                        } else {
                            TextComponent tc = new TextComponent();
                            tc.setText(ChatColor.GRAY + "[NB] " + aaAbility.getName() + " Rank " + aarank.getPosition() + ChatColor.GRAY + " Cost: " + ChatColor.GRAY + aarank.getCost() + ChatColor.GRAY + " Cannot purchase yet");
                            String details = ChatColor.GOLD + aaAbility.getName() + " Rank: " + aarank.getPosition() + ChatColor.RESET + "\n" + aarank.getDescription() + ChatColor.RESET;
                            tc.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder(details).create()));
                            sender.spigot().sendMessage(tc);
                        }
                    } else {
                        TextComponent tc = new TextComponent();
                        tc.setText(ChatColor.GRAY + "[NA] " + aaAbility.getName() + " Rank " + aarank.getPosition() + ChatColor.GRAY + " Cost: " + ChatColor.RED + aarank.getCost() + ChatColor.GRAY + " Insufficient AA points");
                        String details = ChatColor.GOLD + aaAbility.getName() + " Rank: " + aarank.getPosition() + ChatColor.RESET + "\n" + aarank.getDescription() + ChatColor.RESET;
                        tc.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder(details).create()));
                        sender.spigot().sendMessage(tc);
                    }
                }
                player.sendMessage("Displayed Page " + ChatColor.GOLD + (pageno + 1) + ChatColor.RESET + "/" + ChatColor.GOLD + Math.ceil((float) fullaaranks.size() / (float) sizePerPage) + ChatColor.RESET + " (See /aa list <pageno>");
                player.sendMessage("More items may appear when you have more AA points available to spend");
                break;
            case "give":
                if (args.length < 3) {
                    player.sendMessage("That is not a valid player name and amount /aa give playername amount");
                    return true;
                }
                if (!player.isOp()) {
                    player.sendMessage("Op only command");
                    return true;
                }
                Player targetplayer = Bukkit.getPlayer(args[1]);
                if (targetplayer == null) {
                    player.sendMessage("Cannot find player");
                    return true;
                }
                int newpoints = Integer.parseInt(args[2]);
                if (newpoints < 1) {
                    player.sendMessage("Too few points never give them less than 1");
                    return true;
                }
                if (newpoints > 5) {
                    player.sendMessage("Too many points man.... never give them more than 5, its supposed to be hard to achieve");
                    return true;
                }
                ISoliniaPlayer targetsolplayer = SoliniaPlayerAdapter.Adapt(targetplayer);
                targetsolplayer.setAAPoints(targetsolplayer.getAAPoints() + newpoints);
                player.sendMessage("* Granted player " + newpoints + " aa points");
                targetplayer.sendMessage("* You have been granted " + newpoints + " AA points by Operator " + player.getName());
                break;
            case "buy":
                if (args.length < 2) {
                    player.sendMessage("That is not a valid AA rank id - /aa buy aaabilityrankid (see /aa list)");
                    return true;
                }
                int seekRankId = Integer.parseInt(args[1].toUpperCase());
                ISoliniaAARank aarank = StateManager.getInstance().getConfigurationManager().getAARank(seekRankId);
                if (aarank == null) {
                    player.sendMessage("That is not a valid AA rank id - /aa buy aaabilityrankid (see /aa list)");
                    return true;
                }
                ISoliniaAAAbility aa = StateManager.getInstance().getConfigurationManager().getAAAbility(aarank.getAbilityid());
                if (aa == null) {
                    player.sendMessage("That is not a valid AA rank id - /aa buy aaabilityrankid (see /aa list)");
                    return true;
                }
                if (!solplayer.canPurchaseAlternateAdvancementRank(aa, aarank)) {
                    player.sendMessage("You cannot buy that AA");
                    return true;
                }
                solplayer.purchaseAlternateAdvancementRank(aa, aarank);
                try {
                    ISoliniaLivingEntity solentity = SoliniaLivingEntityAdapter.Adapt(player);
                    if (player.getMaxHealth() < solentity.getMaxHP()) {
                        solplayer.updateMaxHp();
                    }
                } catch (CoreStateInitException e) {
                }
                return true;
            default:
                player.sendMessage(ChatColor.GRAY + "Invalid arguments (list,buy)");
                return true;
        }
    } catch (CoreStateInitException e) {
    }
    return true;
}
Also used : ISoliniaAARank(com.solinia.solinia.Interfaces.ISoliniaAARank) TextComponent(net.md_5.bungee.api.chat.TextComponent) HoverEvent(net.md_5.bungee.api.chat.HoverEvent) Player(org.bukkit.entity.Player) ISoliniaPlayer(com.solinia.solinia.Interfaces.ISoliniaPlayer) ISoliniaLivingEntity(com.solinia.solinia.Interfaces.ISoliniaLivingEntity) CoreStateInitException(com.solinia.solinia.Exceptions.CoreStateInitException) ISoliniaPlayer(com.solinia.solinia.Interfaces.ISoliniaPlayer) ISoliniaAAAbility(com.solinia.solinia.Interfaces.ISoliniaAAAbility) ComponentBuilder(net.md_5.bungee.api.chat.ComponentBuilder)

Example 45 with TextComponent

use of net.md_5.bungee.api.chat.TextComponent in project solinia3-core by mixxit.

the class CommandClaim method onCommand.

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    try {
        if (args.length < 1) {
            sender.sendMessage(ChatColor.GRAY + "Insufficient arguments (list,claim)");
            return true;
        }
        switch(args[0]) {
            case "list":
                if (!(sender instanceof Player))
                    return false;
                Player player = (Player) sender;
                ISoliniaPlayer solplayer = SoliniaPlayerAdapter.Adapt(player);
                sender.sendMessage("Current Claims: " + solplayer.getAccountClaims().size());
                for (SoliniaAccountClaim claim : solplayer.getAccountClaims()) {
                    ISoliniaItem item = StateManager.getInstance().getConfigurationManager().getItem(claim.getItemid());
                    if (item == null)
                        continue;
                    TextComponent tc = new TextComponent();
                    tc.setText(ChatColor.LIGHT_PURPLE + item.getDisplayname() + " /claim claim " + claim.getId());
                    tc.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_ITEM, new ComponentBuilder(item.asJsonString()).create()));
                    sender.spigot().sendMessage(tc);
                }
                return true;
            case "give":
                if (!sender.isOp())
                    return false;
                if (args.length < 3) {
                    sender.sendMessage("That is not a claim id - /claim give mcaccountname itemid");
                    return true;
                }
                String mcaccountname = args[1];
                int itemId = Integer.parseInt(args[2].toUpperCase());
                SoliniaAccountClaim newclaim = new SoliniaAccountClaim();
                newclaim.setId(StateManager.getInstance().getConfigurationManager().getNextAccountClaimId());
                newclaim.setMcname(mcaccountname);
                newclaim.setItemid(itemId);
                newclaim.setClaimed(false);
                StateManager.getInstance().getConfigurationManager().addAccountClaim(newclaim);
                sender.sendMessage("Account claim added!");
                return true;
            case "claim":
                if (!(sender instanceof Player))
                    return false;
                Player claimPlayer = (Player) sender;
                ISoliniaPlayer solClaimPlayer = SoliniaPlayerAdapter.Adapt(claimPlayer);
                sender.sendMessage("Current Claims: " + solClaimPlayer.getAccountClaims().size());
                if (args.length < 2) {
                    sender.sendMessage("That is not a claim id - /claim claim claimid (see /claim list)");
                    return true;
                }
                int seekClaimId = Integer.parseInt(args[1].toUpperCase());
                System.out.println("Looking up claims for player name: " + claimPlayer.getName() + " for claim ID: " + seekClaimId);
                SoliniaAccountClaim claim = StateManager.getInstance().getConfigurationManager().getAccountClaim(claimPlayer.getName().toUpperCase(), seekClaimId);
                if (claim == null) {
                    sender.sendMessage("That is not a valid claim - /claim claim claimid (see /claim list)");
                    return true;
                }
                ISoliniaItem item = StateManager.getInstance().getConfigurationManager().getItem(claim.getItemid());
                if (item == null) {
                    sender.sendMessage("That is not a valid claim item - /claim claim claimid (see /claim list)");
                    return true;
                }
                claimPlayer.getWorld().dropItemNaturally(claimPlayer.getLocation(), item.asItemStack());
                sender.sendMessage("Claim item dropped at your feet - ID: " + claim.getId());
                StateManager.getInstance().getConfigurationManager().removeClaim(claim.getId());
                return true;
            default:
                sender.sendMessage(ChatColor.GRAY + "Invalid arguments (list,claim)");
                return true;
        }
    } catch (CoreStateInitException e) {
    }
    return true;
}
Also used : SoliniaAccountClaim(com.solinia.solinia.Models.SoliniaAccountClaim) TextComponent(net.md_5.bungee.api.chat.TextComponent) HoverEvent(net.md_5.bungee.api.chat.HoverEvent) Player(org.bukkit.entity.Player) ISoliniaPlayer(com.solinia.solinia.Interfaces.ISoliniaPlayer) ISoliniaItem(com.solinia.solinia.Interfaces.ISoliniaItem) CoreStateInitException(com.solinia.solinia.Exceptions.CoreStateInitException) ISoliniaPlayer(com.solinia.solinia.Interfaces.ISoliniaPlayer) ComponentBuilder(net.md_5.bungee.api.chat.ComponentBuilder)

Aggregations

TextComponent (net.md_5.bungee.api.chat.TextComponent)50 CoreStateInitException (com.solinia.solinia.Exceptions.CoreStateInitException)12 ProxiedPlayer (net.md_5.bungee.api.connection.ProxiedPlayer)12 Player (org.bukkit.entity.Player)12 ISoliniaPlayer (com.solinia.solinia.Interfaces.ISoliniaPlayer)11 ClickEvent (net.md_5.bungee.api.chat.ClickEvent)11 ComponentBuilder (net.md_5.bungee.api.chat.ComponentBuilder)9 HoverEvent (net.md_5.bungee.api.chat.HoverEvent)9 IOException (java.io.IOException)6 Configuration (net.md_5.bungee.config.Configuration)6 YamlConfiguration (net.md_5.bungee.config.YamlConfiguration)6 ISoliniaItem (com.solinia.solinia.Interfaces.ISoliniaItem)5 ArrayList (java.util.ArrayList)5 ISoliniaLivingEntity (com.solinia.solinia.Interfaces.ISoliniaLivingEntity)4 ISoliniaSpell (com.solinia.solinia.Interfaces.ISoliniaSpell)4 DecimalFormat (java.text.DecimalFormat)4 SoliniaItemException (com.solinia.solinia.Exceptions.SoliniaItemException)3 SoliniaActiveSpell (com.solinia.solinia.Models.SoliniaActiveSpell)3 File (java.io.File)3 EventHandler (net.md_5.bungee.event.EventHandler)3