package de.maxgb.minecraft.second_screen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraftforge.event.entity.EntityJoinWorldEvent; import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent; import de.maxgb.minecraft.second_screen.util.Helper; import de.maxgb.minecraft.second_screen.util.Logger; public class MSSEventHandler { private final static String TAG="EventHandler"; @SubscribeEvent public void onWorldSave(WorldEvent.Save e){ if(e.world.provider.getDimensionId()==0 && !e.world.isRemote){ Logger.i(TAG, "Saving data"); SecondScreenMod.instance.saveData(); } } @SubscribeEvent public void onPlayerLoggedOut(PlayerEvent.PlayerLoggedOutEvent e){ SecondScreenMod.instance.latestOnlinePlayer=e.player.getDisplayName().getFormattedText(); } @SubscribeEvent(priority=EventPriority.LOWEST) public void onPlayerJoinWorld(EntityJoinWorldEvent e){ if(e.entity instanceof EntityPlayer && !e.world.isRemote){ EntityPlayer p = (EntityPlayer) e.entity; if(!p.getEntityData().getBoolean("mss_book")){ ItemStack book=Helper.createTutorialBook(); Helper.dropItemStackInWorld(e.world, p.posX, p.posY, p.posZ, new ItemStack(Items.apple)); if(!p.inventory.addItemStackToInventory(book)){ Logger.i("EntityJoinWorld-Main","Playerinventory full, dropping manual to the ground"); Helper.dropItemStackInWorld(e.world, p.posX, p.posY, p.posZ, book); } p.getEntityData().setBoolean("mss_book", true); } } } }