Прокси(как конкретно создать и зачем он)

705
10
46
Здравствуйте, половина моддеров не знает что такое прокси.Прокси это разделение на клиент\сервер, проще говоря им можно защитить мод.
Чтобы сделать прокси, нам понадобится:
1)Чашка кофе\чая
2)Прямые руки.
Готовы?Ну давайте же начнем.

1.В главном классе мода вы должны прописать это
Код:
@SidedProxy(clientSide = "you.package.on.Proxy.ClientSide", serverSide = "you.package.on.Proxy.ServerSide")
    public static ServerSide proxy;
Заместо you.package.on.Proxy вы должны прописать путь к классу с ServerSide и ClientSide классами(не обязательно такие названия.2.Это ServerSide
Код:
package tut.Proxy;

import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.registry.GameRegistry;

public class ServerSide 
{
    public void initMod(){

    }
}

3.Это клиент прокси
Код:
package tut.Proxy;

public class ClientSide extends ServerSide    
{

    @Override
    public void initMod()
    {
        super.initMod();
    }
}

После super.initMod(); мы прописываем рендера, регистрации эвентов и тому подобное.
Осталось заинтить этот прокси.
В init\load пишем это:
Код:
proxy.initMod();
Готово!

Олдфаги и кодеры, не бейте меня, писалось на скорую руку.
 
krok написал(а):
написал бы в заголовке,что это тутор.А так сойдёт.Для новичков
Фантом не понимает что там да как, я хочу сейчас с ним в скайпе насчет этого поговорить.
 
А толк? Лучше в сервером прокси сделать GuiHandler. А то вообще не нужен. За гайд не оч...
Да я знаю - тема старая, но меня тогда здесь не было...
 
FanKar написал(а):
А толк? Лучше в сервером прокси сделать GuiHandler. А то вообще не нужен. За гайд не оч...
Да я знаю - тема старая, но меня тогда здесь не было...
Тебе надо статус некрофила дать.
 
А зачем в аннотации прописывать путь к проксям?
[merge_posts_bbcode]Добавлено: 26.02.2016 16:53:22[/merge_posts_bbcode]

Зачем вообще эта аннотация?
 
Agravaine написал(а):
Нужна как бы. Фордж там с ней что-то делает.
Збс ответик :D
"Ну просто нужна"
[merge_posts_bbcode]Добавлено: 26.02.2016 19:37:30[/merge_posts_bbcode]

У меня моды без неё, пока никаких изменений не увидел...
 
Нужна для того, чтобы Фордж сам создал объект правильного класса для клиента/сервера
и вот такая запись работала:
Код:
  @SidedProxy(
            clientSide = "package.ClientProxy",
            serverSide = "package.CommonProxy"
    )
    public static CommonProxy proxy;
    @Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event) {
        proxy.preInit();
    }
 
А, ясно. Видимо для облегчения манипуляций каких-то.
 
В классе SidedProxy (находится в net.minecraftforge.fml.common)
Всё написано, а именно:
FML will scan and load any classes with this annotation at mod construction time.
Перевод(гугл переводчик)
FML будет сканировать и загружать любые классы с этой аннотацией в мод время строительства.
:D
 
Назад
Сверху