]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/interop/ClientInterop.java
Tidy up updating worldspawn
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / interop / ClientInterop.java
1 package com.irtimaled.bbor.client.interop;
2
3 import com.irtimaled.bbor.client.PlayerCoords;
4 import com.irtimaled.bbor.client.events.DisconnectedFromRemoteServer;
5 import com.irtimaled.bbor.client.events.Render;
6 import com.irtimaled.bbor.client.events.SeedCommandTyped;
7 import com.irtimaled.bbor.client.events.UpdateWorldSpawnReceived;
8 import com.irtimaled.bbor.common.EventBus;
9 import net.minecraft.client.entity.EntityPlayerSP;
10 import net.minecraft.util.math.BlockPos;
11
12 public class ClientInterop {
13     public static void disconnectedFromRemoteServer() {
14         EventBus.publish(new DisconnectedFromRemoteServer());
15     }
16
17     public static void render(float partialTicks, EntityPlayerSP player) {
18         PlayerCoords.setPlayerPosition(partialTicks, player);
19         EventBus.publish(new Render(player.dimension));
20     }
21
22     public static boolean interceptChatMessage(String message) {
23         if (message.startsWith("/bbor:seed")) {
24             if (message.length() > 11) {
25                 String argument = message.substring(11);
26                 Long seed = parseNumericSeed(argument);
27                 if (seed == null) {
28                     seed = (long) argument.hashCode();
29                 }
30                 EventBus.publish(new SeedCommandTyped(seed));
31             }
32             return true;
33         }
34         return false;
35     }
36
37     private static Long parseNumericSeed(String argument) {
38         try {
39             return Long.parseLong(argument);
40         } catch (final NumberFormatException ex) {
41             return null;
42         }
43     }
44
45     public static void updateWorldSpawnReceived(BlockPos blockPos) {
46         EventBus.publish(new UpdateWorldSpawnReceived(blockPos.getX(), blockPos.getZ()));
47     }
48 }