Чтобы запретить игрокам переименовывать предметы в наковальне, но при этом оставить возможность использовать наковальню для других предметов, можно воспользоваться событиями в вашем плагине. Вот пример кода, который можно использовать для обработки события
PrepareAnvilEvent и блокировки переименования конкретного предмета:
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.PrepareAnvilEvent;
import org.bukkit.inventory.ItemStack;
public class AnvilListener implements Listener {
@EventHandler
public void onAnvilUse(PrepareAnvilEvent event) {
ItemStack result = event.getResult();
// Проверяем, что результат не null и является вашим предметом
if (result != null && result.getType() == YOUR_CUSTOM_ITEM_TYPE) {
// Блокируем переименование, устанавливая результат в null
event.setResult(null);
// Можно также отправить сообщение игроку, если нужно
event.getPlayer().sendMessage("Вы не можете переименовать этот предмет!");
}
}
}
Не забудьте зарегистрировать ваш слушатель в основном классе плагина:
import org.bukkit.plugin.java.JavaPlugin;
public class YourPlugin extends JavaPlugin {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(new AnvilListener(), this);
}
}
Замените
YOUR_CUSTOM_ITEM_TYPE на тип вашего предмета. Это позволит блокировать переименование только для ваших артефактов, оставляя наковальню доступной для других действий.