Minecraft(我的世界)中文论坛

标题: ---===从零基础开始,到精通插件===---#5

作者: berry64    时间: 2014-12-25 22:30
标题: ---===从零基础开始,到精通插件===---#5
本帖最后由 berry64 于 2019-1-29 10:52 编辑

回到目录







第五章:分段和第一个插件

今天呢,我们先来看看"{"和"}"是什么东西

{就像一个段落的开头

相同的,}就像一个段落的结尾

这些段落之间有很多句子,就是java代码里面;前面的东西啦

;就是句号。(好快)

然后呢,就开始写我们的第一个插件!

于是,我们先建一个Java项目



然后名字叫他MyFirstPlugin,意思是我的第一个插件


对着src右键→新建→包
名字叫他:com.github.(你自己喜欢的名字)
这里我的是com.github.berry64,别用我的,你可以用com.github.asdf或者什么的
只要不重复就可以了
可以com.qq.(你的QQ号)
然后对着主文件右键→属性


就够啦,jar文件只要你开服务器的核心文件就够了
这里我用@stool 的帖子
核心文件



然后右键创建的包,选择新建
然后创建一个新的类,名字叫他MyFirstPlugin


然后这个就是我们的主文件了
现在我们创建plugin.yml也就是让bukkit加载他的必要文件,
右键主文件,新建→文件


然后你就可以看见我们创建了plugin.yml!
plugin.yml格式非常规范,有点错bukkit就不读,也不知道为何
我觉得挺讨厌的{:10_522:}
没事
这里我发模版
  1. name: (插件名字)
  2. main: (刚刚创建的包的名字).(主类的名字)
  3. version: 0.0.1-SNAPSHOT
复制代码


这里main可能搞不懂, 我解释一下, 比如说我们创建了一个包名字叫net.berry64.asdf
而里面的插件主类名字叫main.java
那么这里的main就填:
  1. net.berry64.asdf.main
复制代码

version呢, 就是插件的版本号,按理说应该每次更新都要增加一位数或者使用一个不重复的数字...

不过我看起来像那种会管他的人吗OAO
0.0.1 很容易理解成第一个插件版本,而后面又有个-SNAPSHOT, 就是快照的意思

记住每一个冒号后面都必须有一个空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!

像这样,一个可以用的插件就出来了,不过没有什么功能


现在我们回到MyFirstPlugin.java写一段代码
public class MyFirstPlugin后面加上
  1. extends JavaPlugin implements Listener
复制代码
这样就可以了(对于大神们我说叫新手一直加一个Listener总是好的)

如果报错了你就把鼠标放在上面然后看解决方案,如果有的话导入,没有的话那就说明你没弄好
然后,我们要创建一个指令
输入
@Override

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){if (cmd.getName().equalsIgnoreCase("[指令]")){
sender.sendMessage("HAYO");
return true;
}
return false;
}如果不理解的话, 这里有写好的代码:

这样,java里面的指令已经创好了,记得把[指令]换成你要的英文指令
现在我们打开plugin.yml来注册这个指令
在下面我们输入:
  1. commands:
  2.   HAYO:
  3.     description: HAYO
  4.     usage: /<command>
复制代码
提示一下,空格什么的都很严格的现在我分开来,空格用[]代替
commands:
[][]HAYO:
[][][][]description:[]HAYO
[][][][]usage:[]/<command>
这样就是注册了一个指令了,全部保存然后右键主文件,导出
找到java 下面的 Jar文件,点继续
然后设置保存位置,就好了!{:10_512:}
还不赶紧放到plugins里面试试看?
按理说你输入/HAYO 应该会收到一个消息的
读完了吱一声啊!然后求点人气和金币,给人气自己不丢什么,不想给至少吱一声让我知道谁看了啊


回到目录





