Skip to content

Latest commit

 

History

History
87 lines (63 loc) · 2.37 KB

Developers.creole

File metadata and controls

87 lines (63 loc) · 2.37 KB

API and Developers

To use the NametagEdit API, you have 2 choices: reference NametagEdit in your libraries, or use Maven.

Maven

Add the following repository to your POM.xml:

<repository>
    <id>upstream</id>
    <url>https://ci.nametagedit.com/plugin/repository/everything/</url>
</repository>

Then add the dependency:

<dependency>
    <groupId>com.nametagedit</groupId>
    <artifactId>nametagedit</artifactId>
    <version>4.4.16</version>
</dependency>

API Usage

Events

You can choose to listen to the NametagEvent. This event fires BEFORE a nametag is changed.

There are 5 available parameters. The player, value, change type, change reason and storage type.

Example Usage:

    @EventHandler
    public void onNametagEvent(NametagEvent event) {
        if (event.getChangeReason() == NametagEvent.ChangeReason.PLUGIN) {
            if (event.getChangeType() == NametagEvent.ChangeType.PREFIX) {
                Player player = Bukkit.getPlayerExact(event.getPlayer());
                player.sendMessage("The value was: " + event.getValue());
            }
        }
    }
    @EventHandler
    public void onNametagFirstLoadedEvent(NametagFirstLoadedEvent event) {
        // This event is fired when a player joins the server and their nametag is determined
		// This is useful for custom join messages. For general nametag changes, listen to NametagEvent
		INametag tag = event.getNametag();
		Player player = event.getPlayer();
		
		String prefix = tag.getPrefix();
		String suffix = tag.getSuffix();
		int sortPriority = tag.getSortPriority();
		boolean isPlayerTag = tag.isPlayerTag();
    }

API Methods

There are various methods available through the API. You can access these methods via NametagEdit.getApi()

Example Usage:

    public void something(Player player) {
        NametagEdit.getApi().setPrefix(player, "&c");
    }

Cross-Plugin Compatibility

If you use or develop a plugin that utilizes scoreboards, there can be issues when displaying the correct nametag for a player. Your client could also crash.

To get around this, simply use:

FakeTeam team = NametagEdit.getApi().getFakeTeam(String player);
String name = team.getName();

And reuse the name for the new scoreboard. Credit to @Maximvdw for the workaround, which can be found at Adding Compatibility