Code

// Get global event handlerGlobalEventHandler eventHandler = MinecraftServer.getGlobalEventHandler();// Register player join event listenereventHandler.addListener(PlayerSpawnEvent.class, event -> {    // This code runs when a player joins    if (event.getEntity() instanceof Player player) {        player.sendMessage("Welcome to the server!");    }});// Register chat event with modificationeventHandler.addListener(PlayerChatEvent.class, event -> {    // Modify chat format    String message = event.getMessage();    Player player = event.getPlayer();        // Cancel if message contains certain words    if (message.contains("spam")) {        event.setCancelled(true);        player.sendMessage("Your message was filtered");        return;    }        // Modify chat format    event.setChatFormat((sender, text) ->         Component.text("<" + sender.getUsername() + "> " + text)    );});// Register block break event with cancellationeventHandler.addListener(PlayerBlockBreakEvent.class, event -> {    Block block = event.getBlock();        // Prevent breaking certain blocks    if (block.compare(Block.BEDROCK)) {        event.setCancelled(true);        event.getPlayer().sendMessage("You cannot break bedrock!");    }});// Register event with priorityeventHandler.addListener(PlayerMoveEvent.class, EventPriority.HIGH, event -> {    // This listener runs early (HIGH priority)    Player player = event.getPlayer();        // Check boundaries    if (event.getNewPosition().y() < 0) {        event.setCancelled(true);        player.teleport(event.getPlayerPosition());    }});// Multiple listeners for same eventeventHandler.addListener(EntityDamageEvent.class, event -> {    // First listener: Log damage    System.out.println("Entity damaged: " + event.getDamage());});eventHandler.addListener(EntityDamageEvent.class, event -> {    // Second listener: Modify damage    if (event.getEntity() instanceof Player) {        event.setDamage(event.getDamage() * 0.5f); // Reduce damage by 50%    }});// Unregister listener (if you keep reference)EventListener<PlayerSpawnEvent> listener = event -> {    // Listener code};eventHandler.addListener(PlayerSpawnEvent.class, listener);// Later...eventHandler.removeListener(PlayerSpawnEvent.class, listener);

Comments

No comments yet. Be the first!