本帖最后由 810587921 于 2014-11-4 17:47 编辑
需要的工具:
eclipse
如果你需要接触一些教程中没提到的功能等等,你需要百度翻译然后参阅doc
准备工作:
eclipse下载地址:
http://www.eclipse.org/downloads/
eclipse汉化教程:
http://tieba.baidu.com/p/2262774845
doc地址:
http://jd.bukkit.org/
安装好eclipse,汉化并设置好空间后,打开他
然后在包资源管理器这里,右键-新建-Java 项目

项目名:
可以填写为插件名
当你创建好项目后,你需要导入API,API为开服务器用的,craftbukkit-1.6.4-R2.0.jar之类的,对着创建好的项目右键
右键-属性-Java 构建路径-库
然后选择添加外部Jar,选择好API,导入:

导入好后,点击确定
然后伸展开项目的列表

对着src右键-新建-包
包名的命名可以为你的网站:com.XX
或者邮箱:[email protected]等等
不能命名为以下:
org.bukkit
net.bukkit
com.bukkit
net.minecraft
创建好包后,对着包右键-新建-类
类名可以是插件名,或者插件名Listener(监听)
等等
这时候应该是这样

然后在public class JC那里继承JavaPlugin,使他成为插件的子类
复制代码然后插件在开启的时候总是要初始化,因此在JC里写上
public void onEnable()
{
//代码
}
复制代码getLogger().info(信息)为向后台发送信息
onEnable()必须为这样写,请区分好大小写,否则可能会出现为毛插件写好了可是偏偏就是不加载的bug,因此请注意检查
然后得让他加载这个插件,怎么加载呢?
请对着项目(不是src和包!)右键-新建-文件(在文件夹下面,我这个版本)

填上plugin.yml,然后按下完成
打开它

然后填上:
复制代码
JC为插件名字,也就是/plugin指令中显示的名字
version为版本,每当更新插件必须变更(我总是忘记..)
main为包名.主类(不要加.java或者.class!);
这时候应该是这样:


然后就是让他加载了,对着项目右键-导出
然后选择

然后选择下一步

.classpath和.project不必要选择,可以取消掉选择,导出目标为存放在哪里和命名为什么名字,选择好后就可以选择完成了
F:\JC.jar,这是我填的路径
完成后,你可以自己开个服务器,把XX.jar放在plugins文件夹,然后重启服务器,你会看到"XX插件已被加载"这一行
到这里,恭喜你!你已经制作出了自己的第一个插件,虽然他现在没什么用:D
PS: 如果你觉得该帖子对你有用,请评分一下,人气是不消耗的
回到索引 下一章
需要的工具:
eclipse
如果你需要接触一些教程中没提到的功能等等,你需要百度翻译然后参阅doc
准备工作:
eclipse下载地址:
http://www.eclipse.org/downloads/
eclipse汉化教程:
http://tieba.baidu.com/p/2262774845
doc地址:
http://jd.bukkit.org/
安装好eclipse,汉化并设置好空间后,打开他
然后在包资源管理器这里,右键-新建-Java 项目

项目名:
可以填写为插件名
当你创建好项目后,你需要导入API,API为开服务器用的,craftbukkit-1.6.4-R2.0.jar之类的,对着创建好的项目右键
右键-属性-Java 构建路径-库
然后选择添加外部Jar,选择好API,导入:

导入好后,点击确定
然后伸展开项目的列表

对着src右键-新建-包
包名的命名可以为你的网站:com.XX
或者邮箱:[email protected]等等
不能命名为以下:
org.bukkit
net.bukkit
com.bukkit
net.minecraft
创建好包后,对着包右键-新建-类
类名可以是插件名,或者插件名Listener(监听)
等等
这时候应该是这样

然后在public class JC那里继承JavaPlugin,使他成为插件的子类
- package com.github.a810587921;
- import org.bukkit.plugin.java.JavaPlugin;
- public class JC extends JavaPlugin
- {
- }
public void onEnable()
{
//代码
}
- public class JC extends JavaPlugin
- {
- public void onEnable()
- {
- getLogger().info("JC插件已被加载");
- }
- }
onEnable()必须为这样写,请区分好大小写,否则可能会出现为毛插件写好了可是偏偏就是不加载的bug,因此请注意检查
然后得让他加载这个插件,怎么加载呢?
请对着项目(不是src和包!)右键-新建-文件(在文件夹下面,我这个版本)

填上plugin.yml,然后按下完成
打开它

