make team chat only visible to the same team

Explanation: Use 'team modify <team> nametagVisibility' and 'team modify <team> seeFriendlyInvisibles true' for team features. For chat, set the player's chat mode. However, vanilla Minecraft doesn't have built-in team-only chat. Closest is 'teammsg' (tm) command.

tellraw slingshooter08 {"text":"Use /tm <message> to send team-only messages!","color":"gold"}

'chat' is not a valid team modify option. Team-only chat is done with the /teammsg (or /tm) command, not a team setting.


make the red team nametags invisible to enemies

Explanation: Use 'team modify red nametagVisibility hideForOtherTeams' to hide nametags from players on different teams. Red team members can still see each other's nametags.

team modify red nametagVisibility hideForOtherTeams

'false' is not a valid nametagVisibility option. Valid values: always, never, hideForOtherTeams, hideForOwnTeam.

multiplayer_training, Minecraft 1.21 command reference


Explanation: Set friendlyFire to false on the team. This only prevents team members from hurting each other. For full PvP disable, need server config or gamerule.

'pvp' is not a valid team option. The correct option is 'friendlyFire'. Note this only prevents team-on-team damage, not cross-team PvP.


show the kills scoreboard below player names

Explanation: Use 'scoreboard objectives setdisplay belowName kills' to show the kills objective under each player's nametag in the world.

scoreboard objectives setdisplay belowName kills

scoreboard objectives setdisplay below_name kills

'below_name' is not valid. The correct display slot is 'belowName' (camelCase).


give everyone on the blue team a blue leather helmet

Explanation: Use @a[team=blue] selector. In 1.21, leather armor color uses component syntax: [dyed_color=255] for blue (RGB where blue = 255).

give @a[team=blue] minecraft:leather_helmet[dyed_color=255] 1

give @a[team=blue] minecraft:leather_helmet{display:{color:255}} 1

Old NBT format. In 1.21, use component syntax: minecraft:leather_helmet[dyed_color=255], not the {display:{color:}} NBT format.


Explanation: Use 'scoreboard players reset' with @a to clear all player scores on the kills objective.

While setting to 0 works visually, 'reset' actually removes the score entry entirely, which is cleaner. A score of 0 still shows on the sidebar; a reset score doesn't.


Explanation: Use 'team list' to see all existing teams. No arguments needed.

The command is 'team', not 'teams'. Minecraft commands are singular.


give all players except Steve and Alex a cookie

Explanation: Minecraft selectors don't support multiple name exclusions in one selector. Need to use tags: tag everyone, remove tags from excluded, then target by tag. Or use two separate name exclusions -- but @a[name=!Steve,name=!Alex] works by chaining exclusions.

give @a[name=!Steve,name=!Alex] minecraft:cookie 1

give @a[name!=Steve,name!=Alex] minecraft:cookie 1

'!=' is not valid selector syntax. Use 'name=!Steve' (exclamation before value, not before equals).


scatter all players randomly within 50 blocks

Explanation: Use spreadplayers to randomly distribute players. Syntax: spreadplayers <center> <spreadDistance> <maxRange> <respectTeams> <targets>. spreadDistance is minimum distance between players.

spreadplayers takes only x z for center (no y coordinate). The game automatically finds a safe y. Correct: spreadplayers <x> <z> <spread> <range> <respectTeams> <targets>.


Explanation: Use the 'health' criterion to track player health. Display below name so it shows under nametags as hearts.

scoreboard objectives add hp health "HP"

scoreboard objectives setdisplay belowName hp

scoreboard objectives setdisplay belowName hp

Using 'dummy' criterion won't auto-track health. Use the 'health' criterion to automatically reflect each player's current health.


Explanation: Use 'scoreboard objectives setdisplay list kills' to show the kills objective in the player list (tab menu).

scoreboard objectives setdisplay list kills

scoreboard objectives setdisplay tab kills

'tab' is not a valid display slot. The correct slot name is 'list' (for the player list/tab menu).


give everyone within 10 blocks of Steve a diamond

Explanation: Use 'execute at Steve' to set position context to Steve's location, then give @a[distance=..10] to select players within 10 blocks of that position.

execute at Steve run give @a[distance=..10] minecraft:diamond 1

give @a[distance=..10] minecraft:diamond 1

Without 'execute at Steve', the distance is calculated from the command source, not from Steve. Must set position context first.


Explanation: Use 'team modify red collisionRule always' to enable entity collision. Options: always, never, pushOtherTeams, pushOwnTeam.

'collision' is not a valid team option. The correct option is 'collisionRule' with values: always, never, pushOtherTeams, pushOwnTeam.


Explanation: Use 'bossbar set <id> value' and 'bossbar set <id> max' to control the fill percentage. Set max to 100 and value to 50 for 50%.

bossbar set minecraft:game_timer max 100

bossbar set minecraft:game_timer value 50

Bossbar doesn't accept percentage directly. Set 'max' and 'value' separately. For 50%, use max=100, value=50.


Explanation: Use 'clear @a' to remove all items from every player's inventory. This is destructive -- players lose all items.

'clear' without a target when run via execute may not work as expected. Use 'clear @a' directly which is cleaner.


Explanation: There's no single 'remove all tags' command. Use 'tag <player> list' to see tags, then 'tag <player> remove <tag>' for each. For a quick clear, remove known tags individually.

Wildcard '*' is not supported in tag remove. Must remove each tag individually by name. Use 'tag <player> list' first to see all tags.


Explanation: Simple tp command: tp <source> <target> teleports the source player to the target player's location.

Arguments are reversed. 'tp Steve slingshooter08' teleports Steve to slingshooter08, not the other way around. Correct: tp <who_moves> <destination>.


put everyone in adventure mode except me

Explanation: Use @a[name=!slingshooter08] to exclude the requester, then gamemode adventure to set their game mode.

This sets ALL players to adventure mode including the requester. Use @a[name=!slingshooter08] to exclude them.


make a scoreboard that tracks distance walked

Explanation: Use the custom statistic 'minecraft.custom:minecraft.walk_one_cm' to track walking distance. Display on sidebar. The value is in centimeters.

scoreboard objectives add walked minecraft.custom:minecraft.walk_one_cm "Distance Walked"

scoreboard objectives setdisplay sidebar walked

scoreboard objectives add walked dummy "Distance Walked"

Using 'dummy' criterion requires manual updates. Use 'minecraft.custom:minecraft.walk_one_cm' to automatically track walking distance.


Explanation: In 1.21, use component syntax for custom names: [custom_name='"text"']. The name must be a JSON text component.

give @a minecraft:diamond[custom_name='"Prize Diamond"'] 1

give @a minecraft:diamond{display:{Name:"Prize Diamond"}} 1

Old NBT display name format. In 1.21, use component syntax: minecraft:diamond[custom_name='"Prize Diamond"'].


teleport everyone who is in creative to spectator

Explanation: This is about changing gamemode, not teleporting. Use @a[gamemode=creative] to target creative players and set them to spectator.

This tries to teleport to a player named 'spectator'. Changing gamemode requires 'gamemode spectator', not 'tp'.


send a red message to all players saying game starts in 10 seconds

Explanation: Use tellraw for colored messages. JSON text component with color field for red text.

tellraw @a {"text":"Game starts in 10 seconds!","color":"red","bold":true}

'say' command does not support color codes. Use 'tellraw' with JSON text components for colored/formatted messages.


set the team prefix for red team to [RED]

Explanation: Use 'team modify red prefix' with a JSON text component to set the prefix displayed before team member names.

team modify red prefix {"text":"[RED] ","color":"red"}

Team prefix requires a JSON text component, not a plain string. Use {"text":"[RED] ","color":"red"} format.


Explanation: Use 'scoreboard objectives remove' to delete an objective. This removes all scores associated with it.

'delete' is not a valid subcommand. Use 'scoreboard objectives remove <objective>' to delete an objective.


send a fancy message showing a player's kill count

