MinecraftForge/FML@e3785c2893 Ensure that EntitySpawn and OpenGUI packets are handled in the world thread. Also log all errors that are thrown in FutureTasks.

This commit is contained in:
Lex Manos 2014-12-13 18:07:13 -08:00
parent d8cb28911c
commit fd859812eb
2 changed files with 6 additions and 20 deletions

2
fml

@ -1 +1 @@
Subproject commit 84a101f344b8fc21de1201fde717fbcbcba2aa79
Subproject commit e3785c28930a218cf9374458c67c34e7fba17922

View file

@ -117,21 +117,7 @@
}
if (this.field_71307_n.func_76468_d())
@@ -671,25 +652,30 @@
{
try
{
- ((FutureTask)this.field_175589_i.poll()).run();
+ FutureTask task = (FutureTask)this.field_175589_i.poll();
+ task.run(); // Run the task
+ task.get(); // Poll the result, which throws an error if the task errored.
}
catch (Throwable throwable2)
{
- field_147145_h.fatal(throwable2);
+ field_147145_h.catching(org.apache.logging.log4j.Level.FATAL, throwable2); //Forge actually print the error correctly.
}
}
@@ -681,15 +662,18 @@
}
this.field_71304_b.func_76318_c("levels");
@ -153,7 +139,7 @@
this.field_71304_b.func_76320_a(worldserver.func_72912_H().func_76065_j());
if (this.field_71315_w % 20 == 0)
@@ -733,9 +719,11 @@
@@ -733,9 +717,11 @@
this.field_71304_b.func_76319_b();
}
@ -166,7 +152,7 @@
this.field_71304_b.func_76318_c("connection");
this.func_147137_ag().func_151269_c();
this.field_71304_b.func_76318_c("players");
@@ -774,7 +762,13 @@
@@ -774,7 +760,13 @@
public WorldServer func_71218_a(int p_71218_1_)
{
@ -181,7 +167,7 @@
}
public String func_71249_w()
@@ -1025,6 +1019,7 @@
@@ -1025,6 +1017,7 @@
if (worldserver != null)
{
@ -189,7 +175,7 @@
worldserver.func_73041_k();
}
}
@@ -1607,7 +1602,6 @@
@@ -1607,7 +1600,6 @@
this.field_71319_s = p_71208_1_;
}