你可以帮助我们来翻译此条目,但请勿使用机器翻译。
命令方块可以帮助冒险模式,自动化多人生存以及自定义地图。要了解更多相关的内容,访问命令方块页面。
在单人中的应用 (SSP)
命令方块可以在单人模式中使用,用于更改难度,更改天气状态,或者给你预先设置好的物品。用它使用/weather 和 /time set x这两个命令是很有用的,否则这两个命令只能用在开启作弊指令的情况下.。/time set x 这个命令时很有用的,它允许你在按下一个按钮后改变时间到预定的时间。命令方块也可以用来发送文字到人们的聊天栏中。要做到这点,向地下挖两格,放置一个命令方块到洞的底部, 把这个输入命令方块: tell @p <信息> 或者 tell <玩家ID> <信息>然后在命令方块上面放一个方块,在方块顶上放一个踏板。如果你输入的是@p,那么当有人踩在上面时会收到一个信息,不管是什么人。如果你输入的是<玩家ID>当你或其他人踩在上面时,命令方块中输入的玩家将会收到一条在聊天栏里的信息: @ whispers to you: <信息>。你也可以输入: tell <你的ID> @p 当玩家踩到踏板时你会收到一个信息: ''@ whispers to you: <玩家ID> ',这样就可以得知谁到达了某个位置了。但是如果一个生物踩到了踏板,那么你会收到离命令方块最近的玩家的ID而不是生物名。如果你想改变游戏中的难度那么用 /difficulty x,x是0-3 或者难度名。(例如 /difficulty peaceful)。
电梯
你还可以用它做一个电梯: /tp ~0 ~y ~0,其中y是电梯上升的高度。 电梯也可以直接做成传送玩家到固定的x y z坐标点。当~在命令中时,原来的x y z将都等于0,这些坐标指触发命令方块的压力板的坐标(踩在压力板上玩家的坐标)。如果压力板在x y z坐标分别是-36 96 -12的地方收到命令方块的指令/tp @p 〜3 〜4 〜5 就会传送玩家到坐标-33 100 -7。/tp @p -34 100 -8 可以达到相同的效果,但是注意要加上一个方块以获得正确的坐标。
自动人行道
类似电梯的概念,但是通过让玩家沿x或z坐标移动。 这可以通过下列方式创建:
1.建立一条黑曜石带道路。
2.在这条黑曜石带半路下放置一个命令方块并输入以下命令:
/tp @a[r=(道路长度 / 2)] ~[在X轴移动的距离] ~0 ~[在Z轴移动的距离]>
3.启动命令方块。
这将使它看起来像或者行动上像人是在一个移动的人行道上。 注:建议将命令方块输出关闭。
永恒的昼/夜
通过使用蜘蛛网和一个矿车,就能使用/time set 0跳过夜晚。矿车需要31秒才能从蜘蛛网上掉下。所以,使用23个堆积起来的蜘蛛网和一个探测铁轨几个充能铁轨将会保持太阳在天上。
你也可以使用木质压力板上物品消失完成。物品5分钟后会消失,这时会触发命令方块重置时间位0,并且触发发射器(或投掷器)丢新物品到木质压力板上。5分钟就是一天,并且是生物生成之前。按这样极限是64x9个物品 = 576 天 = 48 小时当这个区块加载的时间。在快照13w01a或更高版本,漏斗被加入了游戏,那就能够捡起物品并且存放在方块的物品栏中。刷怪塔能使发射器充满火药,箭和腐肉。
这些都要求这个区块被加载时才能工作。
你也可以用循环红石连接命令方块,比如一个循环红石、阳光传感器等等。 为了防止“将时间设置为0”的消息充满整个聊天框,通过/gamerule commandBlockOutput false将游戏规则“commandBlockOutput”设置成否。注:这也可以使用在一些其他的用途上并且使用其他的命令。(即,永恒的晴天可以使用其他的循环红石连接命令方块/weather clear)
使用阳光传感器能更直接产生永恒的白天。
当阳关传感器不发出红石信号时,红石火把将激活命令方块将设置时间为80000。换句话说,当天很黑时命令方块将把时间设置为中午。不同的光照强度会输出不同强度的红石信号,这样红石线的长度就可以控制命令方块被激活的时间。
要制作它,你首先需要将阳光传感器放在露天场地。然后连接一条红石线。红石线的距离取决于你的所需设置的时间。最多可以放15格红石。然后,在红石线的另一端放一个实体方块,在方块的另一侧放上红石火把,然后在红石火把可以激活的范围内放置命令方块。鼠标右键单击命令方块然后以"/time set "开头然后在末尾输入一个有效的时间数字。这个数字取决于你想设定的时间。例:14000是晚上,8000是中午.
这样的设计可以用在地图上,以保持永恒的昼/夜一定。这个简单的玩意只能在创造模式或者作弊模式中使用。
这里有一个更精简的设计。如果你把阳光传感器连接到红石比较器和一个信号强度为15的红石线(1红石旁边放上红石火把)到另一个输入端。然后设置红石比较器为减法模式。红石比较器将在中午后激活另一侧。
无线红石
在原版Minecraft游戏中可以通过命令方块和记分板系统来实现无线红石。該過程涉及到使用一個記分板的變量中搜索由附加到clock circuit的輸出的命令塊,。 A [[redstone comparator|comparator],然後將觸發時,該變量被找到真正的無線輸出命令塊使用。
無線紅石也可以通過使用目標而不是變量來實現。如果輸出命令塊被設置為嘗試刪除不存在的目標,紅石信號可以透過命令塊或聊天命令添加上述目標被創建。多變量方法,該方法的優點在於,它不依賴於玩家。
- Translated by Google Translator , if there is any mistakes , report to Google Translate*
- Wireless Redstone 06.png
Wireless output command.
初学者工具包
注:Essentials等服务端插件已经支持进入服务器的新手礼包!
通过使用“m=”值,你可以在服务器或者自己的地图中创建一个新人礼包!首先需要容纳命令方块的空间(根据实际情况选择,最好保证玩家无法再次抵达)。然后放置一排命令方块 (新手礼包内每种物品对应一个命令方块)。在命令方块的界面输入”/give @p[m=<默认游戏模式>] <物品/方块的ID> <给予的数量>“。像这样把新手礼包中的物品输入到对应的命令方块中。然后放置另一个命令方块“/tp @p <出生点坐标>”,用红石线连接这些命令方块 (按住左Shift就可以将红石线放在命令方块上面)。 用其他方块覆盖线路然后在上面放置一个踏板。一旦有玩家踩住踏板, 他们就会获得物品然后被传送到另一个地方,这样可以避免二次领取。
命令方块在生存模式的应用(适用于单人模式)
通过切换模式可以在非创造模式——生存模式中使用命令方块。切换游戏模式需要用指令/gamemode 1 切换, 你可以任意设置命令方块内的指令,然后由另一命令方块将你的游戏模式切换为 /gamemode 0. 你只需要在创造模式设置命令方块执行的指令, 运行之后就切换为生存模式.
这个方法可以用于传送到一些不便抵达的特定区域(比如说,远处的建筑,矿井,或者空岛)。如果你去那里要花很长时间,而且你不介意使用作弊指令,你就可以设置一个传送系统. 设置命令方块时必须为创造模式 (使用指令 /gamemode 1。如果你没有开启作弊模式,打开局域网模式然后设置为允许作弊),你仍然可以切换为生存模式. 当命令方块的界面出现时,输入这样的指令 /tp [@p r或a] x y z 。然后,用红石激活命令方块 (包括拉杆,踏板,压力板等), 然后你就会被传送到千里之外的设置好的坐标点。你可以设置多个不同的传送点。这同样可以用于大型工程中,直接跨过很长的距离,传送到不同的区域,以节省时间。
冒险地图制作
如果某些人想创作一个单人冒险地图,那么请记住一定要禁止让玩家自定义命令方块和使用指令。
在多人中的应用 (SMP)
这个章节详细介绍了命令方块在多人游戏中的应用。
- 传送/运输
通过 /tp指令,可以制作一个所有人都可以使用的传送装置。可以在每个地方都使用。 例如,在整个世界里做一个庞大的传送系统,所有的传送点入口都汇集到传送大厅中,而传送大厅可以进入每个传送点入口处进而达到出口。这样就可以建造一个“快速交通中心”了。
- "定格动画"
通过使用/tp,或者Minecraft地图编辑器,例如MC地图编辑器可以复制一张图片(利用方块做出来的绘画),然后粘贴到一处遥远的地方,并变动绘画的一些方块,利用一些压力板或者绊线钩,在玩家短时间欣赏绘画后,命令方块做出/tp指令,将玩家传送到下一张绘图点. 如果大量的复制粘贴这样的零件,让玩家按顺序的在这些之间传送并稍稍弄出一点点的延迟,那么玩家就会产生幻觉,认为这个绘画是在运动的(甚至认为是某MOD做出来),这就是利用命令方块来实现定格动画技术。
- 抽奖
用/give @r命令,可以创造一个抽奖。但是记住, /give命令是直接把物品放进他们的背包,而不是放在他们面前。
- 监狱
通过连接高频红石到一个命令方块和用/tp命令,你可以强制玩家留在某个地方。如果你想让这个方法成为可行的,在你的聊天窗内使用指令/gamerule commandBlockOutput false.。使用"Range"(最大范围)和"Minimum Range"(最小范围)两个参数,你可以在玩家离开一定距离后再将他们传送回来。
- 只针对管理员
如果使用参数[m=1],那么只有创造模式的玩家才会受到这条命令的影响。
- 戏弄创造模式玩家
你可以放置一个命令方块,输入“/tp @p[m=1] <坐标>”或者一些整人命令。当创造模式的玩家激活这个命令方块就会被传送到某个地方或者变成生存模式,好无聊的恶作剧!
- 公告
注:使用AutoMessage等服务端插件就可以达到自动公告的功能
通过在命令方块中使用 /me,可以创造一个无人自动广播(需要连接循环红石等不断发出激活信号的红石元件),不需要OP。
- 安全扫描
注:大部分服务器管理插件支持封禁危险物品。
使用 /clear指令, 你可以清除玩家背包中的某物品。具体步骤是这样的,使用 /clear @a(或者某玩家ID) <清除的物品名>。如果想实现自动清理危险品需要连接循环红石。
- 比赛裁判
使用/say @p,命令方块就能报告最近的玩家。如果命令方块放在终点线后,他会很方便的说出赢家。
- 建立保护区域
注:Residence等服务器领地插件的拓展插件可以实现领地内游戏模式的变化。
你可以通过命令方块创造一个“创造/生存模式区域”,但是很繁琐。可以通过用命令方块的范围限制来制作一个“围栏”,通过围栏的玩家会变成生存或创造模式。在命令方块中输入指令 /gamemode 2 @a[x=<区域中心坐标> y=<区域中心坐标> z=<区域中心坐标> r=<最大的玩家搜索半径> rm=<最小的玩家搜索半径>] 这样放置两个搜索区域不重合的命令方块,就可以将规定半径内的玩家改变模式。
- 无插件PVP
使用指令 /gamerule keepInventory true 来关闭玩家死亡后的物品掉落(同样在重生后会保留物品,所以需要在玩家重生后清空背包) 。使用 /give @p <物品ID>可以给予玩家武器(可以添加NBT标签),你可以设计一套完善的职业系统,玩家选择不同的职业会有不同的装备。使用 /spawnpoint [x y z坐标] 设置玩家重生地点,使用 /tp [x y z坐标]移动地图中的玩家到指定区域。
- 新手工具包
你可以很简单的给新手工具包不用任何插件使用命令方块: "/give @p[r=2] 274".
为了防止有人第二次按下按钮得到他们的工具包,您可以设置按钮激活两个命令方块:: 1. "/give @p[r=2 m=2] 274" 2."/gamemode 0 @p[r=2]"
- 特殊的彩字
虽然你不能够直接输入彩色/粗体/斜体文本到命令方块中,但是通过McEdit滤器可以编辑那些服务器内的文本。
SethBling's McEdit Filter: ColourCommandBlockText
- 警报系统
当玩家走上踏板时,他能触发命令方块 /say @p <警告内容>
- 奖励屋
如果某个玩家在服务器有着过人的贡献或者有元老资历,但却不足给他管理,你可以奖励他一组钻石块或者基岩。
创建一个只有通过传送指令才能进入的房间,将有卓越贡献的玩家传送进去,玩家会激活房间中的命令方块从而获得奖励,而后他又会被另一个命令方块传送回原地。(可以避免玩家二次领取奖励)
- 天气机
使用/toggledownfall和/weather thunder来开始或者结束降雨(雷雨。)合理安排这个指令的权限会十分有用, 你可以顺随自己的意愿开始或停止降雨。这个技术可以用于村民和一些由降水控制的红石机械,不用输入任何指令就可以控制天气(需要管理员激活命令方块自动执行), 合理利用将会十分有效,比如在森林火灾时或者在雨天刷怪
- 有奖竞赛
使用/tp @p 和 /give @p,你可以制作一个障碍赛跑或者奖励迷宫,游戏结束后就将玩家传送汇出生点或其他地方。
- 时间机器
在地图上模拟两个十分相似的环境,通过命令方块将玩家从一个传送到另一个,并且时间也会被设置为开始的时刻,这就好像是时间倒退。
注:可以广泛用于剧情RPG地图。
- 地雷
使用指令/testfor @p[r=<检测范围>,name=<玩家名(如果没有限制可不写)>] 使用红石中继器连接命令方块和TNT,当命令方块检测到有玩家经过就会激活TNT!Boom!
注:命令方块的/testfor指令为一次性指令,命令方块检测到一次就会一直输出信号。
- 安全门
通过使用 /testfor @p[r=5,name=<房主>],命令方块会在一定范围内检测房主并且为他开门,也只会为他开门。
注:命令方块的/testfor指令为一次性指令,命令方块检测到一次就会一直输出信号。
在自定义地图中的应用
这一节详细介绍了命令方块在自定义地图的应用。
Minecraft中使用大量命令方块的地图有很多优势。
比如:SethBling's TF2 Map
http://www.youtube.com/watch?v=_f2brU8hBWc&feature=plcp
另一个优秀的应用例子是 Hypixel's Gladiator Arena,这个地图中的战斗职业系统完全依赖于命令方块。
- “沉默的”命令方块
在地图中控制命令方块不输出提示信息很重要,这可以保持玩家对地图的未知性和剧情的隐蔽性,如果玩家看到了各种指令的提示信息,地图将会索然无味。 关闭命令方块输出信息(除非是/say这类的指令)使用/gamerule commandBlockOutput false就可以实现。
- 庇护所/角斗场
使用压力板或者绊线 (以安全城堡为例)设置进入城堡内的玩家为和平模式(对于不同区域视情况而定)。城堡大门可以有连接命令方块的绊线,玩家一旦走过绊线,激活命令方块,就会变为和平模式,这样就可以创造一个“避难所”。反之,你可以用同样的方法创造一个“困难模式区域”,所有玩家进入会变为困难模式。
- 对于不同游戏模式玩家的控制
使用值[m=1]你就可以设置指令只对创造模式的玩家有效,生存模式就是[m=0]。
例:传送所有创造模式的玩家到254,47,-874,使用的指令为 /tp @a[m=1] 254 47 -874
- “联合”住宅
在房间的入口或者出口设置一个 /tp 指令的命令方块,你不必将你的建筑都在同一个地方建设,它们可以在任何地方,只需要入口的命令方块传送过去,玩家会忽然觉得外面感觉很小的建筑内部空间竟如此之大。用这种方法联合多个建筑,可用作与服务器或单人地图中的场景瞬移。
- 出生地
使用 /spawnpoint 可以设定玩家出生地点。(应用十分广泛,PVP地图,RPG地图等等)
- 岩浆跑酷
之前的内容提到过,/gamerule keepInventory true可以在玩家死后保存背包物品。 在跑酷地图的出发点设置一个这样的命令方块,就可以使掉落岩浆死亡的玩家不会丢失物品。
- 我要睡觉!
使用 /spawnpoint 可以直接设置出生点,但是要跳过白天就需要 /time set <时间> 指令,18000为夜晚(并非绝对,可以按喜好设置,不要少于12500),这样就可以睡觉了。
(/time set 700 不是可以直接转为白天吗?原文意义何在?)(/spawnpoint指令和/time set 700配合不就行了么?这一条意义何在?)
- 时间和天气下的场景
比方说,你的地图开始在一个寒冷的暴风雨之夜,你可以设置突然天晴了,外面有灿烂的阳光(光影mod么?)!或者,如果你想开始一个光明的一天,想让雨突然下起来又没办法?不要怕,有/weather指令。只需使用/weather,输入就行了!你也可以使用/time set输入:0是凌晨,6000是中午,12000是黄昏,18000是午夜(月亮还挂在头上呐!)。
- 检测玩家是否切换到了和平模式
创建一个攻击型生物,把它放在压力板上。(请确保它会保持始终按下状态,所以一定要确保它不能跳或走开)。做一个红石电路,让压力板在没有接收到红石信号的时候激活命令方块。命令方块里设置一个消息,通知玩家的地图由于和平模式了已经损坏,需要的怪物已经消失,必须重新下载这个地图。你甚至可以做一个隐形传输命令方块,把那些故意切换到和平模式的玩家换成冒险模式后传送到一间基岩屋内,并让他不能使用/kill或/tp指令,并把他的重生点设在那个房子里,让他永生见不得光明!
- Talking Adventure Map(featuring an easy Quest System!)
The /say command is really useful because it makes a text appear into the chat. It's maybe one of the greatest use of the 命令方块 as you don't need silly signs or long books to show the game rules. Just put a bunch of command blocks in lines with repeaters set to two or three ticks (so the player isn't spammed) and you can easily remove a chest of books or a lot of signs.
Another use of the command is talking NPCs and other mobs. Imagine you enter a butchery and you want the butcher to say something. Before, you needed to use signs or books, using some room in a butchery and putting objects that sometimes seemed random, but now... You just have to use the /say command and the butcher will talk. Maybe a pig behind the counter will even beg for mercy! Let's take another example: you are in a factory and an alarm suddenly rings and says that it's going to explode. Having it in the chat, especially if the text is long, keeps the stressfull mood; the same thing works for bomb timers. The player will get more into the map's mood if the chat displays '10...' '9...' '8...' also.
Last but not least, it makes it easier to create a Quest System. Let's say the player gets in a butchery. He activates through a pressure plate connected to a RS NOR Latch (so it can't be activated twice) and a command block with the /say command in which the butcher asks for the player's help: he needs to kill a pig (shame on him). The player gets to the pig that is standing on a stone pressure plate, that turns off when the pig is dead. So, when the player gets back to the butchery, he activates another circuit containing yet another RS NOR Latch and two command blocks with two commands. First, the /say command in which the butcher thanks the player, and other one, the /give command, so the player gets the reward. Along with that, don't forget to use the @p command so the butcher says the player's name. For example, if the command block is set to do this: /say Thanks, @p. You helped me a lot killing that pig., the channel will say: "@]: Thanks, <name of the player>. You helped me a lot killing that pig." This makes the map way cooler and looks like it's made for the player as it says his/her name!
- Making a Store
By using /give @p[lm=(level)] (item) (amount) and /xp -(level)l @p[lm=(level)] you can make a shop system that trades a certain amount of exp for items. For instance, if you made a command block with /give @p[lm=5] 2 64 and another with /xp -5l @p[lm=5] connected to the same redstone current, it will take 5 levels from the player, and in return, give them 64 grass blocks.
- Subtracting xp CAN work as a currency, by using the command /xp -3l @p[lm=3] where l (L for level) is subtracted. The minimum xp for the command to work can be listed inside the brackets, where lm is short for minimum level necessary.
- You can make a Store using xp as a currency. Just place a command block before all the others with the following instructions:
/testfor @p[lm=5] with a Comparator in front of the command block. That way you can only do the trade if you're at least at level 5 (in this case, but you can choose what level you want).
- The last two "updates" are pointless, as the
[lm=(level)] in the first post will keep players from getting the item or losing their xp unless they are that level or higher. so if the command says [lm=5], they will NOT be able to use the "store" if they are level 4 or below, but WILL be able to if they are level 5 or above.
- The blocks must be in order for this to work. If the blocks are powered at the same time, the cost block will subtract as per normal, but the block giving the item will not function unless your level is double or higher what the cost of the block is. (example: item costs 5, you have 7 levels, you will lose the 5 levels, but will not gain the item. You would only receive the item if your starting level is 10 or higher) The fix for this is to power the blocks linearly, give block first followed by xp block.
参考
Template:教程