Explanation: Use tellraw with mixed text components: plain text, selector component for player name, and score component to display a scoreboard value.

tellraw @a [{"text":"Player "},{"selector":"@p"},{"text":" has "},{"score":{"name":"@p","objective":"kills"}},{"text":" kills"}]

'say' resolves @p to the player name but cannot display scoreboard scores. Use 'tellraw' with score component {"score":{"name":"@p","objective":"kills"}} to show scoreboard values.

advanced_commands_training, Minecraft 1.21 command reference


send a clickable message that runs a command when clicked

Explanation: Use tellraw with a clickEvent component. 'run_command' executes the command as the clicking player. 'suggest_command' puts it in their chat box.

tellraw @a {"text":"[Click for a Diamond!]","color":"gold","clickEvent":{"action":"run_command","value":"/give @s minecraft:diamond 1"},"hoverEvent":{"action":"show_text","contents":"Click to receive a diamond!"}}

tellraw @a {"text":"[Click for a Diamond!]","click":{"action":"run_command","value":"/give @s diamond 1"}}

Two errors: (1) Field is 'clickEvent' not 'click', (2) item ID needs minecraft: namespace prefix. Also missing hoverEvent for user feedback.


Explanation: Use tellraw with hoverEvent component. 'show_text' action displays text when the player hovers over the message.

tellraw @a {"text":"Hover over me!","color":"green","hoverEvent":{"action":"show_text","contents":"This is the hover text!"}}

tellraw @a {"text":"Hover over me!","hoverEvent":{"action":"show_text","value":"This is the hover text!"}}

In 1.21, hoverEvent uses 'contents' field, not 'value'. The 'value' field is deprecated.


Explanation: Use the 'loot give' command to generate random loot from a loot table and give it directly to a player. 'minecraft:chests/simple_dungeon' is the dungeon chest loot table.

loot give slingshooter08 loot minecraft:chests/simple_dungeon

give slingshooter08 minecraft:chest_loot 1

'chest_loot' is not an item. Use 'loot give <player> loot <loot_table>' to generate random items from a loot table.


Explanation: Use 'place template' to spawn a structure from the built-in structure templates. Village houses are in the minecraft:village namespace.

place template minecraft:village/plains/houses/plains_small_house_1 -50 65 -100

structure load minecraft:village/plains/houses/plains_small_house_1 ~ ~ ~

'structure load' is Bedrock Edition syntax. In Java 1.21, use 'place template <structure> <pos>' for placing structures.


Explanation: Use 'data get entity' to read a player's NBT data. This shows all stored data including inventory, position, health, etc.

'query' is not a valid data subcommand. Use 'data get entity <player>' to read entity data.


Explanation: Use 'data modify entity @s Health set value 20.0f' to set health to max (20 = 10 hearts). The 'f' suffix indicates a float value.

data modify entity slingshooter08 Health set value 20.0f

data modify entity slingshooter08 Health set 20

Missing 'value' keyword and float suffix. Correct syntax: 'data modify entity <target> <path> set value <nbt_value>'. Health is a float, so use '20.0f'.


Explanation: Use the attribute command to set max_health. Default is 20 (10 hearts), so doubled is 40 (20 hearts). In 1.21, the attribute ID is minecraft:max_health.

attribute slingshooter08 minecraft:max_health base set 40

attribute slingshooter08 minecraft:generic.max_health base set 40

In 1.21, attribute IDs were renamed. 'generic.max_health' is now just 'max_health'. Use 'minecraft:max_health'.


set up a trigger objective for players to use

Explanation: Trigger objectives can be set by non-op players using '/trigger'. Create the objective with 'trigger' criterion, then enable it for players.

scoreboard objectives add vote trigger "Vote"

scoreboard objectives add vote dummy "Vote"

A 'dummy' objective cannot be used with '/trigger'. Must use the 'trigger' criterion so non-op players can set their score via '/trigger vote set <value>'.


Explanation: Use 'schedule function' with time in ticks (20 ticks = 1 second, so 5 seconds = 100t). The function must exist in a datapack.

schedule function mypack:my_function 100t

Time unit 's' for seconds is valid in 1.21, but 't' for ticks is more precise. Both work: 5s = 100t. However, 'schedule' only runs datapack functions, not arbitrary commands.


Explanation: Use 'forceload add' to keep chunks permanently loaded even when no players are nearby. Takes chunk coordinates (block x/z divided by 16). For block 0,0 that's chunk 0,0.

forceload only takes x z coordinates (chunk columns), not x y z. There is no y component for chunk loading.


randomly spread all players in a 50 block radius

Explanation: Use spreadplayers: center x z, minimum spread distance between players, max range from center, respectTeams boolean, and targets.

Minimum spread distance of 0 means players could be placed on top of each other. Use at least 5-10 blocks for minimum spread.


copy the building from 0 0 0 to 10 10 10, paste it at 100 0 0

Explanation: Use 'clone' command: clone <begin> <end> <destination>. The source region is from 0 0 0 to 10 10 10, destination starts at 100 0 0.

Arguments reversed. Clone syntax is: clone <from_x y z> <to_x y z> <dest_x y z>. The first two coordinate sets define the source region, the third is the destination.


Explanation: Use the 'ride' command to mount the nearest horse entity. In 1.21, 'ride @s mount <target>' puts the executing player on the target entity.

ride slingshooter08 mount @e[type=minecraft:horse,limit=1,sort=nearest]

execute as slingshooter08 run mount @e[type=minecraft:horse,limit=1,sort=nearest]

'mount' is not a command. Use 'ride <entity> mount <target>' to mount an entity.


Explanation: Use the 'damage' command to apply damage. Syntax: damage <target> <amount> <damageType>. Magic damage type is minecraft:magic.

effect give slingshooter08 minecraft:instant_damage 1 0

instant_damage effect applies 3 hearts of damage at amplifier 0, not exactly 5. Use 'damage' command for precise damage amounts.


replace all dirt with stone in a 5 block radius under me

Explanation: Use 'fill' with 'replace' mode to swap specific blocks. Fill from ~-5 ~-1 ~-5 to ~5 ~-1 ~5 (the layer under the player) replacing dirt with stone.

execute at slingshooter08 run fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 minecraft:stone replace minecraft:dirt

fill ~-5 ~-1 ~-5 ~5 ~-1 ~5 stone replace dirt

Missing 'minecraft:' namespace prefix on both block IDs and missing 'execute at' for position context from console.


Explanation: Use 'setblock' with block state syntax to place a chest with specific facing direction. In 1.21, block states use [key=value] syntax.

execute at slingshooter08 run setblock ~ ~1 ~ minecraft:chest[facing=north]

Numeric metadata values (like '2' for facing) are legacy syntax. In 1.21, use block state syntax: minecraft:chest[facing=north].


Explanation: Use 'locate structure' to find the nearest nether fortress. Must be in the nether or use 'execute in' for cross-dimension locate.

execute in minecraft:the_nether run locate structure minecraft:fortress

Missing 'minecraft:' namespace prefix. Also, if the player is in the overworld, need 'execute in minecraft:the_nether' to search in the nether.


Explanation: Use 'locate biome' to find the nearest mushroom fields biome. The biome ID is minecraft:mushroom_fields.

'mushroom_island' is the old biome name. In 1.21, it's 'minecraft:mushroom_fields'. Also needs namespace prefix.


Explanation: Simple 'seed' command returns the world seed. No arguments needed.

'seed' is not a gamerule. It's a standalone command. Just use 'seed' with no arguments.


Explanation: Simple difficulty command. Valid values: peaceful, easy, normal, hard.

Numeric difficulty values are legacy. In 1.21, use the word: peaceful, easy, normal, or hard.


Explanation: Use 'setworldspawn' to set the default spawn point for all new players and respawning players without individual spawnpoints.

Without coordinates, setworldspawn uses the executing position. From console this would be 0 0 0. Specify explicit coordinates for accuracy.


