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

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}'
 
Последнее редактирование:
public void onEnable() {
message = getConfig().getString("message");
PluginDescriptionFile pdfFile = getDescription();
this.logger.info(pdfFile.getName() + " Version " + pdfFile.getVersion() + " Disabled!");
Ты немного перепутал.
message.replace("{name}", name);
message.replace("{tarname}", tarname);
message.replace("{reason}", reason);
Метод replace на изменяет искомую строку.
Попробуй replaceAll
 
Куда форматирование убежало? Если на форуме с этим проблемы, то используй, например, pastebin.com. Так больше шансов, что тебе помогут
 
Назад
Верх