package micdoodle8.mods.galacticraft.core.entities.player;
import micdoodle8.mods.galacticraft.api.recipe.ISchematicPage;
import net.minecraft.util.AxisAlignedBB;
import java.util.ArrayList;
public class StatsClientCapability extends GCPlayerStatsClient
{
public boolean usingParachute;
public boolean lastUsingParachute;
public boolean usingAdvancedGoggles;
public int thermalLevel;
public boolean thermalLevelNormalising;
public int thirdPersonView = 0;
public long tick;
public boolean oxygenSetupValid = true;
AxisAlignedBB boundingBoxBefore;
public boolean lastOnGround;
public double distanceSinceLastStep;
public int lastStep;
public boolean inFreefall;
public boolean inFreefallLast;
public boolean inFreefallFirstCheck;
public double downMotionLast;
public boolean lastRidingCameraZoomEntity;
public int landingTicks;
public static final int MAX_LANDINGTICKS = 15;
public float[] landingYOffset = new float[MAX_LANDINGTICKS + 1];
public EnumGravity gdir = EnumGravity.down;
public float gravityTurnRate;
public float gravityTurnRatePrev;
public float gravityTurnVecX;
public float gravityTurnVecY;
public float gravityTurnVecZ;
public float gravityTurnYaw;
public int spaceRaceInviteTeamID;
public boolean lastZoomed;
public int buildFlags = -1;
public boolean ssOnGroundLast;
public FreefallHandler freefallHandler = new FreefallHandler(this);
public ArrayList<ISchematicPage> unlockedSchematics = new ArrayList<ISchematicPage>();
@Override
public void setGravity(EnumGravity newGravity)
{
if (this.gdir == newGravity)
{
return;
}
this.gravityTurnRatePrev = this.gravityTurnRate = 0.0F;
float turnSpeed = 0.05F;
this.gravityTurnVecX = 0.0F;
this.gravityTurnVecY = 0.0F;
this.gravityTurnVecZ = 0.0F;
this.gravityTurnYaw = 0.0F;
switch (this.gdir.getIntValue())
{
case 1:
switch (newGravity.getIntValue())
{
case 1:
break;
case 2:
this.gravityTurnVecX = -2.0F;
break;
case 3:
this.gravityTurnVecY = -1.0F;
this.gravityTurnYaw = -90.0F;
break;
case 4:
this.gravityTurnVecY = 1.0F;
this.gravityTurnYaw = 90.0F;
break;
case 5:
this.gravityTurnVecX = 1.0F;
break;
case 6:
this.gravityTurnVecX = -1.0F;
}
break;
case 2:
switch (newGravity.getIntValue())
{
case 1:
this.gravityTurnVecX = -2.0F;
break;
case 2:
break;
case 3:
this.gravityTurnVecY = 1.0F;
this.gravityTurnYaw = 90.0F;
break;
case 4:
this.gravityTurnVecY = -1.0F;
this.gravityTurnYaw = -90.0F;
break;
case 5:
this.gravityTurnVecX = -1.0F;
break;
case 6:
this.gravityTurnVecX = 1.0F;
}
break;
case 3:
switch (newGravity.getIntValue())
{
case 1:
this.gravityTurnVecY = 1.0F;
this.gravityTurnYaw = 90.0F;
break;
case 2:
this.gravityTurnVecY = -1.0F;
this.gravityTurnYaw = -90.0F;
break;
case 3:
break;
case 4:
this.gravityTurnVecZ = -2.0F;
break;
case 5:
this.gravityTurnVecZ = -1.0F;
this.gravityTurnYaw = -180.0F;
break;
case 6:
this.gravityTurnVecZ = 1.0F;
}
break;
case 4:
switch (newGravity.getIntValue())
{
case 1:
this.gravityTurnVecY = -1.0F;
this.gravityTurnYaw = -90.0F;
break;
case 2:
this.gravityTurnVecY = 1.0F;
this.gravityTurnYaw = 90.0F;
break;
case 3:
this.gravityTurnVecZ = -2.0F;
break;
case 4:
break;
case 5:
this.gravityTurnVecZ = 1.0F;
this.gravityTurnYaw = -180.0F;
break;
case 6:
this.gravityTurnVecZ = -1.0F;
}
break;
case 5:
switch (newGravity.getIntValue())
{
case 1:
this.gravityTurnVecX = -1.0F;
break;
case 2:
this.gravityTurnVecX = 1.0F;
break;
case 3:
this.gravityTurnVecZ = 1.0F;
this.gravityTurnYaw = 180.0F;
break;
case 4:
this.gravityTurnVecZ = -1.0F;
this.gravityTurnYaw = 180.0F;
break;
case 5:
break;
case 6:
this.gravityTurnVecX = -2.0F;
}
break;
case 6:
switch (newGravity.getIntValue())
{
case 1:
this.gravityTurnVecX = 1.0F;
break;
case 2:
this.gravityTurnVecX = -1.0F;
break;
case 3:
this.gravityTurnVecZ = -1.0F;
break;
case 4:
this.gravityTurnVecZ = 1.0F;
break;
case 5:
this.gravityTurnVecX = -2.0F;
case 6:
}
break;
}
this.gdir = newGravity;
}
@Override
public boolean isUsingParachute()
{
return usingParachute;
}
@Override
public void setUsingParachute(boolean usingParachute)
{
this.usingParachute = usingParachute;
}
@Override
public boolean isLastUsingParachute()
{
return lastUsingParachute;
}
@Override
public void setLastUsingParachute(boolean lastUsingParachute)
{
this.lastUsingParachute = lastUsingParachute;
}
@Override
public boolean isUsingAdvancedGoggles()
{
return usingAdvancedGoggles;
}
@Override
public void setUsingAdvancedGoggles(boolean usingAdvancedGoggles)
{
this.usingAdvancedGoggles = usingAdvancedGoggles;
}
@Override
public int getThermalLevel()
{
return thermalLevel;
}
@Override
public void setThermalLevel(int thermalLevel)
{
this.thermalLevel = thermalLevel;
}
@Override
public boolean isThermalLevelNormalising()
{
return thermalLevelNormalising;
}
@Override
public void setThermalLevelNormalising(boolean thermalLevelNormalising)
{
this.thermalLevelNormalising = thermalLevelNormalising;
}
@Override
public int getThirdPersonView()
{
return thirdPersonView;
}
@Override
public void setThirdPersonView(int thirdPersonView)
{
this.thirdPersonView = thirdPersonView;
}
@Override
public long getTick()
{
return tick;
}
@Override
public void setTick(long tick)
{
this.tick = tick;
}
@Override
public boolean isOxygenSetupValid()
{
return oxygenSetupValid;
}
@Override
public void setOxygenSetupValid(boolean oxygenSetupValid)
{
this.oxygenSetupValid = oxygenSetupValid;
}
@Override
public AxisAlignedBB getBoundingBoxBefore()
{
return boundingBoxBefore;
}
@Override
public void setBoundingBoxBefore(AxisAlignedBB boundingBoxBefore)
{
this.boundingBoxBefore = boundingBoxBefore;
}
@Override
public boolean isLastOnGround()
{
return lastOnGround;
}
@Override
public void setLastOnGround(boolean lastOnGround)
{
this.lastOnGround = lastOnGround;
}
@Override
public double getDistanceSinceLastStep()
{
return distanceSinceLastStep;
}
@Override
public void setDistanceSinceLastStep(double distanceSinceLastStep)
{
this.distanceSinceLastStep = distanceSinceLastStep;
}
@Override
public int getLastStep()
{
return lastStep;
}
@Override
public void setLastStep(int lastStep)
{
this.lastStep = lastStep;
}
@Override
public boolean isInFreefall()
{
return inFreefall;
}
@Override
public void setInFreefall(boolean inFreefall)
{
this.inFreefall = inFreefall;
}
@Override
public boolean isInFreefallLast()
{
return inFreefallLast;
}
@Override
public void setInFreefallLast(boolean inFreefallLast)
{
this.inFreefallLast = inFreefallLast;
}
@Override
public boolean isInFreefallFirstCheck()
{
return inFreefallFirstCheck;
}
@Override
public void setInFreefallFirstCheck(boolean inFreefallFirstCheck)
{
this.inFreefallFirstCheck = inFreefallFirstCheck;
}
@Override
public double getDownMotionLast()
{
return downMotionLast;
}
@Override
public void setDownMotionLast(double downMotionLast)
{
this.downMotionLast = downMotionLast;
}
@Override
public boolean isLastRidingCameraZoomEntity()
{
return lastRidingCameraZoomEntity;
}
@Override
public void setLastRidingCameraZoomEntity(boolean lastRidingCameraZoomEntity)
{
this.lastRidingCameraZoomEntity = lastRidingCameraZoomEntity;
}
@Override
public int getLandingTicks()
{
return landingTicks;
}
@Override
public void setLandingTicks(int landingTicks)
{
this.landingTicks = landingTicks;
}
@Override
public EnumGravity getGdir()
{
return gdir;
}
@Override
public void setGdir(EnumGravity gdir)
{
this.gdir = gdir;
}
@Override
public float getGravityTurnRate()
{
return gravityTurnRate;
}
@Override
public void setGravityTurnRate(float gravityTurnRate)
{
this.gravityTurnRate = gravityTurnRate;
}
@Override
public float getGravityTurnRatePrev()
{
return gravityTurnRatePrev;
}
@Override
public void setGravityTurnRatePrev(float gravityTurnRatePrev)
{
this.gravityTurnRatePrev = gravityTurnRatePrev;
}
@Override
public float getGravityTurnVecX()
{
return gravityTurnVecX;
}
@Override
public void setGravityTurnVecX(float gravityTurnVecX)
{
this.gravityTurnVecX = gravityTurnVecX;
}
@Override
public float getGravityTurnVecY()
{
return gravityTurnVecY;
}
@Override
public void setGravityTurnVecY(float gravityTurnVecY)
{
this.gravityTurnVecY = gravityTurnVecY;
}
@Override
public float getGravityTurnVecZ()
{
return gravityTurnVecZ;
}
@Override
public void setGravityTurnVecZ(float gravityTurnVecZ)
{
this.gravityTurnVecZ = gravityTurnVecZ;
}
@Override
public float getGravityTurnYaw()
{
return gravityTurnYaw;
}
@Override
public void setGravityTurnYaw(float gravityTurnYaw)
{
this.gravityTurnYaw = gravityTurnYaw;
}
@Override
public int getSpaceRaceInviteTeamID()
{
return spaceRaceInviteTeamID;
}
@Override
public void setSpaceRaceInviteTeamID(int spaceRaceInviteTeamID)
{
this.spaceRaceInviteTeamID = spaceRaceInviteTeamID;
}
@Override
public boolean isLastZoomed()
{
return lastZoomed;
}
@Override
public void setLastZoomed(boolean lastZoomed)
{
this.lastZoomed = lastZoomed;
}
@Override
public int getBuildFlags()
{
return buildFlags;
}
@Override
public void setBuildFlags(int buildFlags)
{
this.buildFlags = buildFlags;
}
@Override
public boolean isSsOnGroundLast()
{
return ssOnGroundLast;
}
@Override
public void setSsOnGroundLast(boolean ssOnGroundLast)
{
this.ssOnGroundLast = ssOnGroundLast;
}
@Override
public FreefallHandler getFreefallHandler()
{
return freefallHandler;
}
@Override
public void setFreefallHandler(FreefallHandler freefallHandler)
{
this.freefallHandler = freefallHandler;
}
@Override
public ArrayList<ISchematicPage> getUnlockedSchematics()
{
return unlockedSchematics;
}
@Override
public void setUnlockedSchematics(ArrayList<ISchematicPage> unlockedSchematics)
{
this.unlockedSchematics = unlockedSchematics;
}
@Override
public int getMaxLandingticks()
{
return MAX_LANDINGTICKS;
}
@Override
public float[] getLandingYOffset()
{
return landingYOffset;
}
@Override
public void setLandingYOffset(float[] landingYOffset)
{
this.landingYOffset = landingYOffset;
}
}