PrePlayerSetDeafenEvent

The PrePlayerSetDeafenEvent is a custom event in the MelodyMine plugin. This event is triggered before a player's deafen status is set. It provides information about the player and the new deafen status.

Event Details

FieldTypeDescription

melodyPlayer

MelodyPlayer

The player whose deafen status is being set.

value

boolean

The new deafen status.

Event Usage

This event can be used to perform actions before a player's deafen status is set. For example, you can use it to log the change in deafen status or to prevent the deafen status from being set under certain conditions.

Example

Here is an example of how to listen to this event using the Bukkit event API:

import ir.taher7.melodymine.api.events.PrePlayerSetDeafenEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;

public class DeafenStatusListener implements Listener {

    @EventHandler
    public void onPlayerSetDeafen(PrePlayerSetDeafenEvent event) {
        // Get the player and the new deafen status
        MelodyPlayer player = event.getMelodyPlayer();
        boolean isDeafened = event.getValue();

        // Log the change in deafen status
        Bukkit.getLogger().info(player.getName() + " is about to be set to " + (isDeafened ? "deafened" : "not deafened"));

        // Prevent the deafen status from being set if the player is an admin
        if (player.isAdmin()) {
            event.setCancelled(true);
            Bukkit.getLogger().info("Cancelled deafen status change for admin player " + player.getName());
        }
    }
}

In this example, the onPlayerSetDeafen method is called when the PrePlayerSetDeafenEvent is triggered. The method logs the player's name and the new deafen status. If the player is an admin, the method cancels the event to prevent the deafen status from being set.

Remember to register your event listener with the Bukkit plugin manager to ensure that your onPlayerSetDeafen method is called when the event is triggered.

Last updated