Guest User

EventHandlerExtendedProps

a guest
Apr 21st, 2015
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.76 KB | None | 0 0
  1. package fr.sosoh.hogsmod.common.event;
  2.  
  3. import net.minecraft.entity.player.EntityPlayer;
  4. import net.minecraft.nbt.NBTTagCompound;
  5. import net.minecraft.server.MinecraftServer;
  6. import net.minecraft.util.ChatComponentText;
  7. import net.minecraftforge.event.entity.EntityEvent.EntityConstructing;
  8. import net.minecraftforge.event.entity.EntityJoinWorldEvent;
  9. import net.minecraftforge.event.entity.living.LivingDeathEvent;
  10. import net.minecraftforge.event.entity.living.LivingEvent;
  11. import cpw.mods.fml.common.eventhandler.SubscribeEvent;
  12. import cpw.mods.fml.common.gameevent.PlayerEvent;
  13. import fr.sosoh.hogsmod.common.entity.props.ExtendedEntityProps;
  14. import fr.sosoh.hogsmod.proxy.CommonProxy;
  15.  
  16. public class EventHandlerExtendedProps {
  17.  
  18.     private CommonProxy proxy;
  19.     public int ticks;
  20.    
  21.     @SubscribeEvent
  22.     public void onEntityConstructing(EntityConstructing event) {
  23.  
  24.         if (event.entity instanceof EntityPlayer
  25.                 && ExtendedEntityProps.get((EntityPlayer) event.entity) == null)
  26.  
  27.             ExtendedEntityProps.register((EntityPlayer) event.entity);
  28.     }
  29.    
  30.     @SubscribeEvent
  31.     public void onLivingDeathEvent(LivingDeathEvent event) {
  32.         if (!event.entity.worldObj.isRemote && event.entity instanceof EntityPlayer) {
  33.             ExtendedEntityProps props = ExtendedEntityProps.get(((EntityPlayer) event.entity));
  34.             props.setMana(0);
  35.             NBTTagCompound playerData = new NBTTagCompound();
  36.            
  37.             ((ExtendedEntityProps) (event.entity.getExtendedProperties(ExtendedEntityProps.EXT_PROP_NAME))).saveNBTData(playerData);
  38.             proxy.storeEntityData(((EntityPlayer) event.entity).getDisplayName(), playerData);
  39.             ExtendedEntityProps.saveProxyData((EntityPlayer) event.entity);
  40.         } else {
  41.  
  42.         }
  43.     }
  44.  
  45.     @SubscribeEvent
  46.     public void onEntityJoinWorld(EntityJoinWorldEvent event) {
  47.         if (!event.entity.worldObj.isRemote
  48.                 && event.entity instanceof EntityPlayer) {
  49.             NBTTagCompound playerData = proxy
  50.                     .getEntityData(((EntityPlayer) event.entity)
  51.                             .getDisplayName());
  52.             if (playerData != null) {
  53.                 ((ExtendedEntityProps) (event.entity
  54.                         .getExtendedProperties(ExtendedEntityProps.EXT_PROP_NAME)))
  55.                         .loadNBTData(playerData);
  56.             }
  57.  
  58.             ((ExtendedEntityProps) (event.entity
  59.                     .getExtendedProperties(ExtendedEntityProps.EXT_PROP_NAME)))
  60.                     .sync();
  61.         }
  62.         }
  63.    
  64.     @SubscribeEvent
  65.     public void onPlayerLoggedOut(PlayerEvent.PlayerLoggedOutEvent event){
  66.         if (!(event.player.worldObj.isRemote)) {
  67.            
  68.             NBTTagCompound playerData = proxy.getEntityData((event.player).getDisplayName());
  69.            
  70.             if (playerData != null) {
  71.                 ((ExtendedEntityProps) (event.player.getExtendedProperties(ExtendedEntityProps.EXT_PROP_NAME))).saveNBTData(playerData);
  72.             }
  73.             ((ExtendedEntityProps) (event.player.getExtendedProperties(ExtendedEntityProps.EXT_PROP_NAME))).sync();
  74.         }
  75.     }
  76.    
  77. }
Advertisement
Add Comment
Please, Sign In to add comment