Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин ChristmasGifts v1.3.2-A - Доставка подарков [1.7.1-1.21+]

Mitriyf

Участник
Пользователь
Баллы
36
Имя в Minecraft
Mitriyf
ChristmasGifts
Доставьте на свой сервер подарки, которые принесут приятные сюрпризы вашим игрокам
Скачать:
GitHub | SpigotMC.org | Modrinth
​
Этот плагин добавляет механику доставки подарков для ваших игроков.
// Поддерживаются версии 1.7.1-1.21.
// Был протестирован на версиях: 1.7.10, 1.8.8, 1.12.2, 1.16.5, 1.21.
// Перейти на русский форум spigotmc можно через GitHub или SpigotMC.org, найдя такого же рода окошко. (По какой-то причине ссылка русского форума удаляется)

FAQ: FAQ · jdevs-mc/ChristmasGifts Wiki

Бродите по миру
Путешествуя по миру, игрок может получить подарок от Санты. Но украл ли его Гринч, положив в него свой подарок?
Поддержка
| Поддержка HEX (1.16+)
| Языки:

  • EN (Английский)
  • RU (Русский)
  • Другие (Режим сообщений 2, вручную)
| Плагины:
  • WorldGuard, WorldEdit - Проверьте, где спавнятся ваши подарки.
  • PlaceholderAPI - Добавьте возможность взаимодействовать с плагином через PlaceholderAPI, а также добавляйте другие Placeholders в сообщения из конфигурации.
  • DecentHolograms/HolographicDisplays - Добавьте голограмму над подарком.
| Проверки:
  • Плагин автоматически определит версию вашего сервера, чтобы он начал корректно работать с вашим проектом.
  • Плагин проверит условия работы и, при необходимости, предупредит об ошибках и отключится.
  • Замена некоторых деталей конфигурации в случае их отсутствия.
  • Подарок был защищен от попыток уничтожения.
// Остальную информацию про плагин и ссылки на скачивания вы можете найти выше (выделено синим).

Лог изменений:
  • Версия 1.3.2-A
  • Добавлено:
    • Заполнитель %time% в голограммы.
  • Исправлено:
    • Теперь в голограммы встроен заполнитель %player%, который выдает имя игрока, получившего подарок.
    • Исправлена работа сообщений в message mode 1. (Не отправлялись)
    • Теперь плейсхолдеры работают в голограммах, и вы также можете работать с другими пользователями через встроенный плейсхолдер, например: %other_gamemode_%player%%
    • Плейсхолдеры могли не работать после использования /papi reload - теперь это исправлено. Исправление проблемы для прошлых версий: используйте /gifts reload в прошлых версиях, чтобы это было исправлено.
    • Высота в локали каждой голограммы теперь работает.
    • Исправлена некорректная перезагрузка плагина при отключении placeholderAPI в launch.yml после /gifts reload.
    • Добавлен заполнитель %time%, который отсчитывает время до потери подарка (для голограммы).
  • Проблемы:
    • Код был оптимизирован.
    • Проблем не обнаружено.
Скачать:
GitHub | SpigotMC.org
​

Спасибо пользователю с SpigotMC (RU) за обнаружение этих проблем.

Это последнее обновление в этом году, если только мне не пришлют идеи или информацию о новых багах (или проблемах в коде).

Удачи и счастливого Нового года!
  • Версия 1.3.0-RELEASE
  • Добавлено:
    • Начните поддерживать любые языки на вашем сервере. Теперь вы можете изменить язык, выбранный клиентом игрока (minecraft). Вы можете настроить это в launch.yml и создать новые языки в папке locales. (Добавлен немецкий для режима 2)
    • Найдите выбранный язык, чтобы настроить для него перевод, используя команду: /gifts locale
    • Оптимизация кода.
  • Исправлено:
    • Проблем не обнаружено.
  • Версия 1.2.0-RELEASE
// Я хочу сообщить вам, что поддержка HolographicDisplays прекращена, и она остановилась на версии 1.20. Если ваш сервер использует версию 1.21, я настоятельно рекомендую использовать DecentHolograms для этого плагина.

Критику, идеи для обновлений по поводу плагина, я прошу писать здесь или обратиться на GitHub.
 
Последнее редактирование:
Лог изменений:
Версия 1.1.3
  • Оптимизация кода
  • Исправление ошибки при работе в режиме 2.
Скачать:
GitHub | SpigotMC.org
​

По поводу некорректных изменений оптимизации кода, критики кода обращаться сюда или на GitHub. По идеям такая же ситуация.
 
Последнее редактирование:
Лог изменений:
Версия 1.2.0-PROTOTYPE:
Добавлено:
  • Добавлена возможность добавлять частицы: [particle] ...
  • С помощью подкоманды reload теперь можно перезагрузить некоторые функции из launch.yml.
  • ConfigUpdater перенесен в корневую папку проекта (из нее удален ненужный код).
