Search in sources :

Example 11 with Entity

use of net.md_5.bungee.api.chat.hover.content.Entity in project solinia3-core by mixxit.

the class CommandListCrafts method onCommand.

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (!(sender instanceof Player) && !(sender instanceof CommandSender))
        return false;
    if (!sender.isOp() && !sender.hasPermission("solinia.listcrafts")) {
        sender.sendMessage("You do not have permission to access this command");
        return false;
    }
    try {
        if (args.length == 0) {
            // Return all
            for (SoliniaCraft entity : StateManager.getInstance().getConfigurationManager().getCrafts()) {
                TextComponent textComponent = new TextComponent();
                String title = "CraftID: " + ChatColor.GOLD + entity.getId() + ChatColor.RESET + " - " + entity.getRecipeName() + " outputId: " + entity.getOutputItem();
                textComponent.setText(title);
                String transfertext = "/editcraft " + entity.getId() + "";
                textComponent.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, transfertext));
                sender.spigot().sendMessage(textComponent);
            }
            return true;
        }
        if (args.length > 0 && args[0].equals(".criteria")) {
            try {
                ChatUtils.sendFilterByCriteria(StateManager.getInstance().getConfigurationManager().getCrafts(), sender, args, SoliniaCraft.class);
                return true;
            } catch (CoreStateInitException e) {
                // TODO Auto-generated catch block
                sender.sendMessage(e.getMessage());
                e.printStackTrace();
            }
        }
        // Filter for name
        for (SoliniaCraft entity : StateManager.getInstance().getConfigurationManager().getCrafts()) {
            if (entity.getRecipeName().toUpperCase().contains(args[0].toUpperCase())) {
                TextComponent textComponent = new TextComponent();
                String title = "CraftID: " + ChatColor.GOLD + entity.getId() + ChatColor.RESET + " - " + entity.getRecipeName() + " outputId: " + entity.getOutputItem();
                textComponent.setText(title);
                String transfertext = "/editcraft " + entity.getId() + "";
                textComponent.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, transfertext));
                sender.spigot().sendMessage(textComponent);
            }
        }
    } catch (CoreStateInitException e) {
        sender.sendMessage(e.getMessage());
    }
    return true;
}
Also used : TextComponent(net.md_5.bungee.api.chat.TextComponent) Player(org.bukkit.entity.Player) CoreStateInitException(com.solinia.solinia.Exceptions.CoreStateInitException) ClickEvent(net.md_5.bungee.api.chat.ClickEvent) SoliniaCraft(com.solinia.solinia.Models.SoliniaCraft) CommandSender(org.bukkit.command.CommandSender)

Example 12 with Entity

use of net.md_5.bungee.api.chat.hover.content.Entity in project solinia3-core by mixxit.

the class CommandListDisguises method onCommand.

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (!(sender instanceof Player) && !(sender instanceof CommandSender))
        return false;
    if (!sender.isOp() && !sender.hasPermission("solinia.listdisguises")) {
        sender.sendMessage("You do not have permission to access this command");
        return false;
    }
    try {
        if (args.length == 0) {
            // Return all
            for (SoliniaDisguise entity : StateManager.getInstance().getConfigurationManager().getSoliniaDisguises()) {
                TextComponent textComponent = new TextComponent();
                String title = "DisguiseId: " + ChatColor.GOLD + entity.getId() + ChatColor.RESET + " - " + entity.getDisguiseName();
                textComponent.setText(title);
                String transfertext = "/editdisguise" + entity.getId() + "";
                textComponent.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, transfertext));
                sender.spigot().sendMessage(textComponent);
            }
            return true;
        }
        if (args.length > 0 && args[0].equals(".criteria")) {
            try {
                ChatUtils.sendFilterByCriteria(StateManager.getInstance().getConfigurationManager().getSoliniaDisguises(), sender, args, SoliniaDisguise.class);
                return true;
            } catch (CoreStateInitException e) {
                // TODO Auto-generated catch block
                sender.sendMessage(e.getMessage());
                e.printStackTrace();
            }
        }
        // Filter for name
        for (SoliniaDisguise entity : StateManager.getInstance().getConfigurationManager().getSoliniaDisguises()) {
            if (entity.getDisguiseName().toUpperCase().contains(args[0].toUpperCase())) {
                TextComponent textComponent = new TextComponent();
                String title = "DisguiseID: " + ChatColor.GOLD + entity.getId() + ChatColor.RESET + " - " + entity.getDisguiseName();
                textComponent.setText(title);
                String transfertext = "/editdisguise " + entity.getId() + "";
                textComponent.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, transfertext));
                sender.spigot().sendMessage(textComponent);
            }
        }
    } catch (CoreStateInitException e) {
        sender.sendMessage(e.getMessage());
    }
    return true;
}
Also used : TextComponent(net.md_5.bungee.api.chat.TextComponent) Player(org.bukkit.entity.Player) CoreStateInitException(com.solinia.solinia.Exceptions.CoreStateInitException) ClickEvent(net.md_5.bungee.api.chat.ClickEvent) CommandSender(org.bukkit.command.CommandSender) SoliniaDisguise(com.solinia.solinia.Models.SoliniaDisguise)

Aggregations

TextComponent (net.md_5.bungee.api.chat.TextComponent)8 Player (org.bukkit.entity.Player)8 CoreStateInitException (com.solinia.solinia.Exceptions.CoreStateInitException)6 Entity (org.bukkit.entity.Entity)6 ArrayList (java.util.ArrayList)4 BaseComponent (net.md_5.bungee.api.chat.BaseComponent)4 ISoliniaItem (com.solinia.solinia.Interfaces.ISoliniaItem)3 ISoliniaLivingEntity (com.solinia.solinia.Interfaces.ISoliniaLivingEntity)3 ISoliniaPlayer (com.solinia.solinia.Interfaces.ISoliniaPlayer)3 ClickEvent (net.md_5.bungee.api.chat.ClickEvent)3 ItemStack (org.bukkit.inventory.ItemStack)3 ClientOption (com.destroystokyo.paper.ClientOption)2 MaterialTags (com.destroystokyo.paper.MaterialTags)2 Title (com.destroystokyo.paper.Title)2 PlayerProfile (com.destroystokyo.paper.profile.PlayerProfile)2 Message (com.flowpowered.network.Message)2 Preconditions (com.google.common.base.Preconditions)2 Preconditions.checkArgument (com.google.common.base.Preconditions.checkArgument)2 Preconditions.checkNotNull (com.google.common.base.Preconditions.checkNotNull)2 ImmutableList (com.google.common.collect.ImmutableList)2