Explanation: Use 'spawnpoint' to set an individual player's spawn. This overrides the world spawn for this player specifically.

'setworldspawn' changes the spawn for ALL players and new joins. Use 'spawnpoint <player> <pos>' for individual player spawn points.


Explanation: Use 'execute in minecraft:the_nether run tp' to change dimension context then teleport. Nether coords are 1/8 of overworld, so divide x and z by 8 for correct placement.

execute in minecraft:the_nether run tp slingshooter08 -6 65 -12

tp does not accept a dimension argument. Must use 'execute in <dimension> run tp' for cross-dimension teleportation.


Explanation: Use 'clone' with 'filtered' mode to only copy specific block types. Syntax: clone <from> <to> <dest> filtered <block>.

clone 0 60 0 20 70 20 100 60 0 filtered minecraft:stone

clone 0 60 0 20 70 20 100 60 0 replace minecraft:stone

'replace' mode copies all blocks. Use 'filtered' mode to copy only the specified block type.


Explanation: Use the attribute command to modify movement_speed. Default is 0.1. Setting to 0.2 doubles walking speed permanently (until changed back).

attribute slingshooter08 minecraft:movement_speed base set 0.2

attribute slingshooter08 minecraft:generic.movement_speed base set 0.2

In 1.21, attribute IDs were simplified. 'generic.movement_speed' is now 'movement_speed'. Use 'minecraft:movement_speed'.


Explanation: Use 'fill' with 'hollow' mode to create a box with walls but air inside. This replaces the interior with air and builds the shell.

execute at slingshooter08 run fill ~-5 ~ ~-5 ~5 ~5 ~5 minecraft:glass hollow

execute at slingshooter08 run fill ~-5 ~ ~-5 ~5 ~5 ~5 minecraft:glass

Without 'hollow' mode, this creates a solid cube of glass. Use 'hollow' to make a box with air inside.


outline a box of stone without filling inside

Explanation: Use 'fill' with 'outline' mode. Unlike 'hollow' which replaces interior with air, 'outline' only places the outer shell and leaves the interior untouched.

execute at slingshooter08 run fill ~-5 ~ ~-5 ~5 ~5 ~5 minecraft:stone outline

execute at slingshooter08 run fill ~-5 ~ ~-5 ~5 ~5 ~5 minecraft:stone hollow

'hollow' replaces the interior with air, which is destructive if there are blocks inside. Use 'outline' to only place the shell without modifying the interior.


Explanation: Use 'locate structure' to find the nearest village. In 1.21, village is a structure tag that includes all village variants.

In 1.21, 'locate' requires the 'structure' subcommand. Also, the structure ID needs the full name like 'minecraft:village_plains', not just 'village'.


Explanation: Use fill command with water. Fill from y-3 to y-1 (under the player) in a rectangular area. Water source blocks will fill the pool.

execute at slingshooter08 run fill ~-5 ~-3 ~-5 ~5 ~-1 ~5 minecraft:water

execute at slingshooter08 run fill ~-5 ~-3 ~-5 ~5 ~-1 ~5 minecraft:water_flowing

'water_flowing' is not a valid block ID. Use 'minecraft:water' which places water source blocks.


Explanation: Use 'loot give' with the 'kill' source to simulate mob drops. The wither drops a nether star on death.

loot give slingshooter08 kill @e[type=minecraft:wither,limit=1,sort=nearest]

give slingshooter08 minecraft:nether_star 1

While this gives the expected drop, using 'loot give <player> loot minecraft:entities/wither' properly generates drops from the loot table, which may include random variations.


Explanation: Use 'ride dismount' to get off the current mount.

'dismount' is not a standalone command. Use 'ride <player> dismount' to dismount from current vehicle/entity.


Explanation: Use setblock with relative coordinates. ~ ~-1 ~ is the block directly under the player's feet.

execute at slingshooter08 run setblock ~ ~-1 ~ minecraft:bedrock

Missing 'minecraft:' namespace prefix. Use 'minecraft:bedrock'. Also, using 'execute at' with relative coords is more flexible than hardcoded coordinates.


Explanation: Use fill command to create a wall. Wall is thin in one dimension (z), wide in x, and tall in y. Use lava source blocks.

execute at slingshooter08 run fill ~-5 ~ ~ ~5 ~5 ~ minecraft:lava

execute at slingshooter08 run fill ~-5 ~ ~-5 ~5 ~5 ~5 minecraft:lava

This creates a 10x5x10 CUBE of lava, not a wall. For a wall, one dimension should be 1 block thick (same z coordinate on both ends).


Explanation: Use 'data get entity' with a selector to read the creeper's NBT data including fuse time, explosion radius, etc.

data get entity @e[type=minecraft:creeper,limit=1,sort=nearest]

Missing 'entity' keyword. Correct syntax: 'data get entity <target>'. The 'entity' source type must be specified.


Explanation: Use fill to create a 1x20x1 column. The fill area is 1 block in x and z, 20 blocks in y.

execute at slingshooter08 run fill ~ ~ ~ ~ ~19 ~ minecraft:iron_block

execute at slingshooter08 run fill ~ ~ ~ ~ ~20 ~ minecraft:iron_block

~19 creates 20 blocks (from current to +19 inclusive). ~20 would create 21 blocks.


set difficulty to peaceful to clear all mobs then back to normal

Explanation: Switching to peaceful despawns all hostile mobs instantly. Then switch back to the desired difficulty. This is a common trick for quick mob clearing.

This kills ALL non-player entities including pets, villagers, item frames, etc. Switching to peaceful only removes hostile mobs and is much safer.


send a tellraw message that shows an item tooltip on hover

Explanation: Use hoverEvent with 'show_item' action to display an item tooltip when hovering over text.

tellraw @a {"text":"[Diamond Sword]","hoverEvent":{"action":"show_item","value":"{id:diamond_sword}"}}

In 1.21, hoverEvent uses 'contents' not 'value', and the item needs proper format with 'id' and 'count' fields, plus minecraft: namespace.


replace all oak planks with spruce planks in the area

Explanation: Use fill with 'replace' mode to swap one block type for another. This is essentially a find-and-replace for blocks.

execute at slingshooter08 run fill ~-15 ~-5 ~-15 ~15 ~10 ~15 minecraft:spruce_planks replace minecraft:oak_planks

execute at slingshooter08 run fill ~-15 ~-5 ~-15 ~15 ~10 ~15 minecraft:spruce_planks

Without 'replace minecraft:oak_planks', this fills the ENTIRE area with spruce planks, destroying all other blocks. The replace mode only changes matching blocks.


Explanation: Use 'forceload add' with two coordinate pairs to load a range of chunks. Coordinates are block positions -- chunks are derived from them.

These are chunk coordinates, but forceload takes block coordinates. For chunk 0,0 use block 0,0. For a range, specify the block coordinate corners.


Explanation: Use 'forceload query' to list all currently forceloaded chunks.

'list' is not a valid forceload subcommand. Use 'forceload query' to see all forceloaded chunks.


Explanation: Use 'execute in minecraft:the_end' to switch dimension, then tp to the obsidian platform (100 49 0) which is the safe end spawn.

execute in minecraft:the_end run tp slingshooter08 100 49 0

tp does not accept dimension names. Use 'execute in minecraft:the_end run tp' for cross-dimension teleportation.


Explanation: In 1.21, signs use component format. Place the sign with setblock, then use data merge to set the text on the front.

execute at slingshooter08 run setblock ~ ~1 ~ minecraft:oak_sign

execute at slingshooter08 run data merge block ~ ~1 ~ {front_text:{messages:['"Line 1"','"Line 2"','"Line 3"','"Line 4"']}}

setblock ~ ~1 ~ minecraft:oak_sign{Text1:"Line 1",Text2:"Line 2"}

Text1/Text2 format is legacy. In 1.21, signs use front_text.messages array with JSON text components.


Explanation: Use 'data get entity' to query the Pos field which contains exact x, y, z coordinates as doubles.

