package mapwriter.forge; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import mapwriter.Mw; import mapwriter.overlay.OverlaySlime; import net.minecraft.util.ChatComponentText; import net.minecraft.util.ChatComponentTranslation; import net.minecraftforge.client.event.ClientChatReceivedEvent; import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.event.world.WorldEvent; public class EventHandler { Mw mw; public EventHandler(Mw mw) { this.mw = mw; } @SubscribeEvent public void eventChunkLoad(ChunkEvent.Load event){ if(event.world.isRemote){ this.mw.onChunkLoad(event.getChunk()); } } @SubscribeEvent public void eventChunkUnload(ChunkEvent.Unload event){ if(event.world.isRemote){ this.mw.onChunkUnload(event.getChunk()); } } @SubscribeEvent public void eventWorldLoad(WorldEvent.Load event){ if(event.world.isRemote){ this.mw.onWorldLoad(event.world); } } @SubscribeEvent public void eventWorldUnload(WorldEvent.Unload event){ if(event.world.isRemote){ this.mw.onWorldUnload(event.world); } } @SubscribeEvent public void onClientChat(ClientChatReceivedEvent event){ if(OverlaySlime.seedFound || !OverlaySlime.seedAsked) return; try{ //I don't want to crash the game when we derp up in here if(event.message instanceof ChatComponentTranslation){ ChatComponentTranslation component = (ChatComponentTranslation) event.message; if(component.getKey().equals("commands.seed.success")){ OverlaySlime.setSeed((Long) component.getFormatArgs()[0]); event.setCanceled(true); //Don't let the player see this seed message, They didn't do /seed, we did } }else if(event.message instanceof ChatComponentText){ ChatComponentText component = (ChatComponentText) event.message; String msg = component.getUnformattedText(); if(msg.startsWith("Seed: ")){ //Because bukkit... OverlaySlime.setSeed(Long.parseLong(msg.substring(6))); event.setCanceled(true); //Don't let the player see this seed message, They didn't do /seed, we did } } }catch(Exception e){ //e.printStackTrace(); } } }