Jump to content

[1.12.2] Data exchanging between Client and Server


IvanSteklow

Recommended Posts

Packets.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

  • Like 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

As mentioned, the client and server are always only connected by a network connection (even when in "single player" integrated server mode). So you need network packets to communicate in both directions.

 

For most modding purposes, the built-in packets aren't always going to help, but sometimes you might want to look at them if you feel that what you're doing is likely also communicated by vanilla. For example, the container system already communicates the inventories and actions between client and server.

 

Tile entities have a data packet system (using tag compounds), so I think you can just hook into that.

 

For entities, with little bits of information there is a mechanism called data watcher (or I think that is old name, maybe data manager now).

 

Lastly, there is fully custom packets. There is a custom packet already available, but it is also easy to use Forge simple networking implementation. 

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

1 hour ago, jabelar said:

As mentioned, the client and server are always only connected by a network connection (even when in "single player" integrated server mode). So you need network packets to communicate in both directions.

 

For most modding purposes, the built-in packets aren't always going to help, but sometimes you might want to look at them if you feel that what you're doing is likely also communicated by vanilla. For example, the container system already communicates the inventories and actions between client and server.

 

Tile entities have a data packet system (using tag compounds), so I think you can just hook into that.

 

For entities, with little bits of information there is a mechanism called data watcher (or I think that is old name, maybe data manager now).

 

Lastly, there is fully custom packets. There is a custom packet already available, but it is also easy to use Forge simple networking implementation. 

So, I try to get 'TIME' from NBT, but I don't know why it didn't working. So, writeToNBT in my Tile Entity class looks like that:

	@Override
	public NBTTagCompound writeToNBT(NBTTagCompound compound) {
		super.writeToNBT(compound);
		compound.setInteger("time", this.time);
		compound.setInteger("maxTime", METAL_REFINERY_WORKTIME);
		compound.setTag("items", this.itemStackHandler.serializeNBT());
		return compound;
	}

And my GUI Screen Updater looks like that:

	@Override
	public void updateScreen() {
		NBTTagCompound compound = new NBTTagCompound();
		compound = this.te.writeToNBT(compound);
		this.time = compound.getInteger("time");
		this.maxTime = compound.getInteger("maxTime");
		Core.logger.info(compound);
		super.updateScreen();
	}

What's wrong?

Full code:

Block: *CLICK*

Tile Entity: *CLICK*

Container: *CLICK*

GUI: *CLICK*

  • Like 1
Link to comment
Share on other sites

You can use the built-in gui sync methods in Container class: Container#addListener(IContainerListener listener) is for initial sync when the player opens the GUI, Container#detectAndSendChanges() is for periodic detection of changes and sending those changes to the client and Container#updateProgressBar(int id, int data) is for receiving updates on the client. You send updates with IContainerListener#sendWindowProperty. See ContainerFurnace or ContainerBrewingStand for examples.

This obviously only works for the GUIs. If you want the data for a progress bar in the world or for something else you will have to use packets as Draco said.

Link to comment
Share on other sites

On 5/13/2018 at 5:15 PM, Draco18s said:

Packets.

So, I tried. Crash:

Spoiler

[18:43:07] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Preparing start region for level 0
[18:43:08] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Preparing spawn area: 3%
[18:43:09] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Preparing spawn area: 50%
[18:43:10] [Server thread/FATAL] [FML]: Fatal errors were detected during the transition from SERVER_ABOUT_TO_START to SERVER_STARTING. Loading cannot continue
[18:43:10] [Server thread/FATAL] [FML]: 
	States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

	| State    | ID        | Version      | Source                           | Signature |
	|:-------- |:--------- |:------------ |:-------------------------------- |:--------- |
	| UCHIJAAA | minecraft | 1.12.2       | minecraft.jar                    | None      |
	| UCHIJAAA | mcp       | 9.42         | minecraft.jar                    | None      |
	| UCHIJAAA | FML       | 8.0.99.99    | forgeSrc-1.12.2-14.23.3.2655.jar | None      |
	| UCHIJAAA | forge     | 14.23.3.2655 | forgeSrc-1.12.2-14.23.3.2655.jar | None      |
	| UCHIJAAA | isdev     | 2.1.0        | bin                              | None      |
	| UCHIJAAE | tf2mod    | 1.0.0        | bin                              | None      |

[18:43:10] [Server thread/FATAL] [FML]: The following problems were captured during this phase
[18:43:10] [Server thread/ERROR] [FML]: Caught exception from tf2mod (Team Fortress 2 Mod)
java.lang.RuntimeException: java.lang.InstantiationException: ru.ivansteklow.tf2mod.network.PacketMetalRefinery$PacketMetalRefineryHandler
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.instantiate(SimpleNetworkWrapper.java:170) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.registerMessage(SimpleNetworkWrapper.java:159) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at ru.ivansteklow.tf2mod.Core.serverStarting(Core.java:70) ~[bin/:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:602) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:278) ~[LoadController.class:?]
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:256) [LoadController.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:148) [LoadController.class:?]
	at net.minecraftforge.fml.common.Loader.serverStarting(Loader.java:771) [Loader.class:?]
	at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarting(FMLCommonHandler.java:296) [FMLCommonHandler.class:?]
	at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:162) [IntegratedServer.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:550) [MinecraftServer.class:?]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
