PlayerChangeTalkEvent

The PlayerChangeTalkEvent is a custom event in the MelodyMine plugin. This event is triggered when a player's talk status changes in the voice chat. It contains information about the player's UUID, the server they are on, and their current talk status.

Event Details

FieldTypeDescription

melodyPlayer

MelodyPlayer

The player whose talk status has changed.

melodyTalk

MelodyTalk

The Talk Data that the player is changed.

Example Usage

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

import ir.taher7.melodymine.api.events.PlayerChangeTalkEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class ExampleListener implements Listener {

    private JavaPlugin plugin;

    public ExampleListener(JavaPlugin plugin) {
        this.plugin = plugin;
    }

    @EventHandler
    public void onPlayerChangeTalk(PlayerChangeTalkEvent event) {
         MelodyPlayer player = event.getMelodyPlayer();
         String server = event.getMelodyTalk().getServer();
         Boolean isTalk = event.getMelodyTalk().getIsTalk();
           
         plugin.getLogger().info("Player with UUID: " + player.uuid + " on server: " + server + " has changed their talk status to: " + (isTalk ? "talking" : "not talking"));
    }
}

In this example, we create a listener for the PlayerChangeTalkEvent. When the event is triggered, we retrieve the player's UUID, the server they are on, and their current talk status. We then log this information to the console.

Remember to register your event listener in your plugin's onEnable method for it to work correctly.

@Override
public void onEnable() {
    getServer().getPluginManager().registerEvents(new ExampleListener(this), this);
}

This will ensure that the onPlayerChangeTalk method is called whenever a PlayerChangeTalkEvent is triggered.

Last updated