以下是一个使用Java编写的Bukkit 1.20版本的back功能的示例代码:

import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.HashMap;
import java.util.Map;

public class BackPlugin extends JavaPlugin implements CommandExecutor {
    private Map<Player, Location> backLocations;

    @Override
    public void onEnable() {
        // 注册命令和监听器
        getCommand("back").setExecutor(this);
        backLocations = new HashMap<>();
    }

    @Override
    public void onDisable() {
        // 清理资源
        backLocations.clear();
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player)) {
            sender.sendMessage("Only players can use this command.");
            return true;
        }

        Player player = (Player) sender;
        if (command.getName().equalsIgnoreCase("back")) {
            if (backLocations.containsKey(player)) {
                Location backLocation = backLocations.get(player);
                player.teleport(backLocation);
                backLocations.remove(player);
                player.sendMessage("Teleported back.");
            } else {
                player.sendMessage("No previous location saved.");
            }
            return true;
        }

        return false;
    }

    public void saveBackLocation(Player player) {
        backLocations.put(player, player.getLocation());
    }
}

要使用这个插件,你需要在Bukkit服务器上编译并加载它。然后,玩家可以使用/back命令来返回到他们上一个位置。你还可以在其他插件或事件处理程序中调用saveBackLocation(Player player)方法来保存玩家的当前位置。

用Java写一个 Bukkit120的back功能

原文地址: https://www.cveoy.top/t/topic/idRA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录