Есть 1 крайне простой и колхозный вариант, который не требует ведения двух проектов для 1 мода
Делаешь в главном классе вот такую переменную
public static final boolean COMPILE_SERVER_PART = false;
после чего везде где у тебя идет !world.isRemote() добаляешь && MainClass.COMPILE_SERVER_PART
public class PropsUpdateEvent
{
@SubscribeEvent
public void onLivingUpdateEvent(LivingUpdateEvent e)
{
if(!e.entityLiving.worldObj.isRemote && ZombieApocalypseMod.COMPILE_SERVER_PART)
{
//...
}
}
}
если скажем хочешь срезать реализацию метода, то в его начало вставляешь
if(MainClass.COMPILE_SERVER_PART) {
return; //return false, null или что-то другое если метод не void
}
если COMPILE_SERVER_PART будет false, то при компиляции в байткод java выкинет весь блок с условием и его попросту не будет на клиенте
потом ставишь ее на true и компилируешь версию для сервера
после этих нехитрых действий можно еще накрыть мод через proguard + stringer, тогда вообще огонь будет