Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Default extenion
- package com.foeskes.flaux.capabilities;
- import net.minecraft.nbt.NBTBase;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.util.EnumFacing;
- import net.minecraftforge.common.capabilities.Capability;
- import net.minecraftforge.common.capabilities.Capability.IStorage;
- public class DefaultPlayerExtention implements IPlayerExtension {
- protected float flaux;
- protected float flauxXp;
- protected float maxFlaux = 100;
- public static class ExtentionStorage implements IStorage<IPlayerExtension> {
- public static final ExtentionStorage instance = new ExtentionStorage();
- @Override
- public NBTBase writeNBT(Capability<IPlayerExtension> capability,
- IPlayerExtension extention, EnumFacing side) {
- NBTTagCompound tag = new NBTTagCompound();
- tag.setFloat("flaux", ((DefaultPlayerExtention)extention).getFlaux());
- tag.setFloat("flauxXp", ((DefaultPlayerExtention)extention).getFlauxXp());
- tag.setFloat("maxFlaux", ((DefaultPlayerExtention)extention).getMaxFlaux());
- return tag;
- }
- @Override
- public void readNBT(Capability<IPlayerExtension> capability,
- IPlayerExtension extention, EnumFacing side, NBTBase nbt) {
- ((DefaultPlayerExtention)extention).setFlaux(((NBTTagCompound) nbt).getFloat("flaux"));
- ((DefaultPlayerExtention)extention).setFlauxXp(((NBTTagCompound) nbt).getFloat("flauxXp"));
- ((DefaultPlayerExtention)extention).setMaxFlaux(((NBTTagCompound) nbt).getFloat("maxFlaux"));
- }
- }
- @Override
- public NBTTagCompound saveNBTData() {
- return (NBTTagCompound) DefaultPlayerExtention.ExtentionStorage.instance.writeNBT(
- ExtentionProvider.EXTENDEDPLAYER, this, null);
- }
- @Override
- public void loadNBTData(NBTTagCompound compound) {
- System.out.println("It Should Work (LOAD)");
- DefaultPlayerExtention.ExtentionStorage.instance.readNBT(ExtentionProvider.EXTENDEDPLAYER,
- this, null, compound);
- }
- @Override
- public float getFlaux() {
- return flaux;
- }
- @Override
- public float getFlauxXp() {
- return flauxXp;
- }
- @Override
- public float getMaxFlaux() {
- if (maxFlaux < 100)
- return 100;
- return maxFlaux;
- }
- @Override
- public void setFlaux(float f) {
- this.flaux = f;
- }
- @Override
- public void setFlauxXp(float f) {
- this.flauxXp = f;
- }
- @Override
- public void setMaxFlaux(float f) {
- if (f < 100) f = 100;
- this.maxFlaux = f;
- }
- }
- //interface
- public NBTTagCompound saveNBTData();
- public void loadNBTData(NBTTagCompound compound);
- public float getFlaux();
- public float getFlauxXp();
- public float getMaxFlaux();
- public void setFlaux(float f);
- public void setFlauxXp(float f);
- public void setMaxFlaux(float f);
- //Pre-init
- CapabilityManager.INSTANCE.register(IPlayerExtension.class, DefaultPlayerExtention.ExtentionStorage.instance, DefaultPlayerExtention.class);
- MinecraftForge.EVENT_BUS.register(new ModEvents());
- proxy.registerCapabilities(); // Failed
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement