2020-07-24 19:43:33 +02:00
|
|
|
package com.simibubi.create.events;
|
2019-09-03 08:34:02 +02:00
|
|
|
|
2020-07-24 19:43:33 +02:00
|
|
|
import com.simibubi.create.Create;
|
|
|
|
import com.simibubi.create.CreateClient;
|
2020-05-23 21:03:35 +02:00
|
|
|
import com.simibubi.create.foundation.command.CreateCommand;
|
|
|
|
|
2019-09-03 23:03:52 +02:00
|
|
|
import net.minecraft.world.IWorld;
|
2020-03-21 18:32:53 +01:00
|
|
|
import net.minecraftforge.api.distmarker.Dist;
|
2019-09-03 08:34:02 +02:00
|
|
|
import net.minecraftforge.event.TickEvent.Phase;
|
|
|
|
import net.minecraftforge.event.TickEvent.ServerTickEvent;
|
2019-09-03 23:03:52 +02:00
|
|
|
import net.minecraftforge.event.world.WorldEvent;
|
2019-09-03 08:34:02 +02:00
|
|
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
2020-03-21 18:32:53 +01:00
|
|
|
import net.minecraftforge.fml.DistExecutor;
|
2019-09-03 08:34:02 +02:00
|
|
|
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
2020-05-23 21:03:35 +02:00
|
|
|
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
|
2019-09-03 08:34:02 +02:00
|
|
|
import net.minecraftforge.fml.event.server.FMLServerStoppingEvent;
|
|
|
|
|
|
|
|
@EventBusSubscriber
|
2020-05-23 14:02:38 +02:00
|
|
|
public class CommonEvents {
|
2019-09-03 08:34:02 +02:00
|
|
|
|
|
|
|
@SubscribeEvent
|
|
|
|
public static void onTick(ServerTickEvent event) {
|
2019-12-15 01:13:36 +01:00
|
|
|
if (event.phase == Phase.END)
|
2019-09-03 08:34:02 +02:00
|
|
|
return;
|
|
|
|
Create.tick();
|
|
|
|
}
|
2019-09-24 14:40:01 +02:00
|
|
|
|
2019-09-03 08:34:02 +02:00
|
|
|
@SubscribeEvent
|
|
|
|
public static void onClose(FMLServerStoppingEvent event) {
|
|
|
|
Create.shutdown();
|
|
|
|
}
|
2020-05-23 21:03:35 +02:00
|
|
|
|
|
|
|
@SubscribeEvent
|
|
|
|
public static void serverStarting(FMLServerStartingEvent event) {
|
|
|
|
new CreateCommand(event.getCommandDispatcher());
|
|
|
|
}
|
2019-09-24 14:40:01 +02:00
|
|
|
|
2019-09-03 23:03:52 +02:00
|
|
|
@SubscribeEvent
|
|
|
|
public static void onLoadWorld(WorldEvent.Load event) {
|
|
|
|
IWorld world = event.getWorld();
|
2020-01-05 19:41:38 +01:00
|
|
|
Create.redstoneLinkNetworkHandler.onLoadWorld(world);
|
2019-11-01 01:09:38 +01:00
|
|
|
Create.torquePropagator.onLoadWorld(world);
|
2020-03-21 18:32:53 +01:00
|
|
|
if (event.getWorld().isRemote())
|
|
|
|
DistExecutor.runWhenOn(Dist.CLIENT, () -> CreateClient.bufferCache::invalidate);
|
2019-09-03 23:03:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@SubscribeEvent
|
|
|
|
public static void onUnloadWorld(WorldEvent.Unload event) {
|
|
|
|
IWorld world = event.getWorld();
|
2020-01-05 19:41:38 +01:00
|
|
|
Create.redstoneLinkNetworkHandler.onUnloadWorld(world);
|
2019-11-01 01:09:38 +01:00
|
|
|
Create.torquePropagator.onUnloadWorld(world);
|
2019-09-03 23:03:52 +02:00
|
|
|
}
|
2019-09-24 14:40:01 +02:00
|
|
|
|
2019-09-03 08:34:02 +02:00
|
|
|
}
|