Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Ошибка в плагине. (Скорее всего из-за кривого использования Vault API)

Тема в разделе "Разработка плагинов для новичков", создана пользователем makarorton, 27 апр 2017.

  1. Автор темы
    makarorton

    makarorton Активный участник Пользователь

    Баллы:
    66
    Skype:
    orton_99
    Имя в Minecraft:
    TheFatCat_
    Всем привет!
    Помогите, пожалуйста исправить ошибку.
    Извиняюсь, что всё в мейне, это из-за того, что вообще не понимаю Vault API.
    Ошибка:
    upload_2017-4-27_22-46-54.png
    Main:

    package ru.orton.playerguiinfo;

    import java.util.ArrayList;

    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.SkullType;
    import org.bukkit.Statistic;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.SkullMeta;
    import org.bukkit.plugin.RegisteredServiceProvider;
    import org.bukkit.plugin.java.JavaPlugin;

    import net.md_5.bungee.api.ChatColor;
    import net.milkbowl.vault.economy.Economy;
    import net.milkbowl.vault.permission.Permission;

    public class Main extends JavaPlugin implements Listener{

    public static Economy econ = null;
    public static Permission perm = null;

    private Commands commands = new Commands();

    @Override
    public void onEnable(){
    Bukkit.getServer().getPluginManager().registerEvents(this, this);

    getCommand(commands.cmd1).setExecutor(commands);

    setupPermissions();
    setupEconomy();
    }

    @Override
    public void onDisable(){
    }

    //Economy
    private boolean setupEconomy() {
    if (getServer().getPluginManager().getPlugin("Vault") == null) {
    return false;
    }
    RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
    if (rsp == null) {
    return false;
    }
    econ = rsp.getProvider();
    return econ != null;
    }

    //Permissions
    private boolean setupPermissions(){
    RegisteredServiceProvider<Permission> permissionProvider = getServer().getServicesManager().getRegistration(Permission.class);
    if (permissionProvider != null) {
    perm = (Permission)permissionProvider.getProvider();
    }
    return perm != null;
    }

    //GUI
    public void newInventory(Player player){

    Inventory i = getServer().createInventory(player, 9,
    ChatColor.RED + "Player Info");

    ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) SkullType.PLAYER.ordinal());

    SkullMeta meta = (SkullMeta) skull.getItemMeta();

    meta.setOwner(player.getName());

    meta.setDisplayName(ChatColor.YELLOW + "Информация об" + ChatColor.GREEN + player.getName());

    ArrayList<String> lore = new ArrayList<String>();

    lore.add(ChatColor.RED + "> Ник: " + ChatColor.GRAY + player.getName());
    lore.add(ChatColor.RED + "> Группа: " + perm.getPrimaryGroup(player));
    lore.add(ChatColor.RED + "> Жизни: " + ChatColor.GRAY + player.getHealth()
    + ChatColor.DARK_RED + "❤" + ChatColor.GRAY + " / " + player.getMaxHealth() + ChatColor.DARK_RED + "❤");
    lore.add(ChatColor.RED + "> Голод: " + ChatColor.GRAY + player.getFoodLevel());
    lore.add(ChatColor.RED + "> Количество убийств: " + ChatColor.GRAY + player.getStatistic(Statistic.PLAYER_KILLS));
    lore.add(ChatColor.RED + "> Количество убийств мобов: " + ChatColor.GRAY + player.getStatistic(Statistic.MOB_KILLS));
    lore.add(ChatColor.RED + "> Количество смертей: " + ChatColor.GRAY + player.getStatistic(Statistic.DEATHS));
    lore.add(ChatColor.RED + "> Нанесено урона: " + ChatColor.GRAY + player.getStatistic(Statistic.DAMAGE_DEALT));
    lore.add(ChatColor.RED + "> Получено урона: " + ChatColor.GRAY + player.getStatistic(Statistic.DAMAGE_TAKEN));
    lore.add(ChatColor.RED + "> Часов на сервере: " + ChatColor.GRAY + player.getStatistic(Statistic.PLAY_ONE_TICK) / 72000);
    lore.add(ChatColor.RED + "> Баланс: " + econ.getBalance(player));
    lore.add(ChatColor.RED + "> Работа: ");
    lore.add(ChatColor.RED + "> Клан: ");

    meta.setLore(lore);
    skull.setItemMeta(meta);

    i.setItem(0, skull);

    player.openInventory(i);
    }


    }
    КоммандМенеджер:

    package ru.orton.playerguiinfo;

    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;

    import net.minecraft.server.v1_10_R1.CommandExecute;

    public class Commands extends CommandExecute implements Listener, CommandExecutor{

    public String cmd1 = "fpi";
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg) {
    if(sender instanceof Player) {
    if(sender.hasPermission("pgi.use"))
    if (cmd.getName().equalsIgnoreCase(cmd1)) {
    Player player = (Player) sender;

    Main i = new Main();

    i.newInventory(player);

    }
    }
    return true;
    }
    }
    Спасибо за помощь. :_)
     
  2. Хостинг MineCraft
    <
  3. xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Плагин уже загружен
    2 одинаковых плагина
     

Поделиться этой страницей