1 /*
2 * This file has been automatically generated by Soupply and released under the MIT license.
3 * Generated from data/java315.xml
4 */
5 module soupply.java315.protocol.serverbound;
6
7 static import std.conv;
8 import std.typetuple : TypeTuple;
9 import xpacket;
10
11 import soupply.util;
12 import soupply.java315.metadata : Metadata;
13 import soupply.java315.packet : Java315Packet;
14
15 static import soupply.java315.types;
16
17 alias Packets = TypeTuple!(TeleportConfirm, TabComplete, ChatMessage, ClientStatus, ClientSettings, ConfirmTransaction, EnchantItem, ClickWindow, CloseWindow, PluginMessage, UseEntity, KeepAlive, PlayerPosition, PlayerPositionAndLook, PlayerLook, Player, VehicleMove, SteerBoat, PlayerAbilities, PlayerDigging, EntityAction, SteerVehicle, ResourcePackStatus, HeldItemChange, CreativeInventoryAction, UpdateSign, Animation, Spectate, PlayerBlockPlacement, UseItem);
18
19 class TeleportConfirm : Java315Packet
20 {
21
22 enum uint ID = 0;
23
24 enum bool CLIENTBOUND = false;
25 enum bool SERVERBOUND = true;
26
27 enum string[] __fields = ["teleportId"];
28
29 @Var uint teleportId;
30
31 this() pure nothrow @safe @nogc {}
32
33 this(uint teleportId) pure nothrow @safe @nogc
34 {
35 this.teleportId = teleportId;
36 }
37
38 mixin Make;
39
40 public static typeof(this) fromBuffer(ubyte[] buffer)
41 {
42 TeleportConfirm ret = new TeleportConfirm();
43 ret.decode(buffer);
44 return ret;
45 }
46
47 override string toString()
48 {
49 return "TeleportConfirm(teleportId: " ~ std.conv.to!string(this.teleportId) ~ ")";
50 }
51
52 }
53
54 class TabComplete : Java315Packet
55 {
56
57 enum uint ID = 1;
58
59 enum bool CLIENTBOUND = false;
60 enum bool SERVERBOUND = true;
61
62 enum string[] __fields = ["text", "command", "hasPosition", "block"];
63
64 string text;
65 bool command;
66 bool hasPosition;
67 @Condition("hasPosition==true") ulong block;
68
69 this() pure nothrow @safe @nogc {}
70
71 this(string text, bool command=bool.init, bool hasPosition=bool.init, ulong block=ulong.init) pure nothrow @safe @nogc
72 {
73 this.text = text;
74 this.command = command;
75 this.hasPosition = hasPosition;
76 this.block = block;
77 }
78
79 mixin Make;
80
81 public static typeof(this) fromBuffer(ubyte[] buffer)
82 {
83 TabComplete ret = new TabComplete();
84 ret.decode(buffer);
85 return ret;
86 }
87
88 override string toString()
89 {
90 return "TabComplete(text: " ~ std.conv.to!string(this.text) ~ ", command: " ~ std.conv.to!string(this.command) ~ ", hasPosition: " ~ std.conv.to!string(this.hasPosition) ~ ", block: " ~ std.conv.to!string(this.block) ~ ")";
91 }
92
93 }
94
95 class ChatMessage : Java315Packet
96 {
97
98 enum uint ID = 2;
99
100 enum bool CLIENTBOUND = false;
101 enum bool SERVERBOUND = true;
102
103 enum string[] __fields = ["text"];
104
105 string text;
106
107 this() pure nothrow @safe @nogc {}
108
109 this(string text) pure nothrow @safe @nogc
110 {
111 this.text = text;
112 }
113
114 mixin Make;
115
116 public static typeof(this) fromBuffer(ubyte[] buffer)
117 {
118 ChatMessage ret = new ChatMessage();
119 ret.decode(buffer);
120 return ret;
121 }
122
123 override string toString()
124 {
125 return "ChatMessage(text: " ~ std.conv.to!string(this.text) ~ ")";
126 }
127
128 }
129
130 class ClientStatus : Java315Packet
131 {
132
133 enum uint ID = 3;
134
135 enum bool CLIENTBOUND = false;
136 enum bool SERVERBOUND = true;
137
138 // action
139 enum uint RESPAWN = 0;
140 enum uint REQUEST_STATS = 1;
141 enum uint OPEN_INVENTORY = 2;
142
143 enum string[] __fields = ["action"];
144
145 @Var uint action;
146
147 this() pure nothrow @safe @nogc {}
148
149 this(uint action) pure nothrow @safe @nogc
150 {
151 this.action = action;
152 }
153
154 mixin Make;
155
156 public static typeof(this) fromBuffer(ubyte[] buffer)
157 {
158 ClientStatus ret = new ClientStatus();
159 ret.decode(buffer);
160 return ret;
161 }
162
163 override string toString()
164 {
165 return "ClientStatus(action: " ~ std.conv.to!string(this.action) ~ ")";
166 }
167
168 }
169
170 class ClientSettings : Java315Packet
171 {
172
173 enum uint ID = 4;
174
175 enum bool CLIENTBOUND = false;
176 enum bool SERVERBOUND = true;
177
178 // chat mode
179 enum uint ENABLED = 0;
180 enum uint COMMANDS_ONLY = 1;
181 enum uint DISABLED = 2;
182
183 // displayed skin parts
184 enum ubyte CAPE = 1;
185 enum ubyte JACKET = 2;
186 enum ubyte LEFT_SLEEVE = 4;
187 enum ubyte RIGHT_SLEEVE = 8;
188 enum ubyte LEFT_PANTS = 16;
189 enum ubyte RIGHT_PANTS = 32;
190 enum ubyte HAT = 64;
191
192 // main hand
193 enum ubyte RIGHT = 0;
194 enum ubyte LEFT = 1;
195
196 enum string[] __fields = ["language", "viewDistance", "chatMode", "chatColors", "displayedSkinParts", "mainHand"];
197
198 string language;
199 ubyte viewDistance;
200 @Var uint chatMode;
201 bool chatColors;
202 ubyte displayedSkinParts;
203 ubyte mainHand;
204
205 this() pure nothrow @safe @nogc {}
206
207 this(string language, ubyte viewDistance=ubyte.init, uint chatMode=uint.init, bool chatColors=bool.init, ubyte displayedSkinParts=ubyte.init, ubyte mainHand=ubyte.init) pure nothrow @safe @nogc
208 {
209 this.language = language;
210 this.viewDistance = viewDistance;
211 this.chatMode = chatMode;
212 this.chatColors = chatColors;
213 this.displayedSkinParts = displayedSkinParts;
214 this.mainHand = mainHand;
215 }
216
217 mixin Make;
218
219 public static typeof(this) fromBuffer(ubyte[] buffer)
220 {
221 ClientSettings ret = new ClientSettings();
222 ret.decode(buffer);
223 return ret;
224 }
225
226 override string toString()
227 {
228 return "ClientSettings(language: " ~ std.conv.to!string(this.language) ~ ", viewDistance: " ~ std.conv.to!string(this.viewDistance) ~ ", chatMode: " ~ std.conv.to!string(this.chatMode) ~ ", chatColors: " ~ std.conv.to!string(this.chatColors) ~ ", displayedSkinParts: " ~ std.conv.to!string(this.displayedSkinParts) ~ ", mainHand: " ~ std.conv.to!string(this.mainHand) ~ ")";
229 }
230
231 }
232
233 class ConfirmTransaction : Java315Packet
234 {
235
236 enum uint ID = 5;
237
238 enum bool CLIENTBOUND = false;
239 enum bool SERVERBOUND = true;
240
241 enum string[] __fields = ["window", "action", "accepted"];
242
243 ubyte window;
244 ushort action;
245 bool accepted;
246
247 this() pure nothrow @safe @nogc {}
248
249 this(ubyte window, ushort action=ushort.init, bool accepted=bool.init) pure nothrow @safe @nogc
250 {
251 this.window = window;
252 this.action = action;
253 this.accepted = accepted;
254 }
255
256 mixin Make;
257
258 public static typeof(this) fromBuffer(ubyte[] buffer)
259 {
260 ConfirmTransaction ret = new ConfirmTransaction();
261 ret.decode(buffer);
262 return ret;
263 }
264
265 override string toString()
266 {
267 return "ConfirmTransaction(window: " ~ std.conv.to!string(this.window) ~ ", action: " ~ std.conv.to!string(this.action) ~ ", accepted: " ~ std.conv.to!string(this.accepted) ~ ")";
268 }
269
270 }
271
272 class EnchantItem : Java315Packet
273 {
274
275 enum uint ID = 6;
276
277 enum bool CLIENTBOUND = false;
278 enum bool SERVERBOUND = true;
279
280 enum string[] __fields = ["window", "enchantment"];
281
282 ubyte window;
283 ubyte enchantment;
284
285 this() pure nothrow @safe @nogc {}
286
287 this(ubyte window, ubyte enchantment=ubyte.init) pure nothrow @safe @nogc
288 {
289 this.window = window;
290 this.enchantment = enchantment;
291 }
292
293 mixin Make;
294
295 public static typeof(this) fromBuffer(ubyte[] buffer)
296 {
297 EnchantItem ret = new EnchantItem();
298 ret.decode(buffer);
299 return ret;
300 }
301
302 override string toString()
303 {
304 return "EnchantItem(window: " ~ std.conv.to!string(this.window) ~ ", enchantment: " ~ std.conv.to!string(this.enchantment) ~ ")";
305 }
306
307 }
308
309 class ClickWindow : Java315Packet
310 {
311
312 enum uint ID = 7;
313
314 enum bool CLIENTBOUND = false;
315 enum bool SERVERBOUND = true;
316
317 enum string[] __fields = ["window", "slot", "button", "action", "mode", "clickedItem"];
318
319 ubyte window;
320 ushort slot;
321 ubyte button;
322 ushort action;
323 @Var uint mode;
324 soupply.java315.types.Slot clickedItem;
325
326 this() pure nothrow @safe @nogc {}
327
328 this(ubyte window, ushort slot=ushort.init, ubyte button=ubyte.init, ushort action=ushort.init, uint mode=uint.init, soupply.java315.types.Slot clickedItem=soupply.java315.types.Slot.init) pure nothrow @safe @nogc
329 {
330 this.window = window;
331 this.slot = slot;
332 this.button = button;
333 this.action = action;
334 this.mode = mode;
335 this.clickedItem = clickedItem;
336 }
337
338 mixin Make;
339
340 public static typeof(this) fromBuffer(ubyte[] buffer)
341 {
342 ClickWindow ret = new ClickWindow();
343 ret.decode(buffer);
344 return ret;
345 }
346
347 override string toString()
348 {
349 return "ClickWindow(window: " ~ std.conv.to!string(this.window) ~ ", slot: " ~ std.conv.to!string(this.slot) ~ ", button: " ~ std.conv.to!string(this.button) ~ ", action: " ~ std.conv.to!string(this.action) ~ ", mode: " ~ std.conv.to!string(this.mode) ~ ", clickedItem: " ~ std.conv.to!string(this.clickedItem) ~ ")";
350 }
351
352 }
353
354 class CloseWindow : Java315Packet
355 {
356
357 enum uint ID = 8;
358
359 enum bool CLIENTBOUND = false;
360 enum bool SERVERBOUND = true;
361
362 enum string[] __fields = ["window"];
363
364 ubyte window;
365
366 this() pure nothrow @safe @nogc {}
367
368 this(ubyte window) pure nothrow @safe @nogc
369 {
370 this.window = window;
371 }
372
373 mixin Make;
374
375 public static typeof(this) fromBuffer(ubyte[] buffer)
376 {
377 CloseWindow ret = new CloseWindow();
378 ret.decode(buffer);
379 return ret;
380 }
381
382 override string toString()
383 {
384 return "CloseWindow(window: " ~ std.conv.to!string(this.window) ~ ")";
385 }
386
387 }
388
389 class PluginMessage : Java315Packet
390 {
391
392 enum uint ID = 9;
393
394 enum bool CLIENTBOUND = false;
395 enum bool SERVERBOUND = true;
396
397 enum string[] __fields = ["channel", "data"];
398
399 string channel;
400 @NoLength ubyte[] data;
401
402 this() pure nothrow @safe @nogc {}
403
404 this(string channel, ubyte[] data=(ubyte[]).init) pure nothrow @safe @nogc
405 {
406 this.channel = channel;
407 this.data = data;
408 }
409
410 mixin Make;
411
412 public static typeof(this) fromBuffer(ubyte[] buffer)
413 {
414 PluginMessage ret = new PluginMessage();
415 ret.decode(buffer);
416 return ret;
417 }
418
419 override string toString()
420 {
421 return "PluginMessage(channel: " ~ std.conv.to!string(this.channel) ~ ", data: " ~ std.conv.to!string(this.data) ~ ")";
422 }
423
424 }
425
426 class UseEntity : Java315Packet
427 {
428
429 enum uint ID = 10;
430
431 enum bool CLIENTBOUND = false;
432 enum bool SERVERBOUND = true;
433
434 // type
435 enum uint INTERACT = 0;
436 enum uint ATTACK = 1;
437 enum uint INTERACT_AT = 2;
438
439 // hand
440 enum uint MAIN_HAND = 0;
441 enum uint OFF_HAND = 1;
442
443 enum string[] __fields = ["target", "type", "targetPosition", "hand"];
444
445 @Var uint target;
446 @Var uint type;
447 @Condition("type==2") Vector!(float, "xyz") targetPosition;
448 @Condition("type==0||type==2") @Var uint hand;
449
450 this() pure nothrow @safe @nogc {}
451
452 this(uint target, uint type=uint.init, Vector!(float, "xyz") targetPosition=Vector!(float, "xyz").init, uint hand=uint.init) pure nothrow @safe @nogc
453 {
454 this.target = target;
455 this.type = type;
456 this.targetPosition = targetPosition;
457 this.hand = hand;
458 }
459
460 mixin Make;
461
462 public static typeof(this) fromBuffer(ubyte[] buffer)
463 {
464 UseEntity ret = new UseEntity();
465 ret.decode(buffer);
466 return ret;
467 }
468
469 override string toString()
470 {
471 return "UseEntity(target: " ~ std.conv.to!string(this.target) ~ ", type: " ~ std.conv.to!string(this.type) ~ ", targetPosition: " ~ std.conv.to!string(this.targetPosition) ~ ", hand: " ~ std.conv.to!string(this.hand) ~ ")";
472 }
473
474 }
475
476 class KeepAlive : Java315Packet
477 {
478
479 enum uint ID = 11;
480
481 enum bool CLIENTBOUND = false;
482 enum bool SERVERBOUND = true;
483
484 enum string[] __fields = ["id"];
485
486 @Var uint id;
487
488 this() pure nothrow @safe @nogc {}
489
490 this(uint id) pure nothrow @safe @nogc
491 {
492 this.id = id;
493 }
494
495 mixin Make;
496
497 public static typeof(this) fromBuffer(ubyte[] buffer)
498 {
499 KeepAlive ret = new KeepAlive();
500 ret.decode(buffer);
501 return ret;
502 }
503
504 override string toString()
505 {
506 return "KeepAlive(id: " ~ std.conv.to!string(this.id) ~ ")";
507 }
508
509 }
510
511 class PlayerPosition : Java315Packet
512 {
513
514 enum uint ID = 12;
515
516 enum bool CLIENTBOUND = false;
517 enum bool SERVERBOUND = true;
518
519 enum string[] __fields = ["position", "onGround"];
520
521 Vector!(double, "xyz") position;
522 bool onGround;
523
524 this() pure nothrow @safe @nogc {}
525
526 this(Vector!(double, "xyz") position, bool onGround=bool.init) pure nothrow @safe @nogc
527 {
528 this.position = position;
529 this.onGround = onGround;
530 }
531
532 mixin Make;
533
534 public static typeof(this) fromBuffer(ubyte[] buffer)
535 {
536 PlayerPosition ret = new PlayerPosition();
537 ret.decode(buffer);
538 return ret;
539 }
540
541 override string toString()
542 {
543 return "PlayerPosition(position: " ~ std.conv.to!string(this.position) ~ ", onGround: " ~ std.conv.to!string(this.onGround) ~ ")";
544 }
545
546 }
547
548 class PlayerPositionAndLook : Java315Packet
549 {
550
551 enum uint ID = 13;
552
553 enum bool CLIENTBOUND = false;
554 enum bool SERVERBOUND = true;
555
556 enum string[] __fields = ["position", "yaw", "pitch", "onGround"];
557
558 Vector!(double, "xyz") position;
559 float yaw;
560 float pitch;
561 bool onGround;
562
563 this() pure nothrow @safe @nogc {}
564
565 this(Vector!(double, "xyz") position, float yaw=float.init, float pitch=float.init, bool onGround=bool.init) pure nothrow @safe @nogc
566 {
567 this.position = position;
568 this.yaw = yaw;
569 this.pitch = pitch;
570 this.onGround = onGround;
571 }
572
573 mixin Make;
574
575 public static typeof(this) fromBuffer(ubyte[] buffer)
576 {
577 PlayerPositionAndLook ret = new PlayerPositionAndLook();
578 ret.decode(buffer);
579 return ret;
580 }
581
582 override string toString()
583 {
584 return "PlayerPositionAndLook(position: " ~ std.conv.to!string(this.position) ~ ", yaw: " ~ std.conv.to!string(this.yaw) ~ ", pitch: " ~ std.conv.to!string(this.pitch) ~ ", onGround: " ~ std.conv.to!string(this.onGround) ~ ")";
585 }
586
587 }
588
589 class PlayerLook : Java315Packet
590 {
591
592 enum uint ID = 14;
593
594 enum bool CLIENTBOUND = false;
595 enum bool SERVERBOUND = true;
596
597 enum string[] __fields = ["yaw", "pitch", "onGround"];
598
599 float yaw;
600 float pitch;
601 bool onGround;
602
603 this() pure nothrow @safe @nogc {}
604
605 this(float yaw, float pitch=float.init, bool onGround=bool.init) pure nothrow @safe @nogc
606 {
607 this.yaw = yaw;
608 this.pitch = pitch;
609 this.onGround = onGround;
610 }
611
612 mixin Make;
613
614 public static typeof(this) fromBuffer(ubyte[] buffer)
615 {
616 PlayerLook ret = new PlayerLook();
617 ret.decode(buffer);
618 return ret;
619 }
620
621 override string toString()
622 {
623 return "PlayerLook(yaw: " ~ std.conv.to!string(this.yaw) ~ ", pitch: " ~ std.conv.to!string(this.pitch) ~ ", onGround: " ~ std.conv.to!string(this.onGround) ~ ")";
624 }
625
626 }
627
628 class Player : Java315Packet
629 {
630
631 enum uint ID = 15;
632
633 enum bool CLIENTBOUND = false;
634 enum bool SERVERBOUND = true;
635
636 enum string[] __fields = ["onGround"];
637
638 bool onGround;
639
640 this() pure nothrow @safe @nogc {}
641
642 this(bool onGround) pure nothrow @safe @nogc
643 {
644 this.onGround = onGround;
645 }
646
647 mixin Make;
648
649 public static typeof(this) fromBuffer(ubyte[] buffer)
650 {
651 Player ret = new Player();
652 ret.decode(buffer);
653 return ret;
654 }
655
656 override string toString()
657 {
658 return "Player(onGround: " ~ std.conv.to!string(this.onGround) ~ ")";
659 }
660
661 }
662
663 class VehicleMove : Java315Packet
664 {
665
666 enum uint ID = 16;
667
668 enum bool CLIENTBOUND = false;
669 enum bool SERVERBOUND = true;
670
671 enum string[] __fields = ["position", "yaw", "pitch"];
672
673 Vector!(double, "xyz") position;
674 float yaw;
675 float pitch;
676
677 this() pure nothrow @safe @nogc {}
678
679 this(Vector!(double, "xyz") position, float yaw=float.init, float pitch=float.init) pure nothrow @safe @nogc
680 {
681 this.position = position;
682 this.yaw = yaw;
683 this.pitch = pitch;
684 }
685
686 mixin Make;
687
688 public static typeof(this) fromBuffer(ubyte[] buffer)
689 {
690 VehicleMove ret = new VehicleMove();
691 ret.decode(buffer);
692 return ret;
693 }
694
695 override string toString()
696 {
697 return "VehicleMove(position: " ~ std.conv.to!string(this.position) ~ ", yaw: " ~ std.conv.to!string(this.yaw) ~ ", pitch: " ~ std.conv.to!string(this.pitch) ~ ")";
698 }
699
700 }
701
702 class SteerBoat : Java315Packet
703 {
704
705 enum uint ID = 17;
706
707 enum bool CLIENTBOUND = false;
708 enum bool SERVERBOUND = true;
709
710 enum string[] __fields = ["rightPaddleTurning", "leftPaddleTurning"];
711
712 bool rightPaddleTurning;
713 bool leftPaddleTurning;
714
715 this() pure nothrow @safe @nogc {}
716
717 this(bool rightPaddleTurning, bool leftPaddleTurning=bool.init) pure nothrow @safe @nogc
718 {
719 this.rightPaddleTurning = rightPaddleTurning;
720 this.leftPaddleTurning = leftPaddleTurning;
721 }
722
723 mixin Make;
724
725 public static typeof(this) fromBuffer(ubyte[] buffer)
726 {
727 SteerBoat ret = new SteerBoat();
728 ret.decode(buffer);
729 return ret;
730 }
731
732 override string toString()
733 {
734 return "SteerBoat(rightPaddleTurning: " ~ std.conv.to!string(this.rightPaddleTurning) ~ ", leftPaddleTurning: " ~ std.conv.to!string(this.leftPaddleTurning) ~ ")";
735 }
736
737 }
738
739 class PlayerAbilities : Java315Packet
740 {
741
742 enum uint ID = 18;
743
744 enum bool CLIENTBOUND = false;
745 enum bool SERVERBOUND = true;
746
747 // flags
748 enum ubyte CREATIVE_MODE = 1;
749 enum ubyte FLYING = 2;
750 enum ubyte ALLOW_FLYING = 4;
751 enum ubyte INVINCIBLE = 8;
752
753 enum string[] __fields = ["flags", "flyingSpeed", "walkingSpeed"];
754
755 ubyte flags;
756 float flyingSpeed;
757 float walkingSpeed;
758
759 this() pure nothrow @safe @nogc {}
760
761 this(ubyte flags, float flyingSpeed=float.init, float walkingSpeed=float.init) pure nothrow @safe @nogc
762 {
763 this.flags = flags;
764 this.flyingSpeed = flyingSpeed;
765 this.walkingSpeed = walkingSpeed;
766 }
767
768 mixin Make;
769
770 public static typeof(this) fromBuffer(ubyte[] buffer)
771 {
772 PlayerAbilities ret = new PlayerAbilities();
773 ret.decode(buffer);
774 return ret;
775 }
776
777 override string toString()
778 {
779 return "PlayerAbilities(flags: " ~ std.conv.to!string(this.flags) ~ ", flyingSpeed: " ~ std.conv.to!string(this.flyingSpeed) ~ ", walkingSpeed: " ~ std.conv.to!string(this.walkingSpeed) ~ ")";
780 }
781
782 }
783
784 class PlayerDigging : Java315Packet
785 {
786
787 enum uint ID = 19;
788
789 enum bool CLIENTBOUND = false;
790 enum bool SERVERBOUND = true;
791
792 // status
793 enum uint START_DIGGING = 0;
794 enum uint CANCEL_DIGGING = 1;
795 enum uint FINISH_DIGGING = 2;
796 enum uint DROP_ITEM_STACK = 3;
797 enum uint DROP_ITEM = 4;
798 enum uint SHOOT_ARROW = 5;
799 enum uint FINISH_EATING = 5;
800 enum uint SWAP_ITEM_IN_HAND = 6;
801
802 enum string[] __fields = ["status", "position", "face"];
803
804 @Var uint status;
805 ulong position;
806 ubyte face;
807
808 this() pure nothrow @safe @nogc {}
809
810 this(uint status, ulong position=ulong.init, ubyte face=ubyte.init) pure nothrow @safe @nogc
811 {
812 this.status = status;
813 this.position = position;
814 this.face = face;
815 }
816
817 mixin Make;
818
819 public static typeof(this) fromBuffer(ubyte[] buffer)
820 {
821 PlayerDigging ret = new PlayerDigging();
822 ret.decode(buffer);
823 return ret;
824 }
825
826 override string toString()
827 {
828 return "PlayerDigging(status: " ~ std.conv.to!string(this.status) ~ ", position: " ~ std.conv.to!string(this.position) ~ ", face: " ~ std.conv.to!string(this.face) ~ ")";
829 }
830
831 }
832
833 class EntityAction : Java315Packet
834 {
835
836 enum uint ID = 20;
837
838 enum bool CLIENTBOUND = false;
839 enum bool SERVERBOUND = true;
840
841 // action
842 enum uint START_SNEAKING = 0;
843 enum uint STOP_SNEAKING = 1;
844 enum uint LEAVE_BED = 2;
845 enum uint START_SPRINTING = 3;
846 enum uint STOP_SPRINTING = 4;
847 enum uint START_HORSE_JUMP = 5;
848 enum uint STOP_HORSE_JUMP = 6;
849 enum uint OPEN_HORSE_INVENTORY = 7;
850 enum uint START_ELYTRA_FLYING = 8;
851
852 enum string[] __fields = ["entityId", "action", "jumpBoost"];
853
854 @Var uint entityId;
855 @Var uint action;
856 @Var uint jumpBoost;
857
858 this() pure nothrow @safe @nogc {}
859
860 this(uint entityId, uint action=uint.init, uint jumpBoost=uint.init) pure nothrow @safe @nogc
861 {
862 this.entityId = entityId;
863 this.action = action;
864 this.jumpBoost = jumpBoost;
865 }
866
867 mixin Make;
868
869 public static typeof(this) fromBuffer(ubyte[] buffer)
870 {
871 EntityAction ret = new EntityAction();
872 ret.decode(buffer);
873 return ret;
874 }
875
876 override string toString()
877 {
878 return "EntityAction(entityId: " ~ std.conv.to!string(this.entityId) ~ ", action: " ~ std.conv.to!string(this.action) ~ ", jumpBoost: " ~ std.conv.to!string(this.jumpBoost) ~ ")";
879 }
880
881 }
882
883 class SteerVehicle : Java315Packet
884 {
885
886 enum uint ID = 21;
887
888 enum bool CLIENTBOUND = false;
889 enum bool SERVERBOUND = true;
890
891 // flags
892 enum ubyte JUMP = 1;
893 enum ubyte UNMOUNT = 2;
894
895 enum string[] __fields = ["sideways", "forward", "flags"];
896
897 float sideways;
898 float forward;
899 ubyte flags;
900
901 this() pure nothrow @safe @nogc {}
902
903 this(float sideways, float forward=float.init, ubyte flags=ubyte.init) pure nothrow @safe @nogc
904 {
905 this.sideways = sideways;
906 this.forward = forward;
907 this.flags = flags;
908 }
909
910 mixin Make;
911
912 public static typeof(this) fromBuffer(ubyte[] buffer)
913 {
914 SteerVehicle ret = new SteerVehicle();
915 ret.decode(buffer);
916 return ret;
917 }
918
919 override string toString()
920 {
921 return "SteerVehicle(sideways: " ~ std.conv.to!string(this.sideways) ~ ", forward: " ~ std.conv.to!string(this.forward) ~ ", flags: " ~ std.conv.to!string(this.flags) ~ ")";
922 }
923
924 }
925
926 class ResourcePackStatus : Java315Packet
927 {
928
929 enum uint ID = 22;
930
931 enum bool CLIENTBOUND = false;
932 enum bool SERVERBOUND = true;
933
934 // result
935 enum uint LOADED = 0;
936 enum uint DECLINED = 1;
937 enum uint FAILED = 2;
938 enum uint ACCEPTED = 3;
939
940 enum string[] __fields = ["result"];
941
942 @Var uint result;
943
944 this() pure nothrow @safe @nogc {}
945
946 this(uint result) pure nothrow @safe @nogc
947 {
948 this.result = result;
949 }
950
951 mixin Make;
952
953 public static typeof(this) fromBuffer(ubyte[] buffer)
954 {
955 ResourcePackStatus ret = new ResourcePackStatus();
956 ret.decode(buffer);
957 return ret;
958 }
959
960 override string toString()
961 {
962 return "ResourcePackStatus(result: " ~ std.conv.to!string(this.result) ~ ")";
963 }
964
965 }
966
967 class HeldItemChange : Java315Packet
968 {
969
970 enum uint ID = 23;
971
972 enum bool CLIENTBOUND = false;
973 enum bool SERVERBOUND = true;
974
975 enum string[] __fields = ["slot"];
976
977 ushort slot;
978
979 this() pure nothrow @safe @nogc {}
980
981 this(ushort slot) pure nothrow @safe @nogc
982 {
983 this.slot = slot;
984 }
985
986 mixin Make;
987
988 public static typeof(this) fromBuffer(ubyte[] buffer)
989 {
990 HeldItemChange ret = new HeldItemChange();
991 ret.decode(buffer);
992 return ret;
993 }
994
995 override string toString()
996 {
997 return "HeldItemChange(slot: " ~ std.conv.to!string(this.slot) ~ ")";
998 }
999
1000 }
1001
1002 class CreativeInventoryAction : Java315Packet
1003 {
1004
1005 enum uint ID = 24;
1006
1007 enum bool CLIENTBOUND = false;
1008 enum bool SERVERBOUND = true;
1009
1010 enum string[] __fields = ["slot", "clickedItem"];
1011
1012 ushort slot;
1013 soupply.java315.types.Slot clickedItem;
1014
1015 this() pure nothrow @safe @nogc {}
1016
1017 this(ushort slot, soupply.java315.types.Slot clickedItem=soupply.java315.types.Slot.init) pure nothrow @safe @nogc
1018 {
1019 this.slot = slot;
1020 this.clickedItem = clickedItem;
1021 }
1022
1023 mixin Make;
1024
1025 public static typeof(this) fromBuffer(ubyte[] buffer)
1026 {
1027 CreativeInventoryAction ret = new CreativeInventoryAction();
1028 ret.decode(buffer);
1029 return ret;
1030 }
1031
1032 override string toString()
1033 {
1034 return "CreativeInventoryAction(slot: " ~ std.conv.to!string(this.slot) ~ ", clickedItem: " ~ std.conv.to!string(this.clickedItem) ~ ")";
1035 }
1036
1037 }
1038
1039 class UpdateSign : Java315Packet
1040 {
1041
1042 enum uint ID = 25;
1043
1044 enum bool CLIENTBOUND = false;
1045 enum bool SERVERBOUND = true;
1046
1047 enum string[] __fields = ["position", "lines"];
1048
1049 ulong position;
1050 string[4] lines;
1051
1052 this() pure nothrow @safe @nogc {}
1053
1054 this(ulong position, string[4] lines=(string[4]).init) pure nothrow @safe @nogc
1055 {
1056 this.position = position;
1057 this.lines = lines;
1058 }
1059
1060 mixin Make;
1061
1062 public static typeof(this) fromBuffer(ubyte[] buffer)
1063 {
1064 UpdateSign ret = new UpdateSign();
1065 ret.decode(buffer);
1066 return ret;
1067 }
1068
1069 override string toString()
1070 {
1071 return "UpdateSign(position: " ~ std.conv.to!string(this.position) ~ ", lines: " ~ std.conv.to!string(this.lines) ~ ")";
1072 }
1073
1074 }
1075
1076 class Animation : Java315Packet
1077 {
1078
1079 enum uint ID = 26;
1080
1081 enum bool CLIENTBOUND = false;
1082 enum bool SERVERBOUND = true;
1083
1084 // hand
1085 enum uint MAIN_HAND = 0;
1086 enum uint OFF_HAND = 1;
1087
1088 enum string[] __fields = ["hand"];
1089
1090 @Var uint hand;
1091
1092 this() pure nothrow @safe @nogc {}
1093
1094 this(uint hand) pure nothrow @safe @nogc
1095 {
1096 this.hand = hand;
1097 }
1098
1099 mixin Make;
1100
1101 public static typeof(this) fromBuffer(ubyte[] buffer)
1102 {
1103 Animation ret = new Animation();
1104 ret.decode(buffer);
1105 return ret;
1106 }
1107
1108 override string toString()
1109 {
1110 return "Animation(hand: " ~ std.conv.to!string(this.hand) ~ ")";
1111 }
1112
1113 }
1114
1115 class Spectate : Java315Packet
1116 {
1117
1118 enum uint ID = 27;
1119
1120 enum bool CLIENTBOUND = false;
1121 enum bool SERVERBOUND = true;
1122
1123 enum string[] __fields = ["player"];
1124
1125 UUID player;
1126
1127 this() pure nothrow @safe @nogc {}
1128
1129 this(UUID player) pure nothrow @safe @nogc
1130 {
1131 this.player = player;
1132 }
1133
1134 mixin Make;
1135
1136 public static typeof(this) fromBuffer(ubyte[] buffer)
1137 {
1138 Spectate ret = new Spectate();
1139 ret.decode(buffer);
1140 return ret;
1141 }
1142
1143 override string toString()
1144 {
1145 return "Spectate(player: " ~ std.conv.to!string(this.player) ~ ")";
1146 }
1147
1148 }
1149
1150 class PlayerBlockPlacement : Java315Packet
1151 {
1152
1153 enum uint ID = 28;
1154
1155 enum bool CLIENTBOUND = false;
1156 enum bool SERVERBOUND = true;
1157
1158 // hand
1159 enum uint MAIN_HAND = 0;
1160 enum uint OFF_HAND = 1;
1161
1162 enum string[] __fields = ["position", "face", "hand", "cursorPosition"];
1163
1164 ulong position;
1165 @Var uint face;
1166 @Var uint hand;
1167 Vector!(float, "xyz") cursorPosition;
1168
1169 this() pure nothrow @safe @nogc {}
1170
1171 this(ulong position, uint face=uint.init, uint hand=uint.init, Vector!(float, "xyz") cursorPosition=Vector!(float, "xyz").init) pure nothrow @safe @nogc
1172 {
1173 this.position = position;
1174 this.face = face;
1175 this.hand = hand;
1176 this.cursorPosition = cursorPosition;
1177 }
1178
1179 mixin Make;
1180
1181 public static typeof(this) fromBuffer(ubyte[] buffer)
1182 {
1183 PlayerBlockPlacement ret = new PlayerBlockPlacement();
1184 ret.decode(buffer);
1185 return ret;
1186 }
1187
1188 override string toString()
1189 {
1190 return "PlayerBlockPlacement(position: " ~ std.conv.to!string(this.position) ~ ", face: " ~ std.conv.to!string(this.face) ~ ", hand: " ~ std.conv.to!string(this.hand) ~ ", cursorPosition: " ~ std.conv.to!string(this.cursorPosition) ~ ")";
1191 }
1192
1193 }
1194
1195 class UseItem : Java315Packet
1196 {
1197
1198 enum uint ID = 29;
1199
1200 enum bool CLIENTBOUND = false;
1201 enum bool SERVERBOUND = true;
1202
1203 // hand
1204 enum uint MAIN_HAND = 0;
1205 enum uint OFF_HAND = 1;
1206
1207 enum string[] __fields = ["hand"];
1208
1209 @Var uint hand;
1210
1211 this() pure nothrow @safe @nogc {}
1212
1213 this(uint hand) pure nothrow @safe @nogc
1214 {
1215 this.hand = hand;
1216 }
1217
1218 mixin Make;
1219
1220 public static typeof(this) fromBuffer(ubyte[] buffer)
1221 {
1222 UseItem ret = new UseItem();
1223 ret.decode(buffer);
1224 return ret;
1225 }
1226
1227 override string toString()
1228 {
1229 return "UseItem(hand: " ~ std.conv.to!string(this.hand) ~ ")";
1230 }
1231
1232 }