用Java写一个Bukkit1201 玩家对准箱子SHIFT+右键可以打开一个GUI界面
下面是一个示例代码,用Java编写了一个Bukkit插件,实现了玩家对准箱子按下SHIFT+右键可以打开一个GUI界面:
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class ChestGUIPlugin extends JavaPlugin implements Listener {
@Override
public void onEnable() {
// 注册事件监听器
Bukkit.getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
Player player = event.getPlayer();
Action action = event.getAction();
Block clickedBlock = event.getClickedBlock();
// 检查是否按下了SHIFT+右键
if (action.equals(Action.RIGHT_CLICK_BLOCK) && player.isSneaking()) {
if (clickedBlock != null && clickedBlock.getType().equals(Material.CHEST)) {
event.setCancelled(true); // 取消默认行为
// 打开GUI界面
Inventory gui = Bukkit.createInventory(null, 9, "Chest GUI");
// 在GUI中添加物品
gui.addItem(new ItemStack(Material.DIAMOND));
gui.addItem(new ItemStack(Material.GOLD_INGOT));
gui.addItem(new ItemStack(Material.IRON_INGOT));
player.openInventory(gui);
}
}
}
}
要使用这个插件,你需要在项目中添加Bukkit的依赖。可以在Maven或Gradle中添加以下依赖:
Maven:
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.20.1-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
Gradle:
dependencies {
compileOnly 'org.bukkit:bukkit:1.20.1-R0.1-SNAPSHOT'
}
然后将上述代码保存为一个Java文件,编译并将生成的插件文件(JAR文件)放入Bukkit服务器的插件文件夹中。当玩家按下SHIFT+右键时,将会打开一个GUI界面,其中包含钻石、金锭和铁锭等物品。你可以根据需要修改GUI的内容和样式。
原文地址: https://www.cveoy.top/t/topic/ifUA 著作权归作者所有。请勿转载和采集!