Разделение мода на клиентскую и серверную часть

Версия Minecraft
1.7.10
1,015
9
102
Каким образом можно разделить мод на 2 файла, где в первом будет только серверная часть, а во втором клиентская?
 
Решение
Берешь и делаешь два мода с одним modid и версией. Все что ты бы делал в CommonProxy делаешь в обоих бинарниках. Что ты бы делал в ClientProxy делаешь только в клиентском бинарнике. При этом при таком раскладк ты можешь вообще не делать Proxy и все фигачить в главном классе.
1,111
47
420
Берешь и делаешь два мода с одним modid и версией. Все что ты бы делал в CommonProxy делаешь в обоих бинарниках. Что ты бы делал в ClientProxy делаешь только в клиентском бинарнике. При этом при таком раскладк ты можешь вообще не делать Proxy и все фигачить в главном классе.
 

Icosider

Kotliner
Администратор
3,603
99
664
JustAGod написал(а):
CommonProxy делаешь в обоих бинарниках.
Говно разделение. Смысл тогда делить на две части? Если автор не преследует цели защитить мод, то смысл тогда вообще делить на две части?
 
1,015
9
102
Ivasik написал(а):
JustAGod написал(а):
CommonProxy делаешь в обоих бинарниках.
Говно разделение. Смысл тогда делить на две части? Если автор не преследует цели защитить мод, то смысл тогда вообще делить на две части?

Сам ответил на свой вопрос. Что бы защитить мод  :)
 
2,505
81
397
JustAGod написал(а):
А это большая часть кода.
Ну я бы так не сказал. Обычно это отдельный метод из всего класса. А сам класс является common. Такой код удобно удаляется оборачиванием static final boolean флажком. Т.е. устанавливаем флажок на false и компилятор сам выпилит этот участок кода. Удобно добавить в gradle пару строк, чтобы он делал это автоматом при сборе клиент версии.
Чисто сервер классы тоже gradle умеет выпиливать. Нужно просто указать, какие классы не нужны.
 
476
9
39
Minebot написал(а):
JustAGod написал(а):
Лол. @SideOnly(Side.Server)

При запуске сервера или клиента в среде да, но при билде ничего не вырезается. Это, возможно, по другому делается

Код:
public static final boolean isServer = false;

if(isServer){
//Server Code
}
 
Сверху