#include "stdafx.h" #include "com.mojang.nbt.h" #include "Abilities.h" Abilities::Abilities() { invulnerable = false; flying = false; mayfly = false; instabuild = false; mayBuild = true; flyingSpeed = 0.05f; walkingSpeed = 0.1f; #ifdef _DEBUG_MENUS_ENABLED debugflying = false; #endif } void Abilities::addSaveData(CompoundTag *parentTag) { CompoundTag *tag = new CompoundTag(); tag->putBoolean(L"invulnerable", invulnerable); tag->putBoolean(L"flying", flying); tag->putBoolean(L"mayfly", mayfly); tag->putBoolean(L"instabuild", instabuild); tag->putBoolean(L"mayBuild", mayBuild); tag->putFloat(L"flySpeed", flyingSpeed); tag->putFloat(L"walkSpeed", walkingSpeed); parentTag->put(L"abilities", tag); } void Abilities::loadSaveData(CompoundTag *parentTag) { if (parentTag->contains(L"abilities")) { CompoundTag *tag = parentTag->getCompound(L"abilities"); invulnerable = tag->getBoolean(L"invulnerable"); flying = tag->getBoolean(L"flying"); mayfly = tag->getBoolean(L"mayfly"); instabuild = tag->getBoolean(L"instabuild"); if (tag->contains(L"flySpeed")) { flyingSpeed = tag->getFloat(L"flySpeed"); walkingSpeed = tag->getFloat(L"walkSpeed"); } if (tag->contains(L"mayBuild")) { mayBuild = tag->getBoolean(L"mayBuild"); } } } float Abilities::getFlyingSpeed() { return flyingSpeed; } void Abilities::setFlyingSpeed(float value) { this->flyingSpeed = value; } float Abilities::getWalkingSpeed() { return walkingSpeed; } void Abilities::setWalkingSpeed(float value) { this->walkingSpeed = value; }