a8105
本帖最后由 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,使他成为插件的子类
  1. package com.github.a810587921;

  2. import org.bukkit.plugin.java.JavaPlugin;

  3. public class JC extends JavaPlugin
  4. {

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


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

然后填上:
  1. name: JC
  2. main: com.github.a810587921.JC
复制代码

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





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

然后选择下一步



.classpath和.project不必要选择,可以取消掉选择,导出目标为存放在哪里和命名为什么名字,选择好后就可以选择完成了
F:\JC.jar,这是我填的路径
完成后,你可以自己开个服务器,把XX.jar放在plugins文件夹,然后重启服务器,你会看到"XX插件已被加载"这一行
到这里,恭喜你!你已经制作出了自己的第一个插件,虽然他现在没什么用:D

PS: 如果你觉得该帖子对你有用,请评分一下,人气是不消耗的

         
                                                                                          回到索引                                               下一章            

叫我stere
楼主,虽然我不懂,但还是支持你.......

话说大大是用什么发图片的....求教

sobeit
这篇教程不完善 请转步bukkitwiki

SkyCatcher
请无视楼上。
坐等第二章

sobeit
SkyCatcher 发表于 2014-6-9 23:51
请无视楼上。
坐等第二章

无视你妹啊,我知道你英语不太好的

SkyCatcher
sobeit 发表于 2014-6-9 23:53
无视你妹啊,我知道你英语不太好的

至少我过了那几级了你还没考试资格

nlbbkb
楼上几位别掐架了~顶一个楼主

1277832129
我来帮忙顶了 刚刚没看到

xiao_fan_
支持楼主

xjlxzcdwq
谢谢楼主让我学会遍插件

lauhiulung
可以在public class JC那里继承JavaPlugin,使他成为插件的子类这里加上图片吗?
我不太懂

a8105
lauhiulung 发表于 2014-7-26 16:47
可以在public class JC那里继承JavaPlugin,使他成为插件的子类这里加上图片吗?
我不太懂 ...

图片跟文字没区别..
public class JC extends JavaPlugin
{

}

lauhiulung
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插件已被加载");
    }
}
这些要填在那?

lauhiulung
810587921 发表于 2014-7-26 16:51
图片跟文字没区别..
public class JC extends JavaPlugin
{

还是我看错了?
可以告诉我吗?
我很想整插件

a8105
lauhiulung 发表于 2014-7-26 17:25
不用填其他東西吗?
package com.github.a810587921;

什么填在哪= =

lauhiulung

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整句文字給我看?

a8105
lauhiulung 发表于 2014-7-26 20:30
package com.github.a810587921;

import org.bukkit.plugin.java.JavaPlugin;

你发的这些就是全部了啊= =

lauhiulung
810587921 发表于 2014-7-26 21:30
你发的这些就是全部了啊= =

我不知道位置怎麼放

a8105
lauhiulung 发表于 2014-7-26 21:35
我不知道位置怎麼放

你怎么写文字到txt的就怎么写

lauhiulung
製作完插件后是不是要download 什么前置插件才能运行?

a8105
lauhiulung 发表于 2014-7-27 20:53
製作完插件后是不是要download 什么前置插件才能运行?

麻烦请看好教程再问问题..

lauhiulung
810587921 发表于 2014-7-27 21:06
麻烦请看好教程再问问题..

教程没有说
不知为何
没有插件加载那一行啊
已经完全跟住你说的做

a8105
lauhiulung 发表于 2014-7-27 21:18
教程没有说
不知为何
没有插件加载那一行啊

plugin.yml就是加载的关键..

mingmars
t很不错的

q549365815
额 我也不知道 我自己哪里出错 我跟您的 源码一样 库我也加进去了 然后把插件编译出来 想试试 可就是加载不到这个插件 不知道为什么

a8105
q549365815 发表于 2014-8-19 22:55
额 我也不知道 我自己哪里出错 我跟您的 源码一样 库我也加进去了 然后把插件编译出来 想试试 可就是加载不 ...

截图plugin.yml和主类

q549365815

   

a6254814752
完全看不懂,不过还是辛苦lz了

birdcao
这个方式开始开发是一个不错的开头,
以水桶服提供的api接口作为开始,做一点简单的插件,
不过只用这个接口不一定能处理好界面的问题
我大概看了一下Bukkit Documentation
可以做一些利用 聊天命令行作为交互的插件,
需要在客户端有个不错的界面部分好像还不行,或者我还没有看到
还需要了解更多的其他api接口,
我是个老程序猿了,但是minecraft的开发不了解,
有没有其他的资料的地址,交流一下
谢谢

qq1063246373
810587921 发表于 2014-7-26 22:07
你怎么写文字到txt的就怎么写

你可以发一下那个jar文件吗?

孒情。
支持顶个看看试试把                     

ChengziHtc
到输入那里就卡主了。。。。不知道怎么输入. 输入后出现红色波浪线

xingmot
顶一个!试着写写看

zycboss
马克一下~~

517534027
不会技术的围观T T

痴醉年华。
感谢楼主的贡献

痴醉年华。
java的jdk用什么版本的呀

a8105
痴醉年华。 发表于 2014-11-2 23:47
java的jdk用什么版本的呀

1.7或1.6吧

痴醉年华。

API(JAR)在哪里下载呀,找不到呀

a8105
痴醉年华。 发表于 2014-11-3 09:57
API(JAR)在哪里下载呀,找不到呀

开服务器用的就是

b1b1b123b1
[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


痴醉年华。
楼主,我照着做了很多次还是无法加载,我试了试能够加载其他插件,自己做的插件就是加载不了,楼主帮忙看一下原因。
源码:http://pan.baidu.com/s/1o62Z3dC








a8105
痴醉年华。 发表于 2014-11-4 10:09
楼主,我照着做了很多次还是无法加载,我试了试能够加载其他插件,自己做的插件就是加载不了,楼主帮忙看一 ...

没有空格
name: JC
其他也是

痴醉年华。
810587921 发表于 2014-11-4 15:24
没有空格
name: JC
其他也是

可以了,感谢楼主{:10_512:}

【实习】Xiao-Li
为什么复制import org.bukkit.plugin.java.JavaPlugin;到里面
却显示未导入import org.bukkit.plugin.java.JavaPlugin;

【实习】Xiao-Li
491960546 发表于 2015-6-5 23:47
无法导出JAR文件什么鬼= =求解

.............................

技术控Kevin
终于学会做插件了
谢谢版主

白狼oy
为毛我看到的是图全加载不出来啊!

Minecraft_cloud
感谢分享~感谢MCBBS~第一次学插件{:10_521:}

moheng2014
本帖最后由 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 文件间接引用了它


求解怎么破 。。

服务器里的错误内容是这样的



下一页 最后一页