Консоль в команде!

Консоль в команде! 1.0

Нет прав для скачивания

CarryLove

Пользователь
CarryLove добавил(а) новый ресурс:

Консоль в игре!

Привет, этот плагин реализиует консоль в игре! А именно, вы можете в самой игре писать команды в консоль!
Команды:

/addconsole - добавляет доступ к консоли игроку!
/removeconsole - убирает доступ к консоли у игрока!
/console - сама команда отправки команды!


И так, закидываем плагин в папку plugins/, перезагружаем сервер, открываем конфиг, и видим:

Players:
LockedCommands:
Messages:
Prefix: "&7[&A&lConsole&7]"
NoPermission: "Такой команды нет, мой плоский дружок!"...
Узнать больше об этом ресурсе...
 

BlackBarcode13

Разработчик
Пользователь
Ты вообще видел что скомпилировал и как реализовал? :rolleyes:

Общие замечания:

1. Соблюдай принципы ООП. У тебя сплошные статики (причем они везде, даже где не нужно), что не есть хорошо. Почитай в интернете про адекватное использование статиков.
2. У тебя 2 package'a с двумя классами Main и одинаковыми классами. Аккуратней компилируй, смотри вообще что ты делаешь.
3. Зачем тебе лог, когда имеется обычный встроенный. CTRL + F и ищи что нужно там.
4. Если создаешь синглтон из главного класса, указывай название класса, а не Plugin.
5. С конфигом не надо проводить махинации аля if (config.exists()) и т.п, суешь в onEnable() saveDefaultConfig() и он все сделает сам.
6. Работать с конфигом постоянно получая все прямиком из файла анормально. Создай класс, который отдельно будет работать с конфигом, проще говоря, где ты 1 раз укажешь все поля с конфига.
7. Все чаще вижу замену & на § через метод .replace() у строки. Пацаны, ChatColor#translateAlternateColors для вас. Если вы считаете, что работает таким же методом, вы глубоко ошибаетесь.
8. Названия класса. Main_CMD убил.
9. ...еще много чего, что видно невооруженным глазом. Подекомпилируй чужие разработки (например мои :D) и посмотри как правильно писать и красиво оформлять свой код.
 

q20w26a

Разработчик
Пользователь
mc923, по фактам, но просил же не ругаться
Так уж и быть, от себя добавлю.
Мне не понятно вот это:

Java:
for (String str : Main.config.getStringList("LockedCommands")) {
       if (command.toLowerCase().contains(str.toLowerCase())) {
         //...
       }
}
Зачем? Почему нельзя было просто сделать lockedCommand.contains(args[0].toLowerCase())?
Ну и plugin = (Plugin)this;... Лучше наверно сразу указывать главный класс, он все равно наследуется от JavaPlugin.
 

BlackBarcode13

Разработчик
Пользователь
q20w26a,
С этого метода тоже орнул ?.
offtop
Впрочем, я тольк за, когда ньюфаги пытаются писать плагины, но только когда знают что такое джава и с чем ее едят и имеют пробелы в Bukkit API, тут же явное незнание языка. Я помню свой первый плагин, конечно стыдно сейчас (ну а кому не стыдно), единственная проблема была отсутствие стиля кодинга, в остальном неплохо, ибо не с нулевыми знаниями начал кодить.
 

Zl0y

Ламповая кофта^^
Пользователь
А такая команда console:команда , не работает?
 

CarryLove

Пользователь
mc923, Скинь плагины свои, посмотрю.
Авто объединение сообщений:

Zl0y, Нет
Авто объединение сообщений:

mc923, Так-то да. Я прочитал книгу Философия Java и начал делать. Я уже изучаю принципы ООП, а так-же шаблоны проектирования. Просто после python, не привычно.
 
У

Удалённый пользователь

CarryLove,
offtop Если хотите отблагодарить, используйте реакции. В некоторых случаях Ваше сообщение вроде спасибо могут удалить и выдать предупреждение
 

Комнаты в чате

Верх Низ