Плагин [FUN/TP] WarpsGUI v0.4 - GUI варпов Essentials [1.8]

Нужен ли такой плагин на сервере?

  • Да

  • Нет

  • Не на всех серверах он нужен


Результаты видны после голосования.

HunterGaming

Активный участник
Пользователь
Баллы
96
Ник в Minecraft
sqdFendy
WarpsGUI - Варпы Essentials в GUI виде:
Версия: v0.4

Что делает данный плагин? Он создает GUI интерфейс при написании команды /warps и показывает все созданные варпы Essentials, на табличке(Можете указать другой ID в конфиге) пишется название варпа, по нажатию на любую из табличек, Вас телепортирует на указанный варп. Так же есть настройка конфига, как я указал раннее.

Так же у вас должен стоять обязательно плагин, т.к. я использовал его API:
  • Essentials
Permissions
  • warpsgui.open - Право на открытие GUI интерфейса

Особенности:
  • Добавляет интерес в поисках варпов и телепортации на них.
Скачать плагин - https://yadi.sk/d/09S_NEDd3KGyDXСсылка

Лог изменений(новые):

Версия 0.4

  • Имя варпа теперь обозначается символами >> Имя <<
  • Убран класс WListener
  • Пофикшена кодировка конфига. Теперь она UTF-8

Лог изменений(старые)

Версия 0.3
  • Добавлены страницы.
Версия 0.2
  • Исправил ошибку IllegalArgumentException.
Версия 0.1
  • Первый релиз плагина.
 
Последнее редактирование:
Хех... Да, скучно вечером)
 

Зачем ты хранишь экземпляр инвентаря, если ты его генерируешь всегда при вводе команды??
Лучше создавай инвентарь при запуске сервера (onLoad) и при выполнении некой команды (/warps reload).
Код:
InventoryList.warpsInv = Bukkit.createInventory((InventoryHolder)null, this.config.getInt("WarpsGUI.Size"), this.config.getString("WarpsGUI.Title").replace('&', '§'));

У тебя только один слушатель "InventoryClick.class.onInventoryClick()", а это значит, что в инвентарь можно положить все, что хочешь! К примеру: ты не отлавливаешь такой ивент, как "InventoryDragEvent" и т.д.

Почему это нельзя сделать только один раз?? Зачем это делать постоянно?? Я не понимаю...
Код:
this.config.getString("WarpsGUI.Title").replace('&', '§')

Ну и сравнивать инвентарь по имени - это не очень...
Код:
e.getInventory().getTitle().equals(this.config.getString("WarpsGUI.Title").replace('&', '§'))

Также я заметил у тебя пустой класс (WListener.class).. Возможно это декомпилятор балуется...
 
Класс WListener не пустой. Зачем InventoryDragEvent?
 
Класс WListener не пустой. Зачем InventoryDragEvent?
Если взять к примеру стак вещей, зажать ЛКМ и провести по инвентарям (Чтобы они разделились), то твой плагин это не запретит и игрок потеряет эти вещи.
 
Днем проверю это.
 
Если взять к примеру стак вещей, зажать ЛКМ и провести по инвентарям (Чтобы они разделились), то твой плагин это не запретит и игрок потеряет эти вещи.
каким образом ты их возьмешь, если он отменяет клик ивента?
 
каким образом ты их возьмешь, если он отменяет клик ивента?
На счет этого сорри.. Он просто блокируешь все клики в инвентаре и не дает их перетаскивать...

Кстати у тебя с кодировкой проблемы... По умолчанию файл "config.yml" не в кодировке "UTF-8". Это у тебя по умолчанию в плагине, я ничего не менял.
Код:
#---------Plugin by HunterGaming----------#
#� ����� ���� � ��� �������� � ���������� #
#� NotePad ��������� ��������� UTF-8      #
#������ ������ ���� ����������� � ������� #
#Essentials, � ����������� ��� ������     #
#������� ����� ������� ��� �����������    #
#Essentials                               #
#��� ��������� ��������� ������?          #
#Title - �������� ���������               #
#Size - ������ ���������                  #
#ID - ID ������ �������� �� minecraft,    #
#������� ����� ���������� �����           #
#-----------------------------------------#

access-permission: '&4� ��� ��� ����!'
WarpsGUI:
  Title: '&1�&2�&3�&4� &5�&6�&7�&8�'
  Size: 27
  ID: 323

Я не понял для чего тебе вообще класс "WListener.class", он же ничего не делает. И ты его нигде не используешь.
Зачем то хранишь в "WListener.class" instance "Main.class", но при это в коде обращаешься не к нему, а к статическому полю в "Main.class.instance". К примеру тут.. В конструктор тебе передается "instance", но ты используешь не его, а лезешь в статическое поле класса "Main.class".
Код:
public InventoryClick(Main instance) {
        super(instance);
        this.config = Main.instance.getConfig();
}
 
Последнее редактирование:
Этот класс я создал, для дальнейшего его использования в других евентах, чтоб не писать каждый раз implements Listener. Я пишу public class ... extends WListener и потом делаю конструктор в этом же классе.
 
Эмм.. Сейчас читаю код, и не понимаю.. Где собсна добавлять, и как добавлять варпы?..
Все. Понял. Варпы из листа варпов essentials.
Баги:
  • Можно в конфиге поставить размер инвенторя на ∞ слотов. (IllegalArgumentException/фото)
  • Если кол-во варпов превышает кол-во слотов, то остальные варпы улетают.
 
Знаю.
2 баг исправлю, 3 как толбко так сразу
v0.3
 
Посмотреть не судьба?
Нет. Это вроде как официальная страница плагина, который выпускаешь именно ты.
Были баги, вышла новая версия. Баги пофикшены?
Ясно. Ты решил в шапку изменения написать. Гениально!
 
Нет. Это вроде как официальная страница плагина, который выпускаешь именно ты.
Были баги, вышла новая версия. Баги пофикшены?
Ясно. Ты решил в шапку изменения написать. Гениально!
Именно, в шапку пишутся все изменения.
 
Классная штука.
Чё ты заладил с этим GUI сделал бы чёнить новое.
 
аааааа ну ясно.
Слушай сделай плагин на тнт базуку чтобы там были патроны в виде тнт и назывались "Бамбящие пули". Ну и чтобы у базуки была траектория по которой будет лететь заряженный тнт.
И чтобы у базуки в описании были написаны авторы идеи и их создатели(Это собсно я и ты)
 
Назад
Верх Низ