Minecraft(我的世界)中文论坛

标题: 插件教程索引

作者: a8105    时间: 2014-6-12 22:59
标题: 插件教程索引
本帖最后由 810587921 于 2014-7-12 02:53 编辑

插件教程的索引是指我弄的插件教程这个名字的索引..咳咳,不是其他人发布的教程也在里面的=


插件教程第一章 —— 制作你的第一个插件

插件教程第二章 —— 命令

插件教程第三章 —— 多个家的sethome

插件教程第四章 —— 自定义一个公告插件

插件教程第五章 —— 自定义你的更多背包插件(Vault,监听)

插件教程第六章 —— 自定义命令方块插件(Vault,监听,自定义事件)




作者: SkyCatcher    时间: 2014-6-12 23:01
抢楼。感觉教程不错,赞一个
作者: 太郎酱    时间: 2014-6-12 23:15
这个教程怒顶,服务器走上正轨,我就开始学习!学不会打残撸主【教的不好就打你】
作者: 1277832129    时间: 2014-6-13 17:43
不错的东西 楼主讲解很好
作者: q88724653    时间: 2014-6-22 21:12
我的一个取得物品信息的插件,当手持物品为空气时报错,求加QQ一起探讨
作者: q513902026    时间: 2014-6-22 21:23
q88724653 发表于 2014-6-22 21:12
我的一个取得物品信息的插件,当手持物品为空气时报错,求加QQ一起探讨

因为AIR本身没有任何信息
所以你可以用 item.getType() == Material.AIR的时候
返回你手持的为空气即可
作者: 1277832129    时间: 2014-6-22 22:12
q88724653 发表于 2014-6-22 22:12
我的一个取得物品信息的插件,当手持物品为空气时报错,求加QQ一起探讨

简单

if(p.getItemInHand == null)
return false;
作者: q88724653    时间: 2014-6-22 22:27
1277832129 发表于 2014-6-22 23:12
简单

if(p.getItemInHand == null)

我去,我是getTyple == null,待会试试
作者: a8105    时间: 2014-6-22 22:29
q88724653 发表于 2014-6-22 22:27
我去,我是getTyple == null,待会试试

.....
getTypeId最多也就0,没null.....不报错才怪..
作者: q88724653    时间: 2014-6-22 22:48
810587921 发表于 2014-6-22 23:29
.....
getTypeId最多也就0,没null.....不报错才怪..

IDE那没报错我还以为可以了= =
作者: q88724653    时间: 2014-6-22 22:49
810587921 发表于 2014-6-22 23:29
.....
getTypeId最多也就0,没null.....不报错才怪..

我说的是getType,不是gettypeid,这是获取类型
作者: q88724653    时间: 2014-6-22 22:49
q513902026 发表于 2014-6-22 22:23
因为AIR本身没有任何信息
所以你可以用 item.getType() == Material.AIR的时候
返回你手持的为空气即可 ...

应该是这个
作者: Tony🐴    时间: 2014-6-28 18:49
内容充实,主题明确← ←
作者: q88724653    时间: 2014-6-29 23:34
LZ介意加个马化腾吗
作者: q88724653    时间: 2014-6-29 23:35
q513902026 发表于 2014-6-22 22:23
因为AIR本身没有任何信息
所以你可以用 item.getType() == Material.AIR的时候
返回你手持的为空气即可 ...

用这个方法还是崩溃= =
作者: a8105    时间: 2014-6-30 00:24
q88724653 发表于 2014-6-29 23:35
用这个方法还是崩溃= =

全部代码私聊发我,我看看?
作者: Lucky777777    时间: 2014-6-30 06:55
  撒 前来抱怨 全图片帖真是不给手机党留面子
作者: leavessoft    时间: 2014-7-8 07:22
支持下,很好
作者: 耗子    时间: 2014-8-23 19:04
楼主能不能发源代码?
作者: a8105    时间: 2014-8-23 19:36
耗子 发表于 2014-8-23 19:04
楼主能不能发源代码?

教程≠懒人
代码写的过程已经全部发布,请自己写
作者: 耗子    时间: 2014-8-23 20:38
810587921 发表于 2014-8-23 19:36
教程≠懒人
代码写的过程已经全部发布,请自己写

