gg fixed
This commit is contained in:
@@ -93,7 +93,9 @@ bool GameMode::useItemOn(Player* player, Level* level, ItemInstance* item, int x
|
||||
LOGI("%f %f %f \n", player->x, player->y, player->z);
|
||||
|
||||
item = player->inventory->getSelected();
|
||||
UseItemPacket packet(x, y, z, face, item, player->entityId, clickX, clickY, clickZ, player->x, player->y, player->z);
|
||||
UseItemPacket packet(x, y, z, face, item, player->entityId, clickX, clickY, clickZ, player->x, player->y, player->z,
|
||||
player->bb.x0, player->bb.y0, player->bb.z0, player->bb.x1, player->bb.y1, player->bb.z1);
|
||||
|
||||
minecraft->raknetInstance->send(packet);
|
||||
}
|
||||
int t = level->getTile(x, y, z);
|
||||
@@ -119,7 +121,8 @@ bool GameMode::useItem( Player* player, Level* level, ItemInstance* item ) {
|
||||
|
||||
ItemInstance* itemInstance = item->use(level, player);
|
||||
if(level->isClientSide) {
|
||||
UseItemPacket packet(item, player->entityId, player->aimDirection, player->x, player->y, player->z);
|
||||
UseItemPacket packet(item, player->entityId, player->aimDirection, player->x, player->y, player->z,
|
||||
player->bb.x0, player->bb.y0, player->bb.z0, player->bb.x1, player->bb.y1, player->bb.z1);
|
||||
minecraft->raknetInstance->send(packet);
|
||||
}
|
||||
if (itemInstance != item || (itemInstance != NULL && itemInstance->count != oldCount)) {
|
||||
|
||||
@@ -749,12 +749,17 @@ void ServerSideNetworkHandler::handle(const RakNet::RakNetGUID& source, UseItemP
|
||||
}
|
||||
|
||||
ItemInstance* item = player->inventory->getItem(slot);
|
||||
|
||||
player->x = packet->playerX;
|
||||
player->y = packet->playerY;
|
||||
player->z = packet->playerZ;
|
||||
LOGI("upd: %f %f %f \n", packet->playerX, packet->playerY, packet->playerZ);
|
||||
LOGI("plr new: %f %f %f \n", player->x, player->y, player->z);
|
||||
|
||||
player->bb.x0 = packet->playerX0;
|
||||
player->bb.y0 = packet->playerY0;
|
||||
player->bb.z0 = packet->playerZ0;
|
||||
|
||||
player->bb.x1 = packet->playerX1;
|
||||
player->bb.y1 = packet->playerY1;
|
||||
player->bb.z1 = packet->playerZ1;
|
||||
|
||||
if(packet->face == 255) {
|
||||
// Special case: x,y,z means direction-of-action
|
||||
|
||||
@@ -17,11 +17,13 @@ public:
|
||||
unsigned char itemData;
|
||||
ItemInstance item;
|
||||
float playerX, playerY, playerZ;
|
||||
float playerX0, playerY0, playerZ0;
|
||||
float playerX1, playerY1, playerZ1;
|
||||
|
||||
UseItemPacket() {}
|
||||
|
||||
UseItemPacket(int x, int y, int z, int face, const ItemInstance* item, int entityId, float clickX, float clickY, float clickZ,
|
||||
float plrX, float plrY, float plrZ)
|
||||
float plrX, float plrY, float plrZ, float plrX0, float plrY0, float plrZ0, float plrX1, float plrY1, float plrZ1)
|
||||
: x(x),
|
||||
y(y),
|
||||
z(z),
|
||||
@@ -34,10 +36,17 @@ public:
|
||||
clickZ(clickZ),
|
||||
playerX(plrX),
|
||||
playerY(plrY),
|
||||
playerZ(plrZ)
|
||||
playerZ(plrZ),
|
||||
playerX0(plrX0),
|
||||
playerY0(plrY0),
|
||||
playerZ0(plrZ0),
|
||||
playerX1(plrX1),
|
||||
playerY1(plrY1),
|
||||
playerZ1(plrZ1)
|
||||
{}
|
||||
|
||||
UseItemPacket(const ItemInstance* item, int entityId, const Vec3& aim, float plrX, float plrY, float plrZ)
|
||||
UseItemPacket(const ItemInstance* item, int entityId, const Vec3& aim, float plrX, float plrY, float plrZ,
|
||||
float plrX0, float plrY0, float plrZ0, float plrX1, float plrY1, float plrZ1)
|
||||
: face(255),
|
||||
itemId(item? item->id : 0),
|
||||
itemData(item? item->getAuxValue() : 0),
|
||||
@@ -47,7 +56,13 @@ public:
|
||||
z((int)(aim.z * 32768.0f)),
|
||||
playerX(plrX),
|
||||
playerY(plrY),
|
||||
playerZ(plrZ)
|
||||
playerZ(plrZ),
|
||||
playerX0(plrX0),
|
||||
playerY0(plrY0),
|
||||
playerZ0(plrZ0),
|
||||
playerX1(plrX1),
|
||||
playerY1(plrY1),
|
||||
playerZ1(plrZ1)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -68,6 +83,12 @@ public:
|
||||
bitStream->Write(playerX);
|
||||
bitStream->Write(playerY);
|
||||
bitStream->Write(playerZ);
|
||||
bitStream->Write(playerX0);
|
||||
bitStream->Write(playerY0);
|
||||
bitStream->Write(playerZ0);
|
||||
bitStream->Write(playerX1);
|
||||
bitStream->Write(playerY1);
|
||||
bitStream->Write(playerZ1);
|
||||
}
|
||||
|
||||
void read(RakNet::BitStream* bitStream)
|
||||
@@ -88,6 +109,12 @@ public:
|
||||
bitStream->Read(playerX);
|
||||
bitStream->Read(playerY);
|
||||
bitStream->Read(playerZ);
|
||||
bitStream->Read(playerX0);
|
||||
bitStream->Read(playerY0);
|
||||
bitStream->Read(playerZ0);
|
||||
bitStream->Read(playerX1);
|
||||
bitStream->Read(playerY1);
|
||||
bitStream->Read(playerZ1);
|
||||
}
|
||||
|
||||
void handle(const RakNet::RakNetGUID& source, NetEventCallback* callback)
|
||||
|
||||
Reference in New Issue
Block a user