weras2000
Пользователь
- Сообщения
- 30
- Решения
- 1
Проблема в том что у меня не перезагружается конфиг когда я ввожу reload, незнаю в чём может быть ошибка, помогите!
Java:
package net.cybermoney;
import net.cybermoney.Command.ReloadCommand;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.Player;
import org.bukkit.entity.Skeleton;
import org.bukkit.entity.Zombie;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
import net.milkbowl.vault.economy.Economy;
import java.text.DecimalFormat;
public final class CyberMoney extends JavaPlugin implements Listener {
private Economy economy;
private String zombieMessage;
private String skeletonMessage;
private String kriperMessage;
private double zombieMinCoins;
private double zombieMaxCoins;
private double skeletonMinCoins;
private double skeletonMaxCoins;
private double kriperMinCoins;
private double kriperMaxCoins;
@Override
public void onEnable() {
loadConfig();
if (!setupEconomy()) {
getLogger().severe("Отсутствует плагин Vault. Отключение плагина CyberMoney...");
getServer().getPluginManager().disablePlugin(this);
return;
}
Bukkit.getPluginManager().registerEvents(this, this);
getCommand("reload").setExecutor(new ReloadCommand(this));
economy = getServer().getServicesManager().getRegistration(Economy.class).getProvider();
getLogger().info("CyberMoney включен.");
getLogger().info("CyberMoney написан для CyberspaceX.");
}
private void loadConfig() {
saveDefaultConfig();
FileConfiguration config = getConfig();
kriperMinCoins = config.getDouble("kriperMinCoins");
kriperMaxCoins = config.getDouble("kriperMaxCoins");
kriperMessage = config.getString("kriperMessage");
zombieMessage = config.getString("zombieMessage");
zombieMinCoins = config.getDouble("zombieMinCoins");
zombieMaxCoins = config.getDouble("zombieMaxCoins");
skeletonMessage = config.getString("skeletonMessage");
skeletonMinCoins = config.getDouble("skeletonMinCoins");
skeletonMaxCoins = config.getDouble("skeletonMaxCoins");
}
@Override
public void onDisable() {
getLogger().info("CyberMoney выключен.");
}
private boolean setupEconomy() {
if (getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
economy = rsp.getProvider();
return economy != null;
}
@EventHandler
public void Zombie(EntityDeathEvent event) {
if (event.getEntity().getKiller() instanceof Player && event.getEntity() instanceof Zombie) {
Player player = (Player) event.getEntity().getKiller();
double coins = Math.random() * (zombieMaxCoins - zombieMinCoins) + zombieMinCoins;
coins = Math.round(coins);
economy.depositPlayer(player, coins);
DecimalFormat decimalFormat = new DecimalFormat("#");
String formattedMessage = zombieMessage.replace("{coins}", decimalFormat.format(coins));
player.sendActionBar(formattedMessage);
}
}
@EventHandler
public void Skeleton(EntityDeathEvent event) {
if (event.getEntity().getKiller() instanceof Player && event.getEntity() instanceof Skeleton) {
Player player = (Player) event.getEntity().getKiller();
double coins = Math.random() * (skeletonMaxCoins - skeletonMinCoins) + skeletonMinCoins;
coins = Math.round(coins);
DecimalFormat decimalFormat = new DecimalFormat("#");
economy.depositPlayer(player, coins);
String formattedMessage = skeletonMessage.replace("{coins}", decimalFormat.format(coins));
player.sendActionBar(formattedMessage);
}
}
@EventHandler
public void kriper(EntityDeathEvent event) {
if (event.getEntity().getKiller() instanceof Player && event.getEntity() instanceof Creeper) {
Player player = (Player) event.getEntity().getKiller();
double coins = Math.random() * (kriperMaxCoins - kriperMinCoins) + kriperMinCoins;
economy.depositPlayer(player, coins);
coins = Math.round(coins);
DecimalFormat decimalFormat = new DecimalFormat("#");
String formattedMessage = kriperMessage.replace("{coins}", decimalFormat.format(coins));
player.sendActionBar(formattedMessage);
}
}
}
Java:
package net.cybermoney.Command;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.Plugin;
public class ReloadCommand implements CommandExecutor {
private final Plugin plugin;
public ReloadCommand(Plugin plugin) {
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("reload")) {
if (sender.hasPermission("cybermoney.reload")) {
plugin.reloadConfig();
plugin.saveConfig(); // Сохранение конфигурации
sender.sendMessage("Конфигурация перезагружена.");
return true;
} else {
sender.sendMessage("У вас нет прав для данной команды.");
return true;
}
}
return false;
}
}