geforkt von Mirrors/Paper
Fixed players not receiving movement packets after trying to leave The End. Fixes BUKKIT-289.
Dieser Commit ist enthalten in:
Ursprung
d7d48d8229
Commit
322330e942
@ -9,6 +9,7 @@ import org.bukkit.ChatColor;
|
|||||||
import org.bukkit.craftbukkit.ChunkCompressionThread;
|
import org.bukkit.craftbukkit.ChunkCompressionThread;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.command.CommandException;
|
import org.bukkit.command.CommandException;
|
||||||
|
import org.bukkit.craftbukkit.CraftWorld;
|
||||||
import org.bukkit.craftbukkit.block.CraftBlock;
|
import org.bukkit.craftbukkit.block.CraftBlock;
|
||||||
import org.bukkit.craftbukkit.entity.CraftPlayer;
|
import org.bukkit.craftbukkit.entity.CraftPlayer;
|
||||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||||
@ -924,7 +925,10 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
|
|||||||
|
|
||||||
public void a(Packet9Respawn packet9respawn) {
|
public void a(Packet9Respawn packet9respawn) {
|
||||||
if (this.player.j) {
|
if (this.player.j) {
|
||||||
this.player = this.minecraftServer.serverConfigurationManager.moveToWorld(this.player, 0, true);
|
CraftWorld cworld = (CraftWorld) this.server.getWorlds().get(0);
|
||||||
|
ChunkCoordinates chunkcoordinates = cworld.getHandle().getSpawn();
|
||||||
|
Location location = new Location(cworld, chunkcoordinates.x + 0.5, chunkcoordinates.y, chunkcoordinates.z + 0.5);
|
||||||
|
this.player = this.minecraftServer.serverConfigurationManager.moveToWorld(this.player, 0, true, location);
|
||||||
} else {
|
} else {
|
||||||
if (this.player.getHealth() > 0) {
|
if (this.player.getHealth() > 0) {
|
||||||
return;
|
return;
|
||||||
@ -932,7 +936,10 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
|
|||||||
|
|
||||||
this.player = this.minecraftServer.serverConfigurationManager.moveToWorld(this.player, 0, false);
|
this.player = this.minecraftServer.serverConfigurationManager.moveToWorld(this.player, 0, false);
|
||||||
}
|
}
|
||||||
this.getPlayer().setHandle(this.player); // CraftBukkit
|
// CraftBukkit start
|
||||||
|
this.getPlayer().setHandle(this.player);
|
||||||
|
this.player.j = false; // allow the player to receive movement packets again.
|
||||||
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
|
|
||||||
public void a(Packet101CloseWindow packet101closewindow) {
|
public void a(Packet101CloseWindow packet101closewindow) {
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren