LeviLamina
Loading...
Searching...
No Matches
Weather.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/legacy/LevelEvent.h"
7#include "mc/world/level/LevelListener.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
12class BlockSource;
13class IRandom;
14class Vec3;
15// clang-format on
16
17class Weather : public ::LevelListener {
18public:
19 // member variables
20 // NOLINTBEGIN
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 Weather& operator=(Weather const&);
38 Weather(Weather const&);
39 Weather();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 // vIndex: 0
45 virtual ~Weather() /*override*/ = default;
46
47 // vIndex: 25
48 virtual void levelEvent(::SharedTypes::Legacy::LevelEvent, ::Vec3 const&, int) /*override*/;
49 // NOLINTEND
50
51public:
52 // member functions
53 // NOLINTBEGIN
54 MCAPI int calcSnowBlockDepth(::BlockSource& region, ::BlockPos const& pos, int maxLayerDepth) const;
55
56 MCAPI bool canPlaceTopSnow(
57 ::BlockSource& region,
58 ::BlockPos const& pos,
59 bool checkSnowDepthLevel,
60 bool newHeightAfterPlacement,
61 int* fromFallingSnow
62 ) const;
63
64 MCAPI bool isPrecipitatingAt(::BlockSource& region, ::BlockPos const& pos) const;
65
66 MCAPI bool isRainingAt(::BlockSource& region, ::BlockPos const& pos) const;
67
68 MCAPI void serverTick();
69
70 MCAPI void stop();
71
72 MCAPI bool
73 tryToPlaceTopSnow(::BlockSource& region, ::BlockPos const& pos, bool fromFallingSnow, bool fillLowerNeighborsFirst);
74 // NOLINTEND
75
76public:
77 // static functions
78 // NOLINTBEGIN
79 MCFOLD static int calcLightningCycleTime(::IRandom& random);
80
81 MCFOLD static int calcRainCycleTime(::IRandom& random);
82
83 MCAPI static void rebuildTopSnowToDepth(::BlockSource& region, ::BlockPos const& testPos, int desiredDepth);
84 // NOLINTEND
85
86public:
87 // destructor thunk
88 // NOLINTBEGIN
89
90 // NOLINTEND
91
92public:
93 // virtual function thunks
94 // NOLINTBEGIN
95
96 // NOLINTEND
97
98public:
99 // vftables
100 // NOLINTBEGIN
101 MCAPI static void** $vftable();
102 // NOLINTEND
103};
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition IRandom.h:10
Definition LevelListener.h:27
Definition Vec3.h:10
Definition Weather.h:17
Definition Alias.h:14