Вопрос как перекрасить ник

Версия Minecraft
1.20.X

yurosing

Пользователь
Сообщения
1
3.4 Разрешается выкладывание кода, файлов конфигураций, логов и т.д. только под BB-код CODE
я вот сделал код для плагина перекраску ников.
но он не работает
package com.yurosing.colorchange;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;
import org.jetbrains.annotations.NotNull;

public final class ColorChange extends JavaPlugin implements Listener {

@Override
public void onEnable() {
saveDefaultConfig();
getCommand("color").setExecutor(this);
getServer().getPluginManager().registerEvents(this, this);
}

@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {

if (args.length == 1 && args[0].equalsIgnoreCase("reload")) {
reloadConfig();
sender.sendMessage(ChatColor.GREEN + "Config reloaded");
return true;
}

if (!(sender instanceof Player player)) return true;

Inventory inv = Bukkit.createInventory(null, 27, ChatColor.GOLD + "Выбор цвета");

ItemStack blue = new ItemStack(Material.BLUE_DYE);
ItemMeta blueMeta = blue.getItemMeta();
blueMeta.setDisplayName(ChatColor.BLUE + player.getName());
blue.setItemMeta(blueMeta);
inv.setItem(10, blue);

ItemStack yellow = new ItemStack(Material.YELLOW_DYE);
ItemMeta yellowMeta = yellow.getItemMeta();
yellowMeta.setDisplayName(ChatColor.YELLOW + player.getName());
yellow.setItemMeta(yellowMeta);
inv.setItem(12, yellow);

player.openInventory(inv);
return true;
}

@EventHandler
public void onClick(InventoryClickEvent event) {
if (!(event.getWhoClicked() instanceof Player player)) return;
if (!event.getView().getTitle().equals(ChatColor.GOLD + "Выбор цвета")) return;

event.setCancelled(true);

if (event.getSlot() == 10) setColor(player, ChatColor.BLUE);
if (event.getSlot() == 12) setColor(player, ChatColor.YELLOW);

player.closeInventory();
}

private void setColor(Player player, ChatColor color) {
Scoreboard board = Bukkit.getScoreboardManager().getMainScoreboard();
String teamName = "cc_" + color.name();

Team team = board.getTeam(teamName);
if (team == null) {
team = board.registerNewTeam(teamName);
team.setColor(color);
}

for (Team t : board.getTeams()) {
t.removeEntry(player.getName());
}

team.addEntry(player.getName());
}
}
 
Назад
Сверху Снизу