[1.12.2]Vaultの使用について・・・

Modやプラグインの制作/開発に関する質問はこちらへどうぞ。
meoto2408
ID: 4XDP7I7GTZ
記事: 5
登録日時: 2019年7月25日(木) 09:07
Minecraft ID: Monster2408

[1.12.2]Vaultの使用について・・・

投稿記事 by meoto2408 » 2019年11月18日(月) 03:05

Vaultのお金要素を使いたくて独自PLにコードを追加しているのですが、参考にできる日本語サイトがないため英字サイトを参考にしながらコードを書き来ました。

その結果、エラーが発生しました。
エラー

コード: 全て選択

[02:54:39 ERROR]: Error occurred while enabling MLSPlugin v1.0-SNAPSHOT (Is it up to date?)
java.lang.NoClassDefFoundError: net/milkbowl/vault/economy/Economy
        at jp.dip.monsterlifeserver.mlsplugin.mlsplugin.MLSPlugin.onEnable(MLSPlugin.java:128) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:395) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:344) ~[patched_1.12.2.jar:git-Paper-1613]
        at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:442) ~[patched_1.12.2.jar:git-Paper-1613]
        at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:403) ~[patched_1.12.2.jar:git-Paper-1613]
        at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:341) ~[patched_1.12.2.jar:git-Paper-1613]
        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:289) ~[patched_1.12.2.jar:git-Paper-1613]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616) ~[patched_1.12.2.jar:git-Paper-1613]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_211]
Caused by: java.lang.ClassNotFoundException: net.milkbowl.vault.economy.Economy
        at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_211]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:156) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[patched_1.12.2.jar:git-Paper-1613]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_211]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_211]
        ... 12 more
[02:54:39 INFO]: [MLSPlugin] Disabling MLSPlugin v1.0-SNAPSHOT
[02:54:39 ERROR]: Error occurred while disabling MLSPlugin v1.0-SNAPSHOT (Is it up to date?)
java.lang.NullPointerException: null
        at jp.dip.monsterlifeserver.mlsplugin.mlsplugin.MLSPlugin.onDisable(MLSPlugin.java:250) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:266) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:350) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:437) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:320) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:395) ~[patched_1.12.2.jar:git-Paper-1613]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:344) ~[patched_1.12.2.jar:git-Paper-1613]
        at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:442) ~[patched_1.12.2.jar:git-Paper-1613]
        at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:403) ~[patched_1.12.2.jar:git-Paper-1613]
        at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:341) ~[patched_1.12.2.jar:git-Paper-1613]
        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:289) ~[patched_1.12.2.jar:git-Paper-1613]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616) ~[patched_1.12.2.jar:git-Paper-1613]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_211]
MLSPlugin.java(Main)

コード: 全て選択

package jp.dip.monsterlifeserver.mlsplugin.mlsplugin;

import jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color;
import jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.CustomConfig;
import jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Utility.ChannelStatus;
import jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.teiki_msg;
import jp.dip.monsterlifeserver.mlsplugin.mlsplugin.Discord.DiscordEvent;
import jp.dip.monsterlifeserver.mlsplugin.mlsplugin.Listener.*;
import net.dv8tion.jda.core.JDA;
import net.dv8tion.jda.core.JDABuilder;
import net.dv8tion.jda.core.entities.Guild;
import net.dv8tion.jda.core.entities.Role;
import net.dv8tion.jda.core.entities.TextChannel;
import net.dv8tion.jda.core.entities.VoiceChannel;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.ScoreboardManager;

import javax.security.auth.login.LoginException;
import net.milkbowl.vault.economy.Economy;
import java.util.*;

public final class MLSPlugin extends JavaPlugin {

    public static CustomConfig config;
    public static CustomConfig msg_conf;
    public static CustomConfig dis_conf;
    public static CustomConfig data;

    public static ArrayList<String> owner;
    public static ArrayList<String> owner_sub;
    public static ArrayList<String> admin;

    public static String Ver;

    //Prefix
    public static String pre_owner;
    public static String pre_owner_sub;
    public static String pre_member;
    public static String pre_admin;
    public static String PLPrefix;

    //Discord
    public static Long GuildID;
    public static Long ChatID;
    public static Long ConsoleID;
    public static Long ReportID;
    public static Long VoiceID;
    public static Long RoleID;
    public static JDA jda;
    public static String token;
    public static String GameStatus;

