mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-23 19:15:32 +01:00
SPIGOT-1903, MC-98153: Portal Location Sync Issues
This commit is contained in:
parent
d86d282f63
commit
2e39de698d
@ -189,17 +189,17 @@
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
+ IChatBaseComponent chatmessage = this.getCombatTracker().getDeathMessage();
|
|
||||||
+
|
|
||||||
+ String deathmessage = chatmessage.toPlainText();
|
|
||||||
+ org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage, keepInventory);
|
|
||||||
|
|
||||||
- if (scoreboardteambase != null && scoreboardteambase.getDeathMessageVisibility() != ScoreboardTeamBase.EnumNameTagVisibility.ALWAYS) {
|
- if (scoreboardteambase != null && scoreboardteambase.getDeathMessageVisibility() != ScoreboardTeamBase.EnumNameTagVisibility.ALWAYS) {
|
||||||
- if (scoreboardteambase.getDeathMessageVisibility() == ScoreboardTeamBase.EnumNameTagVisibility.HIDE_FOR_OTHER_TEAMS) {
|
- if (scoreboardteambase.getDeathMessageVisibility() == ScoreboardTeamBase.EnumNameTagVisibility.HIDE_FOR_OTHER_TEAMS) {
|
||||||
- this.server.getPlayerList().a((EntityHuman) this, this.getCombatTracker().getDeathMessage());
|
- this.server.getPlayerList().a((EntityHuman) this, this.getCombatTracker().getDeathMessage());
|
||||||
- } else if (scoreboardteambase.getDeathMessageVisibility() == ScoreboardTeamBase.EnumNameTagVisibility.HIDE_FOR_OWN_TEAM) {
|
- } else if (scoreboardteambase.getDeathMessageVisibility() == ScoreboardTeamBase.EnumNameTagVisibility.HIDE_FOR_OWN_TEAM) {
|
||||||
- this.server.getPlayerList().b((EntityHuman) this, this.getCombatTracker().getDeathMessage());
|
- this.server.getPlayerList().b((EntityHuman) this, this.getCombatTracker().getDeathMessage());
|
||||||
|
+ IChatBaseComponent chatmessage = this.getCombatTracker().getDeathMessage();
|
||||||
|
+
|
||||||
|
+ String deathmessage = chatmessage.toPlainText();
|
||||||
|
+ org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage, keepInventory);
|
||||||
|
+
|
||||||
+ String deathMessage = event.getDeathMessage();
|
+ String deathMessage = event.getDeathMessage();
|
||||||
+
|
+
|
||||||
+ if (deathMessage != null && deathMessage.length() > 0 && flag) { // TODO: allow plugins to override?
|
+ if (deathMessage != null && deathMessage.length() > 0 && flag) { // TODO: allow plugins to override?
|
||||||
@ -512,7 +512,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void a(EnumHand enumhand) {
|
public void a(EnumHand enumhand) {
|
||||||
@@ -955,11 +1161,139 @@
|
@@ -955,11 +1161,145 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
public void M() {
|
public void M() {
|
||||||
@ -615,6 +615,12 @@
|
|||||||
+ return super.toString() + "(" + this.getName() + " at " + this.locX + "," + this.locY + "," + this.locZ + ")";
|
+ return super.toString() + "(" + this.getName() + " at " + this.locX + "," + this.locY + "," + this.locZ + ")";
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
+ // SPIGOT-1903, MC-98153
|
||||||
|
+ public void forceSetPositionRotation(double x, double y, double z, float yaw, float pitch) {
|
||||||
|
+ this.setPositionRotation(x, y, z, yaw, pitch);
|
||||||
|
+ this.playerConnection.d();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ public void reset() {
|
+ public void reset() {
|
||||||
+ float exp = 0;
|
+ float exp = 0;
|
||||||
+ boolean keepInventory = this.world.getGameRules().getBoolean("keepInventory");
|
+ boolean keepInventory = this.world.getGameRules().getBoolean("keepInventory");
|
||||||
|
@ -103,7 +103,7 @@
|
|||||||
|
|
||||||
public void E_() {
|
public void E_() {
|
||||||
this.d();
|
this.d();
|
||||||
@@ -110,15 +182,21 @@
|
@@ -110,21 +182,27 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.minecraftServer.methodProfiler.b();
|
this.minecraftServer.methodProfiler.b();
|
||||||
@ -125,6 +125,13 @@
|
|||||||
this.disconnect("You have been idle for too long!");
|
this.disconnect("You have been idle for too long!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- private void d() {
|
||||||
|
+ public void d() { // PAIL: syncPosition, private->public
|
||||||
|
this.l = this.player.locX;
|
||||||
|
this.m = this.player.locY;
|
||||||
|
this.n = this.player.locZ;
|
||||||
@@ -138,19 +216,40 @@
|
@@ -138,19 +216,40 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -442,7 +442,7 @@
|
|||||||
+ location.setWorld(server.getWorldServer(i).getWorld());
|
+ location.setWorld(server.getWorldServer(i).getWorld());
|
||||||
}
|
}
|
||||||
+ WorldServer worldserver = ((CraftWorld) location.getWorld()).getHandle();
|
+ WorldServer worldserver = ((CraftWorld) location.getWorld()).getHandle();
|
||||||
+ entityplayer1.setLocation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch());
|
+ entityplayer1.forceSetPositionRotation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch());
|
||||||
+ // CraftBukkit end
|
+ // CraftBukkit end
|
||||||
|
|
||||||
worldserver.getChunkProviderServer().getChunkAt((int) entityplayer1.locX >> 4, (int) entityplayer1.locZ >> 4);
|
worldserver.getChunkProviderServer().getChunkAt((int) entityplayer1.locX >> 4, (int) entityplayer1.locZ >> 4);
|
||||||
|
Loading…
Reference in New Issue
Block a user