1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Нужна помощь

Тема в разделе "Разработка плагинов для новичков", создана пользователем TorwaldOswarld, 26 дек 2017.

  1. Автор темы
    TorwaldOswarld

    TorwaldOswarld Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    PuxTa4
    Всем привет.Из название думаю понятно ,что мне нужна помощь.Помогите исправить ошибки.Заранее огромное всем спасибо.
    1) В конфиге не сохраняется строка message.
    2) Не работает replace для message.
    3) Не работает цикл ,который должен всех номеровать
    4) Не знаю как сделать ограничение ,чтобы один игрок ,мог кинуть жалобу на другого игрока,только один раз
    package com.company.Main;


    import java.util.logging.Logger;
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.configuration.file.YamlConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;

    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;

    public class Main extends JavaPlugin {
    private YamlConfiguration yml;
    private File file;
    JavaPlugin plugin;
    private String message;

    public final Logger logger = Logger.getLogger("Minecraft");

    @Override
    public void onEnable() {
    message = getConfig().getString("message");
    PluginDescriptionFile pdfFile = getDescription();
    this.logger.info(pdfFile.getName() + " Version " + pdfFile.getVersion() + " Disabled!");
    saveConfig();
    }

    @Override
    public void onDisable() {
    PluginDescriptionFile pdfFile = getDescription();
    this.logger.info(pdfFile.getName() + " Version " + pdfFile.getVersion() + " Enabled!");
    saveConfig();
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    if(sender instanceof Player){
    Player p = (Player)sender;
    if(command.getName().equalsIgnoreCase("report")) {
    if (args.length == 0) {
    p.sendMessage("============ [§6ReportSystem§f] §f============");
    p.sendMessage("§c/report <nick> <причина>");
    return true;
    }
    Player target = Bukkit.getServer().getPlayer(args[0]);
    if (target == null) {
    p.sendMessage(ChatColor.RED + "[ReportSystem] Вы можете кинуть репорт ,только на человека ,который в сети");
    return true;
    }
    if(p == target){
    p.sendMessage(ChatColor.RED + "[ReportSystem] Вы не можете пожаловаться на самого себя!");
    return true;
    }
    int i;
    String reason = "";
    for (i = 1; i < args.length; i++) {
    if (i == 1) {
    reason = args;
    } else {
    reason = String.valueOf(reason) + " " + args;
    }
    }
    if (reason.length() <= 5) {
    sender.sendMessage(ChatColor.RED + "[ReportSystem] Вы не указали причину! Или причина слишком короткая!");
    return true;
    } else {
    String name = p.getName();
    String tarname = target.getName();
    List<String> users = new ArrayList<>();
    for(int j = 0; j<users.size(); j++) {
    getConfig().set((j + 1) + "", users.get(j));
    }
    getConfig().set("Report." + name + ".filed." + tarname + ".reason", reason);
    saveConfig();
    p.sendMessage(ChatColor.GOLD + "[ReportSystem] " + ChatColor.AQUA + "Жалоба отправлена");
    Player p1 = (Player)sender;
    if(p1.hasPermission("report.view") || p1.isOp()){
    message.replace("{name}", name);
    message.replace("{tarname}", tarname);
    message.replace("{reason}", reason);
    p1.sendMessage(message);
    }
    }
    }
    }
    return true;
    }
    }
    package com.company.Main;

    import java.io.File;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.configuration.file.YamlConfiguration;
    import org.bukkit.plugin.java.JavaPlugin;

    public class Config {

    private YamlConfiguration yml;
    private File file;
    JavaPlugin plugin;

    Config(JavaPlugin plugin, String name, boolean isResource) {
    this.plugin = plugin;
    this.file = new File(plugin.getDataFolder(), name + ".yml");
    if (!this.file.exists() && isResource) {
    this.plugin.saveResource(name + ".yml", false);
    }
    yml = YamlConfiguration.loadConfiguration(file);
    this.file.getParentFile().mkdirs();
    }

    public FileConfiguration getCfg() {
    return yml;
    }

    public void saveCfg() {
    try {
    yml.save(file);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    public void reloadCfg() {
    try {
    yml.load(file);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
    message: 'Игрок {name} жалуется на игрока {tarname} с причиной {reason}'
     
    Последнее редактирование: 26 дек 2017
  2. TheZefirrkka

    TheZefirrkka Активный участник Пользователь

    Баллы:
    76
    Ты немного перепутал.
    Метод replace на изменяет искомую строку.
    Попробуй replaceAll
     
  3. Автор темы
    TorwaldOswarld

    TorwaldOswarld Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    PuxTa4
    спасибо , попробую. С остальным не знаешь ,что делать ?
     
  4. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Куда форматирование убежало? Если на форуме с этим проблемы, то используй, например, pastebin.com. Так больше шансов, что тебе помогут
     

Поделиться этой страницей