Botcraft 26.3
Loading...
Searching...
No Matches
Enums.hpp
Go to the documentation of this file.
1#pragma once
2
3// To make gcc happy about std::ostream
4#include <iosfwd>
5
6namespace Botcraft
7{
8 enum class ChatMode
9 {
10 Enabled,
12 Hidden
13 };
14
15#if PROTOCOL_VERSION < 719 /* < 1.16 */
16 enum class Dimension
17 {
18 None = -2,
19 Nether,
20 Overworld,
21 End
22 };
23#endif
24
25 enum class Difficulty
26 {
27 None = -1,
29 Easy,
30 Normal,
31 Hard
32 };
33
34 enum class SoundSource
35 {
36 Null = -1,
37 Master = 0,
38 Music,
39 Records,
40 Weather,
41 Blocks,
42 Hostile,
43 Neutral,
44 Players,
45 Ambient,
46 Voice
47 };
48
49 enum class GameType
50 {
51 None = -1,
56 };
57
58#if PROTOCOL_VERSION < 393 /* < 1.13 */
59 enum class Enchantment
60 {
61 Protection = 0,
66 Respiration = 5,
67 AquaAffinity = 6,
68 Thorns = 7,
69 DepthStrider = 8,
70 FrostWalker = 9,
71 BindingCurse = 10,
72 Sharpness = 16,
73 Smite = 17,
75 Knockback = 19,
76 FireAspect = 20,
77 Looting = 21,
78 SweepingEdge = 22,
79 Efficiency = 32,
80 SilkTouch = 33,
81 Unbreaking = 34,
82 Fortune = 35,
83 Power = 48,
84 Punch = 49,
85 Flame = 50,
86 Infinity = 51,
87 LuckOfTheSea = 61,
88 Lure = 62,
89 Mending = 70,
90 VanishingCurse = 71,
91 };
92#else
93 enum class Enchantment
94 {
95 None = -1,
103 Thorns,
107#if PROTOCOL_VERSION > 578 /* > 1.15.2 */
108 SoulSpeed,
109#endif
110#if PROTOCOL_VERSION > 758 /* > 1.18.2 */
112#endif
113 Sharpness,
114 Smite,
116 Knockback,
118 Looting,
121 SilkTouch,
123 Fortune,
124 Power,
125 Punch,
126 Flame,
127 Infinity,
129 Lure,
130 Loyalty,
131 Impaling,
132 Riptide,
133#if PROTOCOL_VERSION > 773 /* > 1.21.10 */
134 Lunge,
135#endif
137#if PROTOCOL_VERSION > 404 /* > 1.13.2 */
138 Multishot,
140 Piercing,
141#endif
142#if PROTOCOL_VERSION > 765 /* > 1.20.4 */
143 Density,
144 Breach,
145 WindBurst,
146#endif
147 Mending,
149 };
150#endif
151
152 enum class Hand
153 {
154 Right = 0,
155 Main = 0,
156 Left = 1,
157 Off = 1
158 };
159 std::ostream& operator<<(std::ostream& os, const Hand v);
160
161 enum class TintType: char
162 {
163 None,
164 Water,
165 Redstone,
166 Grass,
167 Leaves
168 };
169
170 enum class Orientation
171 {
172 None = -1,
173 /// @brief y = -1
174 Bottom = 0,
175 /// @brief z = -1
176 North,
177 /// @brief x = -1
178 West,
179 /// @brief x = 1
180 East,
181 /// @brief z = 1
182 South,
183 /// @brief y = 1
184 Top
185 };
186
188 {
189 StartDigging = 0,
190#if PROTOCOL_VERSION > 776 /* > 26.2 */
192#endif
196 DropItem,
200#if PROTOCOL_VERSION > 773 /* > 1.21.10 */
201 Stab,
202#endif
203 };
204
205 enum class Direction
206 {
207 /// @brief -Y
208 Down = 0,
209 /// @brief +Y
210 Up,
211 /// @brief -Z
212 North,
213 /// @brief +Z
214 South,
215 /// @brief -X
216 West,
217 /// @brief +X
218 East
219 };
221 std::ostream& operator<<(std::ostream& os, const Direction v);
222
223 // Types are detailed in registries, see https://wiki.vg/Inventory
224
225 enum class InventoryType
226 {
227 PlayerInventory = -2,
228 Default = -1,
229 Generic9x1 = 0,
236#if PROTOCOL_VERSION > 764 /* > 1.20.2 */
238#endif
239 Anvil,
240 Beacon,
243 Crafting,
245 Furnace,
247 Hopper,
248 Lectern,
249 Loom,
250 Merchant,
252 Smithing,
253 Smoker,
256 };
257
258 enum class Pose
259 {
260 Standing,
262 Sleeping,
263 Swimming,
265 Crouching,
267 Dying,
268#if PROTOCOL_VERSION > 758 /* > 1.18.2 */
269 Croaking,
271 Sitting,
272 Roaring,
273 Sniffing,
274 Emerging,
275 Digging,
276#endif
277#if PROTOCOL_VERSION > 765 /* > 1.20.4 */
278 Sliding,
279 Shooting,
280 Inhaling,
281#endif
282 };
283
284 enum class EquipmentSlot
285 {
286 MainHand = 0,
287 OffHand,
288 Boots,
289 Leggings,
291 Helmet,
292#if PROTOCOL_VERSION > 766 /* > 1.20.6 */
294#endif
295#if PROTOCOL_VERSION > 769 /* > 1.21.4 */
296 Saddle,
297#endif
298 };
299
300 enum class ToolMaterial : char
301 {
302 None = 0,
303 Wood,
304 Gold,
305 Stone,
306#if PROTOCOL_VERSION > 772 /* > 1.21.8 */
307 Copper,
308#endif
309 Iron,
310 Diamond,
311#if PROTOCOL_VERSION > 578 /* > 1.15.2 */
312 Netherite,
313#endif
315 };
316
317 enum class ToolType: char
318 {
319 None = 0,
320 Axe,
321 Hoe,
322 Pickaxe,
323 Shears,
324 Shovel,
325 Sword,
327 };
328
330 {
331#if PROTOCOL_VERSION < 764 /* < 1.20.2 */
332 None = 0,
333#else
334 None = -1,
335#endif
336 Speed,
337 Slowness,
338 Haste,
340 Strength,
343 JumpBoost,
344 Nausea,
350 Blindness,
352 Hunger,
353 Weakness,
354 Poison,
355 Wither,
359 Glowing,
361 Luck,
362 Unluck,
363#if PROTOCOL_VERSION > 340 /* > 1.12.2 */
367#endif
368#if PROTOCOL_VERSION > 404 /* > 1.13.2 */
369 BadOmen,
371#endif
372#if PROTOCOL_VERSION > 758 /* > 1.18.2 */
373 Darkness,
374#endif
375#if PROTOCOL_VERSION > 765 /* > 1.20.4 */
376 TrialOmen,
377 RaidOmen,
379 Weaving,
380 Oozing,
381 Infested,
382#endif
383#if PROTOCOL_VERSION > 773 /* > 1.21.10 */
385#endif
386 };
387
389 {
390#if PROTOCOL_VERSION < 771 /* < 1.21.6 */
391 PressShiftKey,
392 ReleaseShiftKey,
393#endif
401 };
402} // Botcraft
InventoryType
Definition Enums.hpp:226
PlayerCommandAction
Definition Enums.hpp:389
PlayerDiggingStatus
Definition Enums.hpp:188
SoundSource
Definition Enums.hpp:35
Enchantment
Definition Enums.hpp:94
Direction PlayerDiggingFace
Definition Enums.hpp:220
EquipmentSlot
Definition Enums.hpp:285
EntityEffectType
Definition Enums.hpp:330
std::ostream & operator<<(std::ostream &os, const EntityAttribute::Type v)