Normally, I just troubleshoot and look for solutions online, so I apologize if this has already been answered. However, I am getting confused on how to use the command /setblock to place a chain command block with the state of it being conditional, facing south, and with an argument. I tried this code:

/setblock x y z minecraft:chain_command_block conditional=true facing=south {Command:"say south"}

The problem is that it doesn't face south, it faces north, as if it is ignoring the "facing" argument. I also tried:

/setblock x y z minecraft:chain_command_block facing=south conditional=true {Command:"say south"}

This gives me an error, which I assume is because there is a specific order that I am violating. Am I doing this totally wrong? Could someone at least direct me to a response if it has already been given? I have searched and couldn't find anything.

  • Does it work if you replace the space between "south" and "conditional" with a comma? – Fabian Röling Jan 28 '18 at 8:45

Current setblock syntax from the command wiki:

setblock <x> <y> <z> <block> [dataValue|state] [oldBlockHandling] [dataTag]

The block id you are wanting is chain_command_block.

The dataValue is a little more complicated. I went to the wiki on command block data values. There is a table that states that 0-5 set direction while 8 sets conditional mode. In this case 8 is added to 3(value for south) for a dataValue of 11.

You have to specify oldBlockHandling argument even though it is optional. This is because you want to use the dataTag argument that is after it which makes it required. I chose replace in this example as this will simply replace any block in the specified coordinates.

Now to the dataTag portion. This is where you specify command. The wiki on command block also contains tags that can be used here. You want to use the tag Command to specify the command. You probably also want to use the tag auto to make block always active as it is a conditional chain block.

Here is the example command:

/setblock <x> <y> <z> minecraft:chain_command_block 11 replace {Command:"say hello",auto:1}
  • Awesome, I read the wiki, but didn't understand how to use the values. I didn't realize you had to add "8" as the defining value for conditional to be turned on. Thanks for clearing that up. Also, thanks for clearing up the "oldBlockHandling" being required for my case. That makes a whole lot more sense now. This works for me. – ThePiedPiper74 Jan 28 '18 at 2:11
  • I am glad you have a working solution. Keep up the command work. I recommend referencing the wiki on commands often. – IronAnvil Jan 28 '18 at 6:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.