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);
|
LOGI("%f %f %f \n", player->x, player->y, player->z);
|
||||||
|
|
||||||
item = player->inventory->getSelected();
|
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);
|
minecraft->raknetInstance->send(packet);
|
||||||
}
|
}
|
||||||
int t = level->getTile(x, y, z);
|
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);
|
ItemInstance* itemInstance = item->use(level, player);
|
||||||
if(level->isClientSide) {
|
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);
|
minecraft->raknetInstance->send(packet);
|
||||||
}
|
}
|
||||||
if (itemInstance != item || (itemInstance != NULL && itemInstance->count != oldCount)) {
|
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);
|
ItemInstance* item = player->inventory->getItem(slot);
|
||||||
|
|
||||||
player->x = packet->playerX;
|
player->x = packet->playerX;
|
||||||
player->y = packet->playerY;
|
player->y = packet->playerY;
|
||||||
player->z = packet->playerZ;
|
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) {
|
if(packet->face == 255) {
|
||||||
// Special case: x,y,z means direction-of-action
|
// Special case: x,y,z means direction-of-action
|
||||||
|
|||||||
@@ -17,11 +17,13 @@ public:
|
|||||||
unsigned char itemData;
|
unsigned char itemData;
|
||||||
ItemInstance item;
|
ItemInstance item;
|
||||||
float playerX, playerY, playerZ;
|
float playerX, playerY, playerZ;
|
||||||
|
float playerX0, playerY0, playerZ0;
|
||||||
|
float playerX1, playerY1, playerZ1;
|
||||||
|
|
||||||
UseItemPacket() {}
|
UseItemPacket() {}
|
||||||
|
|
||||||
UseItemPacket(int x, int y, int z, int face, const ItemInstance* item, int entityId, float clickX, float clickY, float clickZ,
|
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),
|
: x(x),
|
||||||
y(y),
|
y(y),
|
||||||
z(z),
|
z(z),
|
||||||
@@ -34,10 +36,17 @@ public:
|
|||||||
clickZ(clickZ),
|
clickZ(clickZ),
|
||||||
playerX(plrX),
|
playerX(plrX),
|
||||||
playerY(plrY),
|
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),
|
: face(255),
|
||||||
itemId(item? item->id : 0),
|
itemId(item? item->id : 0),
|
||||||
itemData(item? item->getAuxValue() : 0),
|
itemData(item? item->getAuxValue() : 0),
|
||||||
@@ -47,7 +56,13 @@ public:
|
|||||||
z((int)(aim.z * 32768.0f)),
|
z((int)(aim.z * 32768.0f)),
|
||||||
playerX(plrX),
|
playerX(plrX),
|
||||||
playerY(plrY),
|
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(playerX);
|
||||||
bitStream->Write(playerY);
|
bitStream->Write(playerY);
|
||||||
bitStream->Write(playerZ);
|
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)
|
void read(RakNet::BitStream* bitStream)
|
||||||
@@ -88,6 +109,12 @@ public:
|
|||||||
bitStream->Read(playerX);
|
bitStream->Read(playerX);
|
||||||
bitStream->Read(playerY);
|
bitStream->Read(playerY);
|
||||||
bitStream->Read(playerZ);
|
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)
|
void handle(const RakNet::RakNetGUID& source, NetEventCallback* callback)
|
||||||
|
|||||||
Reference in New Issue
Block a user