Смена слота

svk

1,185
3
Потерял я этот ответ...
Как сделать смену НБТ когда переключаешь слот? У меня сейчас такой трабл: есть 3 оружия, если их быстро переключать, то с пистолета автомат можно сделать, а надо, что-бы при смене слота, менялась переменная задержки огня.
 
onUpdate проверить, есть-ли он в руке или нет.
 
Повторю в третий раз: держать кулдаун на выстрел в NBT - неудачная идея, а делать что-то подобное в onUpdate предмета - еще хуже!

По теме: просто чекай каждый тик player.inventory.currentItem и сравнивай с предыдущим.
 
GloomyFolken написал(а):
Повторю в третий раз: держать кулдаун на выстрел в NBT - неудачная идея, а делать что-то подобное в onUpdate предмета - еще хуже!

По теме: просто чекай каждый тик player.inventory.currentItem и сравнивай с предыдущим.
М? Переменная будет во всех объектах итема. Т.е. задержка выстрела будет у всех людей.
И вообще не понял что ты написал, я думал калдаун надо вынести в НБТ плаера.
 
1) Я не говорил сохранять предыдущий currentItem в классе айтема =/
2) Неудачная идея - хранить кулдаун в NBT пушки, в NBT игрока норм.
Ну можно использовать и НБТ тег игрока (который entityData), но проще - зарегистрировать IExtendedEntityProperties для каждого игрока. Не сейчас, так завтра понадобится, с возможностью использовать прикрепленные к игроку данные намного проще кодить.
P.S: svk, извини за немного резкое сообщение, мне казалось, что соседняя тема, в которой я писал примерно то же самое, тоже от тебя.
[merge_posts_bbcode]Добавлено: 30.03.2015 20:15:35[/merge_posts_bbcode]

Agravaine написал(а):
Так если вынесешь в игрока, то он будет один на все оружия в инвентаре...
Так это и нужно обычно. Выстрелил из пистолета, подождал 10 тиков, можешь стрелять из чего угодно. Выстрелил из РПГ, подождал 100 тиков, ну ты понял :D
 
Agravaine написал(а):
В данном случае мне не нужно(
Ну если не нужно, то храни уж лучше время последнего выстрела. Конечно, временные промежутки в мс вместо тиков - не по фен-шую, но это лучше, чем слать каждый тик пакет с обновлением NBT предмета.
 
Назад
Сверху