Вылет серверной части

Версия Minecraft
1.8
22
1
0
Здравствуйте! Возникла проблема - мод крашит сервер при инициализации, в логах - не найден класс Minecraft... Что это за ошибка такая и с чем ее едят? Лог прикрепил.

Код главного класса:

Код:
package com.silarix.saobeta;

import com.silarix.saobeta.gui.GLCore;
import com.silarix.saobeta.gui.events.ConfigHandler;
import com.silarix.saobeta.gui.events.EventCore;
import com.silarix.saobeta.gui.events.FriendsHandler;
import com.silarix.saobeta.gui.screens.window.Window;
import com.silarix.saobeta.gui.screens.window.WindowView;
import com.silarix.saobeta.gui.util.OptionCore;
import com.silarix.saobeta.init.SaoBlocks;
import com.silarix.saobeta.init.SaoItems;
import com.silarix.saobeta.lib.CreativeTabManager;
import com.silarix.saobeta.proxy.CommonProxy;

import net.minecraft.client.Minecraft;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION)
public class SAOCore {
 @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
    @Mod.Instance(Reference.MOD_ID)
    public static SAOCore instance;
    public static int Mode = 3;
    
 public static CommonProxy proxy;
    public static final float UNKNOWN_TIME_DELAY = -1F;
    public static boolean IS_SPRINTING = false;
    public static boolean IS_SNEAKING = false;

    public static Window getWindow(Minecraft mc) {
        return mc.currentScreen != null && mc.currentScreen instanceof WindowView ? ((WindowView) mc.currentScreen).getWindow() : null;
    } 

    @Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event) {
     
        FMLCommonHandler.instance().bus().register(new EventCore());
        MinecraftForge.EVENT_BUS.register(new EventCore());
        
        
        
        ConfigHandler.preInit(event);
        FriendsHandler.preInit(event);
        
        switch(Mode) {
        //All
        case 0: 
         //Tabs
            CreativeTabManager.createTab("sao.blocks");
     CreativeTabManager.createTab("sao.swords");
     CreativeTabManager.createTab("sao.crystals");
     CreativeTabManager.createTab("sao.test");
     //InitItems
         SaoItems.init(); SaoItems.register(); SaoBlocks.init(); SaoBlocks.register(); 
         //TabIcons
         CreativeTabManager.setBlock("sao.blocks", SaoBlocks.bricks); 
         CreativeTabManager.setItem("sao.swords", SaoItems.sword_darkrepulser);
         CreativeTabManager.setItem("sao.crystals", SaoItems.crystal);
         CreativeTabManager.setBlock("sao.test", SaoBlocks.columns);break;
        //Blocks Only
        case 1:
         //Tabs
            CreativeTabManager.createTab("sao.blocks");
            CreativeTabManager.createTab("sao.test");
     //InitItems
         SaoBlocks.init(); SaoBlocks.register(); 
         //TabIcons
         CreativeTabManager.setBlock("sao.blocks", SaoBlocks.bricks);
         CreativeTabManager.setBlock("sao.test", SaoBlocks.columns);break;
        //ItemsOnly
        case 2:
         //Tabs
     CreativeTabManager.createTab("sao.swords");
     CreativeTabManager.createTab("sao.crystals");
     //InitItems
         SaoItems.init(); SaoItems.register();
         //TabIcons
         CreativeTabManager.setItem("sao.swords", SaoItems.sword_darkrepulser);
         CreativeTabManager.setItem("sao.crystals", SaoItems.crystal); break;
        //Clean GUI
        case 3:
         break;
        }
    }

    @Mod.EventHandler
    public void init(FMLInitializationEvent event) {
        proxy.registerRenders();
        proxy.initMod();
    }

    @Mod.EventHandler
    public void postInit(FMLPostInitializationEvent evt) {
        final Minecraft mc = Minecraft.getMinecraft();

        
        GLCore.setFont(mc, OptionCore.CUSTOM_FONT.getValue());
    }

}
 

Вложения

  • crash-2017-09-18_09.57.42-server.txt
    5.3 KB · Просмотры: 0
Решение
MrQuest написал(а):
Код:
   public static Window getWindow(Minecraft mc) {
       return mc.currentScreen != null && mc.currentScreen instanceof WindowView ? ((WindowView) mc.currentScreen).getWindow() : null;
   }
Код:
@Mod.EventHandler
   public void postInit(FMLPostInitializationEvent evt) {
       final Minecraft mc = Minecraft.getMinecraft();

       
       GLCore.setFont(mc, OptionCore.CUSTOM_FONT.getValue());
   }


MrQuest написал(а):
Но сервер ведь вылетает от того что НЕ НАХОДИТ этот класс... Что делать то?
Да, потому-что на сервере его НЕТ.
@SideOnly(Side.CLIENT) Дай тем методам, может и поможет.
22
1
0
timaxa007 написал(а):
Потому-что Minecraft клиентский класс.

Но сервер ведь вылетает от того что НЕ НАХОДИТ этот класс... Что делать то?

Если коротко - я не вижу, в каком месте сервер решает инициализировать этот класс и почему.
 

timaxa007

Модератор
5,831
409
672
MrQuest написал(а):
Код:
   public static Window getWindow(Minecraft mc) {
       return mc.currentScreen != null && mc.currentScreen instanceof WindowView ? ((WindowView) mc.currentScreen).getWindow() : null;
   }
Код:
@Mod.EventHandler
   public void postInit(FMLPostInitializationEvent evt) {
       final Minecraft mc = Minecraft.getMinecraft();

       
       GLCore.setFont(mc, OptionCore.CUSTOM_FONT.getValue());
   }


MrQuest написал(а):
Но сервер ведь вылетает от того что НЕ НАХОДИТ этот класс... Что делать то?
Да, потому-что на сервере его НЕТ.
@SideOnly(Side.CLIENT) Дай тем методам, может и поможет.
 
22
1
0
timaxa007 написал(а):
MrQuest написал(а):
Код:
   public static Window getWindow(Minecraft mc) {
       return mc.currentScreen != null && mc.currentScreen instanceof WindowView ? ((WindowView) mc.currentScreen).getWindow() : null;
   }
Код:
@Mod.EventHandler
   public void postInit(FMLPostInitializationEvent evt) {
       final Minecraft mc = Minecraft.getMinecraft();

       
       GLCore.setFont(mc, OptionCore.CUSTOM_FONT.getValue());
   }


MrQuest написал(а):
Но сервер ведь вылетает от того что НЕ НАХОДИТ этот класс... Что делать то?
Да, потому-что на сервере его НЕТ.
@SideOnly(Side.CLIENT) Дай тем методам, может и поможет.



Спасибо, теперь понял. Первый раз с сервером работаю...
 
Сверху