作者: Tom112233    时间: 2014-12-25 22:46
最近也在学习java。  这帖子必须顶啊
作者: 网络摆渡客    时间: 2014-12-25 23:17
这个开发工具还是有必要说一下的。
作者: tufeiyes    时间: 2014-12-25 23:17
我还是一个新手 还在找寻更大MOD满足个人的需求 JAVA 这太高科技了 直言 咱没看懂
作者: 欢心世界    时间: 2014-12-25 23:29
霸气霸气啊新手的福利啊牛逼吧主加油哦
作者: stool    时间: 2014-12-26 17:18
还行-.-
希望能继续保持
作者: 936728431    时间: 2014-12-26 17:31
收藏了
作者: defoliation_h    时间: 2014-12-26 20:55
写到
extends JavaPlugin implements Listener
的时候就出问题了,我已经按部就班的做好了环境配置可是还是有错误
作者: Grandiose    时间: 2014-12-30 22:46
= =。。其实写的还是可以的,但是我觉得你最好先讲讲包啊类啊之类的东西,但我觉得你写的时候很不正经,开玩笑不是应该这么开的【好吧你比教我的那位正经多了...

不知道是不是因为学过一点点的原因我读起来没什么压力,但是我觉得最好不要直接跳到插件,因为中间还有很多内容没讲,比如引入bulabula的,而且到了后面就没有代码示例了...

还有建议你把一些常用快捷键加上去,比如保存的就是ctrl+s
作者: liuyipeng001    时间: 2015-1-1 16:47
能不能换成中文的= =
作者: liuyipeng001    时间: 2015-1-1 16:55
h22391386 发表于 2014-12-26 20:55
写到
extends JavaPlugin implements Listener
的时候就出问题了,我已经按部就班的做好了环境配置可是还是 ...

我也是= =
作者: 耗子    时间: 2015-1-1 22:31
并非正解啊0 0!
作者: 48856209    时间: 2015-1-3 13:37
  1. package 第三周编程作业;

  2. import java.util.Scanner;

  3. public class 数字特征值 {

  4.         public static void main(String[] args) {
  5.                 // TODO Auto-generated method stub
  6.                 Scanner in = new Scanner(System.in);
  7. //                程序初始化
  8.                 System.out.println(": 数字特征值 - 奇偶特征值 : 计算器");
  9.                 System.out.print("请输入一个非负整数,不大于1000000:");
  10. //                优化用户界面
  11.                 int a=0;
  12.                 int b=a;
  13.                 int count=0;
  14.                 int c=0;
  15.                 int d=0;
  16.                 int e=0;
  17.                 int ce=0;
  18.                 int binary=0;
  19.                 int count1=0;
  20.                 a = in.nextInt();
  21. //                定义变量
  22.                 if (a<0)
  23.                 {
  24.                         System.out.println("所输入的值不能是负数!程序终止.");
  25.                         System.exit(0);
  26.                 }
  27.                 else
  28.                 {
  29.                         if ( a > 1000000 )
  30.                         {
  31.                                 System.out.println("所输入的值不能大于1000000!程序终止.");
  32.                                 System.exit(0);
  33.                         }
  34.                 }
  35. //                判断输入是否正确
  36.                 while ( a > 0 )
  37.                 {
  38.                         b = a%10;
  39.                         a = a/10;
  40.                         d = b;
  41.                         count=count+1;
  42.                         /*判断的d(b)值为单双 输出为d*/
  43.                         if(d%2 == 0)
  44.                         {
  45.                                 c=0;
  46.                         }
  47.                         else
  48.                         {        if (d == 0)
  49.                                 {
  50.                                         c=0;
  51.                                 }
  52.                                 else
  53.                                 {
  54.                                         c=1;
  55.                                 }
  56.                         }
  57.                         /*判断累积器的单双 输出为e*/
  58.                         if(count%2 == 0)
  59.                         {
  60.                                 e=0;
  61.                         }
  62.                         else
  63.                         {        if (count == 0)
  64.                                 {
  65.                                         e=0;
  66.                                 }
  67.                                 else
  68.                                 {
  69.                                         e=1;
  70.                                 }
  71.                         }
  72. //                        比较c,e的大小关系 若相等则输出1 若不相等输出0 输出de
  73.                         if (c == e)
  74.                         {
  75.                                 ce=1;
  76.                         }
  77.                         else
  78.                         {
  79.                                 ce=0;
  80.                         }
  81.                                 binary=(int)(Math.pow(2,(count-1)));
  82.         //                        得出二进制值
  83.                         if (ce == 1)
  84.                         {
  85.                                 count1=count1+binary;
  86.                         }
  87.                 }
  88.                 System.out.println("奇偶特征值:");
  89.                 System.out.println(count1);
  90. //                输出
  91.                 in.close();
  92.         }

  93. }
