Archived
0

TeleportManager

This commit is contained in:
2018-06-23 16:15:09 +03:00
parent 9507914fd9
commit bdfa420830
5 changed files with 77 additions and 5 deletions

View File

@@ -7,6 +7,7 @@ package mc.core.network.proto_1_12_2.netty.handlers;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFutureListener;
import mc.core.network.proto_1_12_2.State;
import mc.core.network.proto_1_12_2.TeleportManager;
import mc.core.network.proto_1_12_2.packets.*;
import mc.core.player.Look;
import mc.core.player.Player;
@@ -80,6 +81,7 @@ public class LoginHandler extends AbstractStateHandler implements LoginStateHand
PlayerPositionAndLookPacket pkt4 = new PlayerPositionAndLookPacket();
pkt4.setLocation(player.getLocation());
pkt4.setLook(player.getLook());
pkt4.setTeleportId(TeleportManager.getInstance().append(player, player.getLocation()));
channel.writeAndFlush(pkt4);
}
}

View File

@@ -5,7 +5,9 @@
package mc.core.network.proto_1_12_2.netty.handlers;
import io.netty.channel.Channel;
import mc.core.network.proto_1_12_2.TeleportManager;
import mc.core.network.proto_1_12_2.packets.ClientSettingsPacket;
import mc.core.network.proto_1_12_2.packets.TeleportConfirmPacket;
import mc.core.player.Player;
import org.springframework.stereotype.Component;
@@ -13,6 +15,8 @@ import static mc.core.network.proto_1_12_2.netty.NettyServer.ATTR_PLAYER;
@Component
public class PlayHandler extends AbstractStateHandler implements PlayStateHandler {
private TeleportManager teleport = TeleportManager.getInstance();
@Handler
public void onClientSettings(Channel channel, ClientSettingsPacket packet) {
Player player = channel.attr(ATTR_PLAYER).get();
@@ -32,4 +36,9 @@ public class PlayHandler extends AbstractStateHandler implements PlayStateHandle
player.getSettings().setMainHand(packet.getMainHand());
}
@Handler
public void onTeleportConfirm(Channel channel, TeleportConfirmPacket packet) {
this.teleport.apply(packet.getTeleportId());
}
}