replace server tick/world gen tick with a timer
This commit is contained in:
+13
@@ -537,6 +537,19 @@ public final class BatchGenerationEnvironment extends AbstractBatchGenerationEnv
|
||||
PREF_LOGGER.debug(genEvent.timer.toString());
|
||||
}
|
||||
}
|
||||
catch (CompletionException e)
|
||||
{
|
||||
Throwable actualThrowable = e.getCause();
|
||||
|
||||
// interrupts mean the world generator is being shut down, no need to log that
|
||||
boolean isShutdownException =
|
||||
actualThrowable instanceof InterruptedException
|
||||
|| actualThrowable instanceof ClosedByInterruptException;
|
||||
if (!isShutdownException)
|
||||
{
|
||||
EVENT_LOGGER.error("Completion error during world gen for min chunk pos ["+genEvent.minPos+"], error: ["+e.getMessage()+"].", e);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
EVENT_LOGGER.error("Unexpected error during world gen for min chunk pos ["+genEvent.minPos+"], error: ["+e.getMessage()+"].", e);
|
||||
|
||||
+1
-1
Submodule coreSubProjects updated: eea5198fb6...3257ae8480
@@ -93,10 +93,6 @@ public class FabricServerProxy implements AbstractModInitializer.IEventProxy
|
||||
|
||||
/* Register the mod needed event callbacks */
|
||||
|
||||
// ServerTickEvent
|
||||
ServerTickEvents.END_SERVER_TICK.register((server) -> SERVER_API.serverTickEvent());
|
||||
|
||||
|
||||
// can be enabled to test overrides/events without having to build a separate API project
|
||||
if (false)
|
||||
{
|
||||
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
package com.seibel.distanthorizons.fabric.mixins.server;
|
||||
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftServerWrapper;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.util.function.BooleanSupplier;
|
||||
|
||||
@Mixin(MinecraftServer.class)
|
||||
public class MixinMinecraftServer
|
||||
{
|
||||
@Shadow
|
||||
private int emptyTicks;
|
||||
|
||||
@Inject(method = "tickServer", at = @At("HEAD"))
|
||||
private void onTickServer(BooleanSupplier hasTimeLeft, CallbackInfo ci)
|
||||
{
|
||||
if (MinecraftServerWrapper.INSTANCE.preventAutoPause)
|
||||
{
|
||||
this.emptyTicks = 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,8 +9,7 @@
|
||||
"server.MixinServerPlayer",
|
||||
"server.MixinTracingExecutor",
|
||||
"server.MixinUtilBackgroundThread",
|
||||
"server.MixinLevelTicks",
|
||||
"server.MixinMinecraftServer"
|
||||
"server.MixinLevelTicks"
|
||||
],
|
||||
"client": [
|
||||
"client.MixinClientLevel",
|
||||
|
||||
@@ -90,16 +90,6 @@ public class ForgeServerProxy implements AbstractModInitializer.IEventProxy
|
||||
// events //
|
||||
//========//
|
||||
|
||||
// ServerTickEvent (at end)
|
||||
@SubscribeEvent
|
||||
public void serverTickEvent(TickEvent.ServerTickEvent event)
|
||||
{
|
||||
if (event.phase == TickEvent.Phase.END)
|
||||
{
|
||||
this.serverApi.serverTickEvent();
|
||||
}
|
||||
}
|
||||
|
||||
// ServerWorldLoadEvent
|
||||
@SubscribeEvent
|
||||
public void dedicatedWorldLoadEvent(#if MC_VER == MC_1_16_5 || MC_VER == MC_1_17_1 FMLServerAboutToStartEvent #else ServerAboutToStartEvent #endif event)
|
||||
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
package com.seibel.distanthorizons.fabric.mixins.server;
|
||||
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftServerWrapper;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.util.function.BooleanSupplier;
|
||||
|
||||
@Mixin(MinecraftServer.class)
|
||||
public class MixinMinecraftServer
|
||||
{
|
||||
@Shadow
|
||||
private int emptyTicks;
|
||||
|
||||
@Inject(method = "tickServer", at = @At("HEAD"))
|
||||
private void onTickServer(BooleanSupplier hasTimeLeft, CallbackInfo ci)
|
||||
{
|
||||
if (MinecraftServerWrapper.INSTANCE.preventAutoPause)
|
||||
{
|
||||
this.emptyTicks = 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,10 +6,9 @@
|
||||
"server.MixinUtilBackgroundThread",
|
||||
"server.MixinChunkGenerator",
|
||||
"server.MixinTFChunkGenerator",
|
||||
"server.MixinChunkMap",
|
||||
"server.MixinChunkMap",
|
||||
"server.MixinServerPlayer",
|
||||
"server.MixinEntity",
|
||||
"server.MixinMinecraftServer"
|
||||
"server.MixinEntity"
|
||||
],
|
||||
"client": [
|
||||
"client.MixinClientPacketListener",
|
||||
|
||||
@@ -68,23 +68,6 @@ public class NeoforgeServerProxy implements AbstractModInitializer.IEventProxy
|
||||
// events //
|
||||
//========//
|
||||
|
||||
#if MC_VER < MC_1_20_6
|
||||
@SubscribeEvent
|
||||
public void serverTickEvent(TickEvent.ServerTickEvent event)
|
||||
{
|
||||
if (event.phase == TickEvent.Phase.END)
|
||||
{
|
||||
this.serverApi.serverTickEvent();
|
||||
}
|
||||
}
|
||||
#else
|
||||
@SubscribeEvent
|
||||
public void serverTickEvent(ServerTickEvent.Post event)
|
||||
{
|
||||
this.serverApi.serverTickEvent();
|
||||
}
|
||||
#endif
|
||||
|
||||
// ServerWorldLoadEvent
|
||||
@SubscribeEvent
|
||||
public void dedicatedWorldLoadEvent(ServerAboutToStartEvent event)
|
||||
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
package com.seibel.distanthorizons.neoforge.mixins.server;
|
||||
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftServerWrapper;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.util.function.BooleanSupplier;
|
||||
|
||||
@Mixin(MinecraftServer.class)
|
||||
public class MixinMinecraftServer
|
||||
{
|
||||
@Shadow
|
||||
private int emptyTicks;
|
||||
|
||||
@Inject(method = "tickServer", at = @At("HEAD"))
|
||||
private void onTickServer(BooleanSupplier hasTimeLeft, CallbackInfo ci)
|
||||
{
|
||||
if (MinecraftServerWrapper.INSTANCE.preventAutoPause)
|
||||
{
|
||||
this.emptyTicks = 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,8 +9,7 @@
|
||||
"server.MixinTFChunkGenerator",
|
||||
"server.MixinTracingExecutor",
|
||||
"server.MixinUtilBackgroundThread",
|
||||
"server.MixinLevelTicks",
|
||||
"server.MixinMinecraftServer"
|
||||
"server.MixinLevelTicks"
|
||||
],
|
||||
"client": [
|
||||
"client.MixinClientPacketListener",
|
||||
|
||||
Reference in New Issue
Block a user