LeviLamina
Loading...
Searching...
No Matches
LootTableContext.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/AutomaticID.h"
7#include "mc/legacy/ActorUniqueID.h"
8#include "mc/world/level/storage/loot/LootTable.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
14class Dimension;
15class ILevel;
16class ItemStack;
17class Player;
18// clang-format on
19
20class LootTableContext {
21public:
22 // LootTableContext inner types declare
23 // clang-format off
24 class Builder;
25 // clang-format on
26
27 // LootTableContext inner types define
28 class Builder {
29 public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 8, ::ILevel*> mLevel;
33 ::ll::TypedStorage<4, 4, float> mLuck;
34 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mThisEntityID;
35 ::ll::TypedStorage<8, 8, ::Player*> mKillerPlayer;
36 ::ll::TypedStorage<8, 8, ::Actor*> mKilledActor;
37 ::ll::TypedStorage<8, 8, ::ActorDamageSource const*> mDeathSource;
38 ::ll::TypedStorage<4, 4, float> mExplosionRadius;
39 ::ll::TypedStorage<8, 32, ::std::string> mOriginalItemName;
40 ::ll::TypedStorage<8, 8, ::ItemStack const*> mTool;
41 ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionId;
42 // NOLINTEND
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI ::LootTableContext create() const;
48
49 MCAPI ::LootTableContext::Builder& withThisEntity(::Actor* actor);
50
51 MCAPI ~Builder();
52 // NOLINTEND
53
54 public:
55 // destructor thunk
56 // NOLINTBEGIN
57 MCAPI void $dtor();
58 // NOLINTEND
59 };
60
61public:
62 // member variables
63 // NOLINTBEGIN
64 ::ll::TypedStorage<4, 4, float> mLuck;
65 ::ll::TypedStorage<8, 8, ::ILevel*> mLevel;
66 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mThisEntityID;
67 ::ll::TypedStorage<8, 8, ::Player*> mKillerPlayer;
68 ::ll::TypedStorage<8, 8, ::Actor*> mKilledActor;
69 ::ll::TypedStorage<8, 8, ::ActorDamageSource const*> mDeathSource;
70 ::ll::TypedStorage<8, 64, ::std::unordered_set<::LootTable const*>> mVisitedTables;
71 ::ll::TypedStorage<4, 4, float> mExplosionRadius;
72 ::ll::TypedStorage<8, 32, ::std::string> mOriginalItemName;
73 ::ll::TypedStorage<8, 8, ::ItemStack const*> mTool;
74 ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionId;
75 // NOLINTEND
76
77public:
78 // prevent constructor by default
79 LootTableContext();
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCAPI LootTableContext(
85 float luck,
86 ::ILevel* level,
87 ::ActorUniqueID thisEntityID,
88 ::Player* player,
89 ::Actor* killedActor,
90 ::ActorDamageSource const* deathSource,
91 float explosionRadius,
92 ::DimensionType dimensionId,
93 ::ItemStack const* tool
94 );
95
96 MCAPI void removeVisitedTable(::LootTable const* table);
97
98 MCAPI void setOriginalItemName(::std::string const& originalItemName);
99
100 MCAPI ~LootTableContext();
101 // NOLINTEND
102
103public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCAPI void* $ctor(
107 float luck,
108 ::ILevel* level,
109 ::ActorUniqueID thisEntityID,
110 ::Player* player,
111 ::Actor* killedActor,
112 ::ActorDamageSource const* deathSource,
113 float explosionRadius,
114 ::DimensionType dimensionId,
115 ::ItemStack const* tool
116 );
117 // NOLINTEND
118
119public:
120 // destructor thunk
121 // NOLINTBEGIN
122 MCAPI void $dtor();
123 // NOLINTEND
124};
Definition ActorDamageSource.h:18
Definition Actor.h:105
Definition Dimension.h:85
Definition ILevel.h:214
Definition ItemStack.h:26
Definition LootTableContext.h:28
Definition LootTable.h:15
Definition Player.h:125
Definition ActorUniqueID.h:5