package micdoodle8.mods.galacticraft.core.entities.player;
import micdoodle8.mods.galacticraft.api.recipe.ISchematicPage;
import micdoodle8.mods.galacticraft.api.vector.BlockVec3;
import micdoodle8.mods.galacticraft.api.vector.Vector3;
import micdoodle8.mods.galacticraft.core.inventory.InventoryExtended;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import java.lang.ref.WeakReference;
import java.util.HashMap;
import java.util.List;
public abstract class GCPlayerStats
{
public static GCPlayerStats get(Entity entity)
{
return entity.getCapability(GCCapabilities.GC_STATS_CAPABILITY, null);
}
public abstract void saveNBTData(NBTTagCompound nbt);
public abstract void loadNBTData(NBTTagCompound nbt);
public abstract void copyFrom(GCPlayerStats oldData, boolean keepInv);
public abstract WeakReference<EntityPlayerMP> getPlayer();
public abstract void setPlayer(WeakReference<EntityPlayerMP> player);
public abstract InventoryExtended getExtendedInventory();
public abstract void setExtendedInventory(InventoryExtended extendedInventory);
public abstract int getAirRemaining();
public abstract void setAirRemaining(int airRemaining);
public abstract int getAirRemaining2();
public abstract void setAirRemaining2(int airRemaining2);
public abstract int getThermalLevel();
public abstract void setThermalLevel(int thermalLevel);
public abstract boolean isThermalLevelNormalising();
public abstract void setThermalLevelNormalising(boolean thermalLevelNormalising);
public abstract int getDamageCounter();
public abstract void setDamageCounter(int damageCounter);
public abstract int getSpaceshipTier();
public abstract void setSpaceshipTier(int spaceshipTier);
public abstract ItemStack[] getRocketStacks();
public abstract void setRocketStacks(ItemStack[] rocketStacks);
public abstract int getRocketType();
public abstract void setRocketType(int rocketType);
public abstract int getFuelLevel();
public abstract void setFuelLevel(int fuelLevel);
public abstract Item getRocketItem();
public abstract void setRocketItem(Item rocketItem);
public abstract ItemStack getLaunchpadStack();
public abstract void setLaunchpadStack(ItemStack launchpadStack);
public abstract int getAstroMinerCount();
public abstract void setAstroMinerCount(int astroMinerCount);
public abstract List<BlockVec3> getActiveAstroMinerChunks();
public abstract boolean isUsingParachute();
public abstract void setUsingParachute(boolean usingParachute);
public abstract ItemStack getParachuteInSlot();
public abstract void setParachuteInSlot(ItemStack parachuteInSlot);
public abstract ItemStack getLastParachuteInSlot();
public abstract void setLastParachuteInSlot(ItemStack lastParachuteInSlot);
public abstract ItemStack getFrequencyModuleInSlot();
public abstract void setFrequencyModuleInSlot(ItemStack frequencyModuleInSlot);
public abstract ItemStack getLastFrequencyModuleInSlot();
public abstract void setLastFrequencyModuleInSlot(ItemStack lastFrequencyModuleInSlot);
public abstract ItemStack getMaskInSlot();
public abstract void setMaskInSlot(ItemStack maskInSlot);
public abstract ItemStack getLastMaskInSlot();
public abstract void setLastMaskInSlot(ItemStack lastMaskInSlot);
public abstract ItemStack getGearInSlot();
public abstract void setGearInSlot(ItemStack gearInSlot);
public abstract ItemStack getLastGearInSlot();
public abstract void setLastGearInSlot(ItemStack lastGearInSlot);
public abstract ItemStack getTankInSlot1();
public abstract void setTankInSlot1(ItemStack tankInSlot1);
public abstract ItemStack getLastTankInSlot1();
public abstract void setLastTankInSlot1(ItemStack lastTankInSlot1);
public abstract ItemStack getTankInSlot2();
public abstract void setTankInSlot2(ItemStack tankInSlot2);
public abstract ItemStack getLastTankInSlot2();
public abstract void setLastTankInSlot2(ItemStack lastTankInSlot2);
public abstract ItemStack getThermalHelmetInSlot();
public abstract void setThermalHelmetInSlot(ItemStack thermalHelmetInSlot);
public abstract ItemStack getLastThermalHelmetInSlot();
public abstract void setLastThermalHelmetInSlot(ItemStack lastThermalHelmetInSlot);
public abstract ItemStack getThermalChestplateInSlot();
public abstract void setThermalChestplateInSlot(ItemStack thermalChestplateInSlot);
public abstract ItemStack getLastThermalChestplateInSlot();
public abstract void setLastThermalChestplateInSlot(ItemStack lastThermalChestplateInSlot);
public abstract ItemStack getThermalLeggingsInSlot();
public abstract void setThermalLeggingsInSlot(ItemStack thermalLeggingsInSlot);
public abstract ItemStack getLastThermalLeggingsInSlot();
public abstract void setLastThermalLeggingsInSlot(ItemStack lastThermalLeggingsInSlot);
public abstract ItemStack getThermalBootsInSlot();
public abstract void setThermalBootsInSlot(ItemStack thermalBootsInSlot);
public abstract ItemStack getLastThermalBootsInSlot();
public abstract void setLastThermalBootsInSlot(ItemStack lastThermalBootsInSlot);
public abstract ItemStack getShieldControllerInSlot();
public abstract void setShieldControllerInSlot(ItemStack shieldControllerInSlot);
public abstract ItemStack getLastShieldControllerInSlot();
public abstract void setLastShieldControllerInSlot(ItemStack lastShieldControllerInSlot);
public abstract int getLaunchAttempts();
public abstract void setLaunchAttempts(int launchAttempts);
public abstract int getSpaceRaceInviteTeamID();
public abstract void setSpaceRaceInviteTeamID(int spaceRaceInviteTeamID);
public abstract boolean isUsingPlanetSelectionGui();
public abstract void setUsingPlanetSelectionGui(boolean usingPlanetSelectionGui);
public abstract String getSavedPlanetList();
public abstract void setSavedPlanetList(String savedPlanetList);
public abstract int getOpenPlanetSelectionGuiCooldown();
public abstract void setOpenPlanetSelectionGuiCooldown(int openPlanetSelectionGuiCooldown);
public abstract boolean hasOpenedPlanetSelectionGui();
public abstract void setHasOpenedPlanetSelectionGui(boolean hasOpenedPlanetSelectionGui);
public abstract int getChestSpawnCooldown();
public abstract void setChestSpawnCooldown(int chestSpawnCooldown);
public abstract Vector3 getChestSpawnVector();
public abstract void setChestSpawnVector(Vector3 chestSpawnVector);
public abstract int getTeleportCooldown();
public abstract void setTeleportCooldown(int teleportCooldown);
public abstract int getChatCooldown();
public abstract void setChatCooldown(int chatCooldown);
public abstract double getDistanceSinceLastStep();
public abstract void setDistanceSinceLastStep(double distanceSinceLastStep);
public abstract int getLastStep();
public abstract void setLastStep(int lastStep);
public abstract double getCoordsTeleportedFromX();
public abstract void setCoordsTeleportedFromX(double coordsTeleportedFromX);
public abstract double getCoordsTeleportedFromZ();
public abstract void setCoordsTeleportedFromZ(double coordsTeleportedFromZ);
public abstract HashMap<Integer, Integer> getSpaceStationDimensionData();
public abstract void setSpaceStationDimensionData(HashMap<Integer, Integer> spaceStationDimensionData);
public abstract boolean isOxygenSetupValid();
public abstract void setOxygenSetupValid(boolean oxygenSetupValid);
public abstract boolean isLastOxygenSetupValid();
public abstract void setLastOxygenSetupValid(boolean lastOxygenSetupValid);
public abstract boolean isTouchedGround();
public abstract void setTouchedGround(boolean touchedGround);
public abstract boolean isLastOnGround();
public abstract void setLastOnGround(boolean lastOnGround);
public abstract boolean isInLander();
public abstract void setInLander(boolean inLander);
public abstract boolean hasJustLanded();
public abstract void setJustLanded(boolean justLanded);
public abstract List<ISchematicPage> getUnlockedSchematics();
public abstract void setUnlockedSchematics(List<ISchematicPage> unlockedSchematics);
public abstract List<ISchematicPage> getLastUnlockedSchematics();
public abstract void setLastUnlockedSchematics(List<ISchematicPage> lastUnlockedSchematics);
public abstract int getCryogenicChamberCooldown();
public abstract void setCryogenicChamberCooldown(int cryogenicChamberCooldown);
public abstract boolean hasReceivedSoundWarning();
public abstract void setReceivedSoundWarning(boolean receivedSoundWarning);
public abstract boolean hasReceivedBedWarning();
public abstract void setReceivedBedWarning(boolean receivedBedWarning);
public abstract boolean hasOpenedSpaceRaceManager();
public abstract void setOpenedSpaceRaceManager(boolean openedSpaceRaceManager);
public abstract boolean hasSentFlags();
public abstract void setSentFlags(boolean sentFlags);
public abstract boolean isNewInOrbit();
public abstract void setNewInOrbit(boolean newInOrbit);
public abstract boolean isNewAdventureSpawn();
public abstract void setNewAdventureSpawn(boolean newAdventureSpawn);
public abstract int getBuildFlags();
public abstract void setBuildFlags(int buildFlags);
public abstract int getIncrementalDamage();
public abstract void setIncrementalDamage(int incrementalDamage);
public abstract String getStartDimension();
public abstract void setStartDimension(String startDimension);
public abstract void setGlassColors(int color1, int color2, int color3);
public abstract int getGlassColor1();
public abstract int getGlassColor2();
public abstract int getGlassColor3();
public abstract IBlockState[] getPanelLightingBases();
public abstract int getPanelLightingColor();
public abstract void setPanelLightingColor(int color);
public abstract Object[] getMiscNetworkedStats();
}