Caused by: java.lang.InstantiationException: ru.ivansteklow.tf2mod.network.PacketMetalRefinery$PacketMetalRefineryHandler
	at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_161]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.instantiate(SimpleNetworkWrapper.java:166) ~[SimpleNetworkWrapper.class:?]
	... 36 more
Caused by: java.lang.NoSuchMethodException: ru.ivansteklow.tf2mod.network.PacketMetalRefinery$PacketMetalRefineryHandler.<init>()
	at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_161]
	at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_161]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.instantiate(SimpleNetworkWrapper.java:166) ~[SimpleNetworkWrapper.class:?]
	... 36 more
[18:43:10] [Server thread/ERROR] [FML]: A fatal exception occurred during the server starting event
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Team Fortress 2 Mod (tf2mod)

Caused by: java.lang.RuntimeException: java.lang.InstantiationException: ru.ivansteklow.tf2mod.network.PacketMetalRefinery$PacketMetalRefineryHandler
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.instantiate(SimpleNetworkWrapper.java:170) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.registerMessage(SimpleNetworkWrapper.java:159) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at ru.ivansteklow.tf2mod.Core.serverStarting(Core.java:70) ~[bin/:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:602) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:278) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:256) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:148) ~[LoadController.class:?]
	at net.minecraftforge.fml.common.Loader.serverStarting(Loader.java:771) [Loader.class:?]
	at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarting(FMLCommonHandler.java:296) [FMLCommonHandler.class:?]
	at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:162) [IntegratedServer.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:550) [MinecraftServer.class:?]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
Caused by: java.lang.InstantiationException: ru.ivansteklow.tf2mod.network.PacketMetalRefinery$PacketMetalRefineryHandler
	at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_161]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.instantiate(SimpleNetworkWrapper.java:166) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.registerMessage(SimpleNetworkWrapper.java:159) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at ru.ivansteklow.tf2mod.Core.serverStarting(Core.java:70) ~[bin/:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:602) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:278) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:256) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:148) ~[LoadController.class:?]
	at net.minecraftforge.fml.common.Loader.serverStarting(Loader.java:771) ~[Loader.class:?]
	at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarting(FMLCommonHandler.java:296) ~[FMLCommonHandler.class:?]
	at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:162) ~[IntegratedServer.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:550) ~[MinecraftServer.class:?]
	at java.lang.Thread.run(Unknown Source) ~[?:1.8.0_161]
Caused by: java.lang.NoSuchMethodException: ru.ivansteklow.tf2mod.network.PacketMetalRefinery$PacketMetalRefineryHandler.<init>()
	at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_161]
	at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_161]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.instantiate(SimpleNetworkWrapper.java:166) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.registerMessage(SimpleNetworkWrapper.java:159) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at ru.ivansteklow.tf2mod.Core.serverStarting(Core.java:70) ~[bin/:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:602) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:278) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:256) ~[forgeSrc-1.12.2-14.23.3.2655.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:148) ~[LoadController.class:?]
	at net.minecraftforge.fml.common.Loader.serverStarting(Loader.java:771) ~[Loader.class:?]
	at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarting(FMLCommonHandler.java:296) ~[FMLCommonHandler.class:?]
	at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:162) ~[IntegratedServer.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:550) ~[MinecraftServer.class:?]
	at java.lang.Thread.run(Unknown Source) ~[?:1.8.0_161]
[18:43:10] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Stopping server
[18:43:10] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving players
[18:43:10] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving worlds
[18:43:10] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'New World'/overworld
[18:43:10] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'New World'/the_nether
[18:43:10] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'New World'/the_end
[18:43:10] [Server thread/INFO] [FML]: Unloading dimension 0
[18:43:10] [Server thread/INFO] [FML]: Unloading dimension -1
[18:43:10] [Server thread/INFO] [FML]: Unloading dimension 1
[18:43:11] [Server thread/INFO] [FML]: Applying holder lookups
[18:43:11] [Server thread/INFO] [FML]: Holder lookups applied
[18:43:11] [Server thread/INFO] [FML]: The state engine was in incorrect state ERRORED and forced into state SERVER_STOPPED. Errors may have been discarded.
[18:43:11] [Server thread/INFO] [FML]: The state engine was in incorrect state ERRORED and forced into state AVAILABLE. Errors may have been discarded.

 

Packet Handler: *CLICK*

What's wrong. Yeah, I don't like packets and never work with it:(

  • Like 1
Link to comment
Share on other sites

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.