While tp shows coordinates in feedback, 'data get entity <player> Pos' directly returns the precise position data.


Explanation: Use 1.21 component syntax to create a stick with high knockback enchantment. Knockback 10 gives extreme knockback.

give slingshooter08 minecraft:stick[enchantments={knockback:10}] 1

give slingshooter08 minecraft:stick{Enchantments:[{id:knockback,lvl:10}]} 1

Old NBT Enchantments format. In 1.21, use component syntax: item[enchantments={name:level}].


Explanation: Redstone repeaters have several functions: (1) They extend redstone signal by refreshing it to full strength (15). (2) They add a configurable delay of 1-4 redstone ticks (2-8 game ticks). Right-click to cycle through delays. (3) They act as a one-way diode -- signal only passes in one direction. (4) They can be locked by powering them from the side with another repeater or comparator, freezing their output state.


Explanation: Redstone comparators have two modes toggled by right-click: (1) Compare mode (front torch off): outputs the rear signal strength only if it is greater than or equal to the side inputs. (2) Subtract mode (front torch on): outputs rear signal minus the strongest side signal (minimum 0). Comparators also read container fullness (chests, hoppers, etc.) and output a signal strength of 0-15 proportional to how full the container is.


Explanation: The simplest redstone clock is a repeater loop: place 2 or more repeaters in a circle connected by redstone dust, then give the loop a pulse to start it. The clock speed depends on the total delay of all repeaters. A 4-repeater clock with each set to 1 tick gives a period of 4 redstone ticks (0.4 seconds). For faster clocks, use an observer facing into another observer (creates a 2-game-tick clock). For longer periods, add more repeaters or increase their delays.


Explanation: There are two types of pistons: (1) Regular pistons push blocks when powered and retract, leaving the pushed block in place. (2) Sticky pistons push blocks when powered and pull the block back when they retract. Both types can push up to 12 blocks in a line. They cannot push obsidian, bedrock, end portal frames, or other immovable blocks. Pistons have a 1.5 redstone tick (3 game tick) extension time. Slime blocks and honey blocks stick to adjacent blocks when pushed, allowing complex flying machines.


Explanation: Observers detect block state changes on the face they are watching (the textured face). When a change is detected, they emit a 1-redstone-tick pulse from their back. They detect: blocks being placed or broken, crops growing, water/lava flowing, furnaces activating, and any other block state change. Two observers facing each other create an ultra-fast clock (2 game ticks per pulse). Observers are key components in automatic farms.


Explanation: A BUD (Block Update Detector) switch is a redstone contraption that detects when a neighboring block receives an update. It exploits the fact that certain powered blocks (like pistons) don't immediately respond to losing their power source -- they only update when a neighboring block changes. This creates a detector that fires on any block update nearby. In modern Minecraft (1.11+), observers largely replace BUD switches, but BUDs are still used in some technical builds because they detect a wider range of updates than observers.


Explanation: Hoppers transfer items in three ways: (1) They pull items from containers or item entities above them. (2) They push items into the container they point toward (set direction by clicking a block while placing). (3) They hold 5 slots of inventory. Hoppers operate on an 8-game-tick cooldown (0.4 seconds per transfer, 2.5 items/sec). They transfer 1 item per cycle. Powering a hopper with redstone disables it completely -- this is how you control item flow. Hoppers cause significant lag in large quantities due to their constant entity scanning.


Explanation: Droppers and dispensers look similar but behave differently: (1) Droppers always drop items as entities, regardless of what the item is. They eject one item per redstone pulse from a random occupied slot. (2) Dispensers USE certain items: they shoot arrows, fire charges, eggs, splash potions, fireworks; place water/lava buckets, boats, minecarts; shear sheep; ignite TNT; equip armor on players/stands. For items without special behavior, dispensers act like droppers. Both have 9-slot inventories and are activated by redstone pulses.


how do I power a redstone lamp from far away

Explanation: Redstone signal travels a maximum of 15 blocks through redstone dust before dying. To power a lamp farther away, use a repeater chain: place a redstone repeater every 15 blocks or fewer along the redstone line. Each repeater refreshes the signal to full strength (15). The tradeoff is added delay -- each repeater adds 1-4 redstone ticks of delay depending on its setting. For very long distances, you can also use a chain of observers, or use wireless-style designs with sculk sensors in 1.19+.


Explanation: Daylight sensors output a redstone signal proportional to the sunlight level. During the day, they output up to signal strength 15 at noon and lower values at dawn/dusk. Right-clicking inverts the sensor, making it output signal at night instead. They are commonly used for automatic lighting (inverted sensor powers lamps at night) and day/night cycle detectors. Rain and thunderstorms reduce their output. They do not work in the Nether or End since those dimensions have no day/night cycle.


Explanation: Target blocks emit a redstone signal when hit by a projectile (arrow, trident, snowball, egg, etc.). The signal strength (1-15) depends on how close to the center the projectile hits -- a perfect bullseye gives signal strength 15. The signal lasts for 10 redstone ticks (1 second). Target blocks are useful for shooting galleries, hidden entrances activated by archery, and minigames. They are crafted from 4 redstone dust and 1 hay bale.


Explanation: Sculk sensors detect vibrations (sound events) within an 8-block radius and output a redstone signal. Different vibrations produce different signal strengths (1-15): walking is 1, placing a block is 12, explosions are 15, etc. They have a 2-second cooldown between activations. Wool blocks between the source and sensor block the vibration. Calibrated sculk sensors (crafted with amethyst shards) can be filtered to only detect specific vibration frequencies by powering them with a specific signal strength. They are found naturally in deep dark biomes.


what's the difference between redstone dust and redstone wire

Explanation: They are the same thing. 'Redstone dust' is the item in your inventory (minecraft:redstone). When placed on the ground, it becomes 'redstone wire' (the block form). The wire transmits redstone signal, losing 1 signal strength per block traveled, from 15 down to 0 over 15 blocks. Wire connects to adjacent redstone components and can travel up or down 1-block steps. It does not connect through solid blocks.


Explanation: Redstone torches are a constant power source that outputs signal strength 15. They power the block above them and any redstone dust adjacent to them. Key behavior: a redstone torch turns OFF when the block it is attached to becomes powered. This makes them function as NOT gates (inverters) -- the core of most logic circuits. If a torch is toggled too quickly (more than 8 times in 60 game ticks), it burns out temporarily to prevent lag from rapid oscillation.


Explanation: A T flip-flop toggles its output state each time it receives a pulse -- turning a button (momentary pulse) into a lever-like toggle. The simplest 1.21 design uses a dropper-hopper loop: place a dropper facing into a hopper, put 1 item in the system, and power the dropper with a button. Each press moves the item between dropper and hopper. A comparator reading the dropper detects whether it contains the item (on) or not (off). This is compact (3 blocks) and reliable.


Explanation: Quasi-connectivity (QC) is a Java Edition behavior where pistons, droppers, and dispensers can be activated by power sources that would power the block directly above them. For example, a redstone torch placed 2 blocks above a piston will power it, even though the piston itself is not directly powered. This happens because these blocks check for power in the same way a door does (which is 2 blocks tall). QC is considered a bug but is so widely used in builds that Mojang has never fixed it. It does NOT exist in Bedrock Edition.


Explanation: Most solid opaque blocks can be 'strongly powered' or 'weakly powered'. Strongly powered blocks (powered directly by a repeater, comparator, or redstone torch) can activate adjacent redstone dust. Weakly powered blocks (powered by redstone dust) cannot activate adjacent dust but can activate adjacent components (pistons, lamps, etc.). Transparent blocks (glass, slabs, stairs) generally cannot be powered. Notable exceptions: glowstone can carry redstone on top; upside-down slabs and stairs can carry redstone.


