minecraft吧 关注:1,406,368贴子:28,373,687

【CBL·乾坤】两种不同的自定义指令(gamerule与trigger)详解

只看楼主收藏回复

大家好。这是本人除夕三部曲中的第二部——两种不同的自定义指令(gamerule与trigger)详解。我分别用/gamerule和/trigger做了两个例子,链接如下:
【CBL·乾坤】[Command Magican系列] 猪骑士:http://tieba.baidu.com/p/3592832689
【原版模组系列】自定义指令之——爆炸猪:http://tieba.baidu.com/p/3565082356
各位可以去看看,本教程主要讲的是两种指令的使用方法及对比


2楼自粘


3楼存档


4楼备用


然后楼主就机智的弃了这个坑了啊


收起回复
举报|5楼2015-02-18 21:53
    然后我来帮楼主完坑


    回复
    举报|6楼2015-02-18 21:54


      回复
      举报|来自Android客户端7楼2015-02-18 21:55
        顶!


        回复
        举报|来自Android客户端8楼2015-02-18 21:55
          加油楼主


          回复
          举报|来自Android客户端9楼2015-02-18 21:55
            顶。。。


            回复
            举报|来自Android客户端10楼2015-02-18 21:56
              前排


              回复
              举报|来自Android客户端11楼2015-02-18 21:56
                首先,我们先来看一下两种指令该如何使用,先讲gamerule命令。
                自定义命令的第一步是/gamerule test 1 ,大家可能会疑惑:gamerule不是只能特定游戏规则才可以么?而且后面跟的都是ture或false,例如/gamerule doDaylightCycle false 。其实,这条命令不同于别的gamerule命令,它是另外一种种类,当你输入这条指令时,其实产生了两个结果:
                1.创建名为“test”的gamerule,当然这里可以换成别的
                2.将名为”test“的gamerule的分数设为1


                收起回复
                举报|12楼2015-02-18 22:25
                  嗯,接着讲


                  回复
                  举报|来自Android客户端13楼2015-02-18 22:39
                    既然是分数,我们就有办法解决,其实,在stats命令中有一个分支叫QueryResult,这个分支是专门将执行任务所产生的值与计分板建立连接的("建立连接"这个概念来自于空白的stats教程),例如time的值,当然也包括gamerule所产生的值,所以下一步就是先创建一个名为test的计分板,并设立假名,将gamerule的分数与计分板建立连接。
                    先是创建一个名叫test的积分版:scoreboard objectives add test dummy
                    然后创建一个名叫score的在test内的假名:/scoreboard players set score test 0
                    并让他在侧边栏显示:/scoreboard objectives setdisplay sidebar test
                    下面是关键的一步,在地上放下一个命令方块,在命令方块内输入命令/gamerule test
                    这条命令的意思是探测test的分数值,如图:

                    下面就是test的值,然后记住此命令方块的坐标,然后在控制台输入:/stats block 【命令方块的X坐标】【命令方块的Y坐标】【命令方块的Z坐标】 set QueryResult score test
                    结果是这样的


                    然后输入/gamerule test 1且激活刚才的命令方块,会发现侧边栏的score分数变为了1


                    最后使用
                    /scoreboard players test score tests 1 1
                    即可完成一系列探测


                    收起回复
                    举报|14楼2015-02-18 23:07
                      讲完了第一种gamerule的方法,现在我们来说说第二种


                      回复
                      举报|15楼2015-02-18 23:10
                        长知识了,一种以为gamerule后面只能加规则多谢lz


                        回复
                        举报|来自手机贴吧16楼2015-02-18 23:12


                          回复
                          举报|来自Android客户端17楼2015-02-18 23:24
                            trigger命令其实是基于tellraw命令的一种分支命令,其作用与gamerule差不多,且有过之,因为trigger可让玩家使用,且可限制使用次数,下面说一下使用方法:
                            老样子,创建一个名叫名叫test1的计分板:scoreboard objectives add test1 trigger
                            大家注意,这条指令的判据是trigger,与以前的什么dummy什么的不同,然后输入
                            scoreboard players enable @p test1
                            这条指令就是trigger的核心,意思是给予离命令发出者最近的人使用trigger改变test1的分数的权限
                            最后就是/trigger test1 set 1
                            这条指令的意思是将test1的值通过triggerset到1,有两种模式,一种是set,一种是add
                            最后一样/scoreboard players test score test1 1 1


                            收起回复
                            举报|19楼2015-02-18 23:38
                              下面是两种方法的对比


                              回复
                              举报|20楼2015-02-18 23:40
                                0.0什么对比


                                回复
                                举报|来自Android客户端21楼2015-02-18 23:45
                                  根据我之前发的两种方法,我们可以看出,无论操作还是使用,都是trigger要更胜一筹,但是因为gamerule命令的广大普及性和方便性,似乎更多人愿意使用/gamerule test 1而不是/trigger test set 1 ,这就是原因所在,至于具体如何使用,还要看诸君自己定夺。


                                  回复
                                  举报|22楼2015-02-18 23:47
                                    【完】


                                    回复
                                    举报|23楼2015-02-18 23:48


                                      回复
                                      举报|来自Android客户端26楼2015-02-18 23:51
                                        新春快乐


                                        回复
                                        举报|27楼2015-02-18 23:51
                                          ~


                                          回复
                                          举报|来自Android客户端28楼2015-02-18 23:52
                                            HL(火留)


                                            回复
                                            举报|29楼2015-02-18 23:54
                                              完了,我对CB啥的完全是文盲了


                                              回复
                                              举报|来自Android客户端30楼2015-02-18 23:55
                                                支持楼主~


                                                大家新年好!