然后填上:
- name: JC
- main: com.github.a810587921.JC
JC为插件名字,也就是/plugin指令中显示的名字
version为版本,每当更新插件必须变更(我总是忘记..)
main为包名.主类(不要加.java或者.class!);
这时候应该是这样:


然后就是让他加载了,对着项目右键-导出
然后选择

然后选择下一步

.classpath和.project不必要选择,可以取消掉选择,导出目标为存放在哪里和命名为什么名字,选择好后就可以选择完成了
F:\JC.jar,这是我填的路径
完成后,你可以自己开个服务器,把XX.jar放在plugins文件夹,然后重启服务器,你会看到"XX插件已被加载"这一行
到这里,恭喜你!你已经制作出了自己的第一个插件,虽然他现在没什么用:D
PS: 如果你觉得该帖子对你有用,请评分一下,人气是不消耗的
回到索引 下一章
楼主,虽然我不懂,但还是支持你.......
话说大大是用什么发图片的....求教
话说大大是用什么发图片的....求教
这篇教程不完善 请转步bukkitwiki
请无视楼上。
坐等第二章
坐等第二章
SkyCatcher 发表于 2014-6-9 23:51
请无视楼上。
坐等第二章
无视你妹啊,我知道你英语不太好的
sobeit 发表于 2014-6-9 23:53
无视你妹啊,我知道你英语不太好的
至少我过了那几级了你还没考试资格
楼上几位别掐架了~顶一个楼主
我来帮忙顶了 刚刚没看到
支持楼主
谢谢楼主让我学会遍插件
可以在public class JC那里继承JavaPlugin,使他成为插件的子类这里加上图片吗?
我不太懂
我不太懂
lauhiulung 发表于 2014-7-26 16:47
可以在public class JC那里继承JavaPlugin,使他成为插件的子类这里加上图片吗?
我不太懂 ...
图片跟文字没区别..
public class JC extends JavaPlugin
{
}
810587921 发表于 2014-7-26 16:51
图片跟文字没区别..
public class JC extends JavaPlugin
{
不用填其他東西吗?
package com.github.a810587921;
import org.bukkit.plugin.java.JavaPlugin;
public class JC extends JavaPlugin
{
}
public class JC extends JavaPlugin
{
public void onEnable()
{
getLogger().info("JC插件已被加载");
}
}
这些要填在那?
810587921 发表于 2014-7-26 16:51
图片跟文字没区别..
public class JC extends JavaPlugin
{
还是我看错了?
可以告诉我吗?
我很想整插件
lauhiulung 发表于 2014-7-26 17:25
不用填其他東西吗?
package com.github.a810587921;
什么填在哪= =
810587921 发表于 2014-7-26 20:24
什么填在哪= =
package com.github.a810587921;
import org.bukkit.plugin.java.JavaPlugin;
public class JC extends JavaPlugin
{
}
public class JC extends JavaPlugin
{
public void onEnable()
{
getLogger().info("JC插件已被加载");
}
}
這些,可以send照片或者copy整句文字給我看?
lauhiulung 发表于 2014-7-26 20:30
package com.github.a810587921;
import org.bukkit.plugin.java.JavaPlugin;
你发的这些就是全部了啊= =
lauhiulung 发表于 2014-7-26 21:35
我不知道位置怎麼放
你怎么写文字到txt的就怎么写
製作完插件后是不是要download 什么前置插件才能运行?
lauhiulung 发表于 2014-7-27 20:53
製作完插件后是不是要download 什么前置插件才能运行?
麻烦请看好教程再问问题..
lauhiulung 发表于 2014-7-27 21:18
教程没有说
不知为何
没有插件加载那一行啊
plugin.yml就是加载的关键..
t很不错的
额 我也不知道 我自己哪里出错 我跟您的 源码一样 库我也加进去了 然后把插件编译出来 想试试 可就是加载不到这个插件 不知道为什么
q549365815 发表于 2014-8-19 22:55
额 我也不知道 我自己哪里出错 我跟您的 源码一样 库我也加进去了 然后把插件编译出来 想试试 可就是加载不 ...
截图plugin.yml和主类
哦 

完全看不懂,不过还是辛苦lz了
这个方式开始开发是一个不错的开头,
以水桶服提供的api接口作为开始,做一点简单的插件,
不过只用这个接口不一定能处理好界面的问题
我大概看了一下Bukkit Documentation
可以做一些利用 聊天命令行作为交互的插件,
需要在客户端有个不错的界面部分好像还不行,或者我还没有看到
还需要了解更多的其他api接口,
我是个老程序猿了,但是minecraft的开发不了解,
有没有其他的资料的地址,交流一下
谢谢
以水桶服提供的api接口作为开始,做一点简单的插件,
不过只用这个接口不一定能处理好界面的问题
我大概看了一下Bukkit Documentation
可以做一些利用 聊天命令行作为交互的插件,
需要在客户端有个不错的界面部分好像还不行,或者我还没有看到
还需要了解更多的其他api接口,
我是个老程序猿了,但是minecraft的开发不了解,
有没有其他的资料的地址,交流一下
谢谢
810587921 发表于 2014-7-26 22:07
你怎么写文字到txt的就怎么写
你可以发一下那个jar文件吗?
支持顶个看看试试把
到输入那里就卡主了。。。。不知道怎么输入. 输入后出现红色波浪线
顶一个!试着写写看
马克一下~~
不会技术的围观T T
感谢楼主的贡献
java的jdk用什么版本的呀
痴醉年华。 发表于 2014-11-2 23:47
java的jdk用什么版本的呀
1.7或1.6吧
810587921 发表于 2014-11-2 23:54
1.7或1.6吧
API(JAR)在哪里下载呀,找不到呀
痴醉年华。 发表于 2014-11-3 09:57
API(JAR)在哪里下载呀,找不到呀
开服务器用的就是
[size=14.2857151031494px]新人请教一下,求楼主解答{:10_560:}[size=14.2857151031494px]。。。。不能截图,叙述一下。。。
[size=14.2857151031494px]17:14:31 [信息] Starting minecraft server version 1.6.4
[size=14.2857151031494px]17:14:31 [信息] Loading properties
[size=14.2857151031494px]17:14:31 [信息] Default game type: SURVIVAL
[size=14.2857151031494px]17:14:31 [信息] This server is running CraftBukkit version git-Spigot-1.6.4-R2.0
[size=14.2857151031494px]-79-g3e87b2b (MC: 1.6.4) (Implementing API version 1.6.4-R2.1-SNAPSHOT)
[size=14.2857151031494px]17:14:31 [信息] Generating keypair
[size=14.2857151031494px]17:14:32 [信息] Starting Minecraft server on *:25565
[size=14.2857151031494px]17:14:32 [严重] Could not load 'plugins\wuming.jar' in folder 'plugins'
[size=14.2857151031494px]org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: com.
[size=14.2857151031494px]gmail.wuming.JC
[size=14.2857151031494px] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
[size=14.2857151031494px]ava:184)
[size=14.2857151031494px] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
[size=14.2857151031494px]java:306)
[size=14.2857151031494px] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
[size=14.2857151031494px].java:230)
[size=14.2857151031494px] at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugins(CraftServer.ja
[size=14.2857151031494px]va:245)
[size=14.2857151031494px] at net.minecraft.server.v1_6_R3.DedicatedServer.init(DedicatedServer.jav
[size=14.2857151031494px]a:118)
[size=14.2857151031494px] at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
[size=14.2857151031494px]:399)
[size=14.2857151031494px] at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
[size=14.2857151031494px]83)
[size=14.2857151031494px]Caused by: java.lang.ClassNotFoundException: com.gmail.wuming.JC
[size=14.2857151031494px] at java.net.URLClassLoader$1.run(Unknown Source)
[size=14.2857151031494px] at java.net.URLClassLoader$1.run(Unknown Source)
[size=14.2857151031494px] at java.security.AccessController.doPrivileged(Native Method)
[size=14.2857151031494px] at java.net.URLClassLoader.findClass(Unknown Source)
[size=14.2857151031494px] at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader
[size=14.2857151031494px].java:80)
[size=14.2857151031494px] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
[size=14.2857151031494px]java:53)
[size=14.2857151031494px] at java.lang.ClassLoader.loadClass(Unknown Source)
[size=14.2857151031494px] at java.lang.ClassLoader.loadClass(Unknown Source)
[size=14.2857151031494px] at java.lang.Class.forName0(Native Method)
[size=14.2857151031494px] at java.lang.Class.forName(Unknown Source)
[size=14.2857151031494px] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
[size=14.2857151031494px]ava:173)
[size=14.2857151031494px] ... 6 more
[size=14.2857151031494px]17:14:31 [信息] Starting minecraft server version 1.6.4
[size=14.2857151031494px]17:14:31 [信息] Loading properties
[size=14.2857151031494px]17:14:31 [信息] Default game type: SURVIVAL
[size=14.2857151031494px]17:14:31 [信息] This server is running CraftBukkit version git-Spigot-1.6.4-R2.0
[size=14.2857151031494px]-79-g3e87b2b (MC: 1.6.4) (Implementing API version 1.6.4-R2.1-SNAPSHOT)
[size=14.2857151031494px]17:14:31 [信息] Generating keypair
[size=14.2857151031494px]17:14:32 [信息] Starting Minecraft server on *:25565
[size=14.2857151031494px]17:14:32 [严重] Could not load 'plugins\wuming.jar' in folder 'plugins'
[size=14.2857151031494px]org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: com.
[size=14.2857151031494px]gmail.wuming.JC
[size=14.2857151031494px] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
[size=14.2857151031494px]ava:184)
[size=14.2857151031494px] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
[size=14.2857151031494px]java:306)
[size=14.2857151031494px] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
[size=14.2857151031494px].java:230)
[size=14.2857151031494px] at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugins(CraftServer.ja
[size=14.2857151031494px]va:245)
[size=14.2857151031494px] at net.minecraft.server.v1_6_R3.DedicatedServer.init(DedicatedServer.jav
[size=14.2857151031494px]a:118)
[size=14.2857151031494px] at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
[size=14.2857151031494px]:399)
[size=14.2857151031494px] at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
[size=14.2857151031494px]83)
[size=14.2857151031494px]Caused by: java.lang.ClassNotFoundException: com.gmail.wuming.JC
[size=14.2857151031494px] at java.net.URLClassLoader$1.run(Unknown Source)
[size=14.2857151031494px] at java.net.URLClassLoader$1.run(Unknown Source)
[size=14.2857151031494px] at java.security.AccessController.doPrivileged(Native Method)
[size=14.2857151031494px] at java.net.URLClassLoader.findClass(Unknown Source)
[size=14.2857151031494px] at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader
[size=14.2857151031494px].java:80)
[size=14.2857151031494px] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
[size=14.2857151031494px]java:53)
[size=14.2857151031494px] at java.lang.ClassLoader.loadClass(Unknown Source)
[size=14.2857151031494px] at java.lang.ClassLoader.loadClass(Unknown Source)
[size=14.2857151031494px] at java.lang.Class.forName0(Native Method)
[size=14.2857151031494px] at java.lang.Class.forName(Unknown Source)
[size=14.2857151031494px] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
[size=14.2857151031494px]ava:173)
[size=14.2857151031494px] ... 6 more
810587921 发表于 2014-11-4 15:24
没有空格
name: JC
其他也是
可以了,感谢楼主{:10_512:}
为什么复制import org.bukkit.plugin.java.JavaPlugin;到里面
却显示未导入import org.bukkit.plugin.java.JavaPlugin;
却显示未导入import org.bukkit.plugin.java.JavaPlugin;
491960546 发表于 2015-6-5 23:47
无法导出JAR文件什么鬼= =求解
.............................
终于学会做插件了
谢谢版主
谢谢版主
感谢分享~感谢MCBBS~第一次学插件{:10_521:}
本帖最后由 moheng2014 于 2015-8-2 18:11 编辑
JAR 导出完成,但带有警告。请参阅“详细信息”以获取更多信息。
已导出,但存在编译错误:moheng0001/src/com/github/a810587921/mohengcj0001.java
怎么办 ,,
错误行内容:package qq570084949;
无法解析类型 com.avaje.ebean.EbeanServer。从必需的 .class 文件间接引用了它
用我开服的jar文件就会出现 无法解析类型 com.avaje.ebean.EbeanServer。从必需的 .class 文件间接引用了它
然后换了别的不会提示这些错误的,在测试的时候又会出现 无法解析类型 com.avaje.ebean.EbeanServer。从必需的 .class 文件间接引用了它
求解怎么破 。。
服务器里的错误内容是这样的
JAR 导出完成,但带有警告。请参阅“详细信息”以获取更多信息。
已导出,但存在编译错误:moheng0001/src/com/github/a810587921/mohengcj0001.java
怎么办 ,,
错误行内容:package qq570084949;
无法解析类型 com.avaje.ebean.EbeanServer。从必需的 .class 文件间接引用了它
用我开服的jar文件就会出现 无法解析类型 com.avaje.ebean.EbeanServer。从必需的 .class 文件间接引用了它
然后换了别的不会提示这些错误的,在测试的时候又会出现 无法解析类型 com.avaje.ebean.EbeanServer。从必需的 .class 文件间接引用了它
求解怎么破 。。
服务器里的错误内容是这样的


