Minecraft(我的世界)中文论坛

标题: Spigot插件开发教程-创建一个空白的插件

作者: 彪悍的新手    时间: 2015-8-6 22:08
标题: Spigot插件开发教程-创建一个空白的插件
本帖最后由 彪悍的新手 于 2015-8-11 19:32 编辑


0、一个空白的插件


介于BBS上关于Spigot插件的教程较少且不完整于是这个教程就诞生了~参考内容:官方Wiki
因为网上Java基础教程略多,请有Java基础的人再来
本教程使用Eclipse。

1、启动Eclipse。


2、创建一个新Java项目


3、导入Spigot核心


4、创建一个新的包


5、创建一个类并且让他继承主类


6、让插件吱一声

7、让服务器知道这个插件


8、导出插件



有错指出







作者: 云闪    时间: 2015-8-7 07:15
暂时没发现这玩意和Bukkit插件开发有什么区别_(:_」∠)_
作者: 123645525    时间: 2015-8-7 11:33
为什么我写的插件 服务器都不读取

作者: 彪悍的新手    时间: 2015-8-7 11:57
123645525 发表于 2015-8-7 11:33
为什么我写的插件 服务器都不读取

第一种可能:plugin.yml配置错误
第二种可能:未导入包/主类编写错误
作者: 123645525    时间: 2015-8-7 15:24
彪悍的新手 发表于 2015-8-7 11:57
第一种可能:plugin.yml配置错误
第二种可能:未导入包/主类编写错误

我的配置写错了
作者: 低调的奶茶    时间: 2015-8-9 16:51
图片都挂了!
作者: 850639946    时间: 2015-9-27 13:14
请问一下spigot插件开放和bukkit有什么不同?就API不同吗?
作者: ptwmc    时间: 2015-10-1 22:27
提示: 该帖被管理员或版主屏蔽
作者: 凯文丶    时间: 2015-10-13 13:20
楼主。能更新么QWQ
作者: 点就开始给    时间: 2015-12-28 13:58
怎么导出插件 图挂了

作者: 2541459039    时间: 2016-1-1 10:08
楼主 开服jar和API核心是一个文件?
作者: kjkj2173135    时间: 2016-2-22 10:25
@Override似乎没什么用
作者: q513902026    时间: 2016-2-23 08:52
kjkj2173135 发表于 2016-2-22 10:25
@Override似乎没什么用

@override 这个注解是告诉编译器 检测该方法是否从父类继承,且是否被final修饰 检测用
作者: 冰心丶    时间: 2016-4-16 11:45
图片死翘翘了
作者: guoql666    时间: 2016-7-26 23:50
看见的人能发一下汉化后的软件么,可以加我QQ发。谢谢了
作者: 在下小熊猫    时间: 2016-7-28 03:24
很详细可以
作者: Mr_Hai    时间: 2016-7-28 17:58
这让那些新手情何以堪
作者: 苦力怕服主    时间: 2016-7-29 22:16
我看别人开发的那些插件都好羡慕...于是看到了楼主的帖子自己去开发了
作者: 苦力怕服主    时间: 2016-7-29 22:17
guoql666 发表于 2016-7-26 23:50
看见的人能发一下汉化后的软件么,可以加我QQ发。谢谢了

我汉化也搞了好长时间
作者: 2571612311    时间: 2016-7-30 17:53

[17:31:48 ERROR]: Could not load 'plugins\demo.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
inLoader.java:164) ~[spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
.java:133) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.ja
va:291) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:74
0) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.bukkit.Bukkit.reload(Bukkit.java:534) [spigot-1.8.7.jar:git-Spigo
t-b3c0272-7723b90]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:
25) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
1) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServe
r.java:642) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(Craf
tServer.java:628) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:
404) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:3
68) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:6
57) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java
:560) [spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_91]
Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInp
utException: Input length = 1
        at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)
~[spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60) ~
[spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:381) ~[spigot-1.8.7.jar:git-Sp
igot-b3c0272-7723b90]
        at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.
