LeviLamina
Loading...
Searching...
No Matches
DryingOutTimerComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/json_util/JsonSchemaObjectNode.h"
7#include "mc/world/actor/ActorDefinitionTrigger.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class CompoundTag;
13class DataLoadHelper;
14class EntityContext;
15namespace JsonUtil { class EmptyClass; }
16// clang-format on
17
19public:
20 // DryingOutTimerComponent inner types declare
21 // clang-format off
23 // clang-format on
24
25 // DryingOutTimerComponent inner types define
26 enum class DryingOutState : int {
27 DryingOut = 0,
28 ExceededDryingOutTime = 1,
29 StoppedDryingOut = 2,
30 };
31
32 class DryingOutTimerDefinition {
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<4, 4, float> mTotalTime;
37 ::ll::TypedStorage<4, 4, float> mWaterBottleAdditionalTime;
38 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnFullyDriedOut;
39 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnStoppedDryingOut;
40 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnRecoverAfterDriedOut;
41 // NOLINTEND
42
43 public:
44 // prevent constructor by default
45 DryingOutTimerDefinition(DryingOutTimerDefinition const&);
46 DryingOutTimerDefinition();
47
48 public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI DryingOutTimerDefinition(::DryingOutTimerComponent::DryingOutTimerDefinition&&);
52
53 MCAPI void initialize(::EntityContext& entity, ::DryingOutTimerComponent& dryingOutComponent) const;
54
55 MCAPI ::DryingOutTimerComponent::DryingOutTimerDefinition&
57
58 MCAPI ~DryingOutTimerDefinition();
59 // NOLINTEND
60
61 public:
62 // static functions
63 // NOLINTBEGIN
64 MCAPI static void buildSchema(
65 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<
68 );
69 // NOLINTEND
70
71 public:
72 // constructor thunks
73 // NOLINTBEGIN
75 // NOLINTEND
76
77 public:
78 // destructor thunk
79 // NOLINTBEGIN
80 MCAPI void $dtor();
81 // NOLINTEND
82 };
83
84public:
85 // member variables
86 // NOLINTBEGIN
87 ::ll::TypedStorage<8, 320, ::DryingOutTimerComponent::DryingOutTimerDefinition> mDefinition;
88 ::ll::TypedStorage<4, 4, int> mTicksRemainingUntilDryOut;
89 ::ll::TypedStorage<4, 4, ::DryingOutTimerComponent::DryingOutState> mState;
90 // NOLINTEND
91
92public:
93 // member functions
94 // NOLINTBEGIN
95 MCAPI void addAdditionalSaveData(::CompoundTag& tag) const;
96
97 MCAPI bool canBeAffectedByWaterBottle() const;
98
99 MCAPI void readAdditionalSaveData(::Actor&, ::CompoundTag const& tag, ::DataLoadHelper&);
100
101 MCAPI void refillTimeWithWaterBottle();
102 // NOLINTEND
103};
Definition Actor.h:125
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition DryingOutTimerComponent.h:32
Definition DryingOutTimerComponent.h:18
Definition EntityContext.h:17
Definition EmptyClass.h:7
Definition JsonSchemaObjectNode.h:8