序言
一、要想成功编写一个大型插件,你应准备好如下条件
充沛的精力,充足的时间,和坚持不懈的精神——制作插件是一个既耗时又耗精力的事情,建议高中生不要参与进来,等毕业再来也不迟;
具有自主学习的能力——一个大型插件需要多种知识的配合,比起忙碌的人,搜索引擎是你最好的朋友;
较高的英文水平——MC是外国人编写的,Bukkit也是外国人编写的,看英文更容易理解其本质,所以英语知识是必要的;
团队合作精神——如果你拥有一个有同样爱好同样目标相互信赖的团队,效率将大大提高,插件质量也将更好,其它事情也是如此;
对计算机语言有较大兴趣,而不是一看代码就懵——看一眼就腰酸背痛腿肚软,头昏脑胀胃筋挛,肯定是无法编写下去的;
注意运动,健康地进行插件编写这一活动——长时间坐在电脑前对身体不好,而且还容易产生疲劳和厌倦感;
JAVA开发组件(JDK)——你做插件需要用到的最基本的工具,推荐再下载一个集成开发环境(IDE),下一章会说明安装方法;
综上所述只要你有时间,有能力,就可以编个小插件,大型插件建议团队合作。而编写插件时,不要忘了保持自身良好的状态。
二、简略认识JAVA
JAVA,是一种可以撰写跨平台应用软件的面向对象的程序设计语言,以人认识世界的方式来设计编程的方式。
JAVA主要术语:
类:JAVA程序的基本组成成分,基于面向对象思想,一些具有相同特点的事物被抽象化成一个类;
对象(实例):从类中具体化(实例化)的具有该类特点的某一个事物;
句柄(引用,指针):你不能直接操作对象,因此你需要一个句柄来确定是哪个对象并操作。
构造器:一般需要调用构造器才能实例化出一个对象;
成员变量(属性):事物具有的特点被储存在属性里,可以被一个类所拥有,也可以被每一个单独对象所拥有;
函数(方法):你与事物之间的交互用方法来完成;
静态:属于类,也就是所有对象共同拥有的部分被称为静态成员。
非静态:属于每一个单独对象的部分被称为非静态成员(这个成员可能名称相同但内容不同)。
三、简略认识CraftBukkit插件成分
CB插件主要成分:
插件主类:一般与插件同名,作为插件的启动器,服务器启动时将首先执行插件主类里的方法,
所有插件功能最初都由此触发;
事件:游戏内数据的变化将引起事件,事件按其主要参与对象的主动和被动的行为特点分类;
监听器:按事件的类别分类,一个监听器可以监听一个或多个事件,通过事件的发生触发一些代码;
命令执行器:当玩家输入某一命令时(聊天时内容以“/”开头),由命令执行器执行该命令所触发的代码;
信息文件:plugin.yml,记录插件的主类位置,名称,以及版本等等,需要手动添加,缺少此文件插件将无法运行;
设置文件:CB为每个插件都配置了一个默认的设置文件(config.yml),你可以将插件的相关设定都放置在此文件中;
数据库:用来储存相关数据,虽然YAML文件同样能做到,但用数据库更安全更稳定(方便还真不敢说)。
四、为你的插件做个计划
你要做一个什么方面的插件;
你的插件能干什么;
你要如何使你的插件起作用;
你做这个插件后对服务器有什么好处;
如何能使你的插件达到小而精悍。