LeviLamina
Loading...
Searching...
No Matches
TntBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/BlockType.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
11class Block;
12class BlockPos;
13class BlockSource;
14class Container;
15class Experiments;
16class Player;
17class Vec3;
18namespace BlockEvents { class BlockPlaceEvent; }
19namespace BlockEvents { class BlockPlayerInteractEvent; }
20// clang-format on
21
22class TntBlock : public ::BlockType {
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual void onExploded(::BlockSource& region, ::BlockPos const& pos, ::Actor* entitySource) const /*override*/;
27
28 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
29
30 virtual void onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const
31 /*override*/;
32
33 virtual void
34 destroy(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::Actor* entitySource) const
35 /*override*/;
36
37 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
38 /*override*/;
39
40 virtual bool shouldDispense(::BlockSource& region, ::Container& container) const /*override*/;
41
42 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
43
44 virtual ~TntBlock() /*override*/ = default;
45 // NOLINTEND
46
47public:
48 // member functions
49 // NOLINTBEGIN
50 MCAPI void _setAllowUnderwater(::Actor* e) const;
51
52 MCAPI bool _shouldAllowUnderwater(::Block const& block) const;
53
54 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
55
56 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
57 // NOLINTEND
58
59public:
60 // static functions
61 // NOLINTBEGIN
62 MCAPI static bool tryLightTnt(::Player& player, ::BlockPos const& pos);
63 // NOLINTEND
64
65public:
66 // virtual function thunks
67 // NOLINTBEGIN
68 MCAPI void $onExploded(::BlockSource& region, ::BlockPos const& pos, ::Actor* entitySource) const;
69
70 MCFOLD void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
71
72 MCAPI void $onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const;
73
74 MCAPI void
75 $destroy(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::Actor* entitySource) const;
76
77 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
78
79 MCAPI bool $shouldDispense(::BlockSource& region, ::Container& container) const;
80
81 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
82
83
84 // NOLINTEND
85
86public:
87 // vftables
88 // NOLINTBEGIN
89 MCNAPI static void** $vftable();
90 // NOLINTEND
91};
Definition Actor.h:105
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Container.h:33
Definition Experiments.h:14
Definition Player.h:125
Definition TntBlock.h:22
static MCAPI void ** $vftable()
Definition Vec3.h:10