Войти или зарегистрироваться

Помогите Vehicles + Water = Dismount

ql_Nik_lp

Старожил
Девелопер
Пользователь
Баллы
173
Имя в Minecraft
ql_Nik_lp
Всем доброго времени суток.
Возникла такая проблема - как я думаю все знают, при погружении в воду сидя на любом ездовом животном вы с него встаете.
Необходимо предотвратить дизмаунт.
Евенты VehicleExitEvent на текущих версиях увы не работает.
NMS Допустим.

Какие есть мыслишки?
Заранее благодарю.
 
Модифицируй класс животного и используй Reflection
 
В чем твоя проблема?

Модифицируй класс животного и используй Reflection
Логично предположить что я знаю что надо модифицировать через Reflection... И так же логично предположить что коль я создал тему тут, то я уже перепробовал не один десяток вариантов?
 
Зачем ты поставил ему лайк? Если не умеешь пользоваться гуглом...

Ты глупый или да?
Если я создал тему тут, значит я обгуглил то что мог
На официальном форуме подобным вопросом не задавались, вопросом о операциях с дизмаунтом - да, но все сошлись на неработоспособности ядра в плане кидания этого эвента.
А вот смысл от твоих постов мне не ясен.
Ты глупый или да?
Если я создал тему тут, значит я обгуглил то что мог
На официальном форуме подобным вопросом не задавались, вопросом о операциях с дизмаунтом - да, но все сошлись на неработоспособности ядра в плане кидания этого эвента.
А вот смысл от твоих постов мне не ясен.
К сведению о том посте где я поставил лайк..
Ты задал вопрос самого базового и элементарного уровня который находится на первой странице и выдается ПЕРВЫМ, по этому тебе и тыкнули в поиск 2 человека.
Пруфчик:
8b1By.jpg


Я же задаю вопрос несколько сложнее, на который не нашел ответ ни на этом, ни на официальном форуме / в гугле / изучив сорс некоторых плагинов.
:С
HALP PLEASE
@fromgate @ptnk @Den_Abr @DPOH-VAR @Flumaster
 
Последнее редактирование:
Даунам всегда ничего не понятно, искать нужно уметь и английский учить, даун ты маленький...

P.S. Рожу бы тебе разбил, за не уважение к старикам форума.
Поржал от души, спасибо.
Даунам всегда ничего не понятно, искать нужно уметь и английский учить, даун ты маленький...
По описанию на тебя кстати похоже.
Без модификации ядра ничего не выйдет, сложности добавляет обфускация, но от неё ещё можно избавиться.
 
Поржал от души, спасибо.

По описанию на тебя кстати похоже.

Без модификации ядра ничего не выйдет, сложности добавляет обфускация, но от неё ещё можно избавиться.

Да я уже так и подумал что тут либо Entity переписывать, либо Player
 
Спасибо, поржал от души. Скорее всего, это ты похож на Дауна, так как ты не смог поискать даже простой способ проверки предметов . Это особенно позорно для тебя (Как-бэ "старика" форума), даже твоя дата регистрации не похожа на "старика" (всего лишь один год, а уже пишет что старик).

P.S.И еще, не агрись тут! (Лучше иди к гопникам, мб поможешь городу) Ты сам себя позоришь перед всеми пользователями форума, так как ты больше всего похож на агрошкололо, а не на "местного девелопера".
Кстати про старика он мне сказал при том что я тут с 2011 :D

А по теме, в общем попробую покапать ядрышко, отпишусь потом.
Если есть мысли - пишем :)
 
@ql_Nik_lp,
Придется копать вглубь nms, искать причину дисмаунта энтитей.
Не исключено кстати, что это делает сам клиент. - Тут было бы неплохо еще пакеты проследить.

Если дело все-таки на сервере, то вот что могу порекомендовать:
библиотека BCEL - для модификации классов. Опасная вещь с большим порогом вхождения.
Javassist - похожая вещь, но для новичков. Быстродействие у нее в разы меньше, чем BCEL

Если клиент виновен - тут уже ничего не поделаешь. Разве что модифицировать его.
 
@ql_Nik_lp,
Придется копать вглубь nms, искать причину дисмаунта энтитей.
Не исключено кстати, что это делает сам клиент. - Тут было бы неплохо еще пакеты проследить.

Если дело все-таки на сервере, то вот что могу порекомендовать:
библиотека BCEL - для модификации классов. Опасная вещь с большим порогом вхождения.
Javassist - похожая вещь, но для новичков. Быстродействие у нее в разы меньше, чем BCEL

Если клиент виновен - тут уже ничего не поделаешь. Разве что модифицировать его.
Скорее всего так и есть, потому что в случае если бы дело было в сервере, то это выглядело бы примерно как if(this.inWater)
this.vechicle.setPassanger(null);

Но проверив абсолютно все места где упоминается inWater или манипуляции с вехиклом/пассажиром в классах Entity, EntityLiving, EntityPlayer я такого не нашел...
Единственное на что была мысль, это:
Код:
    public void a(float f, float f1, boolean flag, boolean flag1) {
        if (this.vehicle != null) {
            if (f >= -1.0F && f <= 1.0F) {
                this.bd = f;
            }

            if (f1 >= -1.0F && f1 <= 1.0F) {
                this.be = f1;
            }

            this.bc = flag;
            this.setSneaking(flag1);
        }
    }
из EntityPlayer, однако модифицировать такую сущность я в любом случае не стану.

В общем решение я уже нашел, и скоро на него можно будет глянуть в "Неподтвержденных плагинах" ;D

Кстати, кинул заявочку в скайп, буду рад если добавишь :)


З.Ы. За BCEL благодарю :)
 
Назад
Верх