[1.7.10] Give NoDrops (слив кода)

timaxa007

Модератор
5,831
409
676
Точно не знаю как правильно назвать и как назывался код с которого как-бы "пародировал" этот код. Два раза меня просили (два разных человека) меня перевести код какого-то автора, который был написан на 1.6.4:
  • Первый раз (давно это было) перевёл на 1.7.10, да и не запомнил что там, да и кода не осталось,
  • А на второй раз (не давно было) я отказался переделывать код и написал (уже вчера) свой вариант кода, а потом ещё один код. Может кому-то пригодиться.
Код с использованием IExtendedEntityProperties - (github.com) no_drop_2 - просто мне нравиться использовать IEEP.
Код без использования IExtendedEntityProperties - (github.com) no_drop_3 - примерно так-же работает, как с кода я "пародировал".
Ресурсных фалов не добавил, так как сами эти коды нужно будет дополнять, так как нету: локализации в ToolTip'е, так как я нормально названия не придумал, а так-же этот код просто пример, некоторые могут захотеть усложнить код (типа ограниченное количество возражение в инвентарь).
---
no_drop_2.jar
no_drop_3.jar
---
С IExtendedEntityProperties или без, по виду и действиями, работает так-же.
Спасибо, за внимание.
 
Последнее редактирование:
@hohserg1, нет. Другой код, там именно через команду и этот мод предположительно назывался GiveNoDrop.
Предположительно S.T.A.L.K.E.R. проект для Minecraft, а код написан под 1.6.4, если я не ошибаюсь. Предположительно, есть один проект, откуда он мог быть взять. Но такой смысл сохранения предмета после смерти, не один проект, но другие проекты, моды и даже вроде есть плагин (но я точно не знаю).
 
Для FGM вроде, там так же недроп работает.
 
@Половина бутылки of juice, вроде он.
Так-же есть подобное и под названием "SavedDrops".
Спасибо @Doc, за найденную ошибку, которая могла приводить к не полному сохранению предметов.
 
@Fr0Le, если ты про эвент PlayerDropsEvent, то нет. event.drops это список дропов виде EntityItem. Тебе скорее всего нужно будет использовать эвент смерти LivingDeathEvent, проверить что entityLiving это игрок и ищешь циклом нужную ящейку с нужным предметом.
 
Просто использую этот код, уже частично переделал и есть проблема в том, что предметы лежат в одних ячейках, а при возрождении ложатся в другие, что есть не очень удобно. Вот хочу переделать. Интересно какой эвент будет лучше юзать.
 
предметы лежат в одних ячейках, а при возрождении ложатся в другие
Ага, типа всё правильно. в list'е дропа нет информации из какого они слота дропаються и добавляются по порядку их сохранения.
Интересно какой эвент будет лучше юзать.
Точно не знаю. Но если тебе из какого слота слота, то эвент LivingDeathEvent, приоритет самый низкий, убедиться что игрок мёртв (а то LivingDeathEvent можно отменить смерть) и то что эвент не отменён, а так-же брать сохранения в NBT как у сундука (или типа того, там id слота сохраняется в NBT предмета).
 
Можно попробовать инвертировать список дропа перед тем как давать предметы из него. Еще надо учесть броню и баблсы - их в отдельные слоты
 
@iApex, ну "так"-то можно, но я вряд-ли в ближайшее время смогу переписать.
 
@Niknemm, если ты мне, то наверное не скоро. Так как я не писал ещё какой-либо код под новые версии.
 
Добавил виде мода
Брал твои исходники, примерно год назад, там дюпчанский был, после выдачи предметов теги не удаляются, и если умереть с пустым инвентарем, то выдаст повторно предметы (как-то так было). Не знаю исправлял ли ты это, у себя поправлял.
 
после выдачи предметов теги не удаляются,
Эм... Ты имеешь виду, после смерти и возрождения? Если да, то этого у меня и не было.
и если умереть с пустым инвентарем, то выдаст повторно предметы (как-то так было).
Не замечал. Проверил сейчас. Ни чего такого нет, по-крайней мере в одиночной игре.
---
Поправочка, у версии 0.2 ни чего такого, в у 0.3 есть этот баг.
 
Последнее редактирование:
Назад
Сверху