mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-05-08 13:06:02 +08:00
Teleport Small Fix
This commit is contained in:
parent
0e7976f906
commit
069cb1c6d3
@ -212,7 +212,10 @@ public class World implements Iterable<GenshinPlayer> {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Integer oldSceneId = null;
|
||||||
|
|
||||||
if (player.getScene() != null) {
|
if (player.getScene() != null) {
|
||||||
|
oldSceneId = player.getScene().getId();
|
||||||
player.getScene().removePlayer(player);
|
player.getScene().removePlayer(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -221,7 +224,11 @@ public class World implements Iterable<GenshinPlayer> {
|
|||||||
player.getPos().set(pos);
|
player.getPos().set(pos);
|
||||||
|
|
||||||
// Teleport packet
|
// Teleport packet
|
||||||
player.sendPacket(new PacketPlayerEnterSceneNotify(player, EnterType.EnterSelf, EnterReason.TransPoint, sceneId, pos));
|
if (oldSceneId.equals(sceneId)) {
|
||||||
|
player.sendPacket(new PacketPlayerEnterSceneNotify(player, EnterType.EnterGoto, EnterReason.TransPoint, sceneId, pos));
|
||||||
|
} else {
|
||||||
|
player.sendPacket(new PacketPlayerEnterSceneNotify(player, EnterType.EnterJump, EnterReason.TransPoint, sceneId, pos));
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ public class PacketPlayerEnterSceneNotify extends GenshinPacket {
|
|||||||
.setSceneId(newScene)
|
.setSceneId(newScene)
|
||||||
.setPos(newPos.toProto())
|
.setPos(newPos.toProto())
|
||||||
.setSceneBeginTime(System.currentTimeMillis())
|
.setSceneBeginTime(System.currentTimeMillis())
|
||||||
.setType(EnterType.EnterSelf)
|
.setType(type)
|
||||||
.setTargetUid(target.getUid())
|
.setTargetUid(target.getUid())
|
||||||
.setEnterSceneToken(player.getEnterSceneToken())
|
.setEnterSceneToken(player.getEnterSceneToken())
|
||||||
.setWorldLevel(target.getWorld().getWorldLevel())
|
.setWorldLevel(target.getWorld().getWorldLevel())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user