Вопрос Не работает перезагрузка конфига

Версия Minecraft
1.18.X

katanawave

Пользователь
Сообщения
123
Решения
3
Здравствуйте, столкнулся с очередной проблемой, с перезагрузкой плагина), пробовал saveConfig(), у меня в NotePad++ он сбрасывался, в reloadConfig просто не перезагружает, как было - так и осталось:

Java:
else if (args[0].equalsIgnoreCase("reload")) {
            if (!sender.hasPermission("competitions.reload")) sender.sendMessage(noPermission);
            else {
                lottery.clear();
                Competitions.getPlugin(Competitions.class).reloadConfig();
                sender.sendMessage(config.getString("messages.reload"));
            }
        }
 
Решение
Java:
// где ClassCommand - название класса
// где Main - название главного класса плагина.

private Main plugin;
public ClassCommand(Main plugin) {
  this.plugin = plugin;
}

// В методе
plugin.reloadConfig();
Объединено

Попробуй так
Java:
// где ClassCommand - название класса
// где Main - название главного класса плагина.

private Main plugin;
public ClassCommand(Main plugin) {
  this.plugin = plugin;
}

// В методе
plugin.reloadConfig();
Объединено

Попробуй так
 
Java:
// где ClassCommand - название класса
// где Main - название главного класса плагина.

private Main plugin;
public ClassCommand(Main plugin) {
  this.plugin = plugin;
}

// В методе
plugin.reloadConfig();
Объединено

Попробуй так
Мне джаву обновлять?
Код:
Implicitly declared classes are not supported at language level '17
Объединено

JDK*
 
Последнее редактирование:
Покажи какой новый код, ты не так сделал видимо
У меня отдельный файл для команды
Объединено

Покажи какой новый код, ты не так сделал видимо
Начало:

Java:
package org.turbowood.competitions.Commands;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.turbowood.competitions.Competitions;
import org.turbowood.competitions.Utils;

import static org.turbowood.competitions.Competitions.*;

private Competitions plugin;

public class AboutCMD implements CommandExecutor {
    this.plugin = plugin;
    FileConfiguration config = Competitions.getPlugin(Competitions.class).getConfig();
    private String noPermission = config.getString("messages.noPermission");
    private int max_regs = config.getInt("settings.maxRegs");
    private int max_name = config.getInt("settings.maxName");


Метод:

Java:
else if (args[0].equalsIgnoreCase("reload")) {
            if (!sender.hasPermission("competitions.reload")) sender.sendMessage(noPermission);
            else {
                lottery.clear();
                plugin.reloadConfig();
                sender.sendMessage(config.getString("messages.reload"));
            }
        }
 
Последнее редактирование:
У меня отдельный файл для команды
Объединено


Начало:

Java:
package org.turbowood.competitions.Commands;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.turbowood.competitions.Competitions;
import org.turbowood.competitions.Utils;

import static org.turbowood.competitions.Competitions.*;

private Competitions plugin;

public class AboutCMD implements CommandExecutor {
    this.plugin = plugin;
    FileConfiguration config = Competitions.getPlugin(Competitions.class).getConfig();
    private String noPermission = config.getString("messages.noPermission");
    private int max_regs = config.getInt("settings.maxRegs");
    private int max_name = config.getInt("settings.maxName");


Метод:

Java:
else if (args[0].equalsIgnoreCase("reload")) {
            if (!sender.hasPermission("competitions.reload")) sender.sendMessage(noPermission);
            else {
                lottery.clear();
                plugin.reloadConfig();
                sender.sendMessage(config.getString("messages.reload"));
            }
        }
Ошибки есть, вот так норм будет:
Java:
package org.turbowood.competitions.Commands;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.turbowood.competitions.Competitions;
import org.turbowood.competitions.Utils;

import static org.turbowood.competitions.Competitions.*;

public class AboutCMD implements CommandExecutor {
    private Competitions plugin;
    FileConfiguration config = Competitions.getPlugin(Competitions.class).getConfig();
    private String noPermission = config.getString("messages.noPermission");
    private int max_regs = config.getInt("settings.maxRegs");
    private int max_name = config.getInt("settings.maxName");
   
    public AboutCMD(Competitions plugin) {
        this.plugin = plugin;
    }

Когда создатель этот класс в главном классе, делаешь вот так:
Java:
new AboutCMD(this);
 
Ошибки есть, вот так норм будет:
Java:
package org.turbowood.competitions.Commands;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.turbowood.competitions.Competitions;
import org.turbowood.competitions.Utils;

import static org.turbowood.competitions.Competitions.*;

public class AboutCMD implements CommandExecutor {
    private Competitions plugin;
    FileConfiguration config = Competitions.getPlugin(Competitions.class).getConfig();
    private String noPermission = config.getString("messages.noPermission");
    private int max_regs = config.getInt("settings.maxRegs");
    private int max_name = config.getInt("settings.maxName");
  
    public AboutCMD(Competitions plugin) {
        this.plugin = plugin;
    }

Когда создатель этот класс в главном классе, делаешь вот так:
Java:
new AboutCMD(this);
понял , спасибо, завтра проверю, но галочку поставлю
 
Использовать нужно так:

Java:
public class AboutCMD implements CommandExecutor {
    private Competitions plugin;
 
    public AboutCMD(Competitions plugin) {
        this.plugin = plugin;
    }

    public void onComplete(CommandSender player) { // как пример!
        FileConfiguration config = plugin.getConfig();
    
        String message = config.getString("example", "Hello!"); // как пример!
    }

    public void onReload(CommandSender player) {
        plugin.reloadConfig(); 
    }
}


Ну или так:

Java:
public class AboutCMD implements CommandExecutor {
    private Competitions plugin;
    private String noPermission;
    private int max_regs;
    private int max_name;
 
    public AboutCMD(Competitions plugin) {
        this.plugin = plugin;
     
        this.noPermission = plugin.getConfig().getString("messages.noPermission");
        this.max_regs = plugin.getConfig().getInt("settings.maxRegs");
        this.max_name = plugin.getConfig().getInt("settings.maxName");
    }
}
 
Последнее редактирование:
Назад
Сверху Снизу