热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Minecraft1.7.2基于BukkitAPI的插件编写教程《一》

基于BukkitAPI的插件编写教程在教程开始之前,请确保你有一定的编程基础.如果你对编程属于一无所知,那么请你先去阅读Java编程基础.准备工作首先
基于Bukkit API的插件编写教程
在教程开始之前,请确保你有一定的编程基础.如果你对编程属于一无所知,那么请你先去阅读Java编程基础.

准备工作

首先你要准备一个IDE和一个JDK
JDK我推荐你使用JDK 7 虽然Java 8已经发布,但是我还是推荐你使用Java 7 
下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
IDE方面有很多的选择 比如IDEA Eclipse NetBeans
这里我们使用Eclipse
下载地址: http://www.eclipse.org/downloads/

这里提供的Eclipse和JDK都存在32bit 和64bit的选择,请根据自己的系统来选择

当你下载完Eclipse和JDK后我们就可以开始安装了

关于JDK的安装 你还需要进行环境变量配置
关于JDK的环境配置 网络上有很多
http://blog.csdn.net/tianshuai1111/article/details/7367700
http://jingyan.baidu.com/article/c85b7a6414f2ee003bac95d5.html

关于Eclipse的安装 只需要解压到一个目录 然后运行他即可.第一次运行会让你选择工作目录,不过这无关紧要.
请按照自己的习惯设置相关的目录

其次你需要对你即将要编写的插件有一个明确的计划
现在请你思考一下这些问题
  1. 你要做什么类型的插件
  2. 这个插件是拿来做什么
  3. 插件的实现方式
当你思考完后,我相信你有一个明确的方案了.
不过我相信你对于第三点 插件的实现方式  一定会存在疑问(群众 :废话你都没说 我咋知道

写一个主类

至此 我们正式进入了插件的编写环节
首先 我们新建一个Java 项目 如图:

选择新建>Java项目后,会出现 如图所示


项目名:这是作为Java项目的名称 属于一种代号 方便你能找到他
位置:Java项目存储在本地磁盘的位置 当你勾选使用默认位置的时候 Java项目所在的位置总是在{workspace}/{project} 
最后 笔者编辑后的 如图所示:

接下来 请不要点击完成 我们还需要为该Java项目添加依赖
点击下一步 选择库>添加外部JAR 如图所示

图中我们选定的bukkit-1.7.2-R0.2.jar正是本教程所使用的Bukkit API  插件的编写 全部依赖于这个jar文件
下载地址:http://pan.baidu.com/s/1mgyszMC<百度云> 
当我们添加完成后 就可以点击完成了
当你完成这步后 你可以清晰的看到你的包资源浏览器中出现了一个叫做SimplePlugin的空项目


到此为止 我们已经完成了Bukkit 插件编写的第一步 项目的建立 当然如果你的插件中出现了中文 请设置项目的编码为UTF-8

接下来 这个项目我们就要为其添加源码
右击这个项目 选择新建>类 

这里笔者 已经填写好了相关的信息
包:关于包的概念 这里我引用了http://blog.sina.com.cn/s/blog_4cd9865b010009h1.html这篇博文
在Java的编写中 你有一些命名规则需要去了解 这只是作为一个潜规则存在
参考地址:http://wenku.baidu.com/view/2e56f51a964bcf84b9d57b18.html

名称:类的名称 具体命名规则 请参考上方的参考资料
超类:这个类继承的父类 在Bukkit 插件编写中 指定的主类你必须要继承JavaPlugin这个类 当然你也可以实现JavaPlugin这个类中所实现的接口

当你新建好类 IDE会根据你的这些设置 自动帮你补全代码

这时你的插件还需要对其重载 加载和关闭的方法
他们看起来是这样的
    @Override
    public void onEnable()
    {
        
    }
    @Override
    public void onDisable()
    {
        
    }
@Override 是JDK提供的一个高级注释 用于表示重载
当你完成对onEnable()和onDisable()的重载时 你的主类也就完成了 虽然并没有什么功能

为了让插件看起来cool  我们准备在这两个方法中加入点什么

JavaPlugin 作为Bukkit API 提供的一个类 当你继承他时 会提供一些已经实现的功能给与作为插件编写者的你 
this 是Java中的关键词 用以表明当前实例
getLogger() 是JavaPlugin提供的一个方法 用于获取插件的Logger
这样我们 华而不实 的主类就完成了。

对于Bukkit的编写我们还缺少一步 那就是为Bukkit指明插件的文件
这个文件就是plugin.yml
在Bukkit的插件加载机制中 plugin.yml是至关重要的标识 如果没有plugin.yml 插件也就不会被载入

我们选中项目 右击选择 新建>文件
文件名为plugin.yml
当我们建立完成后 IDE为我们默认打开plugin.yml文件

如图所示 这是我完成的plugin.yml
对于Bukkit的插件加载机制来说 你必须填写的三个项目
name:插件的名字
version: 插件的版本
main: 插件的主类 请注意是<主类所在的包>.<主类>
(如果 你在plugin.yml 使用了中文 请使用转码工具转换为UTF-8 无Bom)
关于plugin.yml更加详细的说明 请参考官方的Wiki http://wiki.bukkit.org/Plugin_YAML

插件的打包

当你为你的插件写好主类和plugin.yml 这个时候就需要打包插件来实现测试
在你的Eclipse中选中项目 然后右击>导出>Java-JAR文件
如图所示进行设置

如果IDE提示导出失败 请再进行导出一次 因为失败的原因 很可能是资源并没有同步.

测试你的插件

把你打包完成的插件放到你找好的服务端中的plugins文件夹


然后我们运行我们的服务端 就可以从图片中看到 插件被正确的运行了

至此 一个仅有控制台通告功能的插件我们就完成了

Tips:
      Bukkit的组成成分:主类,自制事件,监听器,命令执行器,资源文件,信息文件

课后作业

了解Plugin.yml的参数

推荐阅读
  • 本文深入探讨了如何利用Maven高效管理项目中的外部依赖库。通过介绍Maven的官方依赖搜索地址(),详细讲解了依赖库的添加、版本管理和冲突解决等关键操作。此外,还提供了实用的配置示例和最佳实践,帮助开发者优化项目构建流程,提高开发效率。 ... [详细]
  • 本文介绍了如何使用Java和PDFBox库根据坐标值对PDF文件进行局部切割的方法。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • C++ 开发实战:实用技巧与经验分享
    C++ 开发实战:实用技巧与经验分享 ... [详细]
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
  • 基于Web的Kafka管理工具Kafkamanager首次访问Web界面的详细配置指南(附图解)
    首次访问Kafkamanager Web界面时,需要对Kafka集群进行配置。这一过程相对简单,用户只需依次点击【Cluster】>【Add Cluster】,按照提示完成相关设置即可。本文将通过图文并茂的方式,详细介绍每一步的配置步骤,帮助用户快速上手Kafkamanager。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • Maven Web项目创建时JSP文件常见错误及解决方案
    Maven Web项目创建时JSP文件常见错误及解决方案 ... [详细]
author-avatar
因为梦想2013
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有