复制代码

看起来楼主是一位编程大触XD
刚刚完成第三周编程作业 可以帮我优化一下代码吗?
作者: berry64    时间: 2015-1-3 13:38
48856209 发表于 2015-1-3 13:37
看起来楼主是一位编程大触XD
刚刚完成第三周编程作业 可以帮我优化一下代码吗? ...

要我优化成什么样子
作者: 48856209    时间: 2015-1-3 13:45
berry64 发表于 2015-1-3 13:38
要我优化成什么样子

在保证正常功能的前提下
越短越好
你可以先试一下这段代码
作者: berry64    时间: 2015-1-3 13:58
48856209 发表于 2015-1-3 13:45
在保证正常功能的前提下
越短越好
你可以先试一下这段代码

要短的话那么只能
else{
    if(){
}
}改成
else if(){
}
然后删除解释的东西,别的就真的没什么了
作者: 48856209    时间: 2015-1-3 14:26
berry64 发表于 2015-1-3 13:58
要短的话那么只能
else{
    if(){

嗯..好吧
教学模式还是有待改进的 毕竟不可能一上来就能开始学写插件
我觉得你可以写一个java入门教程 文字的表现力有时候其实不如视频 所以我觉得你可以试试看两者结合
帖子里打的不恰当的比方其实不如不打 就直接用它本身的术语 这种比分我看了都会觉得难以理解 相信你的教程可以写得更好
作者: berry64    时间: 2015-1-3 14:29
48856209 发表于 2015-1-3 14:26
嗯..好吧
教学模式还是有待改进的 毕竟不可能一上来就能开始学写插件
我觉得你可以写一个java入门教程 文 ...

谢谢哈......我也这么觉得不过走觉得JavaNotes的更好,如果懂英文的可以去看JavaNotes
是bukkit官方推荐=w=
作者: 世界丶终焉    时间: 2015-1-5 19:54
唔唔,楼主为啥不说的更详细点,比如说实现更多的功能该怎么写呢,比如清理掉落物的。
作者: Top2001_1    时间: 2015-1-7 21:02
求把你的bukkit-1.7.2-R0.3那个传给我 我找不到
作者: Top2001_1    时间: 2015-1-7 21:34
求大神指点 给个图 往那儿个后面啊 说我语法错误
作者: 1440519152    时间: 2015-1-11 09:11
必须支持
作者: 1440519152    时间: 2015-1-11 09:12
Grandiose 发表于 2014-12-30 22:46
= =。。其实写的还是可以的,但是我觉得你最好先讲讲包啊类啊之类的东西,但我觉得你写的时候很不正经,开 ...

其实我觉得还是可以的,可能是因为我有一点Java基础,但是对插件API的用法不是很了解,看到这个帖子终于开始教写插件了,简直如获至宝!
作者: 天朝蜘蛛    时间: 2015-1-11 11:15
看不懂哈   但是还是谢谢楼主了
作者: vv4304    时间: 2015-1-25 15:30
@Override

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){if (cmd.getName().equalsIgnoreCase("[指令]")){
sender.sendMessage("HAYO");
return true;
}
return false;
}



这一段能详细解释吗....
作者: leavessoft    时间: 2015-1-25 15:49
感谢楼主分享~辛苦了
作者: Falling_空城    时间: 2015-1-27 20:17
本来做mod开发的,最近也入了插件坑,看了此贴收获很大
作者: woaijuan    时间: 2015-1-28 08:24
这是JAVA语言吧,不过里面英语不认识咋办
作者: 世界丶终焉    时间: 2015-2-2 19:09
楼主,按照你的方法,放到服务端里插件没办法被读取是怎么回事。
作者: 1205507755    时间: 2015-2-11 11:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: cyk1790897855    时间: 2015-2-14 23:42
LZ的主文件指的是哪个文件
作者: 我怕我怕w    时间: 2015-2-15 06:26
谢谢,话说论坛里的mod教程有木1.8的,找的我好苦。
作者: 搅腋潭    时间: 2015-2-26 19:55
.project文件要不要加进去?
作者: 0611    时间: 2015-2-27 11:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: 0611    时间: 2015-2-27 11:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: 宇来自RR网    时间: 2015-2-28 13:34
好棒好棒~不过还是要注意身体的啦
作者: ju哌y    时间: 2015-3-8 14:18
netbeans同理吗
作者: wwykahuna    时间: 2015-3-8 19:23
谢谢大师
作者: yc453005841    时间: 2015-3-22 17:58
public class MyFirstPlugin后面加上
extends JavaPlugin implements Listener
是在括号里面还是外面?
从这里 下面完全看不懂 求图
作者: tallmoon    时间: 2015-3-22 18:55
yc453005841 发表于 2015-3-22 17:58
public class MyFirstPlugin后面加上
extends JavaPlugin implements Listener
是在括号里面还是外面?

public class MyFirstPlugin extends JavaPlugin implements Listener {

}
这样可以
作者: 桃渊林    时间: 2015-3-29 14:36
奇怪,没法执行命令(例如执行/HAYO命令它也返回/HAYO)?
作者: 桃渊林    时间: 2015-3-29 15:08
在return false那加了个发送消息的,判定boolean为false按你说的代码是怎么回事呢?
作者: 1527802264    时间: 2015-3-30 23:57
关注你的帖子很久了
作者: 1527802264    时间: 2015-3-30 23:58
楼主虽然我是租服务器的但是看到这帖子我还是说:GOOD
作者: overmind1980    时间: 2015-4-4 21:40
整个文件是这样的

name: FirstPlugin
main: org.oeasy.MyFirstPlugin
version: 0.0.1-SNAPSHOT
commands:
  HAYO:
    description: HAYO
    usage: /<command>

作者: qwe2298946728    时间: 2015-4-24 00:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: 1411690572    时间: 2015-5-1 23:53
@berry64 大神能否加我qq1411690572,我有问题
作者: skeleton_321    时间: 2015-5-3 14:14
0611 发表于 2015-2-27 11:12
在世界上Java是较低级的语言,最高是C语言。

Java和C都是并列的,Java也是属于高级语言的一种,不懂别乱说
作者: skeleton_321    时间: 2015-5-3 14:35
输入extends JavaPlugin implements Listener的时候为什会报错?@berry64
作者: berry64    时间: 2015-5-3 21:20
ghost10.0 发表于 2015-5-3 14:35
输入extends JavaPlugin implements Listener的时候为什会报错?@berry64

查看解决方案,一般都是应为你没有import

作者: zghh008    时间: 2015-5-5 23:07
万岁~~~~~
作者: skeleton_321    时间: 2015-5-9 00:47
berry64 发表于 2015-5-3 21:20
查看解决方案,一般都是应为你没有import

呃……我能告诉你集体报错么……没一处是对的(好吧有点夸张)
作者: 矿工小周    时间: 2015-7-5 21:40
0611 发表于 2015-2-27 11:12
在世界上Java是较低级的语言,最高是C语言。

可是。。。java和c++不是同属面向对象的编程么。。都是c语言的“上司”。
作者: xh123321    时间: 2015-7-22 18:17
0611 发表于 2015-2-27 11:12
在世界上Java是较低级的语言,最高是C语言。

JAVA(和C++)是面向对象的典例,也是面向对象的基础,C是面向过程的典例及基础,这两个是不能作比较的,而且真的作比较JAVA也不见得比C差(通俗点来说,你在玩的Minecraft是C语言编的吗?)
作者: xh123321    时间: 2015-7-23 09:07
导出的时候错误,显示:
资源与文件系统不同步:“/MyFirstPlugin/plugin.yml”
求解怎么回事
作者: moheng2014    时间: 2015-8-2 16:42
无法解析类型 com.avaje.ebean.EbeanServer。从必需的 .class 文件间接引用了它

出现这个怎么办 ?
作者: berry64    时间: 2015-8-2 21:36
moheng2014 发表于 2015-8-2 16:42
无法解析类型 com.avaje.ebean.EbeanServer。从必需的 .class 文件间接引用了它

出现这个怎么办 ? ...

看起来是java 的自带的库错误
建议卸载JAVA 然后安装最新版本从 java.com
作者: moheng2014    时间: 2015-8-2 22:45
本帖最后由 moheng2014 于 2015-8-2 23:53 编辑
berry64 发表于 2015-8-2 21:36
看起来是java 的自带的库错误
建议卸载JAVA 然后安装最新版本从 java.com


我是64位的,库里也有   org.bukkit.craftbukkit.libs.org.ibex.nestedvm.ClassFileCompiler  可就是会报错。。

说是这样子的 ,,
错误: 找不到或无法加载主类 org.bukkit.craftbukkit.libs.org.ibex.nestedvm.ClassFileCompiler


作者: luojiarui    时间: 2015-8-10 08:12
本帖最后由 luojiarui 于 2017-3-2 06:26 编辑
tufeiyes 发表于 2014-12-25 23:17
我还是一个新手 还在找寻更大MOD满足个人的需求 JAVA 这太高科技了 直言 咱没看懂 ...


Java算低级的了,最难的是C++.

黑历史已处理
作者: 778563781    时间: 2015-9-17 23:08
那个@over啥的是什么意思啊!想半天
作者: berry64    时间: 2015-9-18 15:25
778563781 发表于 2015-9-17 23:08
那个@over啥的是什么意思啊!想半天

覆盖父类的这个方法- - 听不懂很正常
作者: 党靖皓1234    时间: 2015-9-18 19:49
extends JavaPlugin implements Listener这个一直说错哈,我自我感觉应该对着的,但就是报错

package com.github.asdf;

public class MyFirstPlugin {
        extends JavaPlugin implements Listener
}

作者: berry64    时间: 2015-9-19 10:11
党靖皓1234 发表于 2015-9-18 19:49
extends JavaPlugin implements Listener这个一直说错哈,我自我感觉应该对着的,但就是报错

package com.gi ...
  1. package com.github.asdf;

  2. public class MyFirstPlugin extends JavaPlugin implements Listener {
  3.         //.....
  4. }
复制代码


作者: 党靖皓1234    时间: 2015-9-26 14:37
中括号的那个指令要不要加"/"?
作者: berry64    时间: 2015-9-26 15:58
党靖皓1234 发表于 2015-9-26 14:37
中括号的那个指令要不要加"/"?

不需要的
作者: Kingmeng    时间: 2015-11-3 17:55
弄完的插件放到mods文件还是什么文件夹
作者: berry64    时间: 2015-11-3 20:44
Kingmeng 发表于 2015-11-3 17:55
弄完的插件放到mods文件还是什么文件夹

和你安装插件一样
作者: tqyest    时间: 2015-11-5 13:19
谢谢楼主 楼主好人呐QAQ
作者: Zin_ming    时间: 2015-11-17 11:57
tufeiyes 发表于 2014-12-25 23:17
我还是一个新手 还在找寻更大MOD满足个人的需求 JAVA 这太高科技了 直言 咱没看懂 ...

同感~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~X2
作者: Zin_ming    时间: 2015-11-17 11:58
stool 发表于 2014-12-26 17:18
还行-.-
希望能继续保持

同感~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: 337803349    时间: 2015-11-18 13:03
my eclipse
eclipse
=_=
北大青鸟
我们才学到,第五章,do。。。。。while
第二本书要开始做网页了,c#,哦也

作者: trychen    时间: 2015-11-20 17:51
spigot需要使用API的Jar而不是服务器核心
作者: berry64    时间: 2015-11-20 20:18
trychen 发表于 2015-11-20 17:51
spigot需要使用API的Jar而不是服务器核心

api的jar 就是多了个JavaDoc而已,并没有什么问题
作者: 849564430    时间: 2015-11-24 11:04
支~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: 小0w0卡    时间: 2015-12-16 21:04
LZ,帖子虽然很好,但是
命令都看不懂唉。。。
我是求学会的,能把注册指令那一段命令给透透彻彻的解释一下吗?
谢谢~LZ辛苦了~~
作者: 小0w0卡    时间: 2015-12-16 21:11
楼主,什么叫java下面的jar文件啊,我的MyFirstPlugin.java下没有jar文件啊!
作者: Kenneth_z    时间: 2016-1-19 15:33
请问下@Override是什么意思 lz貌似没有讲到
作者: berry64    时间: 2016-1-20 11:20
wzzwp55555 发表于 2016-1-19 15:33
请问下@Override是什么意思 lz貌似没有讲到

@Override 就是重写父类方法的一个语句,这个嘛,不好解释
就是说extends JavaPlugin这里命名JavaPlugin这个class为父类,然后这个class里面自己已经有了onEnable(){
但是这里子类的又要写一个自己的onEnable(),为了不产生矛盾所以@Override告诉java这里重写而不要使用父类自带的方法。。。
其实没有也可以的0 0
作者: 小0w0卡    时间: 2016-1-26 20:05
不理解啊。。。LZ能把那段命令解释一下吗,总觉得没用,提示的信息都是plugin.yml里的啊
作者: 歪氏    时间: 2016-2-11 11:47
请说明导入是什么鬼,我配置好了也报错,还有指令的排版,我们这些新手不懂啊!
作者: kjkj2173135    时间: 2016-2-16 20:20
JAR 创建失败。请参阅“详细信息”以获取更多信息。
  资源与文件系统不同步:"/MyFirstPlugin/plugin.yml"。

作者: 小尐蓝猫    时间: 2016-4-30 22:13
楼主快帮我看看吧 照你的方法去做 可是放到服务器里面后 在控制台输入指令提示说没有这条指令
  1. package com.github.github.Nicolas;

  2. import org.bukkit.command.Command;
  3. import org.bukkit.command.CommandSender;
  4. import org.bukkit.plugin.java.JavaPlugin;

  5. public class first extends JavaPlugin{
  6.     public void onEnable() {
  7.     }
  8.     @Override

  9.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){if (cmd.getName().equalsIgnoreCase("nico")){
  10.     sender.sendMessage("HAYO");
  11.     return true;
  12.     }
  13.     return false;
  14.     }
  15.     public void onDisable() {
  16.     }
  17. }
复制代码

这个是我编的代码↑

作者: q513902026    时间: 2016-4-30 23:08
berry64 发表于 2016-1-20 11:20
@Override 就是重写父类方法的一个语句,这个嘛,不好解释
就是说extends JavaPlugin这里命名JavaPlugin ...

@Override
这个注解在Runtime会被忽略 so 这个注解有没有都没有问题
作者: cten    时间: 2016-5-18 16:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: yu7868    时间: 2016-5-30 22:49
0611 发表于 2015-2-27 11:12
在世界上Java是较低级的语言,最高是C语言。

java是面向对象的,c语言是面向过程的,没法比吧。
作者: 1314520qb    时间: 2016-6-27 07:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: annan    时间: 2016-7-4 00:24
网络摆渡客 发表于 2014-12-25 23:17
这个开发工具还是有必要说一下的。

eclipse吧。。。。。。
作者: 1628340626    时间: 2016-7-4 21:04
收我这个徒弟吗{:10_512:}挺想学Java的{:10_492:}
作者: 灯笼大人    时间: 2016-7-4 22:58
感谢教材。。我已经放弃了QWQ
作者: 枫影绝尘    时间: 2016-7-8 08:55
{:10_509:}大赞,真是很有帮助!
作者: 45gfg9    时间: 2016-8-6 17:10
本帖最后由 45gfg9 于 2016-8-6 17:29 编辑

lz我做下来变成这样什么鬼{:10_493:}
删了@Override 又加了些东西
package com.plugin.plugin;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Listener;
import org.bukkit.material.Command;
import org.bukkit.plugin.java.JavaPlugin;
public class MyFirstPlugin extends JavaPlugin implements Listener{
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){if (((CommandSender) cmd).getName().equalsIgnoreCase("/ffp")){
        sender.sendMessage("45gfg9!");
        return true;
        }
        return false;
        }
}



