[1.12.2 - Кузня] OnUse на сервере

Версия Minecraft
1.12.2
API
Forge
Метод OnItemUse*, как мне известно, выполняется два раза - на стороне сервера и клиента. В итоге, я взял серверную сторону с помощью проверки if (!world.isRemote) и обратился к классу, доступному только на сервере, но получил java.lang.ClassNotFoundException;

В логах пишет Attempted to load class kg/harry/trolleynode/worlddata/ServerNodesSavedData for invalid side CLIENT

Кто-нибудь сможет пояснить за то как оно работает и как можно детектить использование предмета на стороне сервера?
 
Последнее редактирование:
Используй прокси, или повесь на метод @SideOnly - тогда класс не будет загружен гарантированно
О, точно... Еще хочется уточнить, допустим я накину мод на сервер и подключусь с модом и там уже вызову onUse - один раз он вызовится на клиенте у меня на компе, а другой уже внутри того сервера? Или есть какие-то нюансы?
 
Используй прокси, или повесь на метод @SideOnly - тогда класс не будет загружен гарантированно
Пометил метод onItemUse* sideOnly - и предмет перестал протыкиваться. (на самом деле довольно логично). Есть еще какие-то идеи как обработать клик на сервере? Возможно, обработаю событие, но я не уверен...
 
О, точно... Еще хочется уточнить, допустим я накину мод на сервер и подключусь с модом и там уже вызову onUse - один раз он вызовится на клиенте у меня на компе, а другой уже внутри того сервера? Или есть какие-то нюансы?
Можешь использовать такую фишку как наследование
Родительский метод оставить "как есть" а на дочерний повесить аннотацию

В итоге препроцессор на стороне сервера удалит дочерний метод и будет вызываться родительский

Можно вынести часть логики в такой метод - в общем дело фантазии
 
Назад
Сверху