乱啊0 0望楼主改正,谢谢
作者: a8105    时间: 2014-8-23 20:44
耗子 发表于 2014-8-23 20:38
乱啊0 0望楼主改正,谢谢

哪里乱,求解
作者: 耗子    时间: 2014-8-31 14:14
楼主,求解如何弄多一点类似于config的文件,就是把他放在jar里面会在插件配置文件夹里生成一样的文件。
作者: 重返的DZ    时间: 2014-8-31 14:31
表示看不懂
作者: a8105    时间: 2014-8-31 16:57
耗子 发表于 2014-8-31 14:14
楼主,求解如何弄多一点类似于config的文件,就是把他放在jar里面会在插件配置文件夹里生成一样的文件。 ...

http://jd.bukkit.org/rb/doxygen/ ... n_8java_source.html
这里有saveDefaultConfig()的代码,你仿照他写个
作者: a8105    时间: 2014-8-31 17:00
耗子 发表于 2014-8-31 14:14
楼主,求解如何弄多一点类似于config的文件,就是把他放在jar里面会在插件配置文件夹里生成一样的文件。 ...

直接在主类中调用saveResource(arg0, arg1);就可以了
arg0为文件名,saveDefaultConfig()方法填config.yml,false
arg1为布尔值,true代表复写,false代表不复写
作者: 耗子    时间: 2014-8-31 21:29
本帖最后由 耗子 于 2014-8-31 21:37 编辑

关于如何使除了监听类和命令类运行的方法,我还是看不明白,楼主求讲得详细一点。难道说不用理他们他们也会运行,我们只需要调用他们的方法就行了?
作者: a8105    时间: 2014-8-31 23:15
耗子 发表于 2014-8-31 21:29
关于如何使除了监听类和命令类运行的方法,我还是看不明白,楼主求讲得详细一点。难道说不用理他们他们也会 ...

不懂你的意思,说得详细一点?
作者: 耗子    时间: 2014-9-1 12:54
就是一个插件不是有很多类吗?怎么使其他非监听类和命令类运行。比如说我要弄个config加载类,那直接引用他们的方法和变量即可?
作者: a8105    时间: 2014-9-1 16:12
耗子 发表于 2014-9-1 12:54
就是一个插件不是有很多类吗?怎么使其他非监听类和命令类运行。比如说我要弄个config加载类,那直接引用他 ...

