From f016f00eab485939cc07d53c12bb124f6f4cbfc0 Mon Sep 17 00:00:00 2001 From: InviseDivine Date: Sun, 29 Mar 2026 00:16:19 +0200 Subject: [PATCH] idk?? --- src/client/player/LocalPlayer.cpp | 2 +- src/network/ServerSideNetworkHandler.cpp | 31 ++++++++++++++---------- src/server/ServerPlayer.cpp | 1 + src/world/entity/Mob.cpp | 2 +- src/world/entity/Mob.h | 3 +++ 5 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/client/player/LocalPlayer.cpp b/src/client/player/LocalPlayer.cpp index a4d3b74..88f7835 100755 --- a/src/client/player/LocalPlayer.cpp +++ b/src/client/player/LocalPlayer.cpp @@ -438,7 +438,7 @@ void LocalPlayer::tick() { { if (std::abs(x - sentX) > .1f || std::abs(y - sentY) > .01f || std::abs(z - sentZ) > .1f || std::abs(sentRotX - xRot) > 1 || std::abs(sentRotY - yRot) > 1) { - MovePlayerPacket packet(entityId, x, y - heightOffset, z, xRot, yRot); + MovePlayerPacket packet(entityId, xxa, y - heightOffset, yya, xRot, yRot); minecraft->raknetInstance->send(packet); sentX = x; sentY = y; diff --git a/src/network/ServerSideNetworkHandler.cpp b/src/network/ServerSideNetworkHandler.cpp index fa61054..1981b87 100755 --- a/src/network/ServerSideNetworkHandler.cpp +++ b/src/network/ServerSideNetworkHandler.cpp @@ -416,26 +416,31 @@ void ServerSideNetworkHandler::handle(const RakNet::RakNetGUID& source, MovePlay (packet->z - entity->z) * (packet->z - entity->z)); float speed = vectorDist / (minecraft->getTicks() - player->getLastMoveTicks()); - player->xRot = packet->xRot; - player->yRot = packet->yRot; + player->xRot = player->xRotO = packet->xRot; + player->yRot = player->yRotO = packet->yRot; - packet->y += 1.62f; + // packet->y += 1.62f; - if (speed < 2.5f) { - LOGI("Packet before: %f, %f, %f \n", packet->x, packet->y, packet->z); + // if (speed < 2.5f) { + LOGI("Packets: %f, %f, %f \n", packet->x, packet->y, packet->z); LOGI("Entity before: %f, %f, %f \n", entity->x, entity->y, entity->z); - LOGI("Delta: %f %f %f \n", packet->x - entity->x, packet->y - entity->y, packet->z - entity->z); - player->xd = player->yd = player->zd = 0; - player->move(packet->x - entity->x, packet->y - entity->y, packet->z - entity->z); + LOGI("OnGround: %d \n", entity->onGround); + //player->xd = player->yd = player->zd = 0; + + player->setxxa(packet->x); + player->setYya(packet->z); + // player->move(packet->x - entity->x, packet->y - entity->y, packet->z - entity->z); + // player->travel(packet->x - entity->x, packet->z - entity->z); - LOGI("Entity after: %f, %f, %f \n", entity->x, entity->y, entity->z); // entity->lerpTo(packet->x, packet->y, packet->z, packet->yRot, packet->xRot, 3); + LOGI("Entity after: %f, %f, %f \n", entity->x, entity->y, entity->z); + // broadcast this packet to other clients redistributePacket(packet, source); - } else { - MovePlayerPacket refuse(player->entityId, player->x, player->y, player->z, player->xRot, player->yRot); - raknetInstance->send(refuse); - } + // } else { + //MovePlayerPacket refuse(player->entityId, player->x, player->y, player->z, player->xRot, player->yRot); + //raknetInstance->send(refuse); + // } player->setLastMoveTicks(minecraft->getTicks()); } diff --git a/src/server/ServerPlayer.cpp b/src/server/ServerPlayer.cpp index 9f4f1dc..085fa8b 100755 --- a/src/server/ServerPlayer.cpp +++ b/src/server/ServerPlayer.cpp @@ -49,6 +49,7 @@ void ServerPlayer::stopSleepInBed(bool forcefulWakeUp, bool updateLevelList, boo void ServerPlayer::aiStep() { updateAttackAnim(); super::aiStep(); + Mob::aiStep(); } void ServerPlayer::tick() { diff --git a/src/world/entity/Mob.cpp b/src/world/entity/Mob.cpp index cc784f0..aed03dd 100755 --- a/src/world/entity/Mob.cpp +++ b/src/world/entity/Mob.cpp @@ -728,8 +728,8 @@ bool Mob::isWaterMob() void Mob::aiStep() { + printf("%f %f \n", xxa, yya); //@todo? 30 lines of code here in java version - TIMER_PUSH("ai"); if (isImmobile()) { jumping = false; diff --git a/src/world/entity/Mob.h b/src/world/entity/Mob.h index 7e90196..50045cb 100755 --- a/src/world/entity/Mob.h +++ b/src/world/entity/Mob.h @@ -223,6 +223,9 @@ protected: double xc, yc, zc; public: + void setxxa(float xxa) { this->xxa = xxa; } + void setyya(float yya) { this->yya = yya; } + // Cape position accessors (for renderers) double getCapeX() const { return xCape; } double getCapeY() const { return yCape; }