Explanation: Tripwire hooks are placed on opposite walls with string connecting them (right-click to place string on the ground between them). When a player or mob walks through the string, both hooks output a redstone signal of 15. Breaking the string with shears does NOT trigger it, but breaking it any other way does. The maximum distance between hooks is 40 blocks. Tripwire hooks can also detect items thrown through the string. They are commonly used for traps and hidden door triggers.


how do I make a hidden door with redstone

Explanation: The simplest hidden door is a 2x1 sticky piston door: place two sticky pistons behind a wall, each with a block on the face. When powered, the pistons retract and pull the blocks, revealing a doorway. Trigger it with a hidden button behind a painting, an armor stand on a pressure plate, or a lever in an item frame. For a flush 2x2 piston door (seamless wall), you need a more complex circuit with at least 4 sticky pistons and careful timing using repeaters to sequence the piston activations.


Explanation: There are two weighted pressure plates: (1) Light weighted pressure plate (gold) outputs a signal strength based on the number of entities on it, scaling 1 per entity up to 15. (2) Heavy weighted pressure plate (iron) also scales by entity count but requires more entities per signal level (about 10 entities per signal strength). Both detect all entities (items, mobs, players, arrows). This is different from regular pressure plates which output a flat signal of 15 when anything is on them. Weighted plates are useful for counting items in sorting systems.


Explanation: Player wants redstone components. Give a useful starter kit: redstone dust, repeaters, comparators, pistons, sticky pistons, observers, hoppers, redstone torches, redstone lamps, and levers.

give slingshooter08 minecraft:redstone 64

give slingshooter08 minecraft:repeater 16

give slingshooter08 minecraft:comparator 16

give slingshooter08 minecraft:sticky_piston 16

give slingshooter08 minecraft:observer 16

give slingshooter08 minecraft:redstone_torch 32

give slingshooter08 minecraft:redstone_lamp 16


Explanation: Simple give command for both dispenser and dropper items with a reasonable quantity.

give slingshooter08 minecraft:dispenser 16

give slingshooter08 minecraft:dropper 16


sudo give me a bunch of redstone torches and repeaters

Explanation: Player wants redstone torches and repeaters. Give a generous amount of each.

give slingshooter08 minecraft:redstone_torch 64

give slingshooter08 minecraft:repeater 64


Explanation: Building a redstone clock requires placing multiple blocks in specific spatial arrangements. This is beyond what can be done with single commands -- there is no 'build a clock' command. The player would need to build it manually. I can explain how: place 4 repeaters in a square loop connected by redstone dust, set each to 1-tick delay, then briefly power any part of the loop with a redstone torch and remove it. The loop will oscillate indefinitely. Alternatively, place two observers facing each other for an instant 2-tick clock.


how do I make an automatic farm with redstone

Explanation: The simplest automatic farm uses observers and pistons: (1) Plant crops (wheat, carrots, potatoes) on farmland with water nearby. (2) Place an observer watching a crop block -- it detects when the crop reaches full growth. (3) Connect the observer to a piston that breaks the crop when mature. (4) Use water streams or hoppers to collect dropped items into a chest. For sugarcane/bamboo, the observer watches the second block and a piston breaks it when it grows. For more advanced farms, use villager-based auto-farming where villagers plant and harvest, and hoppers collect excess crops.


Explanation: Lecterns have redstone functionality when a book and quill or written book is placed on them. A comparator reading the lectern outputs a signal strength proportional to the page the book is turned to. For example, a 15-page book on page 8 outputs signal strength 8. Turning a page also emits a brief redstone pulse from the lectern itself. This makes lecterns useful as multi-state switches -- like a dial with up to 15 positions -- and for combination locks.


sudo give me sculk sensors and calibrated sculk sensors

Explanation: Give both sculk sensor variants. Calibrated sculk sensor is a valid item in 1.21.

give slingshooter08 minecraft:sculk_sensor 16

give slingshooter08 minecraft:calibrated_sculk_sensor 16


what's the difference between a monostable circuit and a bistable circuit

Explanation: Monostable circuits output a single pulse of a set duration when triggered, then return to their resting state. They are used to create precise-length pulses from any input -- for example, turning a lever toggle into a brief pulse. Bistable circuits (like T flip-flops and RS latches) have two stable states and stay in whichever state they were last set to. A lever is inherently bistable. An RS latch uses two inputs -- Set and Reset -- to toggle between on and off states, useful when you need two separate controls.


Explanation: To teleport a player to another dimension, use 'execute in <dimension> run tp <player> ~ ~ ~'. This moves the player to the corresponding coordinates in the target dimension. Using ~ ~ ~ places them at their current x/z in the nether, which is fine for a first visit.

execute in minecraft:the_nether run tp slingshooter08 ~ ~ ~

'nether' is not valid coordinates or a player name. Dimension teleportation requires 'execute in <dimension> run tp'.


Explanation: Teleport to the End dimension. Use 'execute in minecraft:the_end'. Spawning at ~ ~ ~ might place the player in the void, so using the obsidian platform coordinates (100, 49, 0) is safer for first visits.

execute in minecraft:the_end run tp slingshooter08 100 49 0

execute in minecraft:end run tp slingshooter08 ~ ~ ~

Dimension ID is 'minecraft:the_end', not 'minecraft:end'. Also ~ ~ ~ may place player in void.


Explanation: Teleport back to the overworld. The dimension ID is minecraft:overworld. Using ~ ~ ~ preserves the player's current x/z coordinates.

execute in minecraft:overworld run tp slingshooter08 ~ ~ ~

execute in minecraft:the_overworld run tp slingshooter08 ~ ~ ~

Dimension ID is 'minecraft:overworld', not 'minecraft:the_overworld'. Only nether and end have the 'the_' prefix.


Explanation: Use the locate structure command to find a stronghold. Strongholds contain end portals needed to reach the End.

execute as slingshooter08 at slingshooter08 run locate structure minecraft:stronghold

Missing 'structure' keyword. Correct syntax is 'locate structure <structure_id>'.


Explanation: Locate the nearest village. The structure ID is minecraft:village. Running 'at' the player ensures it searches from their position.

execute as slingshooter08 at slingshooter08 run locate structure minecraft:village


Explanation: Nether fortresses can only be located while in the Nether. The structure ID is minecraft:fortress. Use 'execute in minecraft:the_nether' to ensure the search runs in the correct dimension.

execute in minecraft:the_nether as slingshooter08 at slingshooter08 run locate structure minecraft:fortress

'minecraft:nether_fortress' is not valid. The structure ID is 'minecraft:fortress'. Also must be searched from within the Nether.


Explanation: Mushroom islands are a biome, not a structure. Use 'locate biome' instead of 'locate structure'. The biome ID is minecraft:mushroom_fields.

execute as slingshooter08 at slingshooter08 run locate biome minecraft:mushroom_fields

Mushroom island is a biome, not a structure. Use 'locate biome minecraft:mushroom_fields'.


Explanation: Deep dark is a biome found deep underground (typically below y=0). Use locate biome command.

execute as slingshooter08 at slingshooter08 run locate biome minecraft:deep_dark

Missing minecraft: namespace prefix. Correct: minecraft:deep_dark.


Explanation: There is no RCON command to directly query which biome a player is standing in. The player can check their current biome by pressing F3 in-game -- the biome is shown on the debug screen on the left side. On servers, the /seed command and some plugins can help, but vanilla commands do not have a 'get current biome' query.


Explanation: Woodland mansions are rare structures in dark forests. The structure ID is minecraft:woodland_mansion.

execute as slingshooter08 at slingshooter08 run locate structure minecraft:woodland_mansion

'minecraft:mansion' is not valid. The full ID is 'minecraft:woodland_mansion'.


Explanation: Ancient cities are structures found in the deep dark biome, typically below y=0. The structure ID is minecraft:ancient_city.

execute as slingshooter08 at slingshooter08 run locate structure minecraft:ancient_city


Explanation: Trail ruins are buried structures added in 1.20. They are found in taigas, snowy taigas, old growth forests, and jungles. The structure ID is minecraft:trail_ruins.

