Listening to the Events
You can find all the available events here: https://github.com/xF3d33/UltimateTeams/tree/main/src/main/java/dev/xf3d3/ultimateteams/api/events
TeamPreCreateEvent
In this example we will listen to the TeamPreCreateEvent, and cancel the creation of the team if the name equals "cat".
import dev.xf3d3.ultimateteams.api.UltimateTeamsAPI;
import dev.xf3d3.ultimateteams.api.events.TeamPreCreateEvent;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
public class UltimateTeamsHook implements Listener {
private final UltimateTeamsAPI teamsAPI;
public UltimateTeamsHook() {
this.teamsAPI = UltimateTeamsAPI.getInstance();
}
@EventHandler
public void onTeamPreCreate(TeamPreCreateEvent event) {
String teamName = event.getName();
Player teamCreator = event.getUser();
if (teamName.equalsIgnoreCase("cat")) {
event.setCancelled(true);
teamCreator.sendMessage("The team creation has been cancelled because you are using a banned name");
}
}
}You can also modify the team name by listening to this event:
import dev.xf3d3.ultimateteams.api.UltimateTeamsAPI;
import dev.xf3d3.ultimateteams.api.events.TeamPreCreateEvent;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
public class UltimateTeamsHook implements Listener {
private final UltimateTeamsAPI teamsAPI;
public UltimateTeamsHook() {
this.teamsAPI = UltimateTeamsAPI.getInstance();
}
@EventHandler
public void onTeamPreCreate(TeamPreCreateEvent event) {
String teamName = event.getName();
Player teamCreator = event.getUser();
if (teamName.equalsIgnoreCase("cat")) {
event.setName("Dog");
teamCreator.sendMessage("The team name has been modified to Dog");
}
}
}If the event is not cancelled, the team creation will proceed and you will be able to access the newly created Team with the TeamCreateEvent.
TeamCreateEvent
Let's say you just modified the team name like the code above:
@EventHandler
public void onTeamCreate(TeamCreateEvent event) {
Player teamCreator = event.getUser();
teamCreator.sendMessage("The team name is: " + event.getTeam().getName()); // OUTPUT: The team name is: Dog
}TeamWarpSetEvent
Let's see how to send a message to all team members containing the coordinates of a Warp that the team owner has just created:
import dev.xf3d3.ultimateteams.api.UltimateTeamsAPI;
import dev.xf3d3.ultimateteams.api.events.TeamWarpSetEvent;
import dev.xf3d3.ultimateteams.models.TeamWarp;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
public class UltimateTeamsHook implements Listener {
private final UltimateTeamsAPI teamsAPI;
public UltimateTeamsHook() {
this.teamsAPI = UltimateTeamsAPI.getInstance();
}
@EventHandler
public void onWarpCreate(TeamWarpSetEvent event) {
TeamWarp warp = event.getTeamWarp();
String message = "The team Owner has just created the warp " + warp.getName() + "\nCoordinates: X:" + warp.getWarpX() + ", Y:" + warp.getWarpY() + ", Z:" + warp.getWarpZ();
// send a message to all the online players
event.getTeam().sendTeamMessage(message);
}
}
Last updated