作者: 風雲再起    时间: 2016-8-6 22:29
這個必須頂
作者: 戴兜    时间: 2016-8-9 22:25
LZ,那个
    usage: /<command>
要改吗?
作者: berry64    时间: 2016-8-10 08:51
dxz2002 发表于 2016-8-9 22:25
LZ,那个
    usage: /
要改吗?

usage  当玩家指令使用错误(return false;)的时候给予玩家的提示
作者: 戴兜    时间: 2016-8-10 09:30
berry64 发表于 2016-8-10 08:51
usage  当玩家指令使用错误(return false;)的时候给予玩家的提示

哦哦,谢谢。这个教程的java文件和yml文件内容能不能给我截图一下,我还是有点模糊,好像有点讲得仓促啊
作者: 牛奶冰麒麟    时间: 2016-8-13 17:55
本帖最后由 牛奶冰麒麟 于 2016-8-13 18:03 编辑

LZ可以把这个Java教程挂到第一个帖子上,直接看LZ的帖子学Java的话有点吃力

写的时候好多错误:
extends JavaPlugin implements Listener
标记“extends”上有语法错误,应为 enum;语法错误,将“EnumBody”插入到完整 ClassBodyDeclarations 中
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){if (cmd.getName().equalsIgnoreCase("/mfp")){
Command 无法解析为类;
CommandSender 无法解析为类

下面这些是我根据教程写的,4处报错
  1. package com.github.milkmaster;

  2. public class MyFirstPlugin {
  3.         extends JavaPlugin implements Listener
  4.        
  5.         @Override

  6.         public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){if (cmd.getName().equalsIgnoreCase("/mfp")){
  7.         sender.sendMessage("HAYO");
  8.         return true;
  9.         }
  10.         return false;
  11.         }
  12. }
复制代码






作者: berry64    时间: 2016-8-14 11:17
牛奶冰麒麟 发表于 2016-8-13 17:55
LZ可以把这个Java教程挂到第一个帖子上,直接看LZ的帖子学Java的话有点吃力

写的时候好多错误:

额,你理解错了,好吧我承认我解释的不好,至于java教程我建议 JavaNotes 这里

不过我会在最后加上集成好的代码方便你们理解
作者: 牛奶冰麒麟    时间: 2016-8-14 11:36
berry64 发表于 2016-8-14 11:17
额,你理解错了,好吧我承认我解释的不好,至于java教程我建议 JavaNotes 这里

不过我会在最后加上集成 ...

英语渣表示一个字看不懂 _(:3J∠)_
作者: fmzhfmzh123    时间: 2016-8-20 19:58
楼主求你的eclipse工程文件
作者: slqs    时间: 2016-8-21 17:12
import org.bukkit.material.Command应该是org.bukkit.command.Command吧
害得我之前纠结了几个小时,多个dalao都束手无策,欲哭无泪