spigot/CraftBukkit-Patches/0025-Don-t-Special-Case-X-Move-Value.patch

57 lines
2.9 KiB
Diff
Raw Normal View History

2022-06-12 18:29:19 +10:00
From 3025ba410fc3b8274d84210efa2ae98577574bfd Mon Sep 17 00:00:00 2001
2014-04-12 14:18:37 +10:00
From: md_5 <md_5@live.com.au>
Date: Sun, 6 Oct 2013 17:36:28 +1100
Subject: [PATCH] Don't Special Case X Move Value
2021-03-16 09:00:00 +11:00
diff --git a/src/main/java/net/minecraft/server/network/PlayerConnection.java b/src/main/java/net/minecraft/server/network/PlayerConnection.java
2022-06-12 18:29:19 +10:00
index 5c8ac3222..8ad41b14a 100644
2021-03-16 09:00:00 +11:00
--- a/src/main/java/net/minecraft/server/network/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/network/PlayerConnection.java
2022-06-08 02:00:00 +10:00
@@ -303,6 +303,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
2014-04-12 14:18:37 +10:00
private float lastPitch = Float.MAX_VALUE;
private float lastYaw = Float.MAX_VALUE;
private boolean justTeleported = false;
+ private boolean hasMoved; // Spigot
2021-11-22 09:00:00 +11:00
public CraftPlayer getCraftPlayer() {
2014-11-28 23:22:31 +00:00
return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity();
2022-06-08 02:00:00 +10:00
@@ -582,6 +583,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
2022-03-01 02:00:00 +11:00
flag2 = true;
PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", new Object[]{entity.getName().getString(), this.player.getName().getString(), Math.sqrt(d10)});
2018-09-26 17:19:21 +10:00
}
2021-11-22 09:00:00 +11:00
+ Location curPos = this.getCraftPlayer().getLocation(); // Spigot
2018-09-26 17:19:21 +10:00
2021-11-22 09:00:00 +11:00
entity.absMoveTo(d3, d4, d5, f, f1);
player.absMoveTo(d3, d4, d5, this.player.getYRot(), this.player.getXRot()); // CraftBukkit
2022-06-08 02:00:00 +10:00
@@ -596,6 +598,17 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
2016-03-01 08:33:06 +11:00
2015-05-22 14:52:56 +01:00
// CraftBukkit start - fire PlayerMoveEvent
2021-11-22 09:00:00 +11:00
Player player = this.getCraftPlayer();
2015-05-22 14:52:56 +01:00
+ // Spigot Start
+ if ( !hasMoved )
+ {
+ lastPosX = curPos.getX();
+ lastPosY = curPos.getY();
+ lastPosZ = curPos.getZ();
+ lastYaw = curPos.getYaw();
+ lastPitch = curPos.getPitch();
+ hasMoved = true;
+ }
+ // Spigot End
Location from = new Location(player.getWorld(), lastPosX, lastPosY, lastPosZ, lastYaw, lastPitch); // Get the Players previous Event location.
Location to = player.getLocation().clone(); // Start off the To location as the Players current location.
2014-04-12 14:18:37 +10:00
2022-06-08 02:00:00 +10:00
@@ -621,7 +634,7 @@ public class PlayerConnection implements ServerPlayerConnection, PacketListenerP
2015-05-22 14:52:56 +01:00
this.lastPitch = to.getPitch();
2014-04-12 14:18:37 +10:00
2015-05-22 14:52:56 +01:00
// Skip the first time we do this
- if (from.getX() != Double.MAX_VALUE) {
+ if (true) { // Spigot - don't skip any move events
Location oldTo = to.clone();
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
2021-06-11 15:00:00 +10:00
this.cserver.getPluginManager().callEvent(event);
2014-04-12 14:18:37 +10:00
--
2022-06-12 18:29:19 +10:00
2.34.1
2014-04-12 14:18:37 +10:00