Совместимый полет как в креативе

Agravaine :j

Модератор
Сообщения
5,634
Лучшие ответы
291
Реакции
1,314
Версия Minecraft
1.7.10
Есть, допустим, броня. При одевании нужно давать игроку полет как в креативе. Прикол в том, что если делать проверку в апдейте аля:
Java:
if(броня_надета){
    player.capabilities.allowFlying = true;
}else{
    player.capabilities.allowFlying = false;
    player.capabilities.isFlying = false;
}
То ломается полет в креативе, так же полет из плагинов(/fly из essentials).
Как можно сделать это максимально совместимо чтобы ничего не ломалось?
 
Сообщения
341
Лучшие ответы
5
Реакции
137
А если я делал такое же, только в onArmorTick, это плохо? В этом я не спец, но всё работало, ничего не ломалось )
 

Agravaine :j

Модератор
Сообщения
5,634
Лучшие ответы
291
Реакции
1,314
onArmorTick вызывается только если броня надета. Как я уберу оттуда полет после снятия?
 
Сообщения
2,450
Лучшие ответы
75
Реакции
343
Можно попробовать создать allowFlyingPrev переприсваивая его каждый тик текущим, но перед этим проверять, если allowFlyingPrev != allowFlying, то кто-то другой изменил флаг.
 
Сообщения
2,803
Лучшие ответы
172
Реакции
465

Ivasik

Porting GrandBombaster
Администратор
Сообщения
2,867
Лучшие ответы
77
Реакции
311
Так лол, добавь в проверку "|| isCreativeMod" и не будет ничего ломаться, хотя про флай из плагинов не знаю.
 
Сообщения
2,803
Лучшие ответы
172
Реакции
465

Agravaine :j

Модератор
Сообщения
5,634
Лучшие ответы
291
Реакции
1,314
Хоть это и 1.12, там есть "драконья броня", вроде бы.
Эта броня дает полет и не конфликтует.
Работает при фулл сете.
ArmorPlus/src/main/java/net/thedragonteam/armorplus at 1.12 · TheDragonTeam/ArmorPlus · GitHub
Там просто проверка на креатив, так и я могу. А вот с другими модами с флаем, как ты сказал выше, работать не будет...
 
Сообщения
2,803
Лучшие ответы
172
Реакции
465
Сообщения
608
Лучшие ответы
5
Реакции
12
Зацепить кнкретно когда одеваешь/снимаешь?
 
Сообщения
476
Лучшие ответы
9
Реакции
38
Как уже говорилось есть даже ванильная реализация(что-то типа полёта) вроде в 1.10 крылья ввели.
Так вот ты можешь сделать так же как там только полёт сделать иначе.
Ещё у baubles есть реализация через капу и на 1.7.10 тоже с методомами isEquip. Исходники на гитхаб
GitHub - Azanor/Baubles at 1.7.10
 
Сообщения
2,926
Лучшие ответы
43
Реакции
553
Сообщения
476
Лучшие ответы
9
Реакции
38
Сверху