Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
4.1 kB · 191 lines
C++
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192#include "stdafx.h"#include <iostream>#include "InputOutputStream.h"#include "PacketListener.h"#include "MoveEntityPacketSmall.h"
MoveEntityPacketSmall::MoveEntityPacketSmall() { hasRot = false;
id = -1; xa = 0; ya = 0; za = 0; yRot = 0; xRot = 0;}
MoveEntityPacketSmall::MoveEntityPacketSmall(int id){ if( (id < 0 ) || (id >= 2048 ) ) { // We shouln't be tracking an entity that doesn't have a short type of id __debugbreak(); }
this->id = id; hasRot = false;
xa = 0; ya = 0; za = 0; yRot = 0; xRot = 0;}
void MoveEntityPacketSmall::read(DataInputStream *dis) //throws IOException { id = dis->readShort();}
void MoveEntityPacketSmall::write(DataOutputStream *dos) //throws IOException{ if( (id < 0 ) || (id >= 2048 ) ) { // We shouln't be tracking an entity that doesn't have a short type of id __debugbreak(); } dos->writeShort((short)id);}
void MoveEntityPacketSmall::handle(PacketListener *listener){ listener->handleMoveEntitySmall(shared_from_this());}
int MoveEntityPacketSmall::getEstimatedSize() { return 2;}
bool MoveEntityPacketSmall::canBeInvalidated(){ return true;}
bool MoveEntityPacketSmall::isInvalidatedBy(shared_ptr<Packet> packet){ shared_ptr<MoveEntityPacketSmall> target = dynamic_pointer_cast<MoveEntityPacketSmall>(packet); return target != NULL && target->id == id;}
MoveEntityPacketSmall::PosRot::PosRot(){ hasRot = true;}
MoveEntityPacketSmall::PosRot::PosRot(int id, char xa, char ya, char za, char yRot, char xRot) : MoveEntityPacketSmall( id ){ this->xa = xa; this->ya = ya; this->za = za; this->yRot = yRot; this->xRot = xRot; hasRot = true;}
void MoveEntityPacketSmall::PosRot::read(DataInputStream *dis) //throws IOException { int idAndRot = dis->readShort(); this->id = idAndRot & 0x07ff; this->yRot = idAndRot >> 11; int xAndYAndZ = (int)dis->readShort(); this->xa = xAndYAndZ >> 11; this->ya = (xAndYAndZ << 21 ) >> 26; this->za = (xAndYAndZ << 27 ) >> 27;}
void MoveEntityPacketSmall::PosRot::write(DataOutputStream *dos) //throws IOException { if( (id < 0 ) || (id >= 2048 ) ) { // We shouln't be tracking an entity that doesn't have a short type of id __debugbreak(); } short idAndRot = id | yRot << 11; dos->writeShort(idAndRot); short xAndYAndZ = ( xa << 11 ) | ( ( ya & 0x3f ) << 5 ) | ( za & 0x1f ); dos->writeShort(xAndYAndZ);}
int MoveEntityPacketSmall::PosRot::getEstimatedSize() { return 4;}
MoveEntityPacketSmall::Pos::Pos() {}
MoveEntityPacketSmall::Pos::Pos(int id, char xa, char ya, char za) : MoveEntityPacketSmall(id){ this->xa = xa; this->ya = ya; this->za = za;}
void MoveEntityPacketSmall::Pos::read(DataInputStream *dis) //throws IOException { int idAndY = dis->readShort(); this->id = idAndY & 0x07ff; this->ya = idAndY >> 11; int XandZ = (int)((signed char)(dis->readByte())); xa = XandZ >> 4; za = ( XandZ << 28 ) >> 28;}
void MoveEntityPacketSmall::Pos::write(DataOutputStream *dos) //throws IOException{ if( (id < 0 ) || (id >= 2048 ) ) { // We shouln't be tracking an entity that doesn't have a short type of id __debugbreak(); } short idAndY = id | ya << 11; dos->writeShort(idAndY); char XandZ = ( xa << 4 ) | ( za & 0x0f ); dos->writeByte(XandZ);}
int MoveEntityPacketSmall::Pos::getEstimatedSize(){ return 3;}
MoveEntityPacketSmall::Rot::Rot() { hasRot = true;}
MoveEntityPacketSmall::Rot::Rot(int id, char yRot, char xRot) : MoveEntityPacketSmall(id){
this->yRot = yRot; this->xRot = xRot; hasRot = true;}
void MoveEntityPacketSmall::Rot::read(DataInputStream *dis) //throws IOException { int idAndRot = (int)dis->readShort(); this->id = idAndRot & 0x07ff; this->yRot = idAndRot >> 11;}
void MoveEntityPacketSmall::Rot::write(DataOutputStream *dos) //throws IOException { if( (id < 0 ) || (id >= 2048 ) ) { // We shouln't be tracking an entity that doesn't have a short type of id __debugbreak(); } short idAndRot = id | yRot << 11; dos->writeShort(idAndRot);}
int MoveEntityPacketSmall::Rot::getEstimatedSize(){ return 2;}