LeviLamina
Loading...
Searching...
No Matches
LootItemCondition.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
8class Random;
9namespace Json { class Value; }
10// clang-format on
11
12class LootItemCondition {
13public:
14 // LootItemCondition inner types define
15 enum class ConditionType : int {
16 KilledByPlayer = 0,
17 KilledByPlayerOrPets = 1,
18 KilledByActor = 2,
19 ActorKilled = 3,
20 RandomChance = 4,
21 RandomDifficultyChance = 5,
22 RandomChanceWithLooting = 6,
23 RandomRegionalDifficultyChance = 7,
24 HasMarkVariant = 8,
25 HasVariant = 9,
26 MatchTool = 10,
27 DamagedByActor = 11,
28 PassengerOfActor = 12,
29 IsBaby = 13,
30 ActorFilter = 14,
31 HasPropertyCondition = 15,
32 BoolPropertyValueCondition = 16,
33 IntPropertyValueCondition = 17,
34 FloatPropertyValueCondition = 18,
35 EnumPropertyValueCondition = 19,
36 CurrentBiomeHasTag = 20,
37 };
38
39public:
40 // member variables
41 // NOLINTBEGIN
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
47 LootItemCondition& operator=(LootItemCondition const&);
48 LootItemCondition(LootItemCondition const&);
49 LootItemCondition();
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 virtual ~LootItemCondition() = default;
55
56 virtual ::LootItemCondition::ConditionType getConditionType() const = 0;
57
58 virtual bool _applies(::Random& random, ::LootTableContext& context) = 0;
59 // NOLINTEND
60
61public:
62 // static functions
63 // NOLINTBEGIN
64 MCNAPI static ::std::unique_ptr<::LootItemCondition> deserialize(::Json::Value const& object, bool);
65 // NOLINTEND
66};
Definition Value.h:16
static MCAPI ::std::unique_ptr<::LootItemCondition > deserialize(::Json::Value const &object, bool)
Definition LootTableContext.h:20
Definition Random.h:10
Definition context.h:5
Definition Alias.h:14