[Server thread/ERROR]: Could not load ‘pluginsDeluxeMenus-1.13.4-Release.jar’ in folder ‘plugins’
org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: com/extendedclip/deluxemenus/DeluxeMenus has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[server.jar:git-Spigot-79a30d7-f4830a1]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327) ~[server.jar:git-Spigot-79a30d7-f4830a1]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:248) [server.jar:git-Spigot-79a30d7-f4830a1]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:305) [server.jar:git-Spigot-79a30d7-f4830a1]
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:205) [server.jar:git-Spigot-79a30d7-f4830a1]
Создание плагина Minecraft #4 | Конфиги
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) [server.jar:git-Spigot-79a30d7-f4830a1]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
Голосование за лучший ответ
DeluxeMenus has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
Anton KaratanovУченик (91) 1 год назад
Что это значит? нужно новую версию java установить?
Виктор Березовский Мыслитель (5215) Anton Karatanov, делюкс меню было закомпилено для более новой версии, попробуй скачать более старую версию.
Anton KaratanovУченик (91) 1 год назад
Нашел решение https://qna.habr.com/q/525531
Научитесь хотя бы пользоваться переводчиком:
Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
«Среда выполнения Java (версия файла класса 55.0), эта версия среды выполнения Java распознает только версии файлов классов до 52.0»
Перед тем как создавать сервер научитесь читать логи консоли, без этих знаний у вас будет очередной школо сервер
Источник: otvet.mail.ru
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
mc-modding-book / book / 1.11+ / bukkit / base / config / article.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
166 lines (133 sloc) 6.72 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
Конфигурация — Простой вариант
В конфигурации мы будем хранить данные доступные для обычных админов, которые не сильны в программировании, да и для более гибкой настройки самого плагина.
Для начала добавим в главном классе, в метод onEnable такой код:
//Данный метод копирует данные из файла getConfig().options().copyDefaults(true); //Данный метод сохраняет данные конфигурации. saveConfig();
В папке resources создадим файл config.yml (Только такое название!) и добавим туда такие данные:
boolean_param: true int_param: 25 string_param: ‘This is text!’ section: param_1: ‘Param 1’ param_2: 2 section_2: param_1: ‘Section 2 -> param 1’ param_2: false array_param: — ‘Hello, my friend!’ — ‘My name TuTPlugin’
А сейчас мы попробуем использовать данные из конфигурации. Пример использования:
Конфигурация — Продвинутый вариант
Для начала создадим класс ConfigManager.
public class ConfigManager < private TuTPlugin core; private File configFile; private FileConfiguration configuration; public ConfigManager(TuTPlugin core) < this.core = core; loadConfiguration(); > public FileConfiguration getConfiguration() < return this.
configuration; > public void loadConfiguration() < configFile = new File(new File(this.core.getDataFolder(), «/config»), «configuration.yml»); configuration = YamlConfiguration.loadConfiguration(checkpointFile); > public void saveConfig() < if(this.configuration == null || this.
configFile == null) return; try < this.configuration.save(configFile); > catch (IOException e) < e.printStackTrace(); > > >
Конструктор будет загружать наш конфиг во время инициализации.
Метод loadConfiguration будет загружать нашу конфигурацию, saveConfig будет сохранять нашу конфигурацию, а функция getConfiguration будет получать конфигурацию. Перейдём в главный класс плагина и пропишем туда переменную
private ConfigManager configManager;
в метод onEnable такой код:
//Инициализируем ConfigManger, чтобы он мог загрузить наш конфиг. configManager = new ConfigManager(this); //Сохраняем конфиг configManager.saveConfig();
в метод onDisable такой код:
configManager.saveConfig();
С настройкой закончено! А сейчас давайте создадим папку в resources под названием config и в ней файл configuration , и пропишем в него такие данные:
//Это логическое поле boolean_param: true //Это цело-численно поле int_param: 25 //Это текстовое поле string_param: ‘This is text!’ section: param_1: ‘Param 1’ param_2: 2 section_2: param_1: ‘Section 2 -> param 1’ param_2: false //Теперь мы может оставлять комментарии и ничего с ними не случится.
array_param: — ‘Hello, my friend!’ — ‘My name TuTPlugin’
Но как же теперь нам использовать нашу конфигурацию? Очень просто, так же как в прошлой статье, но только с небольшими изменениями. Выбираем нужный нам класс и создаём там переменную:
private ConfigManager configManager;
и в конструкторе добавляем параметр ConfigManager manager и прописываем такой код:
this.manager = manager;
Осталось дело за малым! В любом нужном нам месте этого класса прописываем:
this.manager.getConfiguration()
И теперь нам достаточно сделать всё так же как и с getConfig в предыдущей статье. P.s. Да, данный способ не очень хорош и довольно сложен, но таким способом вы сможете создать больше файлов для конфигурации, хранения информации и т.д.
А так же все комментарии будут сохранятся и с конфигом ничего особо криминального не произойдёт, как это может случится с конфигом из первой статьи.
Источник: github.com
Как сделать свой плагин #3 Minecraft PE
Мы создавали плагин >, теперь он будет главным плагином.
Давайте откроем файл ( mk10.php ) и найдем там функцию
public function onEnable()<>
И давайте добавим туда инициализатор конфига.
use pocketminepluginPluginBase; //Добавляем к плагину элемент PluginBase
use pocketmineutilsConfig; //Добавим к плагину импорт конфига.
class mk10 /* Этот класс будет читать plugin.yml */ extends PluginBase
$this->config->get(«time»); //Вернет нам единицу (либо другое раз вы изменили конфиг (42))
Хорошо, а если в конфиге будет вот такое непонятное и длинное??
sign:
x: 0
y: 0
z: 0
И я хочу достать например из Y :
$this->config->getNested(«sign.y»); //Вернет параметр Y ( то бишь 0 )
Ну и напоследок рекомендация, после каждого выключения сервера я рекомендую сохранять конфиг. Для того чтобы воспользоваться этим, добавим это:
Источник: minecraft10.net