[Решено] Проблема с циклом и отправкой сообщения (видаёт ошибку s cannot be resolved to a variable)

Статус
Закрыто для дальнейших ответов.

SashaBrine

Активный участник
Пользователь
Баллы
76
Или я слепой или я что-то сломал в Eclipse.
Код:
package FMeria.main.commands;

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

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;

import FMeria.main.FMeria;

public class CommandLaw implements CommandExecutor {

    private FMeria plugin;
    private List<String> subcommands = new ArrayList<String>();
    private File messages;
    public CommandLaw(FMeria plugin) {
        this.plugin = plugin;
        this.subcommands.add("set");
        this.subcommands.add("setcategory");
        this.subcommands.add("delcategory");
        this.subcommands.add("del");
        this.subcommands.add("list");
        this.messages = new File(plugin.getDataFolder()+File.separator+"messages.yml");
    }
   
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (!(sender instanceof Player)) {
            sender.sendMessage("Вы не игрок!");
            return true;
        }
        Player p = (Player) sender;
        YamlConfiguration messageConfig = YamlConfiguration.loadConfiguration(this.messages);
        if (args.length<1) {
            for (String s : messageConfig.getStringList("message.lawUsage")); {
                p.sendMessage(s);
            }
            return true;
        }
       
        return true;
    }
}
Код:
value:
  time: 5

message:
  nonFaction: "§cВы не состоите во фракции!"
  payday:
   - "Вам была выдана зарплата в размере %salary%."
   - "=========================="
  d: "§c(D) §7[%faction%]§9 %rank% %player%: %msg%"
  rb: "§7(( §c(R) §7[%faction%]§9 %rank% %player%: %msg% §7))"
  r: "§c(R) §7[%faction%]§9 %rank% %player%: %msg%"
  fhome: "Вас на такси довезли на базу вашей фракции!"
  noneName: "Не в организации"
  noneRank: "Гражданин"
  nonHospitalFaction: "§cЭту команду может использовать только фракция - Больница."
  nonRank: "§cДля этой команды нужен выше ранг!"
  errorPlayer: "§cВы не можете вылечить себя."
  notOnline: "§cИгрок не онлайн"
  playerHeal: "§f%faction §7>>>§f%player вылечил %player2."
  playerHealMessage: "Вас вылечил %player."
  distance: "§cИгрок слишком далеко!"
  lawUsage:
   - "§7Упралвение законами:"
   - "§7/law set <ID категории> <ID закона> <название> - §fУстановить название закону"
   - "§7/law setcategory <ID категории> <название> - §fУстановить название категории"
   - "§7/law delcategory <ID категории> <название> - §fУдалить категорию"
   - "§7/law del <ID категории> <ID закона> - §fУдалить закон"
   - "§7/law list - §fЗаконы"
  gov:
   - "§7=========================="
   - "§7[Гос.Новости] [%faction] %rank %player: %message"
   - "§7=========================="
Код:
[12:15:20 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'law' in plugin FMeria v1.6
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:152) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:685) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1492) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1297) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.2.jar:git-Paper-1618]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_291]
        at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_291]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_291]
Caused by: java.lang.Error: Unresolved compilation problem:
        s cannot be resolved to a variable

        at FMeria.main.commands.CommandLaw.onCommand(CommandLaw.java:40) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[patched_1.12.2.jar:git-Paper-1618]
        ... 15 more
 
Убери ';'. Код ниже должен уже работать.
Код:
for (String s : messageConfig.getStringList("message.lawUsage")) {
    p.sendMessage(s);
}
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх