14 enum class BreathableState :
int {
19 InBreathableOverrideBlock = 4,
20 InNonBreathableOverrideBlock = 5,
26 ::ll::TypedStorage<4, 4, int> mSuffocateTime;
27 ::ll::TypedStorage<4, 4, float> mInhaleTime;
28 ::ll::TypedStorage<4, 4, int> mAirRegenPerTick;
29 ::ll::TypedStorage<1, 1, bool> mBreathesAir;
30 ::ll::TypedStorage<1, 1, bool> mBreathesWater;
31 ::ll::TypedStorage<1, 1, bool> mBreathesLava;
32 ::ll::TypedStorage<1, 1, bool> mBreathesSolids;
33 ::ll::TypedStorage<1, 1, bool> mGeneratesBubbles;
34 ::ll::TypedStorage<1, 1, bool> mCanDehydrate;
35 ::ll::TypedStorage<2, 2, short> mAirSupply;
36 ::ll::TypedStorage<2, 2, short> mAirSupplyMax;
37 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mBreathableBlocks;
38 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mNonBreathableBlocks;
39 ::ll::TypedStorage<4, 4, ::BreathableComponent::BreathableState> mBreathableState;
45 MCAPI
bool canBreathe(
::Actor const& owner)
const;
47 MCAPI
void setAirSupply(
short supply);
49 MCAPI
void updateBreathableState(
::Actor& owner);