java:232) ~[spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
inLoader.java:159) ~[spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        ... 13 more
Caused by: java.nio.charset.MalformedInputException: Input length = 1
        at java.nio.charset.CoderResult.throwException(Unknown Source) ~[?:1.8.0
_91]
        at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[?:1.8.0_91]
        at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[?:1.8.0_91]
        at java.io.InputStreamReader.read(Unknown Source) ~[?:1.8.0_91]
        at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:123)
~[spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at java.io.Reader.read(Unknown Source) ~[?:1.8.0_91]
        at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184)
~[spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60) ~
[spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:381) ~[spigot-1.8.7.jar:git-Sp
igot-b3c0272-7723b90]
        at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.
java:232) ~[spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
inLoader.java:159) ~[spigot-1.8.7.jar:git-Spigot-b3c0272-7723b90]
        ... 13 more
这是报错,为什么不能加载
作者: 沙瘪列夫斯    时间: 2016-7-30 19:16
真不错,好评!
作者: ___5    时间: 2016-12-17 02:55
建议最后把整个代码合起来示范出来,因为。。。不知道导入包写在哪

作者: 古明地兔    时间: 2016-12-18 16:53
可不可以加一个Eclipse的下载链接、
作者: 123159357789    时间: 2017-1-14 11:04
有些图片不显示
作者: 123159357789    时间: 2017-1-14 12:06
[11:59:11 ERROR]: Could not load 'plugins\插件.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
inLoader.java:162) ~[spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
.java:133) [spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at org.bukkit.craftbukkit.v1_11_R1.CraftServer.loadPlugins(CraftServer.j
ava:300) [spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at net.minecraft.server.v1_11_R1.DedicatedServer.init(DedicatedServer.ja
va:204) [spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.jav
a:542) [spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_112]
Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInp
utException: Input length = 1
        at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)
~[spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60) ~
[spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:381) ~[spigot-1.11.2.jar:git-S
pigot-7d78b81-746cf0f]
        at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.
java:232) ~[spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
inLoader.java:157) ~[spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        ... 5 more
Caused by: java.nio.charset.MalformedInputException: Input length = 1
        at java.nio.charset.CoderResult.throwException(Unknown Source) ~[?:1.8.0
_112]
        at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[?:1.8.0_112]
        at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[?:1.8.0_112]
        at java.io.InputStreamReader.read(Unknown Source) ~[?:1.8.0_112]
        at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:123)
~[spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at java.io.Reader.read(Unknown Source) ~[?:1.8.0_112]
        at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184)
~[spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60) ~
[spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:381) ~[spigot-1.11.2.jar:git-S
pigot-7d78b81-746cf0f]
        at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.
java:232) ~[spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
inLoader.java:157) ~[spigot-1.11.2.jar:git-Spigot-7d78b81-746cf0f]
        ... 5 more
作者: fyyo429    时间: 2017-1-24 17:15
赞。
建议提醒一下,引用库的时候应该引用SpigotAPI
若使用的是Spigot,PaperSpigot等开服时用的核心,则找不到JavaPinglu基类
作者: kivv    时间: 2017-1-26 12:03
加油                  
作者: yellow_Gay    时间: 2017-1-26 15:06
感谢
作者: Java_command    时间: 2017-2-9 11:03
雾鼜eclipse中文哪来的……
表示我用IDEA
作者: Li_peiang    时间: 2017-2-20 13:27
我的却不能运行 折腾了2天 换了各种api核心 都不行 qwq哭晕 抱紧大触的腿  求指点
作者: Li_peiang    时间: 2017-2-20 13:34
Li_peiang 发表于 2017-2-20 13:27
我的却不能运行 折腾了2天 换了各种api核心 都不行 qwq哭晕 抱紧大触的腿  求指点 ...

