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();
}
}
}