Доступ к config.yml из другого файла (Bukkit) - PullRequest
0 голосов
/ 09 марта 2020

Я создал плагин Economy для своего сервера, и он отлично работает. Игроки могут ввести / Bal и увидеть свой баланс. На моем сервере также есть плагин GUI, и один из этих вариантов - увидеть их валюту. Я сохраняю валюты игрока в файле config.yml в моем плагине Economy. Как я могу получить доступ к переменным в моем config.yml экономики, если я хочу получить доступ к ним из другого плагина? Я обыскивал весь inte rnet и ничего не нашел. Если у кого-то есть идеи, как это сделать, скажите, пожалуйста. Спасибо.

Ответы [ 2 ]

1 голос
/ 10 марта 2020

Есть несколько способов сделать это, но, на мой взгляд, лучше всего сделать игрока класс . Он будет хранить данные игрока (например, валюту), а затем при разработке другого плагина импортировать ваш ресурс Economy в качестве зависимости.

В плагине Economy:

  1. Хранить валюту игрока в объекте Player
  2. Сохранить все объекты Player в коллекции
  3. Сделать функцию publi c, которая будет возвращать объект player из вашей коллекции, например, в качестве параметра функции pass player nick

Во всех других плагинах:

  1. Импортировать свой плагин Economy как зависимость
  2. Использовать свою функцию (например, getPlayer('YourNick');)
  3. Если игрок существует в коллекции, этот код возвратит объект вашей сущности
  4. Получить валюту игрока через геттер

Не забудьте синхронизировать данные объекта каждый раз, когда вы делаете некоторые изменения (например, когда игрок что-то покупает)

0 голосов
/ 17 марта 2020

Вы можете получить доступ к файлу конфигурации из другого плагина.

File configFile = new File(<JavaPlugin Object>.getServer().getWorldContainer().getAbsolutePath() + "/plugins/<Your Plugin Name>/config.yml"); // First we will load the file.
FileConfiguration config = YamlConfiguration.loadConfiguration(configFile); // Now we will load the file into a FileConfiguration.

После этого мы можем получить значения из конфигурации.

boolean randomValue = config.getBoolean("randomValue"); // Gets a boolean value.

Поздравляем! Теперь вы можете читать значения из другого плагина!

...