Краш

7,099
324
1,510
Что может быть причиной такого краша на сервере? Воткнул @SideOnly(Side.CLIENT) везде, где юзаются клиентские классы. Буду благодарен за помощь.
---- Minecraft Crash Report ----
// Oh - I know what I did wrong!

Time: 01.10.16 18:01
Description: Exception in server tick loop

cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/gui/GuiScreen
at cpw.mods.fml.common.LoadController.transition(LoadController.java:163)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:544)
at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:87)
at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:314)
at net.minecraft.server.dedicated.DedicatedServer.startServer(DedicatedServer.java:120)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:445)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/gui/GuiScreen
at modid.Main$.<init>(Main.scala:162)
at modid.Main$.<clinit>(Main.scala)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at cpw.mods.fml.common.ILanguageAdapter$ScalaAdapter.getNewInstance(ILanguageAdapter.java:20)
at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:506)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:513)
... 5 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.gui.GuiScreen
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 33 more
Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/gui/GuiScreen for invalid side SERVER
at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:50)
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279)
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176)
... 35 more


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- System Details --
Details:
Minecraft Version: 1.7.10
Operating System: Windows 8.1 (amd64) version 6.3
Java Version: 1.8.0_74, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 67459488 bytes (64 MB) / 123674624 bytes (117 MB) up to 1031143424 bytes (983 MB)
JVM Flags: 1 total; -Xincgc
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1614 4 mods loaded, 4 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UC mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
UC FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar)
UC Forge{10.13.4.1614} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar)
UE Trade{1.0} [Trade] (main)
Profiler Position: N/A (disabled)
Is Modded: Definitely; Server brand changed to 'fml,forge'
Type: Dedicated Server (map_server.txt)
 
Последнее редактирование:

timaxa007

Модератор
5,831
409
672
hohserg написал(а):
Код:
Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/gui/GuiScreen
  at modid.Main$.<init>(Main.scala:162)
Значит где он всё равно просит этот класс, если не помогает, то прокси воспользуйся.
 
Последнее редактирование:
7,099
324
1,510
Вроде нашел: в NetworkManager.handleClientSide юзаю Minecraft.getMinecraft.displayGuiScreen(new ...)
Пробую вынести это new ... в прокси, но нормально ли будет, если в CommonProxy будет метод возвращающий клиентский тит(реализация только в ClientProxy, в Common null возвращает). пробую


вроде прокатило


Тимаха, спасибо за идею про прокси, я уж думал, что придется NetworkManager разделить на две части и в прокси их разместить
 
7,099
324
1,510
Да, хорошие пакеты, я их немного доделал. Поставил аннотацию, спасибо.

А я вот в handleServerSide юзаю println("test") оно не принтится, когда нужный пакет приходит, должно в консоли среды отображаться - это нормально?
 
2,505
81
397
А ты уверен, что пакет приходит? Задебаж
 
7,099
324
1,510
Крч. когда я отправляю пакет в локальном мире, в консоли не пишется, что пакет дошел, только, когда я отдельно сервер запускаю.
 
Сверху