Assuming you have the "sentry gun" shooting arrows, you would use the command:
/summon Arrow x y z {damage:1,Motion:[x.0,y.0,z.0]}
You would have to plug into the first set of coordinates where you want the arrows to be shooting from, and the direction the arrows are shooting in the second. TIP: The higher the number you set for your direction (second set of coordinates, the faster the arrow will travel! You can set anything for the damage (except dont get too crazy :P)
As for your "Tool Box" Idea, you can do the test for command on a redstone ticker:
testfor @e[x,y,z,r,type=Item] {Item:{id:minecraft:iron_block}}
(Unfortunately, you cant test for a custom named block/entity - at least to my knowledge) Run a comparator out of this command block, to another command block (does not NEED to be a command block). This will start a fast ticking redstone clock on another command block. This command block will have the command:
testfor @e[x,y+1,z,r,type=Item] {Item:{id:minecraft: ... }}
Make sure that the coordinates you plug into the last testfor command have y+1 the y coordinate of the testfor command before that. This means it will test for the item on top of your "tool box". Run a comparator out of that command block to start the /summon Arrow command, or in other words, start up your sentry!
(The arrows are seen only as little black dots in this photo, but thats because I have the speed ramped up :)
Basically, its a system of Testing positive for an iron block at x y z - starting ticker to test for ... entity at x y+1 z - testing positive for ... entity at x y+1 z - starting ticker to shoot "sentry gun"
Hope this helps
The activation order does matter and is what's causing the problem. However, activation order via redstone dust does not follow a pattern nor is the order it activates guaranteed to be constant. You would be better off adding delay between the two commands or using a more reliable activation method such as a /fill
clock.
Image example of activation order from a /fill
clock:
Source & tutorial
In 1.9, you can simply use chained command blocks to directly specify the order commands are activated, so as to not rely on unreliable and directional methods.
Best Answer
The
/give
command in Minecraft 1.13 has been changed to this format:Knowing the NBT tag for damage being
Damage
, I wrote this command. (Don't currently have minecraft installed to test it, but it should work.)This page on the
/give
command and this one showing what tags you can apply to items should be helpful in understanding how to use them.