execute as slingshooter08 at slingshooter08 run locate structure minecraft:trail_ruins


Explanation: Cherry grove is a biome added in 1.20, found in mountainous areas. Use locate biome, not locate structure.

execute as slingshooter08 at slingshooter08 run locate biome minecraft:cherry_grove

Cherry grove is a biome, not a structure. Use 'locate biome minecraft:cherry_grove'.


how does the nether coordinate ratio work

Explanation: The Nether has a 1:8 coordinate ratio with the Overworld. Every 1 block traveled in the Nether equals 8 blocks in the Overworld (for X and Z axes only; Y is unaffected). This means if you enter a nether portal at Overworld coordinates (800, 65, 800), the corresponding Nether location is (100, 65, 100). This ratio is exploited for fast travel: build nether portals at key locations and travel through the Nether at 1/8th the distance.


Explanation: Nether-specific mobs include: Piglins (barter with gold, hostile without gold armor), Piglin Brutes (always hostile, found in bastions), Zombified Piglins (neutral, aggro whole group if attacked), Hoglins (hostile, breedable with crimson fungus), Ghasts (flying, shoot fireballs), Blazes (found in nether fortresses, drop blaze rods), Wither Skeletons (found in fortresses, drop wither skeleton skulls), Magma Cubes (like slimes but in nether), Striders (rideable on lava with warped fungus on a stick), and Endermen (spawn in warped forests).


Explanation: The End has limited mob spawns: Endermen (spawn abundantly across all End terrain), Shulkers (found in end cities, shoot levitation projectiles, drop shulker shells), and the Ender Dragon (boss mob, spawns once on first entry, can be respawned with end crystals). End cities also contain elytra in item frames on end ships. The End has no day/night cycle -- it is perpetually dark with a static starfield.


Explanation: Bastion remnants are nether structures. Must search from within the Nether dimension. Structure ID is minecraft:bastion_remnant.

execute in minecraft:the_nether as slingshooter08 at slingshooter08 run locate structure minecraft:bastion_remnant

'minecraft:bastion' is not valid. The full ID is 'minecraft:bastion_remnant'. Also should be searched from the Nether.


Explanation: End cities are structures in the outer End islands. Must search from the End dimension. Structure ID is minecraft:end_city.

execute in minecraft:the_end as slingshooter08 at slingshooter08 run locate structure minecraft:end_city


Explanation: Desert temples (desert pyramids) are structures found in desert biomes. The structure ID is minecraft:desert_pyramid.

execute as slingshooter08 at slingshooter08 run locate structure minecraft:desert_pyramid

'minecraft:desert_temple' is not valid. The correct ID is 'minecraft:desert_pyramid'.


Explanation: Jungle temples are found in jungle biomes. The structure ID is minecraft:jungle_pyramid (not jungle_temple).

execute as slingshooter08 at slingshooter08 run locate structure minecraft:jungle_pyramid

'minecraft:jungle_temple' is not valid. The correct ID is 'minecraft:jungle_pyramid'.


Explanation: Shipwrecks are found in oceans and on beaches. The structure ID is minecraft:shipwreck.

execute as slingshooter08 at slingshooter08 run locate structure minecraft:shipwreck


Explanation: Ocean monuments are large structures in deep oceans. The structure ID is minecraft:ocean_monument (not monument). Contains elder guardians and sponge.

execute as slingshooter08 at slingshooter08 run locate structure minecraft:ocean_monument

'minecraft:monument' is not valid. The correct ID is 'minecraft:ocean_monument'.


Explanation: The Nether has 5 biomes: (1) Nether Wastes -- the classic nether with netherrack, ghasts, and zombie piglins. (2) Soul Sand Valley -- soul sand and soul soil, fossils, ghasts and skeletons, blue soul fire. (3) Crimson Forest -- crimson nylium, huge crimson fungi, piglins and hoglins. (4) Warped Forest -- warped nylium, huge warped fungi, endermen (safest nether biome). (5) Basalt Deltas -- basalt and blackstone, magma cubes, volcanic terrain.


Explanation: Witch huts are found in swamp biomes. The structure ID is minecraft:swamp_hut (not witch_hut).

execute as slingshooter08 at slingshooter08 run locate structure minecraft:swamp_hut

'minecraft:witch_hut' is not valid. The correct ID is 'minecraft:swamp_hut'.


Explanation: Pillager outposts are found near villages in most biomes. The structure ID is minecraft:pillager_outpost.

execute as slingshooter08 at slingshooter08 run locate structure minecraft:pillager_outpost


Explanation: First locate the biome, then teleport. The player wants to go to a warm ocean biome with coral reefs. Two-step: find it, then tp. Since we can only run commands, locate will give coordinates they could tp to. Best approach: locate the biome for the player.

execute as slingshooter08 at slingshooter08 run locate biome minecraft:warm_ocean


Explanation: No. Attempting to use a bed in the Nether or the End causes the bed to explode violently, dealing massive damage and setting nearby blocks on fire. This is an intentional game mechanic. In the Nether, players must use respawn anchors (charged with glowstone) to set spawn points. In the End, there is no way to set a spawn point -- dying sends you back to the Overworld spawn.


Explanation: Mineshafts are underground structures. The structure ID is minecraft:mineshaft.

execute as slingshooter08 at slingshooter08 run locate structure minecraft:mineshaft


Explanation: The player or model used 'wood_sword' which is not a valid Minecraft item ID. The correct ID is 'minecraft:wooden_sword'. Many items use 'wooden_' prefix, not 'wood_': wooden_sword, wooden_pickaxe, wooden_axe, wooden_shovel, wooden_hoe.

give slingshooter08 minecraft:wooden_sword 1

give slingshooter08 minecraft:wood_sword 1

Unknown item 'minecraft:wood_sword'. Correct ID is 'minecraft:wooden_sword'.


Explanation: The model used 'minecraft:sharp' which is not a valid enchantment ID. The correct ID is 'minecraft:sharpness'. Common enchantment name mistakes: sharp->sharpness, prot->protection, eff->efficiency, unbreak->unbreaking, fa->fire_aspect.

give slingshooter08 minecraft:diamond_sword[enchantments={sharpness:5}] 1

give slingshooter08 minecraft:diamond_sword[enchantments={sharp:5}] 1

Unknown enchantment 'sharp'. Correct ID is 'sharpness'.


Invalid or unknown argument 'speed_boost'

Explanation: The effect 'speed_boost' does not exist. The correct Minecraft effect ID is 'minecraft:speed'. Common effect name mistakes: speed_boost->speed, strength_boost->strength, night_vis->night_vision, water_breath->water_breathing, slow_fall->slow_falling.

effect give slingshooter08 minecraft:speed 300 1

effect give slingshooter08 minecraft:speed_boost 300 1

'speed_boost' is not a valid effect. Correct ID is 'minecraft:speed'.


Expected whitespace to end one argument, but found trailing data

Explanation: The error 'Expected whitespace to end one argument' typically means arguments are joined without spaces, or the argument order is wrong. The common mistake is putting count before item: 'give player 64 minecraft:diamond' instead of 'give player minecraft:diamond 64'.

give slingshooter08 minecraft:diamond 64

give slingshooter08 64 minecraft:diamond

Transposed argument order. Count (64) came before item. Correct syntax: give <player> <item> <count>.


Explanation: 'minecraft:bed' is not a valid item ID. Beds require a color prefix. The default bed is 'minecraft:white_bed'. Other valid bed IDs: red_bed, blue_bed, green_bed, etc. When a player says 'bed' without color, default to white_bed.

give slingshooter08 minecraft:white_bed 1

'minecraft:bed' is not valid. Beds require a color prefix: minecraft:white_bed, minecraft:red_bed, etc.


Explanation: 'minecraft:log' is not a valid item ID. Logs require a wood type prefix. The default is 'minecraft:oak_log'. Other valid IDs: birch_log, spruce_log, jungle_log, dark_oak_log, acacia_log, cherry_log, mangrove_log. Nether: crimson_stem, warped_stem.

