Merge pull request #410 from MrGazdag/patch-11

Add Player#refreshCommands()
This commit is contained in:
TheMode 2021-08-13 09:28:55 +02:00 committed by GitHub
commit ce985bc41d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -246,15 +246,8 @@ public class Player extends LivingEntity implements CommandSender, Localizable,
this.playerConnection.sendPacket(player.getAddPlayerToList()); this.playerConnection.sendPacket(player.getAddPlayerToList());
} }
// Commands start // Commands
{ refreshCommands();
CommandManager commandManager = MinecraftServer.getCommandManager();
DeclareCommandsPacket declareCommandsPacket = commandManager.createDeclareCommandsPacket(this);
playerConnection.sendPacket(declareCommandsPacket);
}
// Commands end
// Recipes start // Recipes start
{ {
@ -431,6 +424,17 @@ public class Player extends LivingEntity implements CommandSender, Localizable,
// Runnable called when teleportation is successful (after loading and sending necessary chunk) // Runnable called when teleportation is successful (after loading and sending necessary chunk)
teleport(respawnEvent.getRespawnPosition()).thenRun(this::refreshAfterTeleport); teleport(respawnEvent.getRespawnPosition()).thenRun(this::refreshAfterTeleport);
} }
/**
* Refreshes the command list for this player. This checks the
* {@link net.minestom.server.command.builder.condition.CommandCondition}s
* again, and any changes will be visible to the player.
*/
public void refreshCommands() {
CommandManager commandManager = MinecraftServer.getCommandManager();
DeclareCommandsPacket declareCommandsPacket = commandManager.createDeclareCommandsPacket(this);
playerConnection.sendPacket(declareCommandsPacket);
}
@Override @Override
public boolean isOnGround() { public boolean isOnGround() {