]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/common/interop/CommonInterop.java
Upgrade to 1.13.2
[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.Coords;
6 import com.irtimaled.bbor.common.models.ServerPlayer;
7 import com.irtimaled.bbor.config.ConfigManager;
8 import net.minecraft.block.Block;
9 import net.minecraft.block.BlockMobSpawner;
10 import net.minecraft.entity.player.EntityPlayerMP;
11 import net.minecraft.network.NetHandlerPlayServer;
12 import net.minecraft.network.NetworkManager;
13 import net.minecraft.util.math.BlockPos;
14 import net.minecraft.world.World;
15 import net.minecraft.world.WorldServer;
16 import net.minecraft.world.chunk.Chunk;
17
18 import java.io.File;
19 import java.util.Collection;
20
21 public class CommonInterop {
22     public static void init() {
23         ConfigManager.loadConfig(new File("."));
24     }
25
26     public static void chunkLoaded(Chunk chunk) {
27         EventBus.publish(new ChunkLoaded(chunk));
28     }
29
30     public static void loadWorlds(Collection<WorldServer> worlds) {
31         for (WorldServer world : worlds) {
32             loadWorld(world);
33         }
34     }
35
36     public static void loadWorld(WorldServer world) {
37         EventBus.publish(new WorldLoaded(world));
38     }
39
40     public static void tick() {
41         EventBus.publish(new ServerTick());
42     }
43
44     public static void worldTick(WorldServer worldServer) {
45         EventBus.publish(new ServerWorldTick(worldServer));
46     }
47
48     public static void playerLoggedIn(EntityPlayerMP player) {
49         NetHandlerPlayServer connection = player.connection;
50         if (connection == null) return;
51
52         NetworkManager networkManager = connection.netManager;
53         if (networkManager.isLocalChannel()) return;
54
55         EventBus.publish(new PlayerLoggedIn(new ServerPlayer(player)));
56     }
57
58     public static void playerLoggedOut(EntityPlayerMP player) {
59         EventBus.publish(new PlayerLoggedOut(player.getEntityId()));
60     }
61
62     public static void playerSubscribed(EntityPlayerMP player) {
63         EventBus.publish(new PlayerSubscribed(player.getEntityId(), new ServerPlayer(player)));
64     }
65
66     public static void tryHarvestBlock(Block block, BlockPos pos, World world) {
67         if (block instanceof BlockMobSpawner) {
68             EventBus.publish(new MobSpawnerBroken(world.dimension.getType().getId(), new Coords(pos)));
69         }
70     }
71 }