Помоги мне, пожалуйста. Я хочу сделать так, чтобы когда игрок вводит команду, он сначала проверял, есть ли она в массиве, а если нет, то добавлял ее туда. IDE предлагает мне создать конструктор, но если я его создам, плагин на сервере не запустится. А без конструктора плагин не скомпилируется. Что делать? (Ps я русский, переводил через переводчик, так что не обращайте внимания на ошибки)
код:
пакет play.snowmc.cf.snowauth;
импортировать org.bukkit.command.Command;
импортировать org.bukkit.command.CommandExecutor;
импортировать org.bukkit.command.CommandSender;
импортировать org.bukkit.entity.Player;
импортировать org.bukkit.event.EventHandler;
импортировать org.bukkit.event.Listener;
импортировать org.bukkit.event.player.PlayerJoinEvent;
импортировать org.bukkit.event.player.PlayerQuitEvent;
импортировать org.bukkit.plugin.java.JavaPlugin;
импортировать java.util.ArrayList;
общедоступный окончательный класс SnowAuth расширяет JavaPlugin, реализует Listener
{
частный статический экземпляр SnowAuth;
личные данные игроков;
ArrayList<SnowAuth> isauth = new ArrayList<SnowAuth>();
публичная пустота onEnable()
{
экземпляр = это;
data = новые игроки («players.yml»);
сохранить конфигурацию по умолчанию ();
this.getServer().getPluginManager().registerEvents(это, это);
this.getLogger().info("§aПлагин на авторизацию включен");
getCommand("reg").setExecutor(новый CommandExecutor() {
@Override
public boolean onCommand (отправитель CommandSender, команда Command, метка String, аргументы String [])
{
если (args.length != 2)
{
sender.sendMessage("§8[§bРегистрация§8] §cВедите /reg (пароль) (повтор пароля)");
}еще{
Строка arg1 = args[0];
Строка arg2 = args[1];
если (arg1.equals(arg2) == true) {
Строка ул = аргументы[0];
целая длина = ул.длина();
если (длина <= 16 && длина >= 4) {
если (isauth.contains(sender.getName()) == false)
{
SnowAuth.getData().getConfig().set(sender.getName(), args[0]);
sender.sendMessage("§8[§bРегистрация§8] §aВы успешно зарегистрировались");
isauth.add(новый SnowAuth(sender.getName()));
} еще {
sender.sendMessage("§8[§bАвторизация§8] §aВы уже авторизованы");
}
} еще {
sender.sendMessage("§8[§bРегистрация§8] §cВаш пароль слишком длинный или слишком короткий. Максимальная длина - 16 символов, минимальная - 4");
}
} еще{
sender.sendMessage("§8[§bРегистрация§8] §cПароли не совпадают");
}
}
вернуть истину;
}
});
getCommand("логин").setExecutor(новый CommandExecutor() {
@Override
public boolean onCommand (отправитель CommandSender, команда Command, метка String, аргументы String [])
{
если (args.length != 1)
{
sender.sendMessage("§8[§bАвторизация§8] §7Введите §b/login (ваш пароль)");
}еще{
Строковый проход = SnowAuth.getData().getConfig().getString(sender.getName());
Строка arg1 = args[0];
если (pass.equals(arg1))
{
если (isauth.contains(sender.getName()) == false)
{
sender.sendMessage("§8[§bАвторизация§8] §aВы успешно авторизовались");
isauth.add(новый SnowAuth(sender.getName()));
} еще {
sender.sendMessage("§8[§bАвторизация§8] §aВы уже авторизованы");
}
}еще{
sender.sendMessage("§8[§bАвторизация§8] §cНеверный пароль");
}
}
вернуть истину;
}
});
}
публичная пустота onDisable()
{
SnowAuth.getData().save();
//isauth.clear();
}
ошибка компиляции:
C:\Users\proko\IdeaProjects\Authorization\src\main\java\play\snowmc\cf\snowauth\SnowAuth.java:48:44
java: конструктор SnowAuth в классе play.snowmc.cf.snowauth.SnowAuth нельзя применить к заданным типам;
требуется: без аргументов
найдено: java.lang.String
причина: фактические и формальные списки аргументов различаются по длине
конструктор:
public SnowAuth (имя строки) {
}
ошибка, если я использую конструктор:
[21:02:36 ОШИБКА]: не удалось загрузить «plugins\Authorization.jar» в папку «plugins»
org.bukkit.plugin.InvalidPluginException: неправильный тип плагина
в org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:98) ~[patched_1.12.2.jar:git-Paper-1620]
в org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127) ~[patched_1.12.2.jar:git-Paper-1620]
в org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[patched_1.12.2.jar:git-Paper-1620]
в org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) ~[patched_1.12.2.jar:git-Paper-1620]
на org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:318) ~[patched_1.12.2.jar:git-Paper-1620]
в net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:222) ~[patched_1.12.2.jar:git-Paper-1620]
на net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616) ~[patched_1.12.2.jar:git-Paper-1620]
в java.lang.Thread.run (неизвестный источник) [?: 1.8.0_311]
Вызвано: java.lang.InstantiationException: play.snowmc.cf.snowauth.SnowAuth
в java.lang.Class.newInstance (неизвестный источник) ~[?:1.8.0_311]
в org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:94) ~[patched_1.12.2.jar:git-Paper-1620]
... еще 7
Вызвано: java.lang.NoSuchMethodException: play.snowmc.cf.snowauth.SnowAuth.<init>()
в java.lang.Class.getConstructor0 (неизвестный источник) ~[?:1.8.0_311]
в java.lang.Class.newInstance (неизвестный источник) ~[?:1.8.0_311]
в org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:94) ~[patched_1.12.2.jar:git-Paper-1620]
... еще 7
код:
пакет play.snowmc.cf.snowauth;
импортировать org.bukkit.command.Command;
импортировать org.bukkit.command.CommandExecutor;
импортировать org.bukkit.command.CommandSender;
импортировать org.bukkit.entity.Player;
импортировать org.bukkit.event.EventHandler;
импортировать org.bukkit.event.Listener;
импортировать org.bukkit.event.player.PlayerJoinEvent;
импортировать org.bukkit.event.player.PlayerQuitEvent;
импортировать org.bukkit.plugin.java.JavaPlugin;
импортировать java.util.ArrayList;
общедоступный окончательный класс SnowAuth расширяет JavaPlugin, реализует Listener
{
частный статический экземпляр SnowAuth;
личные данные игроков;
ArrayList<SnowAuth> isauth = new ArrayList<SnowAuth>();
публичная пустота onEnable()
{
экземпляр = это;
data = новые игроки («players.yml»);
сохранить конфигурацию по умолчанию ();
this.getServer().getPluginManager().registerEvents(это, это);
this.getLogger().info("§aПлагин на авторизацию включен");
getCommand("reg").setExecutor(новый CommandExecutor() {
@Override
public boolean onCommand (отправитель CommandSender, команда Command, метка String, аргументы String [])
{
если (args.length != 2)
{
sender.sendMessage("§8[§bРегистрация§8] §cВедите /reg (пароль) (повтор пароля)");
}еще{
Строка arg1 = args[0];
Строка arg2 = args[1];
если (arg1.equals(arg2) == true) {
Строка ул = аргументы[0];
целая длина = ул.длина();
если (длина <= 16 && длина >= 4) {
если (isauth.contains(sender.getName()) == false)
{
SnowAuth.getData().getConfig().set(sender.getName(), args[0]);
sender.sendMessage("§8[§bРегистрация§8] §aВы успешно зарегистрировались");
isauth.add(новый SnowAuth(sender.getName()));
} еще {
sender.sendMessage("§8[§bАвторизация§8] §aВы уже авторизованы");
}
} еще {
sender.sendMessage("§8[§bРегистрация§8] §cВаш пароль слишком длинный или слишком короткий. Максимальная длина - 16 символов, минимальная - 4");
}
} еще{
sender.sendMessage("§8[§bРегистрация§8] §cПароли не совпадают");
}
}
вернуть истину;
}
});
getCommand("логин").setExecutor(новый CommandExecutor() {
@Override
public boolean onCommand (отправитель CommandSender, команда Command, метка String, аргументы String [])
{
если (args.length != 1)
{
sender.sendMessage("§8[§bАвторизация§8] §7Введите §b/login (ваш пароль)");
}еще{
Строковый проход = SnowAuth.getData().getConfig().getString(sender.getName());
Строка arg1 = args[0];
если (pass.equals(arg1))
{
если (isauth.contains(sender.getName()) == false)
{
sender.sendMessage("§8[§bАвторизация§8] §aВы успешно авторизовались");
isauth.add(новый SnowAuth(sender.getName()));
} еще {
sender.sendMessage("§8[§bАвторизация§8] §aВы уже авторизованы");
}
}еще{
sender.sendMessage("§8[§bАвторизация§8] §cНеверный пароль");
}
}
вернуть истину;
}
});
}
публичная пустота onDisable()
{
SnowAuth.getData().save();
//isauth.clear();
}
ошибка компиляции:
C:\Users\proko\IdeaProjects\Authorization\src\main\java\play\snowmc\cf\snowauth\SnowAuth.java:48:44
java: конструктор SnowAuth в классе play.snowmc.cf.snowauth.SnowAuth нельзя применить к заданным типам;
требуется: без аргументов
найдено: java.lang.String
причина: фактические и формальные списки аргументов различаются по длине
конструктор:
public SnowAuth (имя строки) {
}
ошибка, если я использую конструктор:
[21:02:36 ОШИБКА]: не удалось загрузить «plugins\Authorization.jar» в папку «plugins»
org.bukkit.plugin.InvalidPluginException: неправильный тип плагина
в org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:98) ~[patched_1.12.2.jar:git-Paper-1620]
в org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127) ~[patched_1.12.2.jar:git-Paper-1620]
в org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[patched_1.12.2.jar:git-Paper-1620]
в org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) ~[patched_1.12.2.jar:git-Paper-1620]
на org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:318) ~[patched_1.12.2.jar:git-Paper-1620]
в net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:222) ~[patched_1.12.2.jar:git-Paper-1620]
на net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616) ~[patched_1.12.2.jar:git-Paper-1620]
в java.lang.Thread.run (неизвестный источник) [?: 1.8.0_311]
Вызвано: java.lang.InstantiationException: play.snowmc.cf.snowauth.SnowAuth
в java.lang.Class.newInstance (неизвестный источник) ~[?:1.8.0_311]
в org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:94) ~[patched_1.12.2.jar:git-Paper-1620]
... еще 7
Вызвано: java.lang.NoSuchMethodException: play.snowmc.cf.snowauth.SnowAuth.<init>()
в java.lang.Class.getConstructor0 (неизвестный источник) ~[?:1.8.0_311]
в java.lang.Class.newInstance (неизвестный источник) ~[?:1.8.0_311]
в org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:94) ~[patched_1.12.2.jar:git-Paper-1620]
... еще 7