class A{
    public A()
    [
        new B().a();
    }
}
class B
{
    public void a()
    {}
}
作者: 耗子    时间: 2014-9-1 18:56
810587921 发表于 2014-9-1 16:12
class A{
    public A()
    [

感谢楼主,一定补交学费
作者: 刚囊四大    时间: 2014-9-14 09:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: 914554688wyt    时间: 2015-4-3 21:32
本帖最后由 914554688wyt 于 2015-4-11 22:33 编辑

这些指令在哪里有个总纲呢?
作者: a8105    时间: 2015-4-3 21:35
914554688wyt 发表于 2015-4-3 21:32
大大0w0 我想问问像类似
.setHealth
.sendMessage

以前是jd.bukkit.org
不过没了
现在可以去https://hub.spigotmc.org/javadocs/bukkit/
作者: 914554688wyt    时间: 2015-4-3 22:41
810587921 发表于 2015-4-3 21:35
以前是jd.bukkit.org
不过没了
现在可以去https://hub.spigotmc.org/javadocs/bukkit/

tks!   度娘翻译已经准备好了!
作者: 914554688wyt    时间: 2015-4-3 23:12
810587921 发表于 2015-4-3 21:35
以前是jd.bukkit.org
不过没了
现在可以去https://hub.spigotmc.org/javadocs/bukkit/

QAQ刚看完第二章 有些小问题望解答..毕竟没有了解过java 版主有时间就麻烦帮我解答一下
        config.set("Homes."+name+".World", l.getWorld().getName());
        config.set("Homes."+name+".X", l.getBlockX());
        config.set("Homes."+name+".Y", l.getBlockY());
        config.set("Homes."+name+".Z", l.getBlockZ());
这四条指令打出来的配置文件却是这样的
Homes:
  XXX(名字):
World: World
X: 123
Y: 64
Z: 123
Direction: ?

我想知道set的两个参数分别有什么用?
"Homes."+name+".X"="Homes.homename.X"
输出又完全不一样哎。。 他的输出机制到底是如何的那?
貌似都是一个整数或者字符串

作者: a8105    时间: 2015-4-3 23:16
914554688wyt 发表于 2015-4-3 23:12
QAQ刚看完第二章 有些小问题望解答..毕竟没有了解过java 版主有时间就麻烦帮我解答一下
        config.s ...

第一个参数为节点
例如:
a:
  b:
    c: 123
就是a.b.c
第二个参数为值
基本支持
数字,字符串
ItemStack(物品)
List等
还可以自己自定义
一个节点如果没有值也可以支持子节点
例如:
a:
  b: '我是b'
  c: '我是c'
作者: 914554688wyt    时间: 2015-4-4 15:28
本帖最后由 914554688wyt 于 2015-4-5 15:16 编辑
810587921 发表于 2015-4-3 23:16
第一个参数为节点
例如:
a:

好的谢谢了=w=





作者: moheng2014    时间: 2015-8-11 19:57
版主,如果我想问有一个问题,是关于调用配置文件的

config.yml里的内容:
List:
  - 1
  - 2
  - 3

我想检测玩家手中的道具在不在config配置文件的List里 ,该怎么写啊
作者: a8105    时间: 2015-8-11 20:21
moheng2014 发表于 2015-8-11 19:57
版主,如果我想问有一个问题,是关于调用配置文件的

config.yml里的内容:


ItemStack item=player.getItemInHand();//获取手中物品
int id=item.getTypeID();//获取物品id
List<String> ids=getConfig().getStringList("List");//获取配置文件中List项下的所有字符,也就是1,2,3
for(String a:ids)//遍历字符列表
{
    if(a.matches("[0-9]+"))//判断字符是否为数字
    {
        if(Integer.parseInt(a)==id)
          return true;
    }
}
return false;

作者: moheng2014    时间: 2015-8-11 23:14
810587921 发表于 2015-8-11 20:21
ItemStack item=player.getItemInHand();//获取手中物品
int id=item.getTypeID();//获取物品id
List id ...

遍历字符列表什么意思?
作者: moheng2014    时间: 2015-8-12 17:17
810587921 发表于 2015-8-11 20:21
ItemStack item=player.getItemInHand();//获取手中物品
int id=item.getTypeID();//获取物品id
List id ...

我想跟event.getNewSlot()结合怎么结合呢?  我试了一下是错误的,唯一能用的是

Player onlinep=event.getPlayer();
                int Level=onlinep.getLevel();
                ItemStack item=onlinep.getItemInHand();//获取手中物品
                Material id=item.getType();//获取物品id
                List<String> ids=getConfig().getStringList("List");//获取配置文件中List项下的所有字符,也就是1,2,3
                for(String a:ids)//遍历字符列表
                {
                    if(a.matches("[0-9]+"))//判断字符是否为数字
                    {
                                    if(onlinep.getInventory().getItem(event.getNewSlot()).getType()==id&&Level<config.getInt("Level")){
                                            event.setCancelled(true);
                                            int handchoose=event.getNewSlot();
                                            if(handchoose==8)
                                            {
                                                    event.getPlayer().getInventory().setHeldItemSlot(0);
                                            }
                                            else
                                            {
                                                    event.getPlayer().getInventory().setHeldItemSlot(handchoose+1);
                                            }
                                            onlinep.sendMessage(prefix+" 等级不够,不能用这个");
                        }
                    }
                }

但这个效果不对。。。
作者: 旅行小哥    时间: 2015-10-2 19:34
第一个能看懂的插件教程。
作者: Green_stone    时间: 2016-2-18 14:56
求楼主不要停更~我还想学得更深奥点呢……希望楼主继续写啦~
作者: 1377023219    时间: 2016-7-7 18:07
楼主,怎么中断一个玩家的连接?在【玩家加入事件】里面?
作者: peng1192742737    时间: 2016-7-11 21:12
我看了报错
无法找到主类com.weiyuqiang.JC2
作者: 雾晨丶破晓    时间: 2016-7-13 18:18
MCBBS有你更精彩...我还是不会啊啊啊啊啊
作者: 在下小熊猫    时间: 2016-7-28 03:44
{:10_512:}拿走了
作者: 黄总    时间: 2016-7-28 18:41
希望把第一部分的教程也写成文档提供下载,图片挂了看不了
作者: 真香小伙子    时间: 2020-7-30 09:06
全部锁定了