give slingshooter08 minecraft:oak_log 64

'minecraft:log' is not valid. Logs require wood type: minecraft:oak_log, minecraft:birch_log, etc.


Explanation: 'minecraft:plank' is not valid. The correct ID is 'minecraft:oak_planks' (plural, with wood type). Common variants: oak_planks, birch_planks, spruce_planks, jungle_planks, dark_oak_planks, acacia_planks, cherry_planks, mangrove_planks, bamboo_planks, crimson_planks, warped_planks.

give slingshooter08 minecraft:oak_planks 64

'minecraft:plank' is not valid. Correct ID is 'minecraft:oak_planks' (plural, with wood type).


Explanation: 'minecraft:wool' is not valid. Wool requires a color prefix, like beds. Default to 'minecraft:white_wool'. All 16 colors are valid: white_wool, orange_wool, magenta_wool, light_blue_wool, yellow_wool, lime_wool, pink_wool, gray_wool, light_gray_wool, cyan_wool, purple_wool, blue_wool, brown_wool, green_wool, red_wool, black_wool.

give slingshooter08 minecraft:white_wool 64

'minecraft:wool' is not valid. Wool requires color prefix: minecraft:white_wool, minecraft:red_wool, etc.


Explanation: 'minecraft:glass_panel' is not valid. The correct ID is 'minecraft:glass_pane' (not 'panel'). This is a common spelling mistake. Stained variants use color prefix: white_stained_glass_pane, red_stained_glass_pane, etc.

give slingshooter08 minecraft:glass_pane 64

give slingshooter08 minecraft:glass_panel 64

'minecraft:glass_panel' is not valid. Correct ID is 'minecraft:glass_pane' (pane, not panel).


Explanation: 'minecraft:stone_brick' (singular) is not valid. The correct ID is 'minecraft:stone_bricks' (plural). Many block IDs are plural in Minecraft: stone_bricks, mossy_stone_bricks, cracked_stone_bricks, chiseled_stone_bricks, nether_bricks, etc.

give slingshooter08 minecraft:stone_bricks 64

give slingshooter08 minecraft:stone_brick 64

'minecraft:stone_brick' is not valid. Correct ID is 'minecraft:stone_bricks' (plural).


Incorrect argument for command at position 27: ...er08 speed<--[HERE]

Explanation: The command 'effect player speed' is missing the 'give' subcommand and proper syntax. In 1.21, the full effect syntax is: 'effect give <player> <effect> [duration] [amplifier] [hideParticles]'. Must include 'give' subcommand, minecraft: namespace, and duration.

effect give slingshooter08 minecraft:speed 300 1

Missing 'give' subcommand. Correct syntax: 'effect give <player> minecraft:speed <duration>'.


Unknown or incomplete command: gamemode 1

Explanation: Numeric gamemode values (0, 1, 2, 3) were removed in Minecraft 1.13+. The correct syntax uses full mode names: survival, creative, adventure, spectator. The command is 'gamemode creative <player>'.

Numeric gamemode values are no longer valid. Use: gamemode creative, gamemode survival, gamemode adventure, gamemode spectator.


Unknown or incomplete command: weather storm

Explanation: 'weather storm' is not valid. The valid weather commands are: weather clear, weather rain, weather thunder. For a storm, use 'weather thunder'. There is no 'storm' value.

'storm' is not a valid weather argument. Valid values: clear, rain, thunder.


Incorrect argument for command at position 32: ...er08 speed<--[HERE]

Explanation: Effects require the minecraft: namespace prefix. 'speed' alone is not recognized -- must be 'minecraft:speed'. This applies to all effects: minecraft:strength, minecraft:regeneration, minecraft:night_vision, etc.

effect give slingshooter08 minecraft:speed 300 1

Missing minecraft: namespace prefix. Effect IDs require 'minecraft:speed', not just 'speed'.


Explanation: In 1.21 component syntax, enchantment level is separated by colon, not concatenated. 'sharpness5' is treated as one enchantment name. Correct format is 'sharpness:5' with colon separating name from level.

give slingshooter08 minecraft:diamond_sword[enchantments={sharpness:5}] 1

give slingshooter08 minecraft:diamond_sword[enchantments={sharpness5}] 1

'sharpness5' is not valid. Level must be separated by colon: 'sharpness:5'.


Explanation: 'time set night' IS a valid command in Minecraft 1.21. Valid time set literals are: day (1000), noon (6000), night (13000), midnight (18000). No correction needed -- this is a valid command. The model should not 'correct' what is already correct.

Not actually an error. 'time set night' is valid. While 18000 is midnight specifically, 'night' (13000 ticks) is a valid literal.


Explanation: The error 'No player was found' means the target selector matched no entities. This often happens when: (1) targeting a specific player who is offline, (2) using @a when no one is online, or (3) using @p from console without 'execute at' context. When running from RCON (no execution position), @p and @r require 'execute at <player> run' for position context.

execute at slingshooter08 run tp @a slingshooter08

@p requires position context when run from console/RCON. Use 'execute at <player> run' to provide context.


Explanation: 'minecraft:gold_apple' is not valid. The correct ID is 'minecraft:golden_apple'. For the enchanted (Notch) apple, use 'minecraft:enchanted_golden_apple'. The pattern is 'golden_' not 'gold_' for golden items: golden_apple, golden_carrot, golden_sword, golden_helmet, etc.

give slingshooter08 minecraft:golden_apple 16

give slingshooter08 minecraft:gold_apple 16

'minecraft:gold_apple' is not valid. Correct ID is 'minecraft:golden_apple'. Use 'golden_' prefix, not 'gold_'.


Explanation: 'minecraft:notch_apple' is a community name, not a valid ID. The correct ID is 'minecraft:enchanted_golden_apple'. This is the rare uncraftable golden apple with absorption, regeneration, resistance, and fire resistance effects.

give slingshooter08 minecraft:enchanted_golden_apple 1

give slingshooter08 minecraft:notch_apple 1

'minecraft:notch_apple' is not valid. Correct ID is 'minecraft:enchanted_golden_apple'.


Explanation: 'minecraft:eff' is an abbreviation, not a valid enchantment ID. The correct ID is 'minecraft:efficiency'. Common abbreviations that fail: eff->efficiency, prot->protection, unb->unbreaking, fa->fire_aspect, kb->knockback, loot->looting.

give slingshooter08 minecraft:diamond_pickaxe[enchantments={efficiency:5,unbreaking:3,mending:1}] 1

give slingshooter08 minecraft:diamond_pickaxe[enchantments={eff:5}] 1

'eff' is not a valid enchantment ID. Correct: 'efficiency'.


Explanation: 'prot' is an abbreviation. The correct enchantment ID is 'protection'. Always use the full enchantment name in commands.

give slingshooter08 minecraft:diamond_chestplate[enchantments={protection:4}] 1

give slingshooter08 minecraft:diamond_chestplate[enchantments={prot:4}] 1

'prot' is not a valid enchantment ID. Correct: 'protection'.


Explanation: 'minecraft:concrete' is not valid. Like wool and beds, concrete requires a color prefix. Default to 'minecraft:white_concrete'. All 16 colors are valid: white_concrete, orange_concrete, magenta_concrete, light_blue_concrete, yellow_concrete, lime_concrete, pink_concrete, gray_concrete, light_gray_concrete, cyan_concrete, purple_concrete, blue_concrete, brown_concrete, green_concrete, red_concrete, black_concrete.

give slingshooter08 minecraft:white_concrete 64

give slingshooter08 minecraft:concrete 64

'minecraft:concrete' is not valid. Concrete requires color prefix: minecraft:white_concrete, minecraft:red_concrete, etc.


Explanation: 'minecraft:boat' is not valid in 1.21. Boats require a wood type prefix: 'minecraft:oak_boat', 'minecraft:birch_boat', 'minecraft:spruce_boat', etc. Chest boat variants also exist: 'minecraft:oak_chest_boat'. Default to oak_boat.

