This code was not tested and breaks in Release builds, reverting to restore
functionality of the nightly. All in-game menus do not work and generating
a world crashes.
This reverts commit a9be52c41a.
72 lines
1.5 KiB
C++
72 lines
1.5 KiB
C++
#include "stdafx.h"
|
|
#include <iostream>
|
|
#include "InputOutputStream.h"
|
|
#include "PacketListener.h"
|
|
#include "net.minecraft.world.level.tile.entity.h"
|
|
#include "SignUpdatePacket.h"
|
|
|
|
|
|
|
|
SignUpdatePacket::SignUpdatePacket()
|
|
{
|
|
shouldDelay = true;
|
|
m_bVerified=false;
|
|
m_bCensored=false;
|
|
x = 0;
|
|
y = 0;
|
|
z = 0;
|
|
|
|
}
|
|
|
|
SignUpdatePacket::SignUpdatePacket(int x, int y, int z, bool bVerified, bool bCensored, wstring lines[])
|
|
{
|
|
shouldDelay = true;
|
|
this->m_bVerified=bVerified;
|
|
this->m_bCensored=bCensored;
|
|
this->x = x;
|
|
this->y = y;
|
|
this->z = z;
|
|
for( int i = 0; i < MAX_SIGN_LINES; i++ ) this->lines[i] = lines[i];
|
|
}
|
|
|
|
void SignUpdatePacket::read(DataInputStream *dis) //throws IOException
|
|
{
|
|
x = dis->readInt();
|
|
y = dis->readShort();
|
|
z = dis->readInt();
|
|
this->m_bVerified=dis->readBoolean();
|
|
this->m_bCensored=dis->readBoolean();;
|
|
for (int i = 0; i < MAX_SIGN_LINES; i++)
|
|
lines[i] = readUtf(dis, SignTileEntity::MAX_LINE_LENGTH);
|
|
}
|
|
|
|
void SignUpdatePacket::write(DataOutputStream *dos) //throws IOException
|
|
{
|
|
dos->writeInt(x);
|
|
dos->writeShort(y);
|
|
dos->writeInt(z);
|
|
dos->writeBoolean(m_bVerified);
|
|
dos->writeBoolean(m_bCensored);
|
|
for (int i = 0; i < MAX_SIGN_LINES; i++)
|
|
writeUtf(lines[i], dos);
|
|
}
|
|
|
|
void SignUpdatePacket::handle(PacketListener *listener)
|
|
{
|
|
listener->handleSignUpdate(shared_from_this());
|
|
}
|
|
|
|
int SignUpdatePacket::getEstimatedSize()
|
|
{
|
|
int l = 0;
|
|
l+=sizeof(int);
|
|
l+=sizeof(short);
|
|
l+=sizeof(int);
|
|
l+=sizeof(byte);
|
|
l+=sizeof(byte);
|
|
|
|
for (int i = 0; i < MAX_SIGN_LINES; i++)
|
|
l += (int)lines[i].length();
|
|
return l;
|
|
}
|