LeviLamina
Loading...
Searching...
No Matches
RecipeUnlockingSystem.h
1
#pragma once
2
3
#include "mc/_HeaderOutputPredefine.h"
4
5
// auto generated inclusion list
6
#include "mc/deps/ecs/ViewT.h"
7
#include "mc/deps/ecs/strict/Include.h"
8
9
// auto generated forward declare list
10
// clang-format off
11
class
ActorOwnerComponent
;
12
class
ItemStack
;
13
class
Level
;
14
class
Recipes
;
15
class
ServerPlayer
;
16
class
StrictEntityContext
;
17
class
UnlockedRecipesServerComponent
;
18
struct
ServerPlayerComponent
;
19
struct
TickingSystemWithInfo
;
20
// clang-format on
21
22
class
RecipeUnlockingSystem
{
23
public
:
24
// RecipeUnlockingSystem inner types declare
25
// clang-format off
26
struct
InventoryChangedData
;
27
// clang-format on
28
29
// RecipeUnlockingSystem inner types define
30
struct
InventoryChangedData {
31
public
:
32
// member variables
33
// NOLINTBEGIN
34
::ll::TypedStorage<8, 24, ::std::vector<::ItemStack const*>> allItemSlots;
35
::ll::TypedStorage<8, 8, ::std::unordered_set<int>
const
&> changedItemSlotIndices;
36
// NOLINTEND
37
38
public
:
39
// prevent constructor by default
40
InventoryChangedData& operator=(InventoryChangedData
const
&);
41
InventoryChangedData(InventoryChangedData
const
&);
42
InventoryChangedData();
43
};
44
45
public
:
46
// static functions
47
// NOLINTBEGIN
48
MCAPI
static
void
49
_handleCriterionUnlocks(
::ServerPlayer
* serverPlayer,
::UnlockedRecipesServerComponent
& unlockedComp);
50
51
MCAPI
static
void
52
_handleInitialUnlocks(
::ServerPlayer
* serverPlayer,
::UnlockedRecipesServerComponent
& unlockedComp);
53
54
MCAPI
static
void
55
_handleInstructionUnlocks(
::ServerPlayer
* serverPlayer,
::UnlockedRecipesServerComponent
& unlockedComp);
56
57
MCAPI
static
void
_tick(
58
::ViewT
<
59
::StrictEntityContext
,
60
::Include<::ServerPlayerComponent>
,
61
::UnlockedRecipesServerComponent
,
62
::ActorOwnerComponent
> view
63
);
64
65
MCAPI static ::std::vector<::std::string> _unlockRecipes(
66
::UnlockedRecipesServerComponent
& unlockedComp,
67
::Recipes
const
& recipes,
68
bool
playerIsInWater,
69
bool
doLimitedCrafting,
70
::std::optional<::RecipeUnlockingSystem::InventoryChangedData>
const
& inventoryChanged
71
);
72
73
MCAPI
static
void
74
_updateRecipeUnlocking(
::ServerPlayer
* serverPlayer,
::UnlockedRecipesServerComponent
& unlockedComp);
75
76
MCAPI static ::TickingSystemWithInfo createSystem();
77
78
MCAPI
static
bool
isEnabled(
::Level
const
& level);
79
// NOLINTEND
80
};
ActorOwnerComponent
Definition
ActorOwnerComponent.h:10
ItemStack
Definition
ItemStack.h:35
Level
Definition
Level.h:255
RecipeUnlockingSystem
Definition
RecipeUnlockingSystem.h:22
Recipes
Definition
Recipes.h:36
ServerPlayer
Definition
ServerPlayer.h:74
StrictEntityContext
Definition
StrictEntityContext.h:14
UnlockedRecipesServerComponent
Definition
UnlockedRecipesServerComponent.h:15
ViewT
Definition
ViewT.h:6
Include
Definition
Include.h:6
RecipeUnlockingSystem::InventoryChangedData
Definition
RecipeUnlockingSystem.h:30
ServerPlayerComponent
Definition
ServerPlayerComponent.h:5
TickingSystemWithInfo
Definition
TickingSystemWithInfo.h:13
src
mc
entity
systems
RecipeUnlockingSystem.h
Generated on
for LeviLamina by
1.16.1