Code Patterns

Copy-paste examples for common plugin tasks. Commands, events, ECS, GUI, and more.

← Back to Patterns
player

Ban Player

Ban a player using the built-in ban provider.

Example Code

java
public void banPlayer(Store<EntityStore> store, UUID targetUuid, UUID adminUuid, String reason) {
    // Create infinite ban
    var ban = new InfiniteBan(targetUuid, adminUuid, Instant.now(), reason);

    // Get ban provider from AccessControlModule
    HytaleBanProvider banProvider = /* get from AccessControlModule */;

    // Add ban
    banProvider.modify(bans -> {
        bans.put(targetUuid, ban);
        return true;  // Return true to save changes
    });

    // Kick if online
    PlayerRef playerRef = Universe.get().getPlayer(targetUuid);
    if (playerRef != null) {
        playerRef.getPacketHandler().disconnect(reason);
    }
}

Common Mistakes

Forgetting to kick player after banning. Not saving ban provider.