用Java写一个Bukkit1201的 在Gui的Title标题为 商店 #1 打开Gui的时候输出 #后面的数字
以下是一个使用Java编写的示例代码,可以在Bukkit 1.20.1版本中创建一个GUI,并在GUI打开时输出标题中的数字:
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class ShopGUI extends JavaPlugin implements Listener {
private Inventory shopInventory;
@Override
public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
createShopGUI();
}
private void createShopGUI() {
shopInventory = Bukkit.createInventory(null, 9, ChatColor.GREEN + "商店 #1");
// 添加商品到商店GUI
// shopInventory.setItem(slot, itemStack);
}
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
if (event.getInventory().equals(shopInventory)) {
event.setCancelled(true); // 阻止玩家点击GUI中的物品
Player player = (Player) event.getWhoClicked();
player.sendMessage(ChatColor.YELLOW + "打开的GUI标题中的数字为:" + getTitleNumber(shopInventory.getTitle()));
}
}
@EventHandler
public void onInventoryClose(InventoryCloseEvent event) {
if (event.getInventory().equals(shopInventory)) {
// GUI关闭后的逻辑处理
}
}
private int getTitleNumber(String title) {
String[] splitTitle = title.split(" ");
String lastWord = splitTitle[splitTitle.length - 1];
if (lastWord.matches("#\\d+")) {
return Integer.parseInt(lastWord.substring(1));
}
return -1;
}
}
在以上示例代码中,我们创建了一个名为"ShopGUI"的插件,并注册了事件监听器。在插件启用时,我们创建了一个包含9个槽位的商店GUI,并在点击GUI中的物品时输出GUI标题中的数字。
你可以根据自己的需求,添加商品到商店GUI的 createShopGUI() 方法中,并在 onInventoryClick() 方法中处理玩家点击GUI物品后的逻辑。
请注意,以上代码只是一个示例,你需要根据自己的需求进行适当的修改和扩展
原文地址: http://www.cveoy.top/t/topic/ikvo 著作权归作者所有。请勿转载和采集!