Minecraft Wiki
Advertisement
Book and Quill
このページは翻訳途中です。 
あなたが内容を翻訳してみませんか?
Brush
この記事はスタイルガイドの基準を満たす必要があります。 [議論]
この項目を整理してくださる協力者を求めています。

コマンドブロックは、多くの点でアドベンチャーモード、 SMP 自動化、およびカスタムマップをサポートするための手段です。 詳細については、コマンドブロックを参照してください。 いくつかのコマンドで x、 y、 z の値が分からない場合は、最初に座標を見ることをお勧めします。

一般的な使用法

コマンドブロックは難易度や天気の変更、カスタマイズされたアイテムを渡すなど、様々なことができる。これらは通常、チートモードを使わないとできないため、/weather/time set xxコマンドを使うときには特に便利である。/time set xxコマンドは、ボタンを押すだけで現在の時間を変更することができるので便利である。

また、チャットメニューにテキストを表示させることもできる。これを行うには、tell @p <message>tell <username> <message>を使えばよい。@pは最寄りのユーザーを指定するターゲットセレクターである。<username>に特定のユーザー名を入れた場合、その人に向けてメッセージが送られる。また、、/tell <自分のユーザー名> @p と入力すれば、誰かがそこを通るときに「~にささやきました: xxx」と表示される。

難易度の変更は /difficulty <難易度>で行う。<難易度>には peacefuleasynormalhardのどれかを入れる。

もう一つの使い方としては、/tp @p <座標>または<プレイヤー名>で、テレポートをすることができる。座標を入れれば、その座標に、プレイヤー名を入れればそのプレイヤーのもとにテレポートする。座標は~を用いた相対座標でもよい。

いずれかのプレイヤーへアイテムを付与させた後、そのことを全員に伝える

Cookietut The Cookie Giver 5000X

ランダムなプレイヤーにクッキーを5つ与え、全員に伝える仕掛け。

"cookie"というオブジェクトを作成する

/scoreboard objectives add cookie dummy cookie

↑最初のコマンドブロック

/scoreboard players set @r cookie 1

↑二番目と三番目のコマンドブロック(同時)

/say @a[score_cookie_min=1] has been given 5 cookies.

/give @a[score_cookie_min=1] minecraft:cookie 5

↑四番目のコマンドブロック

/scoreboard players set @a[score_cookie_min=1] cookie 0

"I" = 入力

プレイヤーのテレポート

/tpコマンドを使用するとテレポートすることができる。ここでyはエレベーターの上下の入り口の間の距離のような垂直差である。エレベーターは、数字の前の~をなくすと、プレイヤーを任意のx,y,z座標にテレポートする事もできる。コマンドに~がある場合、通常x,y,zは、感圧板の上に立ったり、コマンドブロックが信号を受け取った際にある場所など、コマンドが行われた場所を0,0,0として計算される。感圧板のx,y,z座標が-36 96 -12にあり、コマンドが/tp @p ~3 ~4 ~5と実行された場合、プレイヤーは-33 100 -7の座標にテレポートする。/tp @p -34 100 -8 のコマンドを使用しても同じ結果を得られる。正しい座標にテレポートするには、x軸とz軸からそれぞれ1ブロック分引く必要がある。

セキュリティゲート

コマンドブロックを使用してセキュリティシステムを作成することもできる。家の入口の鉄のドアの前にコマンドブロックを置いて/tp @p[r=<範囲>,name=!<名前>] <x> <y> <z>と入力し、その上に感圧板を置く。Mobの場合は、シンプルなフェンスや溶岩の堀で十分である。

動く歩道

エレベーターと同様の概念だが、プレイヤーをx座標やz座標に沿って移動するために作成する。制作方法:

  • 自分の座標で/fillコマンドを実行する。(/fill x y z x2 y2 z2)
  • 上記の括弧内の次の敷き詰めるブロックの位置にこれを入力:
    command_block 1 replace {Command:/tp @p ~-1 ~ ~}
  • 括弧内の座標を編集すると、移動する方向を変更できる。
  • 全てのコマンドブロックの上に感圧板を置く。
  • 踏む

コマンドブロックの出力をオフにすることができる。チャットが顔で爆発する。

時間経過の停止

ファイル:Time reseter .png

注: 13w24aの時点では、ゲームルールdoDaylightCycleがあり、チャットで/gamerule doDaylightCycle false/time set 6000と入力することでずっと昼間にすることができる。

クモの巣とトロッコを使用すると、/time set 0を使用して夜をスキップできる。トロッコがクモの巣を抜けるのには31秒かかるため、23個積み重なれたクモの巣をディテクターレールパワードレールでつなぐことで、日が沈まないように出来る

または、木の感圧板でアイテムのデスポーンする性質を使用できる。アイテムは5分ごとに感圧板にドロップされ、この時点でコマンドブロックの時間を0にリセットし、ディスペンサー(またはドロッパー)をオンにして新しいアイテムを木の感圧板にドロップする。5分は日周期であり、Mobが出現する前に起動される。ただし、この方法は、そのチャンクがロードされた64(個)×9(スロット)=576(周期)=現実時間で48時間のゲームプレイに制限される。スナップショット13w01a以降では、ホッパーがアイテムに追加され、アイテムを拾い、インベントリにあるブロックに入れることができる。Mobトラップにより、火薬、矢、ゾンビ肉でディスペンサーをいっぱいに保てる。また、コマンドブロックを使用して単純に空中からアイテムを作成することもできる(例:/summon Item ~1 ~0 ~1 {Item:brown_mushroom})。これの利点は、ディスペンサーを使用する場合のような64×9の制限が無いことである。

これらの方法は両方とも、システムが機能するためにチャンクを読み込む必要がある。

もしくは、コマンドブロックを5クロック、ある種のループ、または右側にあるような日照センサーなどの繰り返しのレッドストーンパルスに接続することもできる。チャットボックスがいっぱいになるのを防ぐには、コマンド/gamerule commandBlockOutput falseを実行してゲームルールcommandblockoutputをfalseに設定する。注:この方法は、異なるコマンドを使用して様々な設定を行うのに使用できる。(つまり、ずっと昼間にするには、ループに別のコマンドブロックを追加し、/weather clearを使用する必要がある)

また、切り替え可能にするには、これらの方法のいずれかを使用するが、コマンドブロックの前にANDゲートを設置し、一方をレバー、他方を回路につなぐ。

日照センサーを使用すると直接的にずっと昼間にできる

ファイル:Automatic Time Resster view 1.png ファイル:Automatic Time Reseter view 2.png

センサーによりレッドストーントーチがオフになり、コマンドブロックが有効になる。そして、センサーがレッドストーントーチまでの距離で電力を供給できる光がない場合、時間が8000に設定された。つまり、コマンドブロックは十分に暗い時に時刻を正午に設定する。コマンドがオンになる際の明るさレベルは、レッドストーンワイヤの距離によって調節できる。設定する時間は、コマンドブロックに入力する時間によって調節できる。

ファイル:Automatic Time Reseter view 3.png

作るには、まず、開けた場所に日照センサーを設置する。次に、レッドストーンワイヤーを底から設置していく。レッドストーンワイヤの距離は貴重な時間の必要性によって調節する。信号を目的地に送信するため、日照センサーから最大15ブロックレッドストーンワイヤーで離すことができる。次に、レッドストーンのもう一方の端にブロックを置く。レッドストーントーチをブロックの側面に付け、その上にコマンドブロックを置く。コマンドブロックを右クリックして/time setの後に有効な時間値を入力し終了をクリックする。値は、時間を設定する時間によって異なる。夜は14000で、正午は8000である。

ファイル:Automatic Time Reseter.png

This design can be used in maps to keep it a certain time of day/night. This simple contraption can only be used in Creative mode or when you enable Cheats.

There is an alternative, more compact design. If you put a comparator facing away from the sunlight detector and a 15 strength redstone line (one redstone with a torch) into the second input. Then set the comparator to subtraction mode. The comparator will activate right after noon.

レッドストーン信号の無線化

Wireless Redstone can be achieved using command blocks and the scoreboard system. The process involves using a scoreboard variable that is searched for by a command block attached to the output of a clock circuit. A comparator is then used on the wireless output command block that will trigger when the variable is found true.

Wireless Redstone can also be achieved by using objectives instead of variables. If the output command block is set to try and remove a non-existent objective, a redstone signal can be created by adding said objective via command block or chat command. The advantage to this method over the variable method is that it is not dependent on players.

To do this, place a command block at the input and type the command: /scoreboard objectives add <objective name> dummy. At the output location, place a command block, type /scoreboard objectives remove <objective name>, hook it up to a clock, and put a comparator then a repeater leading out of the command block. Then just use the repeater as an output.

You can also achieve wireless redstone by using the /setblock command instead of the scoreboard system. All you have to do is let the command block set a redstone_block to the destination coordinates - together with an air block (or anything that does not output a signal) being set to the same coordinates from a command block connected to the inverted signal.

ボタンの遠隔操作

This can be done with any block, technically, but buttons, levers, and other interchangeable blocks add an interesting effect. It's surprisingly simple, despite the mysteriousness on servers. It uses the 1.8 command testforblock. The setup is simply a command block, a comparator to translate the command into a redstone signal, a block to be tested for, and a clock to repeatedly activate the command block. Here's the example for a button:/testforblock 123 12 123 stone_button 10. You use the coordinates and name for the specific block you want to test for, in this case a stone button located at 123 12 123. This can be interchangeable for any block that changes data value. The number 10 after the coordinates corresponds the data value of the button that we want the command block to test for. In this case we want the command block to activate when a button facing west is pushed, so we set the value to 10.

Note: this value changes depending on which direction the button/lever is facing. The initial value for a button facing west that is not pressed is 2. When a button is pressed, it adds a value of 8 to the initial state, so a button facing west when pressed would then have a data value of 10. Refer to: Button#Data values & Lever#Data values for the data values.

スターターキット

By using m=, you can make a kit on a server/custom map that can only be obtained once! First, dig 3 squares down in the ground, then place a row of command blocks (one for each item in the kit). In the GUI, type /give[m=<starting gamemode, in number form>] <item id> <amount>. Do this for each item you wish to give. Make an extra command block that has the command /gamemode <a different gamemode than the starting mode>, then string redstone across all of the command blocks (this can be done easily by sneaking and placing). Fill in the hole and place a pressure plate over it. When players walk over it, they will get the desired kit of items and it will change their gamemode so they cannot receive it anymore (unless cheats are used) (Note: This method can also be done by using the method above only using (First name your kit do /scoreboard objectives add <kitName> dummy <kitName>) scoreboard commands! /give @p[score_<kitName>=0] <item id> <amount> for the row of command blocks giving you the items and /scoreboard players add @p <kitName> <any number greater than 0> to make it a one time use. Also you can make more than one kit if you repeat the steps and use a different <kitName>).

感圧板の多種多様化

Don't you hate how there's only 4 materials that pressure plates blend in with? (stone, oak wood planks, iron and gold) Now you don't have to put up with that. Pressure plates can be replaced with a command block by using the command /testfor with a range and a clock circuit. The command /testfor @p[r=2] will test to see if any players are within a range of 2 (the command block itself plus 2 more blocks in every direction). Range 2 is the range you want for a command block under a floor. Keep in mind that it will produce a globe shaped trigger area (rather than a cube), so a range of 2 makes an approximately 5x5x5 area and a range of 1 makes a 3x3x3 area (more like a + pattern with an extra block above and below the center). You can get around this by using the dx, dy and dz arguments. Alternately you can specify xyz coordinates in the code (e.g. /testfor @p[x=50,y=64,z=46,r=1] but be warned that you cannot shrink the range to the 1-block point. As with the non-xyz version range means center block plus range number of blocks around it, which makes sense from a command block (where "just the center block" would mean you have to be standing IN the command block) but doesn't make sense here. At any rate a range 1 sphere (+ pattern with an extra block on top and bottom) can be buried underground with just the top sticking out, provided you know no one will be walking through the bottom 2 layers of the globe. Trying this with the non-xyz version of the code would require the command block itself to be embedded in the surface of the floor where it can be seen.

非クリエイティブのシングルプレイでのコマンドブロック使用

By swapping gamemode it is possible to use command blocks in single player outside of creative mode. Simply swap to creative mode with the /gamemode 1 command, set the command block command to whatever you want, then swap back to /gamemode 0. The command block only needs to be set in creative, but will still function once back in normal.

It can also be used to teleport to certain areas (for ex. a far-away Stronghold, a deep mining operation, or a floating island). If it took you a very long time to get there, and if you don't mind sort-of cheating, then you can set up a teleport system. Make sure that you are on Creative mode while setting it (use the command /gamemode 1. If you don't have cheats enabled, open the LAN and set the cheats on), but you can still activate it in Survival mode. Type this command in when having the Command Block GUI open /tp @p x y z . Then, activate the command block with redstone (including buttons, levers, and pressure plates), and you will be sent to your far-away destination. You can set up multiple different teleports. This can also be used when doing a big project that spans over a very large area or if you are transferring chests to from an old house to a newer house.

アドベンチャーマップの作成

If one wishes to create a singleplayer adventure map, do /publish to allow all other commands (see below) to be used.

マルチプレイ専用装置 (SMP)

This section details the applications of the Command Block in multiplayer.

  • 簡易移動装置

Through /tp, one can create teleporters for public use on a server. Can be applied to a range of scenarios. For example, one could make a system of portals in a particularly large world in which all portals link to a central hub, which contains portals to all other portal locations creating a sort of "Fast Travel Hub"

  • "ストップモーション・アニメーション"

By using the /tp command and an external Minecraft world editing program, such as MCEdit, one can copy a landscape, paste it in a faraway location, and alter a few blocks. Wire a pressure plate or tripwire at each site, so that after a short delay to admire the scenery, the player is teleported using the /tp command in the command blocks. If a large amount of these copied and altered locations are wired so that the player teleports to them in sequence with a slight delay in between each, then this creates the illusion that the scenery around the player is moving, similarly to the techniques used in stop-motion animation.

[Note: If you are using 1.8 or its snapshots, you could use /clone with lots of different copies of it, slightly altered bit by bit, and then just clone the areas into one spot in sequence. That way the player doesn't have to be teleported, but the landscape around them can be animated as the clone commands copy the various animation "frames" near the player sequentially.]

  • 宝くじ

Through /give @r, one can create a lottery. Keep in mind that now, /give will directly put items into one's inventory, instead of throwing them on the ground in front of the character.

  • 宝くじ・改

As mentioned above one can create a lottery but that lottery is usable by the public. A simple edit can change that... First create a new objective. (For example: /scoreboard objectives add Lottery dummy Lottery ) Then use this command on a command block /scoreboard players add <playerName> lottery 1 to enter players into the lottery then do /give @r[score_Lottery_min=1] to start the lottery and only the players you choose can be in the lottery!

  • 刑務所

By rigging a clock to a command block and using /tp a whole bunch, you can force a player to stay at a certain place. If you do this it would be advisable to either turn off commands in your chat settings or do /gamerule commandBlockOutput false. Using the "Range" and "Minimum Range" parameters, you can have it teleport players back only when they're a certain distance away.

Alternatively, giving the player certain status effects at high levels using the /effect command can mimic the effect of a jail. Use /effect @p 2 <insert duration of effect> 128 to keep the player from moving, and /effect 4 <insert duration of effect> 127 to keep the player from breaking things. If you really want to kick it up a notch, poison the player (use one of the previous two commands, but replace the first number with 19).

  • プレイヤー識別装置

By using the parameter [m=1], only players in Creative will be affected by the command block.

  • ゲームモード変更装置

If you place a command block connected to a redstone pulse you can set tp @a[m=1] ~0 ~1 ~0 for hilarious results. This could be a way to get creative mode people to change to survival and is also really fun to watch.

  • お知らせ装置

By using /me in a command block one can create announcements that could play even when the admin/owner wasn't there.

  • 所持アイテムスキャン装置

By using /clear, you can scan people for items. If you want to remove certain items, use /clear @a(or <playername>) <itemid>. For example, on a server that doesn't want griefing you could have a clock connected to a command block set to /clear @a minecraft:flint_and_steel.

  • 審判装置

Using /say @p, the command block can report the nearest player. If the command block is placed after a finish line, it will say the finishers in order. As of patch 1.7, you can also do /tellraw @p "THIS IS A MESSAGE" and when activated the message "THIS IS A MESSAGE" will come up on the chat system.

  • クリエイティブ限定エリア/プライベートエリア

Creating a "Creative Only" zone is possible through command blocks, but it is complex and more of a case-by-case basis. The basic idea would be to create a "fence" of command block affected zones so that, once a player flies in creative through it, they would be changed to survival or adventure mode. A "World Guard" zone would be a lot simpler, just have a command block do /gamemode 2 @a[x y z r m] and when people leave, just have a button to change them to survival.

  • プラグイン不要での PvP の最適化

You can use /gamerule keepInventory true so players cannot steal each other's items. Also, using /spawnpoint [x y z] and /tp [x y z] to help move players around while in PvP competitions.

  • スターターキット

You can easily give people a starter kit with a button without plug-ins: "/give @p[r=2] 274". To prevent people pressing the button a second time and again getting their kit you can make two command blocks activated in order: 1. /give @p[r=2 m=2] 274 2. /gamemode 0 @p[r=2]

  • メッセージの装飾

Through 1.7, you are now able to create a colored, clickable message you can send to anybody. The command is /tellraw. Do not confuse with /tell. The basic format is /tellraw @<selector> {text:"", color:<color>, } An example would be /tellraw @a {text:"Hello, Steve", color:blue, italic:true, obfuscated:true}. Simply place a comma and space with each addition. If you want other players to be able to click it, use clickEvent. Here's the example: /tellraw @p {text:"Run Coward! I hunger!", clickEvent:{action:run_command, value:"/give @p minecraft:cooked_porkchop 64"}}. This means when the player clicks the text, it will give them a stack of cooked pork. If you just want to tell them something without running a command, replace clickEvent with hoverEvent and run_command with show_text. Then just type the value text as a regular sentence, no backslashes. If you want an easier job of it, here are a few McEdits: SethBling's McEdit Filter: ColourCommandBlockText

  • アラームシステム

When a player walks over a pressure plate, it can trigger a command block with /say @p.

  • 満員システム

Using coordinate and maximum parameters you can teleport everyone within a specific area to another specific area.

  • 報酬部屋

If a certain player has been very nice, regular, or helpful to the server but not quite meeting the requirements to be promoted to an admin, you could have a room full of buttons connected to Command Blocks with helpful effects, like giving the helpful player a stack of diamonds or a bedrock block, then have it connected to another command block, sending them to the spawn point. (It is VERY important this room is reinforced with bedrock, hidden, and you can only get in by teleporting to its co-ordinates to avoid abuse).

  • 天候切り替え装置

(Command: /toggledownfall and /weather thunder (to start or stop a thunderstorm)) Assuming only admins can get to it, a weather machine can be quite useful, you can turn rain on and off at will. One of the more helpful uses of this technique would be to use a combination of villagers (they run inside when it rains) and some form of redstone machinery to create and automatic rain disabler, this would allow you to shut off the rain almost immediately without needing to use the command, or to have an admin present. It can also be used to create, and/or end, a scenario where it is more advantageous to have rain as opposed to sunlight, and vice versa; such as during a forest fire, or when a thunderstorm is spawning monsters.

  • レースの景品

with tp @p x y z and give @p itemname, you could make an obstacle course or maze that when finished will give a player a prize, and will teleport them back to spawn or some other area.

  • タイムマシン

By making two similar places on one map, you can have a button activate a command block to tp you from one to another, while also changing the time of day. This can be used to look like time travel.

  • 近接採掘装置

By using a condition such as /testfor @p[r=5,name=!<placing player>] hooked to a short clock and one or more TNT blocks via a comparator, the command block can act as an undetectable proximity mine against all players except the placing player.

  • プレイヤー識別ドア

By using a condition such as /testfor @p[r=5,name=<owner>], the command block can detect a door's owner within a certain radius and open a door for them, and only for them.

  • コマンド

By using a trigger objective, you can create commands that players can use on a server.

Warp command example:

First, add the objective: /scoreboard objectives add warp trigger. Place a command block connected to a Redstone clock with the command scoreboard players enable @a warp. Then place another command block connected to the clock with the command tp @a[score_warp_min=1] <x> <y> <z> [<y-rot> <x-rot>]. Place a comparator facing away from that command block, activating a command block with the command scoreboard players set @a[score_warp_min=1] warp 0. When a player uses /trigger warp set 1, they will be teleported to the <x> <y> <z> coordinates in the command block.

カスタムマップ専用装置

This section details the applications of the Command Block in custom maps.

One map that takes advantage of a lot of the features of the Command Block is SethBling's TF2 Map "Dustbowl" in Minecraft.

http://www.youtube.com/watch?v=_f2brU8hBWc&feature=plcp

Another example is the Hypixel's Gladiator Arena in which the fighting system is almost only based on the Command Block.

http://www.youtube.com/watch?v=jryJkWcqmzM

  • コマンドブロックでのコマンド実行によるメッセージの非表示

Sometimes it's important in a map to keep the command blocks silent, may it be to keep the magic of the suddenly appearing items in the inventory, or because the channel telling that the player was teleported, it can break the mood of a map. To keep them silent (except when you ask them to speak), just use the /gamerule commandBlockOutput false.

  • PvP 可/不可エリア

Using pressure plates or tripwire, make areas (like a castle for instance) a different difficulty (for this instance I will use peaceful). the doors could have tripwire hooked to a command block that changes ones difficulty to peaceful, creating a sort of "Safe Haven". one could also do it the other way around, creating a more dangerous zone, such as arenas having the difficulty of hard, rather than normal or easy.

  • チート使用の検出

Using parameter [m=1], you can affect those who are in Creative, or survival with parameter [m=0].

  • It's bigger on the inside

This is a simple one, just have a system of tp-ing command blocks at the entrance/exit of a place, and you can build the interior somewhere else, allowing you to cheat space restriction. (example of use: you want interior walls to be wool, but exterior walls to be wood (normally 2m thick walls). You can make the outside of the house be 8x10 m, and the inside of the house be 8x10 m.) Or, have the inside of the house 20x20m instead! Say hello to a new TARDIS!

  • 進行状況の保存

By using the /spawnpoint command, one can easily make a button-activated checkpoint.

  • 溶岩パルクール

As said before, there is a command that makes the player able to keep their inventory upon death: /gamerule keepInventory true. Simply connect this to a pressure pad before a parkour level over lava and you don't have to use any kind of chest minecart (especially useful when the player has it's full inventory, which is bigger than a single chest).

  • Still want a bed?

It is true that the /spawnpoint command is really useful because you don't have to wait for the night to create a checkpoint, but what if you want to have a BUD switch connected to the bed or something of the sort? Then, you just need to have a pressure plate (it's more discreet) connected to a block with the /time set 18000 command, and it will set the time to night so the player can sleep.

  • Time and weather following the scenario

Let's say your map starts on a cold stormy night and when the player starts, for some random reason, there's a bright sun outside! Or what if you want to start on a bright day and the rain decides to join along? Fear not, for there is a weather command. Just use the /weather input command with, as input, clear, rain or thunder. Along with this, you can also use /time set input with as input a number: 23250 is sunrise, 6000 is midday, 12750 is sunset and 18000 is midnight.

  • Detecting Players who switched to Peaceful

Note: In the 1.8 you can lock the difficulty for a specific world.

Create a hostile mob (so it disappears when switching to Peaceful) that never despawns if the player is far away. To do so, use a name tag on the mob (or third party software if you are playing in a version previous to 1.5.2) and place it on a pressure plate. Make sure it will keep it pressed infinitely, so make sure it can't jump or walk away. Make a redstone circuit that causes a command block to activate when input from pressure plate ceases to exist. Place a message inside the block that informs the player on chat that the map has been broken and must be redownloaded. This way, switching to Peaceful will cause the mob to vanish and activate the message. You can even make a teleportation command block so that a cheater is banished from the map to a small room without a way out as soon as he switches to Peaceful.

  • 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 Command Block 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! You could also change [@] to [Butcher] by renaming the /say command block using an anvil.

  • 売店

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 -5lL @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.
  • 村人による売店

Custom Villagers selling whatever you want can be created with command blocks.
e.g.: /summon Villager ~-2 ~0 ~0 {Profession:3,CustomName:BLACKSMITH,CustomNameVisible:0,Offers:{Recipes:[ {maxUses:13,buy:{id:388,Count:5},sell:{id:283,Count:1,tag:{ench:[{id:16,lvl:9},{id:20,lvl:6}],display:{Name:Molten Gold Sword}}}},{maxUses:13,buy:{id:388,Count:1},sell:{id:280,Count:1,tag:{ench:[{id:16,lvl:5}],display:{Name:Whuppin Stick}}}},{maxUses:13,buy:{id:388,Count:2},sell:{id:369,Count:1,tag:{ench:[{id:16,lvl:5},{id:20,lvl:10}],display:{Name:Radioactive Whuppin Stick}}}},]}} .
The part labeled "Buy" is what the villager is accepting as payment, the part that says "sell" is what he's giving in return. You can change the maxUses to 1000 if you never want the offer to run out, or to 1 if you want to make it a one-of-a-kind item. Note that the first item there (the gold sword) has an out of range enchantment (sharpness 9). Yes this works, but always research what exactly the enchantment does before making an out of range one as some stuff does nothing or even does negative effects (respiration's "see underwater" side effect makes everything a blinding white at high levels, as if you dove into slush-filled arctic waters). As for that gold sword, keep in mind that gold swords wear out insanely fast (there's a reason people call them butter swords after all). A level 10 Unbreaking enchantment should bring a gold sword up to a decent durability level. Also notice that the other 2 "weapons" are actually a Stick and a Blaze Rod with weapon enchantments on them. Using any non-weapon as a weapon does the same damage as an empty hand (1 damage, aka half a heart) but the enchantments on these ones make them the equal of an unenchanted sword. Why bother? What's the advantage? Because unlike weapons, sticks and blaze rods HAVE NO DURABILITY RATING AND WILL NEVER WEAR OUT! The same trick can be used with mobheads and respiration 3 to make an infinite durability scuba mask.

1.7での特殊な使用法

ファイル:Legit Rails.png

Minecarts over floating rails created with the setblock command.

In 1.7, the command block gained an expanded potential. Namely, the /summon and /setblock commands have been added, and can be used to automatically build structures, fill chests, and spawn previously unavailable entities. The syntaxes for the commands are:

/setblock <x> <y> <z> <tilename> [datavalue] [oldblockHandling] [datatag] for setblock
/summon <EntityName> [x] [y] [z] [DataTag] for summon

Along with that, the setblock command also makes it possible to make traps with disappearing floors and sudden walls.

SETBLOCK EXAMPLES:

* MobSpawners pt 1: The Basics This code will create a zombie spawner 2 blocks from you in the x direction. Note that the name given for mob spawners in this code ("minecraft:mob_spawner") is the long version and you can leave out the "minecraft:" part.

/setblock ~2 ~0 ~0 minecraft:mob_spawner 0 replace {EntityId:Zombie}

This next code is also pretty basic but it includes the 6 basic parameters that can be set.

/setblock ~0 ~-1 ~-3 mob_spawner 0 replace {EntityId:Skeleton,SpawnRange:4,RequiredPlayerRange:16,SpawnCount:4,MaxNearbyEntities:6,MinSpawnDelay:200,MaxSpawnDelay:800}

A few things to note:
A) All times are in game ticks (20ths of a second). 200-800 is 10–40 seconds.
B) Keep in mind that they are in groups of 2 and won't work if their partner is missing. SpawnRange requires RequiredPlayerRange (and vice-versa), MinSpawnDelay requires MaxSpawnDelay, and I assume SpawnCount needs MaxNearbyEntities (although I haven't actually heard confirmation on that last one).
C) There is also a parameter called "Delay" which contains the amount of time before next spawn (20 ticks for the first time, whatever random number it picks between MaxSpawnDelay and MinSpawnDelay every other time).
D) the coordinates given are ~0 ~-1 ~-3 (so 3 blocks in the negative Z direction from the commandblock's current position and 1 block down). This presumably will imbed it in the surface of the floor. Keep in mind that a spawners "SpawnRange" setting only applies horizontally not vertically. Vertically it will only spawn at the same height or 1 lower or higher, so imbedding it in the surface of the floor cuts the available spawn area by 2/3rds (but can help hide it). Naturally occurring spawners have their height cut by 1/3rd due to appearing 1 block above the floor instead of 2.
E) All the values used here are the defaults.

* MobSpawners pt 2: Custom monsters Now we get into the SpawnData. That's the stuff that tells the spawner you want a non-standard version of a monster, like a Zombie with a Diamond Sword and a Chainmail Helmet.

/setblock ~ ~1 ~ mob_spawner 0 replace {EntityId:Zombie,SpawnData:{Equipment:[{id:276,Count:1},{},{},{},{id:302,Count:1}]}}

Using ~ without any number after it in the coordinates counts as zero. Since none of those 6 parameters from last example are used they will all be defaults.
Note that the 5 equipment slots are: Hand, Boots, Legs, Chest, Helmet. You must even specify empty slots (the { }, parts) unless they're after the last non-empty slot. So if you want him to have a helmet you have to specify all 5 slots, but if it's just a weapon you can leave off the other 4. Or if you want him to have leg armor you have to specify weapon and boot slots but not chest and helmet slots.
By the way, creatures that burn in sunlight are safe if they have a helmet on, although it damages the helmet instead.
About the Count tag: most codes can get away with leaving it out, however it is important. An item without a count tag is a stack of zero, better known in the community as a "Ghost Item". A player trying to use a ghost item will have it disappear out of his hands with its first use (which is a failure). While monsters can use ghost items without problem (hence why codes get away with leaving it out sometimes) if they drop the items the player who picks it up won't be able to use it, SO INCLUDE COUNT!

Next up we have a Skeleton with an enchanted bow (Flame), a custom mobhead (Spider, internet connection required or it's just steve) with Protection 2, and riding a Skeletal Horse.

/setblock ~2 ~1 ~2 mob_spawner 0 replace {EntityId:Skeleton,SpawnData:{Equipment:[{id:261,Count:1,tag:{ench:[{id:50,lvl:1}]}},{},{},{},{id:397,Count:1,Damage:3,tag:{ench:[{id:0,lvl:2}],SkullOwner:MHF_Spider}}],Riding:{id:"EntityHorse",Type:4,Tame:1,SaddleItem:{id:329,Count:1,Damage:0}}}}

Well actually sitting on a Skeletal Horse, since the lower creature controls the movement and the horse isn't hostile. Don't try zombies on horseback, they just sit there ineffectually while the horse eats grass and snorts. Luckily this is a skeleton and can shoot you from wherever the horse decides to wander.
As for the horse itself, it's type 4 (skeletal horse), Tame is set to 1 (yes), and it's got a saddle (and the fact that they make us specify which saddle hints that they may eventually have more than one type). Technically you can have multiple levels of riders, although this gets silly quickly.

MobSpawners pt 3: SpawnPotentials Using the SpawnPotentials tag lets us create a mobspawner with multiple mobs in it. It will randomly pick one each time it resets the timer (a second after spawning the previous mobs). Since these codes contain multiple mobs they tend to be quite long codes. Thanks to some youtuber whose name escapes me (Dragnoz) the fact that you can "break up" your code is known (command blocks ignore line breaks, so you can start a new line to clarify where one section ends and another begins and it won't ruin your code). Here's a more easy on the eye version of a SpawnPotentials code

/setblock ~0 ~1 ~1 mob_spawner 0 replace {EntityId:Zombie,SpawnRange:6,RequiredPlayerRange:12,SpawnCount:1,MaxNearbyEntities:6,MinSpawnDelay:100,MaxSpawnDelay:600,SpawnData:{Equipment:[{id:268,Count:1},{id:301,Count:1},{id:300,Count:1,tag:{display:{color:5013401}}},{id:299,Count:1,tag:{display:{color:6717235}}},{id:397,Count:1,Damage:3,tag:{SkullOwner:Reimac}}]},SpawnPotentials:[

{Type:Zombie,Weight:4,Properties:{Equipment:[{id:268,Count:1,Damage:58},{id:301,Count:1},{id:300,Count:1,tag:{display:{color:5013401}}},{id:299,Count:1,tag:{display:{color:6717235}}},{id:397,Count:1,Damage:3,tag:{SkullOwner:Reimac}}]}},

{Type:Skeleton,Weight:2,Properties:{Equipment:[{id:267},{id:301,Count:1,tag:{display:{color:1644825}}},{id:300,Count:1,tag:{display:{color:1644825}}},{id:299,Count:1,tag:{display:{color:1644825}}},{id:397,Count:1,Damage:3,tag:{SkullOwner:2insanepeople}}]}},

{Type:Zombie,Weight:4,Properties:{Equipment:[{id:272,Count:1},{id:305,Count:1},{id:304,Count:1},{id:303,Count:1},{id:397,Count:1,Damage:3,tag:{ench:[{id:0,lvl:2}],SkullOwner:Flixnore}}]}},

{Type:Zombie,Weight:4,Properties:{Fire:2400,Equipment:[{id:283,Count:1,tag:{ench:[{id:20,lvl:1}]}},{id:317,Count:1},{id:316,Count:1},{id:315,Count:1},{id:86,Count:1,tag:{ench:[{id:0,lvl:2},{id:1,lvl:10}]}}]}},

{Type:Zombie,Weight:4,Properties:{Equipment:[{id:267,Count:1,tag:{ench:[{id:16,lvl:2}]}},{id:309,Count:1},{id:308,Count:1},{id:307,Count:1},{id:397,Count:1,Damage:3,tag:{ench:[{id:0,lvl:2}],SkullOwner:2zqa}}]}},

{Type:Zombie,Weight:1,Properties:{Equipment:[{id:278,Count:1,tag:{ench:[{id:16,lvl:4},{id:17,lvl:4},{id:18,lvl:4},{id:21,lvl:3},{id:34,lvl:3}]}},{id:313,Count:1,tag:{ench:[{id:1,lvl:4},{id:2,lvl:4}]}},{id:312,Count:1,tag:{ench:[{id:3,lvl:4}]}},{id:311,Count:1,tag:{ench:[{id:0,lvl:4}]}},{id:397,Count:1,Damage:3,tag:{SkullOwner:MHF_Herobrine,ench:[{id:0,lvl:4},{id:1,lvl:4},{id:3,lvl:4},{id:5,lvl:3},{id:6,lvl:1}]}}],CustomNameVisible:1,CustomName:Herobrine,PersistenceRequired:1}},

]}

Wow that's a mouthful! But then it is 6 separate mobs. In order we have:
0) Before the "SpawnPotentials" tag: The starter, which will never pop up again after the first time. If we want to see him again we have to include him a second time under SpawnPotentials. He is just some random dude in bluejeans (blue dyed leather leg armor) and a cactus green shirt (green dyed leather tunic) with a wooden sword. He's a zombie under that random-dood-mobhead of his of course. They all are.
1) Same random dood, only this time his wooden sword is 2 hits away from breaking.
2) Hey who let a ninja into the game?!? This one is a skeleton under his mask, but he's been given an iron sword. All his leather armor is dyed ninja-black. Skeletons with swords close the gap quicker than zombies so watch out.
3) Stone Sword and Chain Armor guy. Protection II on his mobhead.
4) One of my favorites. Gold Sword, Golden Armor, Pumpkin Helmet, and ON FIRE!!! Originally I wanted to give him a flaming pumpkin helmet but I realized the Fire tag only applies to entities not armor. The pumpkin is enchanted with Protection II and Fire Resistance X (10!) in a desperate attempt to keep him on his feet and threatening the player for more than 5 seconds. It works but if the player plays keepaway then Mr Pumpkinhead does tend to burn to death. Oh his sword has fire aspect too.
5) Iron Sword and Armor guy. Sharpness II on his Sword, Protection II on his mobhead.
6) Diamond Weapons and Armor guy. Wait who is that. Is...is that...Oh Em Gee it is! Run!...No of course it's not really him. Because he doesn't exist. FakeHB here has highly enchanted Diamond Armor (Boots with Fire Protection IV and Feather Falling IV, Leggings with Blast Protection IV, Chestplate with Protection IV, Mobhead with Protection IV, Fire Protection IV, Blast Protection IV, Respiration III) and a Diamond Pickaxe enchanted with Sharpness IV, Smite IV, Bane of Arthropods IV, Looting III and Unbreaking III. He's also got the previously unseen CustomNameVisible (set to 1 for yes), a CustomName, and PersistenceRequired (set to 1 for yes). That last one will prevent him from ever despawning, although he can be killed normally. If you can get through that Diamond Armor. And level 4 resistances. Luckily he's rarer (see below).

Other than the ninja it's a straight tour of the 5 tiers of swords and armor. Note the Weight tag, used right after the mob name in each SpawnPotential. That determines how rarely it's picked. Specific numbers don't mean anything, just the ratios between the numbers. For example if you want all the potentials to have an equal chance just set all the weights to 1. Changing them all to 8 wouldn't do anything different (they're still all the same size as each other), however changing all but one to 8 would make that one 1/8th as likely as the rest. In this code 4 is the default. The ninja only has a weight of 2 (making him half as likely to be picked) and FakeHB has a weight of 1 (making him 1/4th as likely to be picked, and thank god!)
* MobSpawners pt 4: Rideable Monsters Mobs can be ridden by using Minecarts or Boats on their heads. The command is fairly simple
/setblock ~ ~1 ~ mob_spawner {EntityId:MinecartRideable(or Boat), SpawnData:{Riding:{id:<Entity>}}}
Tips:

  • Some mobs simply can't be spawned with a spawner, sad to say, like bosses and Iron Golems. Adding a Minecart isn't going to change that.
  • Hostile Mobs with shooting abilities can and will use them against survival players. Watch out.
  • Ghasts cannot be ridden. The minecart becomes stuck in their head, no use to anyone.
  • Endermen cannot be walked around, but they can be forced to teleport by shooting a projectile at them (e.g.; snowball).
  • Ocelots (Ozelots in the game format) are some of the fastest mobs to ride, seeing they're trying to get away from you. They can also be partially controlled, by pointing away from the place you want to go.
  • Spiders are the only mobs that slow down when ridden.
  • Slimes and their cousins, Magma Cubes (game format LavaSlime) cannot have their sizes changed.

1.8 での特殊な使用法

New commands There are several new commands and tags added in 1.8. One of the most useful being @e. It allows the player to target entities. You can now teleport creepers, or kill a minecart. Others include /fill, /clone, /execute, /worldborder (set|health, etc}, /trigger, /title, /blockdata, /testforblocks, and /stats.. Check out the commands page to see how they work.

パスワード制限

You can now create passwords with command blocks, using /testforblock. Place a command block. This will be the one you put input in. Place another command block, and type in the command /testforblock (x,y,z of first command block) command_block 0 {Command:(input)}. Here's an example: /testforblock ~2 ~ ~ command_block 0 {Command:That's Numberwang!}. Place a comparator connected to the second command block, and place a button on or next to it to power the block. Now type "That's Numberwang!" (without quotes). If the second command block properly finds the first, the comparator will activate whatever it's wired to. If you want the first command block to reset so the password isn't used by someone else, also place a command block with /setblock that activates after the /testforblock.

If you don't want to let people edit your command block, you can test for a sign instead, but this means having to test for the password separately on each of the sign's 4 lines. To add a touch, you can fill the sign with air, but remember to give it back using /give @p sign

The Destroyer

This allows you to destroy a cube of materials around you as you walk, using /execute. Here's the command: /execute @p ~ ~ ~ fill ~1 ~2 ~1 ~-1 ~0 ~-1 air. Attach a clock or some sort of repeating device to it, and the cube of air will follow you wherever you go. Confused? fill takes out a specified amount of space, similar to setblock, but it uses two xyz's and fills the space in between them with the material you choose. In this case it's air. Now, every time you move, it will fill a 3x3 cube of air around you. Great for enemy bases, or simply being a crazy griefer.

  • This also deletes water, so you basically become a moving sponge.
  • This works in any game mode, even spectator.

Landscaper

This is a reversed version of Destroyer. /execute @p ~ ~ ~ fill ~1 ~-1 ~1 ~-1 ~-1 ~-1 grass. This puts a 3x3 grass square under your feet. Only problem: Don't jump. It becomes a mountain of a problem.

実施例

  • The player can make a kind of world guard using the command block. (e.g. code: /gamemode (adventure|creative|spectator|survival) @a[r=<radius>])
  • Using the radius argument with a teleporter hooked up to a clock circuit can be used to create an exclusion zone ("forcefield") around an x y z coordinate (which should not be centered on the command block itself, otherwise it will be difficult to edit or disable it later). Simply program it to teleport any player within a certain range to a further away point, or just back 10 meters using relative coordinates. Note that such a forcefield wouldn't know which direction you were approaching from, and may result in pulling a player in before pushing them back out the other side.
  • The commands /say Hello, @p, /tell @p Hello, @p, and /me Hello, @p will cause the command block to say user name of the nearest player in the message.
  • You can also clear players inventories, to prevent griefing and/or cheating: /clear [<targets>] [<item>] [<maxCount>]

Spawners

Command Blocks can create spawners using the setblock command, e.g.: /setblock ~1 ~-1 ~0 mob_spawner 0 replace {EntityId:Zombie,SpawnData:{Equipment:[{id:276,Count:1}]}} Anything that counts as an entity can be spawned (except a player), which includes all hostile, neutral and passive mobs, as well as animals, minecarts, fireballs, arrows, snowballs, ender pearls, custom thrown potions, fireworks, primed TNT, falling sand, red sand, or gravel, paintings and item frames, experience orbs, and even dropped items of any type.

Pig/Cow/Chicken spawners can be placed in the butcher's backyard in a village to create a constant meat supply. E.g.: /setblock ~1 ~-1 ~0 mob_spawner 0 replace {EntityId:Chicken,MaxNearbyEntities:10,RequiredPlayerRange:16,SpawnCount:6,SpawnRange:2,MinSpawnDelay:50,MaxSpawnDelay:200,SpawnData:{Riding:{id:"Pig"}}} Note that the spawner in the last code example will spawn a chicken riding a pig. There doesn't seem to be a limit to how many levels of riders you can use (e.g.: a chicken riding a pig riding a cow riding a horse riding a silverfish riding a villager ("Say, that's a mighty odd hat you have on, Farmer Brown")).

Please note that if you want to use the RequiredPlayerRange tag you have to use the MaxNearbyEntities tag as well. Same deal with MinSpawnDelay and MaxSpawnDelay. Lastly, note that the y value used in both of those spawner example codes was ~-1, which (assuming you're not flying) will put the spawner in the surface level of the ground at your feet.

If you don't want to target a specific player, you can use @a, @p, or @r instead of <player>. Keep in mind that you can use @p (which means "closest player") in player issued commands as an easy to type 2 character replacement for your own name as the closest player to you will always be you.

ブービートラップ

The most lethal booby trap would be a command block set to teleport someone into the void.

As of 1.8 you can do /kill @e[r=2] in a command block below a block with a pressure plate to make a multi-use landmine that kills all nearby entities upon stepping on it (including players, item frames, and paintings)

Note that booby traps that use @p can be dangerous due to the fact that non-player entities could trigger them (if something like a pressure plate is used), resulting in the teleportation of the nearest player, no matter how far away they are and regardless of the fact that they haven't actually stepped on the plate. To get around this, you can use the /testfor command as an invisible pressure plate. Hook a clock circuit up to a command block programmed with /testfor @p[x=1, y=2, z=3, r=radius], with the coordinates changed as appropriate. Note that as of 1.8 a range of zero can now be specified.

転送装置

It is possible to make teleporters using the command block. (e.g. code: /tp @p x y z) Taking it one step further, a teleporting station can be made, with multiple button-activated teleporters that each teleport to different locations. Scouting and testing teleportation destinations first is advisable, to make sure players don't end up stuck inside blocks or in other unintended places. If you appear in ground while testing coordinates, use /tp @p ~0 ~8 ~0 to get out (may require multiple uses).

If you use the teleport command with the command block, you can use relative coordinates in the destination coordinates by placing an ~ in front of a Coordinate (e.g. code: /tp @p ~0 ~8 ~0 This would teleport the player 8 blocks into the air).

Commands that use coordinates (e.g. /tp or /spawnpoint) add 0.5 to whole numbers when no decimal follows. This is so you appear centered over the block you appear on instead of at the edge or corner of it. For example, the number -33 would execute as -32.5, and 187 as 187.5. To prevent this behavior, add .0 (25.3, 90.0) after them, as these values are executed left as-is.
With the 1.8 update, you can now also teleport minecarts or boats, with you in them. The command is /tp @e[type=Boat] (coordinates).

少量のコマンドブロックでの複数コマンドの実行

There are several ways to combine groups of commands into just one command.

  • /execute will run its command as many times as the number of targets it selects. If it doesn't matter what entity runs a particular command, you can use @e[c=10] to ensure the code always runs 10 times (as long as there are always at least 10 entities in the loaded world).
  • To run multiple commands, /summon a command-block minecart riding another command-block minecart riding another, with the commands in reverse order, on an activator rail. There are also commands called one-command mods that use this tactic. Mr. Garretto makes one-commands and maps here.

Using a map item as a scroll

In his recent videos, Sethbling uses a map as a scroll to perform commands (summon creatures, teleport). He has an empty map in his inventory and when he uses it, it becomes a filled map which immediately disappears and a redstone task is done. In this tutorial I will show you how to build a redstone mechanism to detect the use of a map as a scroll and perform a task (give an effect, open a door,...).

Pros

  • Fast redstone interaction.
  • Compact system.
  • At-will triggered system, just right-click to activate it.
  • Single use : the map disappears during the inventory check, but you can give it back through a /give command

Cons

  • There can only be one purpose for the scroll. I.E. you cannot do a scroll of teleporting and a scroll of strength without using complicated data values.
  • You may see the map animation when activating the map before it gets deleted.
  • You cannot use the map item during your playthrough (showing a text message, a path, a drawing,...).

Building the mechanism

You can change the display name of an item to give the player a better understanding of the object and use the tooltip display. Use the following command to give the player a custom named map :

/give <player> map 1 0 {display:{Name:"<displayName>",Lore:["<tooltip>"]}}
  • player : the player you want to reach (@p, @a[arguments],...).
  • displayName : the name displayed when you scroll in the hotbar or when you hover the item with your mouse.
  • tooltip : the text below the item name when you hover it.

Detecting the activation of the map

ファイル:Minecraftscroll.jpg

  • The two hoppers form a redstone clock. You can use other clocks shown here.
  • The Command block 1 contains the /give command described in the section above. It can be dismissed if you don't want the scroll to come back after being activated.
  • The Command block 2 contains the inventory check command :
/clear <player> filled_map
  • The Command block 3 is the output in case of success. You can do whatever you want : give an effect to the player, teleport him somewhere,... You can also wire this output to a door, a piston,...

Going further The /clear command can check for other interactive items :

  • check for a glass_bottle if the player just drank a potion.
  • Sethbling also uses a fishing rod which works when the line is reeled in. The /clear syntax involves another argument, the damage value, after the item name:
/clear <player> fishing_rod 2

Note that spamming the reel, or hooking a mob, may damage it more than 2, so make another one of these every 2.

その他の出典

Feare's Command Block Tutorials
Dragnoz' youtube tutorials to a lot of possibilities using data tags
a text tutorial to data tags

関連項目


Advertisement