How can you give yourself a block if you break that block using commands?
I'm trying to figure out how to get blocks by breaking them using commands. Say I'm breaking a diamond ore block and tile drops are turned off so other players can't steal your blocks.
Is there a command to give me that diamond ore block when I break it?
You could turn on gamerule doTileDrops
whenever the player is near that block.
You could use /loot
to give yourself the block, but that only works before it is mined:
loot give @s mine <coordinates>
You could just simply /give
the block to the player, if you already know what it is.
You could /kill
the drop whenever a different player is nearby.
You could /clear
the item out of other players' inventories.
You could use spawn protection on a server and /op
yourself so that you can still place and mine inside the spawn protection area.
You could put other players into Adventure mode when they are nearby.
Yes
If you have a list of ores/other blocks you want this to work on use these 4 commands:
/scoreboard objectives add DiamondOre minecraft.mined:minecraft.diamond_ore
Then have a repeating command block with:
execute if score DiamondOre matches 1 run scoreboard players remove (YourNameHereI) DiamondOre 1
Then place a chain command block set to conditional with the line:
give (YourNameHere) diamond
Then you need to turn of tile drops using:
/gamerule doTileDrops false