Вопрос по синхронизации.

Версия Minecraft
1.12.2
После нескольки месяцев изучения lwjgl предстал вот такой вопрос.
Как синхронизировать пакетами классы клиента на сервер?
Ну то-есть представим, в майнкрафтовский класс Block.java я внес свои изменения, и по логике они работают только на синглплеере, а в мультиплеере нет т-к, в ядре сервера этих изменений нету.
Так вот, помогите разобраться как синхронизировать это все, не очень понимаю эту тему с пакетами:cry:

Если что (MCP1.12.2, Spigot V1_12_R1)
 
Опиши ,,изменения,, и чего ты хочешь достичь

,,Состояния,, блоков ,,синхронизируются,, автоматически, а локальные переменные (например в листве там или редстоуне) не нужно синхронизировать вовсе
 
Кратко-говоря, на клиенте в класс BlockLeaves я добавил строку
AxisAlignedBB:
@Override
    public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos)
    {
        return NULL_AABB;
    }

Этот код убирает грубо говоря коллайд у блоков листья для игрока, в одиночном режиме оно работает, а в мультиплеере нет.
Достичь я хочу того, что бы понять как эту строку передать пакетом на ядро сервера, что бы сервер "воспринимал" мои действия
 
UPD Если не forge - то тебе придется написать свой загрузчик модов (или использовать встроенный от launchwrapper) (это не так сложно, как кажется) чтобы изменить класс. Ну или ручками, через замену классов
 
есть какая-то информация про использование laucnhwrapper в этом плане?
В ванильном клиенте (и сервере) есть этот ,,laucnhwrapper,, к-рый позволяет устанавливать модификации на ваниллу (на этом принципе работает forge) Информации по этому нет (Я в свое время не нашел). (подсмотри как работает forge) Кратко что это из себя представляет:
Laucnhwrapper - это некоторый прокси-загрузчик классов, указываешь для него Tweak-класс (в аргументах запуска), который выполняет манипуляции над исходным байт-кодом (asm, в некоторых случаях другое), перед зарузкой в jvm.

Не знаю существует ли он в spigot (если не вырезали то да) но если нет - тебе придется писать свой аналог с тем же принципом
(+ Я В целом не рекомендую использовать вилки ведра, чистый forge с собственными модификациями даст чуть ли не 2-х кратный прирост производительности по сравнению с тем-же gaurd-spigot)
 
Последнее редактирование:
Назад
Сверху