* try to resolve merge conflict
* feat: TU19 (Dec 2014) Features & Content (#32)
* December 2014 files
* Working release build
* Fix compilation issues
* Add sound to Windows64Media
* Add DLC content and force Tutorial DLC
* Revert "Add DLC content and force Tutorial DLC"
This reverts commit 97a4399472.
* Disable broken light packing
* Disable breakpoint during DLC texture map load
Allows DLC loading but the DLC textures are still broken
* Fix post build not working
* ...
* fix vs2022 build
* fix cmake build
---------
Co-authored-by: Loki <lokirautio@gmail.com>
135 lines
2.8 KiB
C++
135 lines
2.8 KiB
C++
#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;
|
|
} |