    public static Long r_ownerID;
    public static Long r_owner_subID;
    public static Long r_adminID;

    //Discord Channel
    public static TextChannel ChatCh;
    public static TextChannel ConsoleCh;
    public static TextChannel ReportCh;
    public static VoiceChannel VoiceCh;
    public static Guild Guild;
    public static Role Role;

    public static Role r_owner;
    public static Role r_owner_sub;
    public static Role r_admin;

    //Topic
    public static String online_chat;
    public static String online_console;
    public static String offline_chat;
    public static String offline_console;

    //Minecraft Text
    public static String mc_join;
    public static String kick;

    //Tablist
    public static String Header;
    public static String Footer;

    //Discord Text
    public static String dis_join;

    public static ArrayList<String> list;

    // メインスコアボードを取得します。
    public static ScoreboardManager manager;
    public static Scoreboard board;

    public static Plugin plugin;

    public  static Economy eco;

    /** オブジェクトの名前 */
    private static final String OBJECTIVE_NAME = "showhealth";

    public static HashMap<UUID, Double> moneyMap;
    public static HashMap<UUID, Location> location1;
    public static HashMap<UUID, Location> location2;

    public static double BlockCost;

    @Override
    public void onEnable() {
        //ironna data
        moneyMap = new HashMap<>();
        location1 = new HashMap<>();
        location2 = new HashMap<>();

        // Plugin startup logic
        Ver = getDescription().getVersion();
        plugin = this;

        eco = null;
        RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(Economy.class);
        if (economyProvider != null) {
            eco = economyProvider.getProvider();
        }

        // load config files
        config = new CustomConfig(plugin);
        msg_conf = new CustomConfig(plugin, "message.yml");
        dis_conf = new CustomConfig(plugin, "discord.yml");
        data = new CustomConfig(plugin, "data.yml");

        config.saveDefaultConfig();
        msg_conf.saveDefaultConfig();
        dis_conf.saveDefaultConfig();
        data.saveDefaultConfig();

        BlockCost = config.getConfig().getDouble("BlockCost");

        manager = Bukkit.getScoreboardManager();
        board = manager.getMainScoreboard();

        Objective objective = board.getObjective(OBJECTIVE_NAME);
        if ( objective == null ) {
            objective = board.registerNewObjective(OBJECTIVE_NAME, "health");
            objective.setDisplaySlot(DisplaySlot.BELOW_NAME);
            objective.setDisplayName(ChatColor.RED + "♥");
        }
        for (Player player : Bukkit.getOnlinePlayers()) {
            objective.getScore(player).setScore((int)player.getHealth());
        }

        token = dis_conf.getConfig().getString("token");

        try {
            jda = new JDABuilder(token)
                    .addEventListener(new DiscordEvent())
                    .build();
        } catch (LoginException e) {
            e.printStackTrace();
        }

        try {
            jda.awaitReady();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        //Prefix
        pre_owner = MLSPlugin.config.getConfig().getString("Prefix.Owner");
        pre_owner_sub = MLSPlugin.config.getConfig().getString("Prefix.Owner_sub");
        pre_admin = MLSPlugin.config.getConfig().getString("Prefix.Admin");
        pre_member = MLSPlugin.config.getConfig().getString("Prefix.Member");

        list = (ArrayList<String>) data.getConfig().getStringList("vote");

        owner = (ArrayList<String>) config.getConfig().getStringList("owner.uuid");
        owner_sub = (ArrayList<String>) config.getConfig().getStringList("owner_sub.uuid");
        admin = (ArrayList<String>) config.getConfig().getStringList("admin.uuid");

        //load Discord message value
        dis_join = msg_conf.getConfig().getString("discord.join");

        //load Minecraft message value
        mc_join = msg_conf.getConfig().getString("mc.join");
        kick = msg_conf.getConfig().getString("mc.kick");

        //load Tablist Text
        Header = config.getConfig().getString("Tablist.Header");
        Footer = config.getConfig().getString("Tablist.Footer");

        PLPrefix = config.getConfig().getString("Prefix.Plugin");
        PLPrefix = Color.replaceColorCode(PLPrefix);
        String enable = msg_conf.getConfig().getString("mc.enable");
        enable = Color.replaceColorCode(enable);

        getServer().getPluginManager().registerEvents(new Join(), plugin);
        getServer().getPluginManager().registerEvents(new Quit(), plugin);
        getServer().getPluginManager().registerEvents(new Arashi(), plugin);
        getServer().getPluginManager().registerEvents(new Chat(), plugin);
        getServer().getPluginManager().registerEvents(new Break(), plugin);
        getServer().getPluginManager().registerEvents(new Drop(), plugin);
        getServer().getPluginManager().registerEvents(new Move(), plugin);
        getServer().getPluginManager().registerEvents(new PickUp(), plugin);
        getServer().getPluginManager().registerEvents(new Damage(), plugin);
        getServer().getPluginManager().registerEvents(new Place(), plugin);
        getServer().getPluginManager().registerEvents(new WorldChange(), plugin);
        getServer().getPluginManager().registerEvents(new Vote(), plugin);
        getServer().getPluginManager().registerEvents(new Asure(), plugin);
        getServer().getPluginManager().registerEvents(new regionCreate(), plugin);

        getCommand("report").setExecutor(new Commands());
        getCommand("mlog").setExecutor(new Commands());
        getCommand("mls").setExecutor(new Commands());
        getCommand("menu").setExecutor(new Commands());
        getCommand("afk").setExecutor(new Commands());

        getLogger().info(PLPrefix + enable + "Ver." + Ver);
        String dis_ena = msg_conf.getConfig().getString("discord.enable");

        ChatCh.sendMessage(dis_ena).queue();
        ConsoleCh.sendMessage(dis_ena).queue();
        ChannelStatus.setOnlineChannelStatus();

        int count = 300;

        BukkitRunnable task = new BukkitRunnable() {
            int i = count;
            public void run() {
                if (i==0) {
                    new teiki_msg();
                    i = count;
                }
                i--;
            }
        };
        task.runTaskTimer(plugin, 0L, 20L);

    }

    @Override
    public void onDisable() {
        // Plugin shutdown logic
        String dis_disa = msg_conf.getConfig().getString("discord.disable");

        String disable = msg_conf.getConfig().getString("mc.disable");
        disable = Color.replaceColorCode(disable);

        ChatCh.sendMessage(dis_disa).queue();
        ConsoleCh.sendMessage(dis_disa).queue();

        data.getConfig().set("vote", null);
        data.getConfig().set("vote", list);

        ChannelStatus.setOfflineChannelStatus();

        jda.shutdown();

        data.saveConfig();
        config.saveConfig();
        dis_conf.saveConfig();
        msg_conf.saveConfig();

        list.clear();

        getLogger().info(PLPrefix + disable + "Ver." + Ver);
    }
}
Commands.java

コード: 全て選択

package jp.dip.monsterlifeserver.mlsplugin.mlsplugin;

import jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.CustomItem;
import jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.checkPlayerData;
import net.milkbowl.vault.economy.Economy;
import net.dv8tion.jda.core.EmbedBuilder;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;

import java.awt.*;

import static jp.dip.monsterlifeserver.mlsplugin.mlsplugin.MLSPlugin.*;

public class Commands implements CommandExecutor {

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        Player player = (Player) sender;
        if (cmd.getName().equalsIgnoreCase("report")) {
            if (args == null) {
                sender.sendMessage(MLSPlugin.PLPrefix + ChatColor.RED + "報告内容を入力してください。");
                return false;
            }
            if (args.length == 1 && sender instanceof Player) {

                String url = "https://ja.namemc.com/profile/" + ((Player) sender).getUniqueId() + "?q=" + ((Player) sender).getUniqueId();
                String icon = "https://minotar.net/helm/" + ((Player) sender).getUniqueId() + "/100.png";

                MLSPlugin.ReportCh.sendMessage(new EmbedBuilder()
                        .setTitle("報告", url)
                        .addField("報告者", sender.getName(), true)
                        .addField("報告", args[0], true)
                        .setColor(Color.RED)
                        .setThumbnail(icon)
                        .build()).queue();
            } else if (args.length >= 2 && sender instanceof Player) {

                String url = "https://ja.namemc.com/profile/" + ((Player) sender).getUniqueId() + "?q=" + ((Player) sender).getUniqueId();
                String icon = "https://minotar.net/helm/" + ((Player) sender).getUniqueId() + "/100.png";

                int i = args.length;
                int c = 0;

                String one = null;

                for (String text : args) {
                    c++;
                    if (c == i) {
                        if (one == null) {
                            one = text;
                        } else {
                            one += text;
                        }
                    } else {
                        if (one == null) {
                            one = text + "\n";
                        } else {
                            one += text + "\n";
                        }
                    }
                }

                MLSPlugin.ReportCh.sendMessage(new EmbedBuilder()
                        .setTitle("報告", url)
                        .addField("報告者", sender.getName(), true)
                        .addField("報告", one, true)
                        .setColor(Color.RED)
                        .setThumbnail(icon)
                        .build()).queue();
            }
            return true;
        } else if (cmd.getName().equalsIgnoreCase("mlog")) {
            if (sender instanceof ConsoleCommandSender) {
                if (args == null) {
                    MLSPlugin.ConsoleCh.sendMessage("test");
                    return false;
                }
                if (args.length == 1) {
                    MLSPlugin.ConsoleCh.sendMessage("[MLS] " + args[0]).queue();
                } else if (args.length >= 2) {
                    int i = args.length;
                    int c = 0;

                    String one = null;

                    for (String text : args) {
                        c++;
                        if (c == i) {
                            one += text;
                        } else {
                            one += text + "\n";
                        }
                    }
                    MLSPlugin.ConsoleCh.sendMessage("[MLS] " + one).queue();
                } else {
                    sender.sendMessage(PLPrefix + ChatColor.RED + "あなたにそのコマンドを実行する権限はありません。");
                }
            }
            return true;
        } else if (cmd.getName().equalsIgnoreCase("mls")) {
            if (args[0].equalsIgnoreCase("toti")) {
                if (args[1].equalsIgnoreCase("list")) {
                    sender.sendMessage("test");
                    return true;
                }
                if (args[1].equalsIgnoreCase("check")) {
                    Location loc1 = location1.get(player.getUniqueId());
                    Location loc2 = location2.get(player.getUniqueId());
                    if (loc1 != null || loc2 != null) {
                        double x1 = loc1.getX();
                        double y1 = loc1.getY();
                        double z1 = loc1.getZ();
                        double x2 = loc2.getX();
                        double y2 = loc2.getY();
                        double z2 = loc2.getZ();
                        double x;
                        x = Math.abs(x1 - x2) + 1;
                        double y;
                        y = Math.abs(y1 - y2) + 1;
                        double z;
                        z = Math.abs(z1 - z2) + 1;

                        double cost = x * y * z * BlockCost;

                        sender.sendMessage(PLPrefix + ChatColor.AQUA + cost + "円かかります。");
                    }
                    return true;
                }
                if (args[1].equalsIgnoreCase("get")) {
                    if (!args[1].isEmpty()) {
                        Location loc1 = location1.get(player.getUniqueId());
                        Location loc2 = location2.get(player.getUniqueId());
                        if (loc1 != null || loc2 != null) {
                            double x1 = loc1.getX();
                            double y1 = loc1.getY();
                            double z1 = loc1.getZ();
                            double x2 = loc2.getX();
                            double y2 = loc2.getY();
                            double z2 = loc2.getZ();
                            double x;
                            x = Math.abs(x1 - x2) + 1;
                            double y;
                            y = Math.abs(y1 - y2) + 1;
                            double z;
                            z = Math.abs(z1 - z2) + 1;

                            double cost = x * y * z * BlockCost;

                            sender.sendMessage(PLPrefix + ChatColor.AQUA + cost + "円かかります。");
                        }
                    }
                    return true;
                }
            }
            if (args[0].equalsIgnoreCase("money")) {
                if (args[1].equalsIgnoreCase("check")) {
                    if (args[2].isEmpty()) {
                        double m = eco.getBalance(sender.getName());
                        sender.sendMessage(PLPrefix + ChatColor.AQUA + "あなたの所持金は" + m + "です。");
                        return true;
                    } else {
                        if (sender.isOp()) {
                            for (Player p : Bukkit.getOnlinePlayers()) {
                                if (args[2].equalsIgnoreCase(p.getName())) {
                                    double m = eco.getBalance(p.getName());
                                    sender.sendMessage(PLPrefix + ChatColor.AQUA + p.getName() + "の所持金は" + m + "です。");
                                    return true;
                                }
                            }
                        } else {
                            sender.sendMessage(PLPrefix + ChatColor.RED + "あなたはそのコマンドを実行することはできません。");
                            return true;
                        }
                    }
                }
                return true;
            }
            if (args[0].equalsIgnoreCase("home")) {
                if (args[1].equalsIgnoreCase("tp")) {
                    Location loc = checkPlayerData.getDataLocation(player, "home");
                    player.teleport(loc);
                    return true;
                } else if (args[1].equalsIgnoreCase("set")) {
                    new checkPlayerData().setDataLocation(player, "home");
                    return true;
                }
                sender.sendMessage(PLPrefix + ChatColor.RED + "そのようなコマンドは存在しません。/mls help で確認してください。");
                return true;
            }
            if (args[0].equalsIgnoreCase("gatya")) {
                if (args[1].equalsIgnoreCase("ticket")) {
                    if (!player.getWorld().getName().equals("world")) {
                        sender.sendMessage(PLPrefix + ChatColor.RED + "このコマンドはサバイバルワールドでのみ使用可能です。");
                        return true;
                    }
                    data.reloadConfig();
                    int csize = data.getConfig().getInt("data." + player.getUniqueId().toString() + ".log_bonus");
                    int size = data.getConfig().getInt("data." + player.getUniqueId().toString() + ".log_bonus");
                    if (csize == 0) {
                        sender.sendMessage(PLPrefix + ChatColor.RED + "あなたはガチャチケットをすべて受け取り済みのため付与することができません。");
                    } else {
                        if (csize > 64) {
                            csize = 64;
                        }
                        Inventory inv = player.getInventory();
                        int emptySlot = inv.firstEmpty();
                        if (emptySlot != -1) {
                            player.getInventory().setItem(emptySlot, CustomItem.GatyaTicket(csize));
                            size = size - csize;
                            data.getConfig().set("data." + player.getUniqueId().toString() + ".log_bonus", size);
                            data.saveConfig();
                        } else {
                            sender.sendMessage(PLPrefix + ChatColor.RED + "あなたは空のスロットを持っていないため付与することができません。");
                        }
                    }
                    return true;
                } else if (args[1].equalsIgnoreCase("list")) {
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("&6&l==================== &c&lMLS&6&l ===================="));
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("・&6&lL R &a: &6&lレジェンドレア"));
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("・&6&lU R &a: &6&lアルティメットレア"));
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("・&6&lSSR &a: &6&lダブルスーパーレア"));
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("・&6&lS R &a: &6&lスーパーレア"));
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("・&6&lH R &a: &6&lハイパーレア"));
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("・&6&l R  &a: &6&lレア"));
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("・&6&lH N &a: &6&lハイノーマル"));
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("・&6&l N  &a: &6&lノーマル"));
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("・&6&lOFF &a: &6&lハズレ"));
                    sender.sendMessage(jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.replaceColorCode("&6&l&6&l&6&l============================================="));
                    return true;
                }
                sender.sendMessage(PLPrefix + ChatColor.RED + "そのようなコマンドは存在しません。/mls help で確認してください。");
                return true;
            }
            if (args[0].equalsIgnoreCase("menu")) {
                sender.sendMessage("menu");
                return true;
            }
            if (args[0].equalsIgnoreCase("afk")) {
                String user = player.getPlayerListName();
                String text = "<" + user + ChatColor.RESET + "> 放置します。";
                Bukkit.broadcastMessage(text);

                user = jp.dip.monsterlifeserver.mlsplugin.mlsplugin.API.Color.deleteColorCode(user);
                ChatCh.sendMessage(user + " ≫ 放置します。").queue();
                return true;
            }
            sender.sendMessage(PLPrefix + ChatColor.RED + "そのようなコマンドは存在しません。/mls help で確認してください。");
            return true;
        }
        return false;
    }
}
0



anatawa12
ID: 31ATNVEUK3
記事: 6
登録日時: 2020年1月25日(土) 15:46
お住まい: 東京圏
Minecraft ID: anatawa12
いいねされた回数: 1回
連絡する:

Re: [1.12.2]Vaultの使用について・・・

投稿記事 by anatawa12 » 2020年1月29日(水) 22:51

javaの標準と同じ形になるstacktraceをまず読みましょう。
stacktraceを読むと

コード: 全て選択

java.lang.ClassNotFoundException: net.milkbowl.vault.economy.Economy
と、あるので'net.milkbowl.vault.economy.Economy'という名前のクラスが見当たらないというエラーになっています。そこから考えられる原因としては以下のものがあります
確認していただきたいです。
0

返信する