Advertisement
Guest User

Untitled

a guest
Apr 5th, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 2.96 KB | None | 0 0
  1. //Default extenion
  2.  
  3.  
  4. package com.foeskes.flaux.capabilities;
  5.  
  6. import net.minecraft.nbt.NBTBase;
  7. import net.minecraft.nbt.NBTTagCompound;
  8. import net.minecraft.util.EnumFacing;
  9. import net.minecraftforge.common.capabilities.Capability;
  10. import net.minecraftforge.common.capabilities.Capability.IStorage;
  11.  
  12. public class DefaultPlayerExtention implements IPlayerExtension {
  13.  
  14.     protected float flaux;
  15.     protected float flauxXp;
  16.     protected float maxFlaux = 100;
  17.    
  18.     public static class ExtentionStorage implements IStorage<IPlayerExtension> {
  19.         public static final ExtentionStorage instance = new ExtentionStorage();
  20.  
  21.         @Override
  22.         public NBTBase writeNBT(Capability<IPlayerExtension> capability,
  23.                 IPlayerExtension extention, EnumFacing side) {
  24.             NBTTagCompound tag = new NBTTagCompound();
  25.             tag.setFloat("flaux", ((DefaultPlayerExtention)extention).getFlaux());
  26.             tag.setFloat("flauxXp", ((DefaultPlayerExtention)extention).getFlauxXp());
  27.             tag.setFloat("maxFlaux", ((DefaultPlayerExtention)extention).getMaxFlaux());
  28.            
  29.             return tag;
  30.         }
  31.  
  32.         @Override
  33.         public void readNBT(Capability<IPlayerExtension> capability,
  34.                 IPlayerExtension extention, EnumFacing side, NBTBase nbt) {
  35.            
  36.             ((DefaultPlayerExtention)extention).setFlaux(((NBTTagCompound) nbt).getFloat("flaux"));
  37.             ((DefaultPlayerExtention)extention).setFlauxXp(((NBTTagCompound) nbt).getFloat("flauxXp"));
  38.             ((DefaultPlayerExtention)extention).setMaxFlaux(((NBTTagCompound) nbt).getFloat("maxFlaux"));
  39.            
  40.         }
  41.     }
  42.  
  43.     @Override
  44.     public NBTTagCompound saveNBTData() {
  45.         return (NBTTagCompound) DefaultPlayerExtention.ExtentionStorage.instance.writeNBT(
  46.                 ExtentionProvider.EXTENDEDPLAYER, this, null);
  47.     }
  48.  
  49.     @Override
  50.     public void loadNBTData(NBTTagCompound compound) {
  51.         System.out.println("It Should Work (LOAD)");
  52.         DefaultPlayerExtention.ExtentionStorage.instance.readNBT(ExtentionProvider.EXTENDEDPLAYER,
  53.                 this, null, compound);
  54.     }
  55.  
  56.     @Override
  57.     public float getFlaux() {
  58.         return flaux;
  59.     }
  60.  
  61.     @Override
  62.     public float getFlauxXp() {
  63.         return flauxXp;
  64.     }
  65.  
  66.     @Override
  67.     public float getMaxFlaux() {
  68.         if (maxFlaux < 100)
  69.             return 100;
  70.         return maxFlaux;
  71.     }
  72.  
  73.     @Override
  74.     public void setFlaux(float f) {
  75.         this.flaux = f;
  76.     }
  77.  
  78.     @Override
  79.     public void setFlauxXp(float f) {
  80.         this.flauxXp = f;
  81.     }
  82.  
  83.     @Override
  84.     public void setMaxFlaux(float f) {
  85.         if (f < 100) f = 100;
  86.         this.maxFlaux = f;
  87.     }
  88.  
  89. }
  90.  
  91.  
  92. //interface
  93.  
  94.  
  95. public NBTTagCompound saveNBTData();
  96.    
  97.     public void loadNBTData(NBTTagCompound compound);
  98.    
  99.     public float getFlaux();
  100.     public float getFlauxXp();
  101.     public float getMaxFlaux();
  102.    
  103.     public void setFlaux(float f);
  104.     public void setFlauxXp(float f);
  105.     public void setMaxFlaux(float f);
  106.  
  107.  
  108. //Pre-init
  109.  
  110.        
  111.         CapabilityManager.INSTANCE.register(IPlayerExtension.class, DefaultPlayerExtention.ExtentionStorage.instance, DefaultPlayerExtention.class);
  112.        
  113.         MinecraftForge.EVENT_BUS.register(new ModEvents());
  114.        
  115.         proxy.registerCapabilities(); // Failed
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement