Minecraft 1.7.2 基于BukkitAPI的插件编写教程《二》

基于Bukkit API的插件编写教程

在教程开始之前,请确保你有一定的编程基础.如果你对编程属于一无所知,那么请你先去阅读Java编程基础.
上一节 

内容提要

上一节我们告诉了大家如何写出一个空的插件.当然一个空的插件也是插件,但这完全不够.
在本节笔者将告诉大家如何为插件写一个监听器和一个命令执行器

写一个插件的监听器

监听器是插件用于监视服务器玩家或者服务端动作的类,默认需要实现Listener接口
<关于接口的参考文章:http://blog.csdn.net/yjkwf/article/details/7238847>。
<在1.1以前,监听器内的事件方法是以继承方式创建的,名称都是固定的(因为要覆盖),严格而繁琐;
1.1以后,CB作出较大改动,你仅需实现Listener接口,事件方法也变为依靠一个高级注释(EventHandler)来进行创建,自由且简便。
目前,你可以随意的创建一个监听器,方法也是任意的,只不过不要忘记注释“EventHandler”。>
这里我们举一个例子进行说明
我们要让玩家不能放置一个钻石块,只有拥有相关权限<me.hopeasd.a>的玩家才可以放置
首先我们需要新建一个类 名字就叫做SimplePluginListener
如图 
 
在你点击完成后 插件就会帮你自动完成相关包的导入.
创建完成后的监听器中没有任何的方法 这时就需要玩家去写监听某些事件的方法
我们要完成 让玩家不能放置钻石块 就必然需要找到Bukkit API中相关的事件类。
关于事件 我们之后再来说明

在图片中 我们可以清晰的看到 Bukkit 把所有事件都放置在org.bukkit.event下
我们因为要对方块的放置进行操作 所以我搜寻到了org.bukkit.event.block下的BlockPlaceEvent
笔者从Bukkit API 的JavaDocs上搜寻到关于这个事件的构造<http://jd.bukkit.org/rb/apidocs/org/bukkit/event/block/BlockBreakEvent.html>
发现这个事件正是我们所需要的事件。
前面说过 Bukkit API从1.1之后就进行了大改,不再和以前一样进行继承然后重载来实现事件的监听。现在我们可以通过高级注释EventHandler来进行标示我们的方法
关于EventHandler 我们就必须要了解他的参数
在JavaDocs上 我查到了相关的数据<http://jd.bukkit.org/rb/apidocs/org/bukkit/event/EventHandler.html>
这个注释中存在着两个参数 一个是EventPriority类型的priority 一个是boolean类型的ignoreCancelled 
Bukkit对两者都做出了说明  前者是用来表示事件接受的顺序 后者是用来表示忽视Cancelled处理
EventPriority是一个枚举<关于枚举的参考资料:
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值