the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "net.minecraft.world.entity.player.h"
3#include "net.minecraft.network.packet.h"
4#include "PlayerAbilitiesPacket.h"
5
6PlayerAbilitiesPacket::PlayerAbilitiesPacket()
7{
8 invulnerable = false;
9 _isFlying = false;
10 _canFly = false;
11 instabuild = false;
12 flyingSpeed = 0.0f;
13 walkingSpeed = 0.0f;
14}
15
16PlayerAbilitiesPacket::PlayerAbilitiesPacket(Abilities *abilities)
17{
18 setInvulnerable(abilities->invulnerable);
19 setFlying(abilities->flying);
20 setCanFly(abilities->mayfly);
21 setInstabuild(abilities->instabuild);
22 setFlyingSpeed(abilities->getFlyingSpeed());
23 setWalkingSpeed(abilities->getWalkingSpeed());
24}
25
26void PlayerAbilitiesPacket::read(DataInputStream *dis)
27{
28 byte bitfield = dis->readByte();
29
30 setInvulnerable((bitfield & FLAG_INVULNERABLE) > 0);
31 setFlying((bitfield & FLAG_FLYING) > 0);
32 setCanFly((bitfield & FLAG_CAN_FLY) > 0);
33 setInstabuild((bitfield & FLAG_INSTABUILD) > 0);
34 setFlyingSpeed(dis->readFloat());
35 setWalkingSpeed(dis->readFloat());
36}
37
38void PlayerAbilitiesPacket::write(DataOutputStream *dos)
39{
40 byte bitfield = 0;
41
42 if (isInvulnerable()) bitfield |= FLAG_INVULNERABLE;
43 if (isFlying()) bitfield |= FLAG_FLYING;
44 if (canFly()) bitfield |= FLAG_CAN_FLY;
45 if (canInstabuild()) bitfield |= FLAG_INSTABUILD;
46
47 dos->writeByte(bitfield);
48 dos->writeFloat(flyingSpeed);
49 dos->writeFloat(walkingSpeed);
50}
51
52void PlayerAbilitiesPacket::handle(PacketListener *listener)
53{
54 listener->handlePlayerAbilities(shared_from_this());
55}
56
57int PlayerAbilitiesPacket::getEstimatedSize()
58{
59 return 2;
60}
61
62//wstring getDebugInfo()
63//{
64// return String.format("invuln=%b, flying=%b, canfly=%b, instabuild=%b, flyspeed=%.4f, walkspped=%.4f", isInvulnerable(), isFlying(), canFly(), canInstabuild(), getFlyingSpeed(), getWalkingSpeed());
65//}
66
67bool PlayerAbilitiesPacket::isInvulnerable()
68{
69 return invulnerable;
70}
71
72void PlayerAbilitiesPacket::setInvulnerable(bool invulnerable)
73{
74 this->invulnerable = invulnerable;
75}
76
77bool PlayerAbilitiesPacket::isFlying()
78{
79 return _isFlying;
80}
81
82void PlayerAbilitiesPacket::setFlying(bool flying)
83{
84 _isFlying = flying;
85}
86
87bool PlayerAbilitiesPacket::canFly()
88{
89 return _canFly;
90}
91
92void PlayerAbilitiesPacket::setCanFly(bool canFly)
93{
94 this->_canFly = canFly;
95}
96
97bool PlayerAbilitiesPacket::canInstabuild()
98{
99 return instabuild;
100}
101
102void PlayerAbilitiesPacket::setInstabuild(bool instabuild)
103{
104 this->instabuild = instabuild;
105}
106
107float PlayerAbilitiesPacket::getFlyingSpeed()
108{
109 return flyingSpeed;
110}
111
112void PlayerAbilitiesPacket::setFlyingSpeed(float flySpeed)
113{
114 flyingSpeed = flySpeed;
115}
116
117float PlayerAbilitiesPacket::getWalkingSpeed()
118{
119 return walkingSpeed;
120}
121
122void PlayerAbilitiesPacket::setWalkingSpeed(float walkingSpeed)
123{
124 this->walkingSpeed = walkingSpeed;
125}
126
127bool PlayerAbilitiesPacket::canBeInvalidated()
128{
129 return true;
130}
131
132bool PlayerAbilitiesPacket::isInvalidatedBy(shared_ptr<Packet> packet)
133{
134 return true;
135}