Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.

Плагин [FUN] RandomBox 2.5.1 — коробки удачи в Minecraft! *теперь с кастомными GUI* [1.7 | 1.8]

Тема в разделе "Релизы плагинов", создана пользователем saharNooby, 23 окт 2014.

  1. Автор темы
    saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    [​IMG]

    Плагин RandomBox позволяет вам использовать так называемые "коробки удачи" — контейнеры, из которых вам могут выпасть несколько случайных вещей, указанных в настройках плагина. Идея полностью взята, как можно догадаться уже по краткому описанию, из игры Warface.

    Страничка на dev.bukkit | Страничка на Spigot Resources

    На школосерверах с продажей креатива и/или команды /give плагин бессмыслен по 2 причинам:
    • Креатив позволяет копировать вещи 1 кликом;
    • Через /i и /give можно подделать lore (а значит, и код коробки).

    Плагин тестировался на билде Spigot от 1 октября (использует BukkitAPI).

    Также, тестировался на Spigot-сборках от @Kron (1.5.2; 1.6.4; 1.7.9).

    Описание работы

    Плагин выдаёт коробку удачи (далее "коробку") командой /givebox <игрок> <id коробки>. После этого, игрок может эту коробку открыть командой /openbox, держа её в руках: коробка удалится, и в инвентаре появятся вещи, выпавшие из неё. В чат выведется сообщение: "Вам выпало то-то, то-то и то-то.", или сообщение об ошибке и краткое описание (например, если в инвентаре нет места).

    Коробка — это обычный предмет, отличающийся от других только описанием (lore), тем, что на него наложено зачарование Защита 3 (просто для красоты, чтоб светился, можно отключить). В lore закодирован id коробки (с помощью не влияющих на отображение цветовых кодов) и написаны названия всех предметов, выпадающих из коробки и их количество. Пример на скриншоте.

    Все коробки настраиваются в plugins/RandomBox/config.yml.

    Формат описания коробки

    Код (Text):
    1.  
    2. # Идентификатор коробки (указывается в команде /givebox <игрок> <id>)
    3. # Должен быть целым положительным числом,
    4. # желательно, в формате 990<номер по порядку> во избежание пересечения под-id с обычными предметами.
    5. 9901:
    6.   # Вещь, которой является коробка, желательно, нестакающаяся.
    7.   # Лучше всего подходит вагонетка с сундуком (STORAGE_MINECART).
    8.   # Если эту вещь можно использовать (вагонетку, например, поставить на рельсы),
    9.   # то это нельзя будет сделать, если эта вещь — коробка
    10.   # Формат указания: цифровой id (например, "57" — алмазный блок)
    11.   # или строковый (для предыдущего — "DIAMOND_BLOCK").
    12.   boxItem: STORAGE_MINECART
    13.   # Название коробки
    14.   boxName: 'Коробка удачи'
    15.   # Сколько вещей выпадает из коробки (если меньше общего кол-ва вещей, то коробка не будет открываться)
    16.   itemsToSelectCount: 3
    17.   # Проверять наличие у открывающего разрешения randombox.open.<id коробки>
    18.   checkPermission: true
    19.   # Открывать коробку при клике правой кнопки мыши во время держания её в руках
    20.   openWhenClicked: true
    21.   # Зачаровывать коробку на Защиту III?
    22.   enchant: true
    23.   # Делает коробки нестакающимися (если это стакающиеся предметы или блоки)
    24.   unstackable: true
    25.   items:
    26.   # Вещи, выпадающие из коробки
    Как видно, коробкой может быть любой предмет, при это его нельзя будет поставить на землю (если это блок), на рельсы (если это вагонетка) и вообще как либо использовать, кроме как открыть.

    id предметов рекомендуется указывать числами (здесь все id), можно строками типа "DIAMOND_BLOCK", но не нужно, потому что они часто не соответствуют нормальным названиям блоков и предметов (например, "DIODE" - это повторитель).

    Формат описания вещи

    Код (Text):
    1.  
    2. # Любое уникальное название, не влияет ни на что
    3. item1:
    4.   # Если добавлена эта секция, то вместе
    5.   # с выдачей предмета будет выполнены
    6.   # команды из этого списка с заданными
    7.   # аргументами
    8.   #
    9.   # В данном примере игрок получит
    10.   # 10 уровней опыта
    11.   # Чтобы выполнить только команды, поставьте
    12.   # id предмета 0 или AIR
    13.   commands:
    14.     # Любое название, не влияет ни на что
    15.     command1:
    16.       # Название команды без / вместе
    17.       # с аргументами.
    18.       line: 'xp give %player% 10L'
    19.       # Выполнять команду от имени
    20.       # консоли (true) или игрока (false)
    21.       fromConsole: true
    22.   # id предмета
    23.   item: DIAMOND_SWORD
    24.   # Data value предмета (то, которое через двоеточие)
    25.   data: 0
    26.   # Количество предметов в стаке
    27.   amount: 1
    28.   # Название предмета (может быть цветным)
    29.   # Обязательный параметр! Иначе не будет имени предмета
    30.   # в описании к коробке.
    31.   name: '&cАлмазный меч'
    32.   # Описание предмета (может быть цветным)
    33.   # Каждая строчка — отдельный пункт
    34.   # - 'текст строки'
    35.   lore:
    36.   - '&7Этот меч выпал'
    37.   - '&7из коробки удачи.'
    38.   # Зачарования любого уровня и типа
    39.   # Формат: <Зачарование>:<уровень>
    40.   enchants:
    41.     sharpness: 8
    42.     unbreaking: 5
    43.     fire: 4
    44.     knockback: 2
    45.   # Сообщение, которое будет показано всем игрокам,
    46.   # Rкогда эта вещь выпадет. Чтобы это отключить, удалите
    47.   # этот параметр или оставьте пустым.
    48.   broadcastMessage: '&6%player% вытянул охрененный меч из коробки!'
    49.   # Шанс выпадения вещи
    50.   chance: 15
    51.  
    power — Сила лука
    flame — Огненные стрелы
    infinity — Бесконечные стрелы
    punch — Отбрасывание лука
    sharpness — Острота
    bane, baneofarthropods, bane_of_arthropods — Урон насекомым
    smite — Урон нежити
    efficiency — Эффективность
    unbreaking — Прочность
    fire, fireaspect, fire_aspect — Поджигание мечом
    knockback — Отбрасывание мечом
    fortune — Увеличение дропа руд
    looting — Увеличение дропа с мобов
    luck, luckofthesea, luck_of_the_sea — Более редкие вещи при рыбалке
    lure — Клюёт чаще
    respiration — Воздух под водой медленнее кончается
    protection — Защита от всего урона
    blast, blastprotection, blast_protection — Защита от взрывов
    feather, featherfalling, feather_falling — Уменьшение урона от падения
    fireprotection, fire_protection — Защита от огня
    projectile, projectileprotection, projectile_protection — Защита от стрел
    silk, silktouch, silk_touch — Добыча блоков в их настоящем виде (камень, трава вместо булыжника и земли)
    thorns — Часть урона вернётся напавшему
    aqua, aquaaffinity, aqua_affinity — Блоки под водой добываются быстрее

    Шанс — целое число больше нуля. Чем больше доля данного шанса в сумме шансов всех вещей, тем чаще он будет выпадать. Чтобы каждая вещь выпадала с равной вероятностью, поставьте у всех вещей одинаковые шансы.

    Команды
    • /givebox <игрок> <id коробки>: выдать коробку игроку.
    • /openbox: открыть коробку, которая находится у вас в руках.
    • /randombox, /rb: информация о плагине: версия, автор и краткое описание.
    • /randombox reload: перезагрузить настройки с диска.
    • /randombox list: отобразить список коробок в конфиге
    Permissions
    • randombox.*: Разрешает выполнять все команды.
    • randombox.main: Разрешает выполнять команду /randombox без аргументов.
    • randombox.main.reload: Разрешает перезагружать плагин.
    • randombox.openbox: Разрешает открывать коробки.
    • randombox.givebox: Разрешает выдавать коробки игрокам.
    • randombox.infinitebox: При открытии коробка не исчезает.
    • randombox.open.<id коробки>: разрешает открывать коробку id. Проверяется, только если в настройках коробки checkPermission установлено в true.
    • randombox.open.*: разрешает открывать все коробки. Проверяется, только если в настройках коробки checkPermission установлено в true.
    Дополнительно

    В конфиге есть булев параметр debug — включает вывод некоторой информации в консоль, типа рассчитанных вероятностей.

    Есть раздел strings — в нём хранятся все строки, выводимые в чат на двух языках (русском и чуть ломанном английском, за переключение отвечает параметр locale), а также префикс сообщений и строка "Выпадающие предметы:" из описания коробки.

    Скриншот

    [​IMG]
    Скачать

    dev.bukkit
    : скачать

    Известные ошибки
    • Что будет, если изменить id коробки в конфиге? Все коробки со старым id, выданные до этого, перестанут открываться.
    • Что будет, если изменить выпадающие вещи? Открыв любую коробку, выданную до этого, игроки немного удивятся — в описании одни вещи, а выпали другие.
    Статистика

    [​IMG]
     
    Последнее редактирование: 7 май 2015
  2. Mr Hosting
  3. JustBlender

    JustBlender Старожил Девелопер Пользователь

    Баллы:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Прекрасная идея.
     
    Последнее редактирование: 20 мар 2016
  4. Автор темы
    saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    Спасибо, приятно слышать. :)
    --- Сообщения объединены: 24 окт 2014, предыдущее сообщение: 23 окт 2014 ---
    Ну вот, какой-то унылый RandomBox уже есть. :(
    http://dev.bukkit.org/bukkit-plugins/randombox/
     
  5. Ex4ak01

    Ex4ak01 Активный участник Пользователь

    Баллы:
    78
    Skype:
    mc_kent_01
    Имя в Minecraft:
    Ex4ak
    Для 1.5.2 и 1.6.4 будит?
     
  6. Автор темы
    saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    Протестирую каждую строчку, если как-либо заполучу нужный Bukkit. Его же удалили с официального сайта. Попробую поискать.
    --- Сообщения объединены: 24 окт 2014, предыдущее сообщение: 24 окт 2014 ---
    Работает на 1.5.2, 1.6.4, 1.7.9.
    Тестировал на этих сборках.
    --- Сообщения объединены: 24 окт 2014 ---
    Обновление 1.1!
    • Возможность заставить коробку проверять, может её открыть данный игрок или нет. Включается установкой в настройках коробки checkPermission в true. Игрок сможет открыть коробку, если ему выдано разрешение randombox.open.<id коробки> или randombox.open.*
    • Возможность указывать числовые id предметов — коробок и дропа из них. ID предметов.
    • Возможность указывать нормальные названия зачарований (список выше).
    • Удалена команда /randombox reset.
     
  7. Dark_Pro

    Dark_Pro Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    Nick
    Можно ли сменить открывание коробок на ПКМ или ЛКМ или на Q(дроп), знаю эту кнопку можно отследить.
     
  8. Автор темы
    saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    В первых версиях плагина была такая функция (открытие по ПКМ), но я убрал, подумав, что можно её открыть случайно. В таком случае, в следующей версии добавлю возможность включать открытие по клику ПКМ.
     
  9. Jampire

    Jampire Старожил Пользователь

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    Для текстуры коробки весьма подойдет блок лицевой части поршня)
     
  10. Автор темы
    saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    Зато блоки не светятся (у меня, по крайней мере, на 1.7.10) :)
     
  11. Vasilisk

    Vasilisk Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Vasilisk
    Есть подобный плагин "КиндерСюрприз", надо и этот попробовать.
    --- Сообщения объединены: 25 окт 2014, предыдущее сообщение: 25 окт 2014 ---
    И там еще яйцо можно поставить на землю и открыть ПКМ.
    --- Сообщения объединены: 25 окт 2014 ---
    И яйцо привязано к яйцу дракона, что дает использовать id в других плагинах. Так можно давать бонус за ачивку.
    --- Сообщения объединены: 25 окт 2014 ---
    Вывод: привяжи все функции к яйцу дракона, и будет самый крутой плагин, ибо тот забросили и он недоделанный.
     
  12. Автор темы
    saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    Обновление сильно отложится, ибо возникла надобность... переписать плагин. Потому что в существующий исходник невозможно добавлять новые функции.
    --- Сообщения объединены: 27 окт 2014, предыдущее сообщение: 26 окт 2014 ---
    Плагин-таки переписан! Скоро обновление.
     
  13. Vasilisk

    Vasilisk Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Vasilisk
    Ждем )
     
  14. Автор темы
    saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    Обновление 1.2!
    • Плагин переписан, удалён лишний код (в конфиге никаких изменений).
    • Настройка коробки openWhenClicked: будучи установленной в true, появится возможность открыть коробку правой кнопкой мыши, просто держа её в руках.
    --- Сообщения объединены: 29 окт 2014, предыдущее сообщение: 28 окт 2014 ---
    Модераторы, можно ли тему в подтверждённые плагины? Релиз же.
     
  15. NeroKore

    NeroKore Активный участник Пользователь

    Баллы:
    61
    Skype:
    nerokore
    Имя в Minecraft:
    NeroKore
    При открытии сундука, сундук не исчезает.
    Нельзя вносить изменения в конфиг
     
  16. Автор темы
    saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    Сейчас посмотрю. А какой сундук?
     
  17. NeroKore

    NeroKore Активный участник Пользователь

    Баллы:
    61
    Skype:
    nerokore
    Имя в Minecraft:
    NeroKore
    box1, у меня просто ассоциация с сундуком)
     
  18. Автор темы
    saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    Так. При открытии коробки она не исчезает? Если ты админ, то это фича, потому что автоматически выдано разрешение infinitebox - не удалять коробки.
    --- Сообщения объединены: 30 окт 2014, предыдущее сообщение: 30 окт 2014 ---
    И в чём заключается проблема с конфигом? Подробнее, пожалуйста.
     
  19. NeroKore

    NeroKore Активный участник Пользователь

    Баллы:
    61
    Skype:
    nerokore
    Имя в Minecraft:
    NeroKore
    Да, я Админ.
    Когда изменяю название box1, допустим вместо Сундук Охотника -> Сундук тиража №1, название не меняется.
     
  20. Автор темы
    saharNooby

    saharNooby Активный участник Девелопер Пользователь

    Баллы:
    78
    Имя в Minecraft:
    saharNooby
    Если админ, то это фича: "randombox.infinitebox: При открытии коробка не исчезает.". Чтобы убрать, в permissions.yml добавьте "- -randombox.infinitebox".

    Если вы изменяете название коробки уже посли выдачи, то это известная ошибка, и решения у неё пока нет (скоро будет). Единственное решение сейчас - перераздать коробки.
     
  21. NeroKore

    NeroKore Активный участник Пользователь

    Баллы:
    61
    Skype:
    nerokore
    Имя в Minecraft:
    NeroKore
    Так, я эту коробку удаляю. Перезапускаю конфиг, ее опять выдаю, все равно с таким же названием. Или ты имел введу, что надо изменить сам конфиг box1?
     

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