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
12class ItemStack;
13class Level;
14class Recipes;
15class ServerPlayer;
20// clang-format on
21
23public:
24 // RecipeUnlockingSystem inner types declare
25 // clang-format off
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
45public:
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<
63 );
64
65 MCAPI static ::std::vector<::std::string> _unlockRecipes(
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};
Definition ActorOwnerComponent.h:10
Definition ItemStack.h:35
Definition Level.h:254
Definition RecipeUnlockingSystem.h:22
Definition Recipes.h:36
Definition ServerPlayer.h:73
Definition StrictEntityContext.h:14
Definition UnlockedRecipesServerComponent.h:15
Definition ViewT.h:6
Definition Include.h:6
Definition RecipeUnlockingSystem.h:30
Definition ServerPlayerComponent.h:5
Definition TickingSystemWithInfo.h:13