1 package com.irtimaled.bbor.forge;
3 import com.irtimaled.bbor.common.CommonProxy;
4 import com.irtimaled.bbor.common.interop.CommonInterop;
5 import com.irtimaled.bbor.common.messages.SubscribeToServer;
6 import net.minecraft.block.Block;
7 import net.minecraft.entity.player.EntityPlayer;
8 import net.minecraft.entity.player.EntityPlayerMP;
9 import net.minecraft.world.IWorld;
10 import net.minecraft.world.World;
11 import net.minecraft.world.WorldServer;
12 import net.minecraft.world.chunk.Chunk;
13 import net.minecraft.world.chunk.IChunk;
14 import net.minecraftforge.event.world.BlockEvent;
15 import net.minecraftforge.event.world.ChunkEvent;
16 import net.minecraftforge.event.world.WorldEvent;
17 import net.minecraftforge.eventbus.api.SubscribeEvent;
18 import net.minecraftforge.fml.common.gameevent.PlayerEvent;
19 import net.minecraftforge.fml.common.gameevent.TickEvent;
20 import net.minecraftforge.fml.network.NetworkEvent;
22 public class ForgeCommonProxy {
24 new CommonProxy().init();
25 ForgeNetworkHelper.addConsumer(SubscribeToServer.NAME, this::playerSubscribed);
28 private <T extends NetworkEvent> void playerSubscribed(final T packet) {
29 CommonInterop.playerSubscribed(packet.getSource().get().getSender());
33 public void worldEvent(WorldEvent.Load event) {
34 IWorld world = event.getWorld();
35 if (world instanceof WorldServer) {
36 CommonInterop.loadWorld((WorldServer) world);
41 public void chunkEvent(ChunkEvent.Load event) {
42 IChunk chunk = event.getChunk();
43 if (chunk instanceof Chunk) {
44 CommonInterop.chunkLoaded((Chunk) chunk);
49 public void playerLoggedInEvent(PlayerEvent.PlayerLoggedInEvent evt) {
50 EntityPlayer player = evt.getPlayer();
51 if (player instanceof EntityPlayerMP) {
52 CommonInterop.playerLoggedIn((EntityPlayerMP) player);
57 public void playerLoggedOutEvent(PlayerEvent.PlayerLoggedOutEvent evt) {
58 EntityPlayer player = evt.getPlayer();
59 if (player instanceof EntityPlayerMP) {
60 CommonInterop.playerLoggedOut((EntityPlayerMP) player);
65 public void worldTickEvent(TickEvent.WorldTickEvent event) {
66 if (event.phase == TickEvent.Phase.END &&
67 event.world instanceof WorldServer) {
68 CommonInterop.worldTick((WorldServer) event.world);
73 public void serverTickEvent(TickEvent.ServerTickEvent event) {
74 if (event.phase == TickEvent.Phase.END)
79 public void blockBreakEvent(BlockEvent.BreakEvent event) {
80 Block block = event.getState().getBlock();
81 IWorld world = event.getWorld();
82 if (world instanceof World) {
83 CommonInterop.tryHarvestBlock(block, event.getPos(), (World) world);