Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void onPlayerPositionLook(PlayerPositionLookS2CPacket packet) {
- NetworkThreadUtils.forceMainThread(packet, this, this.client);
- PlayerEntity playerEntity = this.client.player;
- if (packet.shouldDismount()) {
- playerEntity.dismountVehicle();
- }
- Vec3d vec3d = playerEntity.getVelocity();
- boolean bl = packet.getFlags().contains(Flag.X);
- boolean bl2 = packet.getFlags().contains(Flag.Y);
- boolean bl3 = packet.getFlags().contains(Flag.Z);
- double d;
- double e;
- if (bl) {
- d = vec3d.getX();
- e = playerEntity.getX() + packet.getX();
- playerEntity.lastRenderX += packet.getX();
- } else {
- d = 0.0D;
- e = packet.getX();
- playerEntity.lastRenderX = e;
- }
- double f;
- double g;
- if (bl2) {
- f = vec3d.getY();
- g = playerEntity.getY() + packet.getY();
- playerEntity.lastRenderY += packet.getY();
- } else {
- f = 0.0D;
- g = packet.getY();
- playerEntity.lastRenderY = g;
- }
- double h;
- double i;
- if (bl3) {
- h = vec3d.getZ();
- i = playerEntity.getZ() + packet.getZ();
- playerEntity.lastRenderZ += packet.getZ();
- } else {
- h = 0.0D;
- i = packet.getZ();
- playerEntity.lastRenderZ = i;
- }
- playerEntity.setPos(e, g, i);
- playerEntity.prevX = e;
- playerEntity.prevY = g;
- playerEntity.prevZ = i;
- playerEntity.setVelocity(d, f, h);
- float j = packet.getYaw();
- float k = packet.getPitch();
- if (packet.getFlags().contains(Flag.X_ROT)) {
- k += playerEntity.getPitch();
- }
- if (packet.getFlags().contains(Flag.Y_ROT)) {
- j += playerEntity.getYaw();
- }
- playerEntity.updatePositionAndAngles(e, g, i, j, k);
- this.connection.send(new TeleportConfirmC2SPacket(packet.getTeleportId()));
- this.connection.send(new Full(playerEntity.getX(), playerEntity.getY(), playerEntity.getZ(), playerEntity.getYaw(), playerEntity.getPitch(), false));
- if (!this.positionLookSetup) {
- this.positionLookSetup = true;
- this.client.setScreen((Screen)null);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement