命令方块吧 关注:6,129贴子:69,038

看吧里有好多的大神,也有人发教

只看楼主收藏回复

看吧里有好多的大神,也有人发教程贴,但都不特别完整,有的14年发的15年不更了,所以打算自己发一个教程贴,顺便看看自己对命令的掌握度如何。
目录:
第一章:掌握命令
(1).初识命令方块
(2).掌握基本指令
(3).大战NBT标签
(4).检测生物方块
(5).万能的计分板
第二章:命令实战
(1)高级对话功能
(2)自制合成表
(3)组合颗粒特效
(4)祭坛召唤
还有一些实战没想到,在1楼补充


IP属地:北京来自Android客户端1楼2015-07-22 13:24回复
    此楼补充目录


    IP属地:北京来自Android客户端2楼2015-07-22 13:24
    收起回复
      PS:此教程仅适用1.8以上版本,
      教程中“~”指当前坐标(游戏里也可用)
      〔-----------分割线----------〕
      那么学习命令方块就得知道这是什么方块了,命令方块(Command Block),
      只能通过指令获得,获得的指令为/give @p minecraft:command_block 1 0,命令方块的抗爆性极高,与基岩相同,为18000000,但是末影龙可以破坏命令方块。命令方块只能被红石激活并触发命令


      IP属地:北京来自Android客户端3楼2015-07-22 13:25
      收起回复
        那么 /give @p minecraft:command_block 1 0 这条指令又是什么意思呢,首先我们得先知道它的格式,格式如下:/give 玩家 物品ID 数量 数据值 nbt标签. 我们来一个个解析,首先give是指令的开头,这个必有不可,玩家即你自己的游戏ID,比如你的ID是123你就输/give 123,那为什么那条指令输的是@p呢,因为这是选择器之一,选择器是用来代替生物与玩家的选择器如下:
        @p 最近的玩家
        @r 随机一个玩家
        @a 所有玩家
        @e 所有实体
        〔-----------分割线----------〕
        那我写@p也比较好理解吧,意思是给最近的玩家,如果换成@a就是给所有玩家。
        〔-----------分割线----------〕
        那物品ID又是什么,你在游戏中一起按F3+h,再移到物品下面即可看到它的ID,比如羊毛是minecraft:wool,铁胸甲是iron_chestplate,我上面输的就是命令方块的ID,就是minecraft:commmand_block
        〔-----------分割线----------〕
        数量就不用讲那么多了,输5就5个,输64就给你64个
        〔-----------分割线----------〕
        数据值是给一些特别的东西用的,主要是羊毛,玻璃,染色粘土,输不同的数颜色也就不一样,同样可以用F3+h查看,位置在数字ID的右边。
        〔-----------分割线----------〕
        nbt上面也说了,之后讲,可有可无,也会有点复杂。
        〔-----------分割线----------〕
        现在应该可以理解上面那个give @p minecraft:command_block 1 0 了吧,给最近的玩家1个数据值为0的命令方块,接下来讲一些基础指令。
        〔------------END-----------〕


        IP属地:北京来自Android客户端4楼2015-07-22 13:26
        回复
          〔------------Start----------〕
          1.time指令,这条顾名思义,是用来调时间的,其中有两个分支(set和add)分别是用来设定时间和增快时间的,一天的单位是24000(在time指令中)是24000的原因是1tick0.05秒,24000tick,正好20分钟,其中可以time set day/night 分别设置早与晚,当然你也可以用数字,比如 time set 8000,add就是增加时间,time add 8000,可以把原来的8000时间增加到16000,至于多大数字成早晚请自行脑补。
          〔-----------分割线----------〕
          2.gamemode,这条指令是烂大街的东西了吧,没什么好说的,
          gamemode 0 生存模式
          gamemode 1 创造模式
          gamemode 2 冒险模式
          gamemode 3 旁观者模式
          至于你用create代替1也是可以的,也可以用缩写c,如gamemode create 也可以改成创造,其他请自行脑补,
          后面还可以跟一个玩家,如@p,@a,玩家ID也可以
          如gamemode 0 @a
          就是把所有人改为生存模式
          〔-----------分割线----------〕
          3.weather指令 格式weather 天气 持续时间,这个也顾名思义,改天气的,mc中一共3种天气分别是clear(无天气晴天)rain(雨天)thunder(雷暴)weather clear就可以清除雷暴雨天气以及雨天,后面可以跟时间来保证一直无天气,还有一个指令,它也是切换天气的,就是把雨天(雷暴)切换成无天气,无天气切换成雨天。


          IP属地:北京来自Android客户端5楼2015-07-22 13:28
          收起回复
            4.tp 这个各种地图都会有,就是我们的传送大法,格式tp x y z 玩家,玩家应该不用说了,和上面一样,xyz就是打开F3后看到的xyz,即坐标,比如我要传送到出生点,而坐标是x128 y64 z76,就输入tp 128 64 76 @a
            〔-----------分割线----------〕
            5.setblock,这条指令应该都看的出来,是用来放置方块的,格式setblock x y z 方块ID 方块数据值 旧方块处理方式 nbt ,xyz与tp差不多,就是放置方块的坐标,方块ID就必须是方块,就比如铁不行,而铁块行, 数据值也说过了,也不啰嗦了,旧方块处理方式的意思是它替换掉的方块怎么处理,有三种模式:replace,keep,destroy
            replace不产生方块更新直接替换方块,keep只会在那个位置为空气时放置方块,destroy无视方块并且可以掉落除空气方块的方块(好绕口)。nbt也是以后讲的东西,主要是刷怪笼的以及Item标签。如setblock ~ ~ ~ mob_spawner 就可以放置一个猪笼
            〔-----------分割线----------〕
            6.effect 这个是给你加药水效果的,格式effect 玩家 效果名 时间 效果等级 颗粒是否显示,玩家不说了,效果空格后按tab键自行脑补,时间最高1000000秒(无限),等级就是越高效果越强最高255级,颗粒开启true,关闭false 如/effect @a minecraft:speed 60 2 就是给所有玩家60秒3级的速度效果,还有一个特殊的指令effect @a clear,这样就能清除掉药水效果


            IP属地:北京来自Android客户端6楼2015-07-22 14:26
            收起回复
              怎么没人啊,码字好累的,还是转战主吧的好


              IP属地:北京来自Android客户端7楼2015-07-22 14:28
              回复
                7.spawnpoint 这个是用来设置出生点的,(不改变出生点区块),格式spawnpoint x y z 玩家,xyz不解释,不打xyz也行,就是当前位置(命令方块里必须打),玩家也不解释,如/spawnpoint 64 64 64 @a 就是把所有玩家的出生点设在x64 y64 z64
                〔-----------分割线----------〕
                8.gamerule 这个改变游戏规则,格式gamerule 规则名 布尔值
                先讲布尔值吧,学过编程的应该知道布尔值分别为true(真),false(假),但这里true为开启,false为关闭。规则也可以gamerule后空格一下按tab查看全部规则,现在说一下一些常用的规则:keepInventory(死亡不掉落)doMobSpawning(生物自然生成)doDaylightCycle(日夜交替)commandBlockOutput(命令执行时的提示开关)doFireTick(火的蔓延)
                doMobLoot(生物掉落)doTileDrops(破坏方块掉落物品)mobGriefing(怪物对方块的破坏)naturalRegeneration(自然生命恢复)如/gamerule keepInventory true 就是开启死亡不掉落
                〔-----------分割线----------〕
                9.say 这个十分简单,格式 say 要说的话,对话可以用这个做,如/say 你被抓了
                〔------------END-----------〕


                IP属地:北京来自Android客户端8楼2015-07-22 14:32
                回复
                  Time指令漏了


                  IP属地:江西来自Android客户端9楼2015-07-22 15:38
                  回复
                    太粗糙


                    IP属地:江西来自Android客户端10楼2015-07-22 15:39
                    收起回复
                      〔------------Start----------〕
                      好了我们开始学nbt标签,首先我们先讲物品的标签吧。
                      〔-----------分割线----------〕
                      1.附魔标签:ench,这个可谓是装逼利器了,“你看我的附魔等级上万你的tmi127级能比吗!”废话不多说,格式如下{ench:〔{id:x,lvl:x}〕}id即附魔ID,之后会放出列表,lvl即附魔等级,最高等级 32767,如锋利ID16,获得一把锋利等级10的钻石剑/give @p minecraft:diamond_sword 1 0 {ench:〔{id:16,lvl:10}〕}那多个附魔怎么做呢,只需要在大括号之间用逗号隔开即可,格式
                      {ench:〔{id:x,lvl:x},{id:x,lvl:x}〕}
                      〔-----------分割线----------〕
                      附魔ID PS:复制来的如有错误请纠错
                      1 火焰保护
                      2 摔落保护
                      3 爆炸保护
                      4 弹射物保护
                      5 水下呼吸
                      6 水下加速
                      7 荆棘 效果
                      8 深海探索者
                      16 锋利
                      17 亡灵杀手
                      18 截肢杀手
                      19 击退
                      20 火焰附加
                      21 抢夺
                      32 效率
                      33 精准采集
                      34 耐久
                      35 时运
                      48 力量
                      49 冲击
                      50 火矢
                      51 无限
                      61 海之眷顾
                      62 诱饵


                      IP属地:北京来自Android客户端11楼2015-07-22 16:10
                      收起回复
                        2.display 这个是给物品加名字,注释,以及颜色的。子标签Name,Lore,Color,格式{diaplay:{Name:“名字”,Lore:〔“第一行”,“第二行”,〕,Color:x}}
                        〔-----------分割线----------〕
                        Lore后面可以增加第三行第四行,按照上面的格式双引号加逗号,里面的字可以换成其他字。栗子:give @p minecraft:bow 1 0 {display:{Name:“金佐的大屌弓”,Lore:〔“由满身节操”,“打造而成”〕}}自己去试试吧


                        IP属地:北京来自Android客户端12楼2015-07-22 16:11
                        收起回复
                          3.Unbreakable 这个nbt很简单,就是让工具不会掉耐久,格式{Unbreakable:1/0}1为确认不掉耐久,0为掉耐久(废话),栗子:give @p minecraft:diammond_chestplate 1 0 {Unbreakable:1}
                          〔-----------分割线----------〕
                          4.SkullOwner. 这个是用来获得正版玩家的头的,格式里数据值必须为3,而且id必须是头颅的id,格式{SkullOwner:“Notch”},栗子:give @p minecraft:skull 1 0 {SkullOwner:“jeb_”}


                          IP属地:北京来自Android客户端13楼2015-07-22 16:11
                          回复
                            5.Age/PickupDelay
                            这两个nbt分别控制物品的捡起时间与掉落时间,格式{Age:x,PickupDelay:x} x处填数字,单位为0.05秒,最高32767,最小-32767,还有,当Age为-32767,物品将永远不会消失,PickupDelay为32767时,物品将无法捡起
                            〔-----------分割线----------〕
                            6.AttributeModifiers
                            这个与附魔有一定的相似度,不过是用属性来强化的,格式如下 {Operation:1/0,UUIDLeast:随意,UUIDMost:1随意,Amount:等级,AttributeName:属性名字,Name:随意} Operation指的是等级显示,0用数字,1用百分比。UUIDLeast和UUIDMost说了随意输,Amout是属性等级,比如属性是最高生命值,你的等级为5就会增加5格生命值,AttributeName是属性名,一共只有5种下面放出。
                            〔-----------分割线----------〕
                            属性:
                            generic.attackDamage 攻击加成
                            generic.followRange:怪物追踪
                            generic.maxHealth:最大生命值
                            generic.knockbackResistance:防击退
                            generic.movementSpeed:速度


                            IP属地:北京来自Android客户端14楼2015-07-22 16:12
                            收起回复
                              7.CanPlaceOn/CanDestroy
                              这两个是1.8的新nbt,主要用于冒险模式,分别是可以在哪个方块上放置方块(CanPlaceOn)可以破坏哪些方块(CanDestroy)
                              格式{CanDestroy/CanPlaceOn:〔“minecraft:iron_blick”,“minecraft:mob_spawner”〕},把中括号内的ID替换即可
                              〔-----------分割线----------〕
                              8.BlockEntityTag 这个是给物品形式的方块储存nbt用的,格式{BlockEntityTag:{nbt名:“nbt数据”}},那就扯一下方块的nbt吧,就用Command做演示,栗子:give @p minecraft:command_block 1 0 {BlockEntityTag:{Command:“say 你日的”}}


                              IP属地:北京来自Android客户端15楼2015-07-22 16:52
                              收起回复