在Bukkit 1.20中,PlaceholderAPI的用法发生了变化,getPlaceholders()方法已被移除。取而代之的是使用PlaceholderAPI的静态方法registerPlaceholderHook()来注册你自己的占位符。

下面是一个示例,展示了如何使用新的方法来注册占位符:

import me.clip.placeholderapi.PlaceholderAPI;
import me.clip.placeholderapi.PlaceholderHook;

public class MyPlaceholderHook implements PlaceholderHook {

    @Override
    public String onPlaceholderRequest(Player player, String placeholder) {
        // 在这里处理你的占位符逻辑
        if (placeholder.equalsIgnoreCase("my_placeholder")) {
            // 返回你的占位符结果
            return "Hello, world!";
        }
        return null;
    }
}

public class MyPlugin extends JavaPlugin {

    @Override
    public void onEnable() {
        // 注册你的占位符
        PlaceholderAPI.registerPlaceholderHook("my_plugin", new MyPlaceholderHook());
    }

    @Override
    public void onDisable() {
        // 在插件禁用时取消注册占位符
        PlaceholderAPI.unregisterPlaceholderHook("my_plugin");
    }
}

在上面的示例中,我们创建了一个自定义的PlaceholderHook类来处理我们的占位符逻辑。在onPlaceholderRequest()方法中,我们检查传入的占位符是否与我们的占位符匹配,并返回相应的结果。

然后,在插件的onEnable()方法中,我们使用PlaceholderAPI的静态方法registerPlaceholderHook()来注册我们的占位符。第一个参数是你的插件的名称,用于标识你的占位符。第二个参数是你实现的PlaceholderHook接口的实例。

最后,在插件的onDisable()方法中,我们使用PlaceholderAPI的静态方法unregisterPlaceholderHook()来取消注册我们的占位符。

请注意,这只是一个示例,你需要根据你的具体需求来实现自己的占位符逻辑。

Bukkit120 中在PlaceholderAPI2113版本内 关于 PlaceholderAPIgetPlaceholders的用法已移除 如何使用

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

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