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

Помогите Изменение функциональности копированного предмета

Тема в разделе "Разработка плагинов для новичков", создана пользователем lolifrag, 13 ноя 2014.

Статус темы:
Закрыта.
  1. Автор темы
    lolifrag

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

    Баллы:
    66
    Skype:
    frosti.village
    Имя в Minecraft:
    meow
    Доброе время суток.
    Сразу говорю, я нупик в данной теме, поэтому если вопрос будет банальным, просьба не подкалывать.
    Я пишу плагин, в котором добавляю новый сундук на основе ванильного id54. Мне нужно, что бы он не складывался с таким же и с обычным в двойной, но подключался как и обычный к трубам из технических модов со всех сторон. Как такое реализовать? (1 копирование, 2 изменение свойств)
    Спасибо за внимание.

    пс. чуть не забыл, он должен ещё открываться, даже если он заблокирован блоком сверху (обычный не открывается в такой ситуации)
     
    Последнее редактирование: 13 ноя 2014
  2. Хостинг MineCraft
    <
  3. ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    О, наконец-то интересные вопросы.

    Итак начнем:
    1) Открывать сундук даже если он "накрыт"
    Ну.. Тут у меня вариантов не много:

    Что делаем:
    1. Получаем блок сундука при интеракции
    2. Получаем объект сундука из State блока
    3. Получаем инвентарь
    4. Открываем инвентарь

    Код: (Click image for pastebin)
    [​IMG]

    2) Сундук не объединяется с соседями
    Увы такого сделать плагин не позволит, но у нас есть варианты
    а) Не давать ставить сундук рядом с необычным сундуком
    б) Использовать Trapped Chest.
    Их можно ставить рядом
    Пример:
    [​IMG]

    3) Изменение свойств.
    Самый простой и универсальный способ отлова "не стандартности" - задать сундуку спец. имя, да такое чтоб нельзя было задать наковальней (Например использовать спец-символы или цвет)
    Или же запретить ренейминг сундуков на сервере.
    Можно придумать еще что, но это самый простой и надежный способ

    Надеюсь помог
     
  4. Автор темы
    lolifrag

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

    Баллы:
    66
    Skype:
    frosti.village
    Имя в Minecraft:
    meow
    О, да, ещё как помог. Дельные советы всегда на вес золота, спасибо.
    Побуду немного наглым и немного уточню пару деталей:3
    То что я делаю - некое подобие декрафтора, пишу как вспомогательный плагин для технических модов (да-да, я не шучу, только начал и сразу такое.. просто полегче идей нет, а пытаться что-то понять в коде других плагинов немножко проблематично - по крайней мере с мкммо я вожусь уже неделю пытаясь его осознать). Ложишь в сундук предмет X (или загружаешь трубами с любой стороны кроме нижней), который задаётся в конфиге и рандомные скрафченные (не первичные и не поломанные предметы). Далее идёт проверка на первичность и поломанность и проверка, не знаю как сформулировать кратко, скажу на примере - факел: 1 уголь+1 палка = 4 факела
    идёт проверка, что бы факелов было 4m+n. Если все условия удовлетворены, то расходуя материал Х в соотношении указанном в конфиге (каждый рецепт состоит из k ингредиентов, а соотношение - сколько материала Х понадобится на каждый ингредиент), в сундук ниже этого автоматически переносятся разобранные предметы (разбирает на 1 уровень, то есть из факелов уж никак не получится угля и древесины, а уголь и палки). Каждый автораскрафт длится N секунд (задаётся конфигом). К сундуку можно подключить двигатели forestry или bc что бы значительно уменьшить это время.
    Вопрос вот в чём, это реализуемо плагином? (я не прошу готовый код, мне только нужно узнать, можно ли такое делать.. я не совсем понимаю ограничения плагинов)
    Я подумывал о моддинге, но если тут (плагины) я хоть что-то понимаю, то в модах совсем ничего не понятно .т.
     
    Последнее редактирование: 15 ноя 2014
  5. ql_Nik_lp

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

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Скайп под аватаркой
    Пиши туда.
     
  6. Hilgert

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

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    NBT, lore, любое значение которое отличит предметы друг от друга
     
Статус темы:
Закрыта.

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