Исправлено:
  • Исправлена ошибка подкоманды newloot.
  • Исправлена перезагрузка конфигурации.
  • Автоматическое обновление конфигурации (возможно, отсутствовал выбор голограмм при обновлении)
  • Исправлено возможное превышение лимита в случае рассылки командой спама. (Уровень проблемы: Легкий)
  • Исправлена ошибка, из-за которой подарки не удалялись в версии 1.12.2 и ниже. (Уровень проблемы: Средний //Возможно, ошибка была распространена в версиях выше 1.12.2)
  • Оптимизация кода.
Скачать прототип плагина:
Утеряно
Приветствую. Это прототип версии плагина ChristmasGifts v1.2.0.
В связи с существенными изменениями, пожалуйста, протестируйте функции этой версии плагина перед использованием плагина. (Версии 1.7.1-1.21)
Я также прошу разработчиков, желающих просмотреть код, найти его недочёты.

Все, что вы найдёте, пожалуйста, сообщите на RuBukkit или GitHub.

Я постараюсь после тестов выпустить версию 1.2.0-RELEASE, приблизительно я смогу это сделать 13 или 15 декабря.
Изменено:
Я выпущу только 16 декабря :(


Спасибо.
 
Последнее редактирование:
Это обязательно или softdepend?
  • WorldGuard, WorldEdit - Проверьте, где спавнятся ваши подарки.
  • PlaceholderAPI - Добавьте возможность взаимодействовать с плагином через PlaceholderAPI, а также добавляйте другие Placeholders в сообщения из конфигурации.
  • DecentHolograms/HolographicDisplays - Добавьте голограмму над подарком.
 
Я также прошу разработчиков, желающих просмотреть код, найти его недочёты.

Все, что вы найдёте, пожалуйста, сообщите на RuBukkit или GitHub.

Ну вообще, когда я говорил про switch case логику, я подразумевал, что она будет использоваться во всех командах, а не только в одной...
https://github.com/jdevs-mc/Christm.../java/dev/jdevs/JGifts/command/christmas.java


А вот тут вот:
https://github.com/jdevs-mc/Christm...dev/jdevs/JGifts/supports/PlaceholderAPI.java
return "true"; и return "false"; стоило бы заменить на PlaceholderAPIPlugin.booleanTrue(); и PlaceholderAPIPlugin.booleanFalse(); соответственно, для большей гибкости
 
Ну вообще, когда я говорил про switch case логику, я подразумевал, что она будет использоваться во всех командах, а не только в одной...
https://github.com/jdevs-mc/Christm.../java/dev/jdevs/JGifts/command/christmas.java


А вот тут вот:
https://github.com/jdevs-mc/Christm...dev/jdevs/JGifts/supports/PlaceholderAPI.java
return "true"; и return "false"; стоило бы заменить на PlaceholderAPIPlugin.booleanTrue(); и PlaceholderAPIPlugin.booleanFalse(); соответственно, для большей гибкости
Всего в коде 1 команда, эту "christmas" (дубликат) я забыл удалить на GitHub, спасибо.
Про booleanFalse, booleanTrue учту.


Ну и также в главном классе нет необходимости делать implements Listener

https://github.com/jdevs-mc/ChristmasGifts/blob/main/src/main/java/dev/jdevs/JGifts/Christmas.java

Ты же им ничего не слушаешь
Это я не заметил, спасибо!

Почистил мусор на GitHub, теперь код тот, который должен быть. (Изменения по требованию уже приняты в этом коде)
 
Последнее редактирование:
Лог изменений:
Версия 1.2.0-RELEASE:
Добавлено:
  • Улучшено взаимодействие с командой: /gifts newloot. Теперь она: /gifts loot - Получите помощь о подкоманде loot.
  • /gifts loot add santa/grinch Название Количество(от-до) Шанс - Добавьте предметы в подарки, /gifts loot list santa/grinch - Получите список предметов из подарков, /gifts loot get santa/grinch Название - Получить ItemStack предмета из подарка, /gifts loot remove santa/grinch Name - Удалить предмет из подарков
  • Добавлена возможность добавлять частицы [particle], чтобы украсить любое действие подарком. (Можно редактировать в файле config.yml)
    Примеры использования частиц:
  • ConfigUpdater был перенесен в исходный код плагина.
  • /gifts reload - Теперь можно перезагружать некоторые функции из launch.yml

Исправлено:
  • Исправлена ошибка с подкомандой newloot (Теперь /gifts loot).
  • Исправлена перезагрузка конфигурации.
  • Автоматическое обновление конфигурации (возможно, во время обновления не было выбора голограмм)
  • Исправлено возможное превышение лимита в случае рассылки командой спама. (Уровень проблемы: Легкий)
  • Исправлена ошибка, из-за которой подарки не удалялись в версии 1.12.2 и ниже. (Уровень проблемы: Средний //Возможно, ошибка была распространена в версиях выше 1.12.2)
  • Оптимизация кода.
  • Очистка кода от мусора.
  • Упрощение некоторых частей кода.
Скачать:
GitHub | SpigotMC.org​

Спасибо, что подождали, пожалуйста, обновите плагин до этой стабильной версии.

Спасибо всем вам за вашу помощь в поиске проблем, а также за идеи.
Прототип утерян.

По поводу некорректных изменений оптимизации кода, критики кода обращаться сюда или на GitHub. По идеям такая же ситуация.
 
Последнее редактирование:
По поводу некорректных изменений оптимизации кода, критики кода обращаться сюда или на GitHub. По идеям такая же ситуация.
На самом деле проверка на то, является ли у тебя команда командой плагина не нужна) https://github.com/jdevs-mc/Christm...v/jdevs/JGifts/command/Gift.java#L39C9-L39C63
Наверное лучше будет заменить contains на equalsignorecase или что-то в этом духе, я конечно в логику не вдавался, но выглядит так, что это можно сделать https://github.com/jdevs-mc/Christm...jdevs/JGifts/supports/PlaceholderAPI.java#L25 и в https://github.com/jdevs-mc/Christm...ev/jdevs/JGifts/made/MessageLanguage.java#L16
 
На самом деле проверка на то, является ли у тебя команда командой плагина не нужна) https://github.com/jdevs-mc/Christm...v/jdevs/JGifts/command/Gift.java#L39C9-L39C63
Наверное лучше будет заменить contains на equalsignorecase или что-то в этом духе, я конечно в логику не вдавался, но выглядит так, что это можно сделать https://github.com/jdevs-mc/Christm...jdevs/JGifts/supports/PlaceholderAPI.java#L25 и в https://github.com/jdevs-mc/Christm...ev/jdevs/JGifts/made/MessageLanguage.java#L16
Проверку на команду уберу, equalsIgnoreCase добавлю (В 1.2.1 версии плагина)
// Дополнительно возможно поэкспериментирую с командой.
Спасибо.
 
Лог изменений:
Версия 1.2.1-RELEASE:
Добавлено:
- При удалении предмета теперь вы можете проверить, существует ли он, чтобы не удалять несуществующий предмет.
- Скоро будет добавлен раздел часто задаваемых вопросов по плагину.

Исправлено:
- Исправлена ошибка, из-за которой вы могли поломать голову и воспользоваться ею. (Это можно обнаружить случайно, но в голову никому не поползёт. Уровень опасности: Нормальный)
- В некоторых версиях после отключения плагина файл config.yml мог быть удален из-за ошибки в коде, это исправлено. (Уровень опасности: критический, обнаружено в Purpur версии 1.16.5)
- Исправлены мелкие ошибки. (Уровень опасности: почти нулевой)

Оптимизировано:
- Оптимизированы почти все классы в коде.
- Возможно, была добавлена аббревиатура для Mode 2, чтобы можно было без проблем просматривать всех игроков.
- Процесс отправки сообщений и т.д.

Скачать:
GitHub | SpigotMC.org

​
Спасибо, что подождали, пожалуйста, обновите плагин до этой стабильной версии.

Спасибо всем вам за помощь в поиске проблем, а также за идеи.

Возможно, это последнее обновление плагина в этом году, так как я не обнаружил никаких других проблем.
Этот плагин возможно будет обновлён к следующему новому году с новыми плюшками.

По поводу некорректных изменений оптимизации кода, критики кода обращаться сюда или на GitHub. По идеям такая же ситуация.

Всех с наступающим Новым годом!
Спасибо.
 
Последнее редактирование:
В плагине есть возможность показа языка, в зависимости от выбора игрока?
К примеру стоит Русский и включается этот язык. Если стоит Английский то язык переключается
 
В плагине есть возможность показа языка, в зависимости от выбора игрока?
К примеру стоит Русский и включается этот язык. Если стоит Английский то язык переключается
К сожалению такая возможность не предусмотрена в плагине. Плагин должен узнать для начала какой язык выбрал игрок, а если игрок будет сам выбирать через этот плагин это выглядит криво. Покажите как оно должно выглядеть, если вы хотите увидеть это в будущем.
 
Я бы порекомендовал подключать зависимости WorldGuard и PlaceholderAPI через Maven, а не напрямую через IDEA. Сейчас это может показаться мелочью, но когда твой плагин будет зависеть от 5–8 плагинов (как, например, JediCraft на Кристаликсе), это станет немного утомительным. Зависимости для Maven уже давно существуют.

Твой проект и так основан на Maven, поэтому не вижу смысла смешивать две системы сборки.
Учту. Выпущу в обновлении 1.2.2. Спасибо
 

Поделиться этой страницей

Назад
Верх