好像是我太笨 我的eclipse导出说pluginyml不同步 现在用压缩工具放进去 好像可以了
作者: 秋韵    时间: 2017-2-26 15:40
感谢楼主,让我成功做出了一个第一个插件
作者: 狡诈师    时间: 2017-4-14 23:05
1.图片挂了
2.不说说怎么导入包import?(我小白)
作者: fuzu_anxue    时间: 2017-5-6 18:35
为什么我写的,服务器报错
作者: 小_丰    时间: 2017-7-25 14:46
本帖最后由 小_丰 于 2017-7-25 14:47 编辑
服务器在加载插件时出现了——>Could not load 'plugins\MyFirstPlugin.jar' in folder 'plugins'求解QwQ


作者: 无极腻    时间: 2017-7-25 19:09
还可以吧~~~~
作者: 无极腻    时间: 2017-7-25 19:09
美美哒呵呵呵呵
作者: a1527019700    时间: 2017-7-25 20:41
2571612311 发表于 2016-7-30 17:53
[17:31:48 ERROR]: Could not load 'plugins\demo.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDe ...

检查一下是不是plugin.yml配置错误

作者: a1527019700    时间: 2017-7-25 20:42
123159357789 发表于 2017-1-14 12:06
[11:59:11 ERROR]: Could not load 'plugins\插件.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDes ...

检查一下是不是plugin.yml配置错误
作者: McWhirl_V    时间: 2017-9-12 21:19
图挂了,求修复
作者: lpr    时间: 2017-11-12 14:38
14:16:02 ERROR]: Could not load 'plugins/FirstPlugin.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: main class `com.github.Kevinliu.FirstPlugin' does not extend JavaPlugin
为什么会出现这种情况。。。
作者: ROF    时间: 2018-1-1 20:46
图片部分挂了
希望LZ能补上
最近想学
谢了
作者: 元路    时间: 2018-1-9 22:15
图片挂了……望楼主补一下
作者: Zero_FQ    时间: 2018-2-3 17:59
服务器在加载插件时出现了——>Could not load 'plugins\MyFirstPlugin.jar' in folder 'plugins'求解QwQ

作者: Zero_FQ    时间: 2018-2-3 18:20


大佬我那里错了!控制台提示  Could not load 'plugins\yangshiqi.jar' in folder 'plugins'

作者: mc25571    时间: 2018-2-22 19:53
Zero_FQ 发表于 2018-2-3 18:20
大佬我那里错了!控制台提示  Could not load 'plugins\yangshiqi.jar' in folder 'plugins'
...

你plugin.yml里第二行main后面按了tab吧? yml文件不能用tab的
作者: jiangye110    时间: 2018-4-2 12:12
图片全崩怎么办。。。。
作者: YouisBoy    时间: 2018-4-22 23:24
大佬,有些图挂了,喜欢能及时补上
作者: X_jianchuan2    时间: 2018-7-7 16:20
有些图片没了啊!
作者: 371734133    时间: 2018-7-9 11:57
支持楼主,新版的服务器开服太难了

作者: 27987772    时间: 2018-7-21 20:49
图片挂了,补一补呗
作者: a2139619957    时间: 2018-8-7 19:42
这个东西,第一步我就不会了
作者: vlouboos    时间: 2019-2-23 18:35
onLoad呢?spigot/bukkit有三种方法。
作者: 蓝色的羽月    时间: 2019-4-30 10:19
提示一下,plugin.yml里别用tab!用两个空格!否则会报错!
作者: mcbzhu    时间: 2019-4-30 17:02
2571612311 发表于 2016-7-30 17:53
[17:31:48 ERROR]: Could not load 'plugins\demo.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDe ...

一般这不能加载的报错,存在两个原因:1. plguin.yml 配置文件没有写对  2. 你的jar包依赖没有弄对
作者: 炽热未来    时间: 2019-5-2 08:23
666      
作者: 3368429073    时间: 2019-6-19 11:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: 2408760644    时间: 2019-10-3 11:21
楼主太厉害了,但是有些步骤太过省略,我就做错了233333333
作者: 小狐狸FM    时间: 2019-11-25 17:37
因为导入的包叫bukkit,所以才要写org.bukkit??
作者: qwe1664828807    时间: 2020-2-14 10:42
如何导入SPIGOT核心啊 有点懵逼