give slingshooter08 minecraft:oak_boat 1

'minecraft:boat' is not valid. Boats require wood type: minecraft:oak_boat, minecraft:birch_boat, etc.


Explanation: 'minecraft:sign' is not valid in 1.21. Signs require a wood type prefix: 'minecraft:oak_sign', 'minecraft:birch_sign', etc. Hanging sign variants also exist: 'minecraft:oak_hanging_sign'. Default to oak_sign.

give slingshooter08 minecraft:oak_sign 16

'minecraft:sign' is not valid. Signs require wood type: minecraft:oak_sign, minecraft:birch_sign, etc.


Invalid or unknown argument 'damage_resistance'

Explanation: 'damage_resistance' is the old effect name (pre-1.20.5). The correct effect ID in 1.21 is simply 'minecraft:resistance'. Several effects were renamed: damage_resistance->resistance, damage_boost->strength, jump->jump_boost.

effect give slingshooter08 minecraft:resistance 300 3

effect give slingshooter08 minecraft:damage_resistance 300 3

'minecraft:damage_resistance' was renamed to 'minecraft:resistance' in 1.20.5+.


Explanation: 'minecraft:button' is not valid. Buttons require a material prefix: 'minecraft:oak_button', 'minecraft:stone_button', 'minecraft:polished_blackstone_button', etc. Default to oak_button or stone_button.

give slingshooter08 minecraft:stone_button 16

'minecraft:button' is not valid. Buttons need material prefix: minecraft:stone_button, minecraft:oak_button, etc.


Explanation: 'minecraft:fence' is not valid. Fences require a wood type prefix: 'minecraft:oak_fence', 'minecraft:birch_fence', 'minecraft:nether_brick_fence', etc. Default to oak_fence.

give slingshooter08 minecraft:oak_fence 64

'minecraft:fence' is not valid. Fences need wood type: minecraft:oak_fence, minecraft:birch_fence, etc.


Explanation: 'minecraft:stairs' is not valid. Stairs require a material prefix: 'minecraft:oak_stairs', 'minecraft:stone_stairs', 'minecraft:cobblestone_stairs', etc. Default to oak_stairs.

give slingshooter08 minecraft:oak_stairs 64

'minecraft:stairs' is not valid. Stairs need material prefix: minecraft:oak_stairs, minecraft:stone_stairs, etc.


Explanation: 'minecraft:door' is not valid. Doors require a material prefix: 'minecraft:oak_door', 'minecraft:iron_door', 'minecraft:birch_door', etc. Default to oak_door.

give slingshooter08 minecraft:oak_door 1

'minecraft:door' is not valid. Doors need material prefix: minecraft:oak_door, minecraft:iron_door, etc.


Explanation: 'player' is a literal string, not a valid player name or selector. If the command was meant for the requesting player, use their actual name 'slingshooter08' or @s. The word 'player' is not a valid selector.

give slingshooter08 minecraft:diamond 64

'player' is not a valid player name or selector. Use the actual player name or @s/@p/@a.


Explanation: 'minecraft:slab' is not valid. Slabs require a material prefix: 'minecraft:oak_slab', 'minecraft:stone_slab', 'minecraft:cobblestone_slab', etc. Default to oak_slab.

give slingshooter08 minecraft:oak_slab 64

'minecraft:slab' is not valid. Slabs need material prefix: minecraft:oak_slab, minecraft:stone_slab, etc.


Explanation: 'minecraft:trapdoor' is not valid. Trapdoors require material prefix: 'minecraft:oak_trapdoor', 'minecraft:iron_trapdoor', 'minecraft:birch_trapdoor', etc. Default to oak_trapdoor.

give slingshooter08 minecraft:oak_trapdoor 16

give slingshooter08 minecraft:trapdoor 16

'minecraft:trapdoor' is not valid. Trapdoors need material prefix: minecraft:oak_trapdoor, minecraft:iron_trapdoor, etc.


Explanation: 'minecraft:pressure_plate' is not valid. Pressure plates require material prefix: 'minecraft:stone_pressure_plate', 'minecraft:oak_pressure_plate', 'minecraft:light_weighted_pressure_plate' (gold), 'minecraft:heavy_weighted_pressure_plate' (iron). Default to stone_pressure_plate.

give slingshooter08 minecraft:stone_pressure_plate 16

give slingshooter08 minecraft:pressure_plate 16

'minecraft:pressure_plate' is not valid. Need material prefix: minecraft:stone_pressure_plate, minecraft:oak_pressure_plate, etc.


Explanation: In 1.21, entity NBT data is no longer appended directly to the summon command. Entity effects must be applied separately with the effect command after summoning. The old syntax 'summon zombie ~ ~ ~ {ActiveEffects:[...]}' still works in some cases but the NBT format changed.

execute at slingshooter08 run summon minecraft:zombie ~ ~ ~

execute at slingshooter08 run effect give @e[type=minecraft:zombie,sort=nearest,limit=1] minecraft:speed 999 2

execute at slingshooter08 run summon minecraft:zombie ~ ~ ~ {ActiveEffects:[{Id:1,Duration:999,Amplifier:2}]}

Legacy NBT format for ActiveEffects with numeric Id. In 1.21, effect format changed. Safest to summon then apply effects separately.


Explanation: 'minecraft:minecart_chest' has the wrong word order. The correct ID is 'minecraft:chest_minecart'. Same pattern for all minecart variants: chest_minecart, hopper_minecart, furnace_minecart, tnt_minecart, command_block_minecart. The base minecart is just 'minecraft:minecart'.

give slingshooter08 minecraft:chest_minecart 1

give slingshooter08 minecraft:minecart_chest 1

Wrong word order. Correct ID is 'minecraft:chest_minecart', not 'minecraft:minecart_chest'.


Explanation: 'minecraft:steak' is the community name but not the item ID. The correct ID is 'minecraft:cooked_beef'. Raw version is 'minecraft:beef'. Other food ID gotchas: cooked_porkchop (not porkchop_cooked), cooked_chicken, cooked_mutton, cooked_rabbit, cooked_cod, cooked_salmon.

give slingshooter08 minecraft:cooked_beef 64

'minecraft:steak' is not valid. Correct ID is 'minecraft:cooked_beef'.


Expected argument after 'kill @e[type=!player,type=!'

Explanation: Cannot stack multiple type= filters with negation in the same selector. To kill all non-player entities, use 'kill @e[type=!minecraft:player]'. If you need to exclude multiple types, use separate commands or the 'team' trick. The simpler approach is just excluding players.

Cannot use multiple type= negations in one selector. Use kill @e[type=!minecraft:player] to kill all non-player entities.


Explanation: The xp command syntax is: 'xp set <player> <amount> [levels|points]'. The old syntax 'xp 100L player' is invalid. Must specify 'levels' or 'points' as the unit.

Legacy XP syntax. In 1.21, use: 'xp set <player> <amount> levels' or 'xp add <player> <amount> levels'.


Explanation: 'minecraft:wood_pickaxe' is not valid. The correct prefix is 'wooden_', not 'wood_'. All wooden tool IDs: wooden_pickaxe, wooden_axe, wooden_sword, wooden_shovel, wooden_hoe. This pattern is consistent across all wooden items.

give slingshooter08 minecraft:wooden_pickaxe 1

give slingshooter08 minecraft:wood_pickaxe 1

'minecraft:wood_pickaxe' is not valid. Correct ID is 'minecraft:wooden_pickaxe'. Use 'wooden_' prefix.


Expected whitespace to end one argument, but found trailing data: ...clear weather

Explanation: The command 'clear weather' is wrong -- 'clear' was interpreted as the /clear command (which clears inventory). The weather command syntax is 'weather clear', with 'weather' first, then the type. Command and argument are reversed.

'clear weather' is parsed as /clear with argument 'weather'. Correct command is 'weather clear'.