首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bukkit -无法启动runTaskTimerAsynchronously();

Bukkit -无法启动runTaskTimerAsynchronously();
EN

Stack Overflow用户
提问于 2012-12-29 22:37:46
回答 2查看 1.2K关注 0票数 1

我正在创建一个bukkit插件,每隔几分钟发送一条消息就会遇到问题。它以前是可以工作的,但是我现在使用的是bukkit 1.4.6测试版,但它不是。以前的方法被弃用了,但它给了我同样的错误,所以我决定切换到它的替代品,但没有运气。

下面是我的代码:

代码语言:javascript
复制
Bukkit.getServer().getScheduler().runTaskTimerAsynchronously((Plugin) this, new Runnable() {
    public void run() {
        Bukkit.broadcastMessage(ChatColor.DARK_PURPLE + "" + ChatColor.MAGIC + "aaaaaa" + ChatColor.RESET + "    Important    " + ChatColor.DARK_PURPLE + "" + ChatColor.MAGIC + "aaaaaa" + ChatColor.RESET + ":");
        Bukkit.broadcastMessage("");
        Bukkit.broadcastMessage("  Hacks are stricly prohibited. A list of approved mods is available on our website. Use of mods not approved by the arenacraft team may lead to a permanent ban.");
    }}, 60L, 36000L);
}

我正在使用this

控制台为我提供了以下内容:

代码语言:javascript
复制
me.silvershad0wz.arenacraft.Notices (the class this code is from) Cannot be cast to org.bukkit.plugin.Plugin.

其次是许多错误。它来自于此

代码语言:javascript
复制
Bukkit.getServer().getScheduler().runTaskTimerAsynchronously((Plugin) this, new Runnable() {

线路。

感谢任何帮助,因为我不知道"Cannot be cast to“错误是什么意思。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-30 03:26:58

是否从扩展JavaPlugin的主类调用调度器?如果不是,则必须通过将显示为(Plugin) this的位置更改为Bukkit.getServer().getPluginManager().getPlugin("YOUR_PLUGIN_NAME")来获取该插件的一个实例

票数 4
EN

Stack Overflow用户

发布于 2013-01-04 07:18:27

插件的主类扩展了JavaPlugin,而不是插件。:)

我认为简单的改变

代码语言:javascript
复制
.runTaskTimerAsynchronously((Plugin) this, new Runnable()

代码语言:javascript
复制
.runTaskTimerAsynchronously((JavaPlugin) this, new Runnable()

都会起作用,甚至

代码语言:javascript
复制
.runTaskTimerAsynchronously(this, new Runnable()

如果在主类中调用,则为

来源:http://wiki.bukkit.org/Plugin_Tutorial#Creating_the_Plugin.27s_Class

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14082660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档