用Java写一个Bukkit1201的 在Gui的Title标题为 123商店 #1 打开Gui的时候输出123后面的文字 和 #后面的数字 用replace方法
你可以使用以下代码来实现你的需求:
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryOpenEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class MyPlugin extends JavaPlugin implements Listener {
@Override
public void onEnable() {
// 注册事件监听器
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onInventoryOpen(InventoryOpenEvent event) {
if (!(event.getPlayer() instanceof Player)) {
return;
}
Player player = (Player) event.getPlayer();
String title = event.getView().getTitle();
// 检查标题是否为 "123商店 #1"
if (title.equals("123商店 #1")) {
// 提取123后面的文字
String text = title.replace("123商店 ", "");
// 提取#后面的数字
String number = title.split("#")[1];
// 输出结果
player.sendMessage("Text: " + text);
player.sendMessage("Number: " + number);
}
}
}
在这个例子中,我们创建了一个名为MyPlugin的Java插件,并实现了Listener接口来监听InventoryOpenEvent事件。当玩家打开一个GUI界面时,如果界面的标题为"123商店 #1",则提取标题中的文本和数字,并向玩家发送消息。
请确保将此代码保存为一个Java文件,并将其放置在Bukkit插件的源代码目录中。然后,编译并将生成的JAR文件放入服务器的插件目录中,以便在Bukkit服务器上运行此插件
原文地址: https://www.cveoy.top/t/topic/ikxs 著作权归作者所有。请勿转载和采集!