Minor optimizations

This commit is contained in:
Felix Cravic 2020-05-29 17:20:30 +02:00
parent 589079f8f6
commit 29aae491d1
4 changed files with 15 additions and 16 deletions

View File

@ -284,7 +284,7 @@ public class Player extends LivingEntity {
if (targetCustomBlock != null) {
final byte animationCount = 10;
long since = System.currentTimeMillis() - targetBlockTime;
byte stage = (byte) (since / (blockBreakTime / animationCount) - 1);
byte stage = (byte) (since / (blockBreakTime / animationCount));
stage = MathUtils.setBetween(stage, (byte) -1, animationCount);
if (stage != targetLastStage) {
sendBlockBreakAnimation(targetBlockPosition, stage);
@ -480,6 +480,7 @@ public class Player extends LivingEntity {
});
resetTargetBlock();
callEvent(PlayerDisconnectEvent.class, new PlayerDisconnectEvent());
playerConnection.disconnect();
}
@Override

View File

@ -22,6 +22,8 @@ public class FakePlayer extends Player {
public FakePlayer(UUID uuid, String username, boolean addInCache) {
super(uuid, username, new FakePlayerConnection());
this.fakePlayerController = new FakePlayerController(this);
this.registered = addInCache;
if (registered) {
@ -39,13 +41,6 @@ public class FakePlayer extends Player {
this(uuid, username, false);
}
@Override
protected void playerConnectionInit() {
FakePlayerConnection playerConnection = (FakePlayerConnection) getPlayerConnection();
playerConnection.setFakePlayer(this);
this.fakePlayerController = new FakePlayerController(this);
}
public FakePlayerController getController() {
return fakePlayerController;
}

View File

@ -55,7 +55,7 @@ public class ClientChannel extends ChannelInboundHandlerAdapter {
PlayerConnection playerConnection = packetProcessor.getPlayerConnection(ctx);
if (playerConnection != null) {
playerConnection.refreshOnline(false);
Player player = connectionManager.getPlayer(playerConnection);
Player player = playerConnection.getPlayer();
if (player != null) {
player.remove();
connectionManager.removePlayer(playerConnection);

View File

@ -2,16 +2,16 @@ package net.minestom.server.network.player;
import io.netty.buffer.ByteBuf;
import net.minestom.server.MinecraftServer;
import net.minestom.server.entity.Player;
import net.minestom.server.entity.fakeplayer.FakePlayer;
import net.minestom.server.network.packet.server.ServerPacket;
import net.minestom.server.utils.validate.Check;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
public class FakePlayerConnection extends PlayerConnection {
private FakePlayer fakePlayer;
@Override
public void sendPacket(ByteBuf buffer) {
throw new UnsupportedOperationException("FakePlayer cannot read Bytebuf");
@ -24,7 +24,7 @@ public class FakePlayerConnection extends PlayerConnection {
@Override
public void sendPacket(ServerPacket serverPacket) {
this.fakePlayer.getController().consumePacket(serverPacket);
getFakePlayer().getController().consumePacket(serverPacket);
}
@Override
@ -39,15 +39,18 @@ public class FakePlayerConnection extends PlayerConnection {
@Override
public void disconnect() {
if (fakePlayer.isRegistered())
if (getFakePlayer().isRegistered())
MinecraftServer.getConnectionManager().removePlayer(this);
}
public FakePlayer getFakePlayer() {
return fakePlayer;
return (FakePlayer) getPlayer();
}
public void setFakePlayer(FakePlayer fakePlayer) {
this.fakePlayer = fakePlayer;
@Override
public void setPlayer(Player player) {
Check.argCondition(!(player instanceof FakePlayer), "FakePlayerController needs a FakePlayer object");
super.setPlayer(player);
}
}