]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/common/interop/CommonInterop.java
305e9894080d24631761151c1d0f9f56ac8c1c5d
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / common / interop / CommonInterop.java
1 package com.irtimaled.bbor.common.interop;
2
3 import com.irtimaled.bbor.common.EventBus;
4 import com.irtimaled.bbor.common.events.*;
5 import com.irtimaled.bbor.common.models.ServerPlayer;
6 import com.irtimaled.bbor.config.ConfigManager;
7 import net.minecraft.entity.player.EntityPlayerMP;
8 import net.minecraft.network.NetHandlerPlayServer;
9 import net.minecraft.network.NetworkManager;
10 import net.minecraft.world.WorldServer;
11 import net.minecraft.world.chunk.Chunk;
12 import net.minecraft.world.gen.feature.structure.StructureStart;
13
14 import java.io.File;
15 import java.util.Collection;
16 import java.util.Map;
17
18 public class CommonInterop {
19     public static void init() {
20         ConfigManager.loadConfig(new File("."));
21     }
22
23     public static void chunkLoaded(Chunk chunk) {
24         int dimensionId = chunk.getWorld().getDimension().getType().getId();
25         Map<String, StructureStart> structures = chunk.getStructureStarts();
26         if(structures.size() > 0) EventBus.publish(new StructuresLoaded(structures, dimensionId));
27     }
28
29     public static void loadWorlds(Collection<WorldServer> worlds) {
30         for (WorldServer world : worlds) {
31             loadWorld(world);
32         }
33     }
34
35     public static void loadWorld(WorldServer world) {
36         EventBus.publish(new WorldLoaded(world));
37     }
38
39     public static void tick() {
40         EventBus.publish(new ServerTick());
41     }
42
43     public static void worldTick(WorldServer worldServer) {
44         EventBus.publish(new ServerWorldTick(worldServer));
45     }
46
47     public static void playerLoggedIn(EntityPlayerMP player) {
48         NetHandlerPlayServer connection = player.connection;
49         if (connection == null) return;
50
51         NetworkManager networkManager = connection.netManager;
52         if (networkManager.isLocalChannel()) return;
53
54         EventBus.publish(new PlayerLoggedIn(new ServerPlayer(player)));
55     }
56
57     public static void playerLoggedOut(EntityPlayerMP player) {
58         EventBus.publish(new PlayerLoggedOut(player.getEntityId()));
59     }
60
61     public static void playerSubscribed(EntityPlayerMP player) {
62         EventBus.publish(new PlayerSubscribed(player.getEntityId(), new ServerPlayer(player)));
63     }
64 }