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