give me boots with depth strider and frost walker

Explanation: Depth Strider and Frost Walker are mutually exclusive. Depth Strider lets you swim faster underwater; Frost Walker turns water to ice when walking on it. Cannot have both.

give slingshooter08 minecraft:diamond_boots[enchantments={depth_strider:3}] 1

Depth Strider and Frost Walker are mutually exclusive. I gave you Depth Strider 3 (faster underwater movement). Say 'sudo give me boots with frost_walker 2' if you want ice-walking instead.


Explanation: Best boots enchantments: protection 4, feather_falling 4, depth_strider 3, soul_speed 3, unbreaking 3, mending 1. Cannot have both depth_strider and frost_walker.


Explanation: Infinity and Mending are mutually exclusive on bows. Infinity gives unlimited arrows (need 1 arrow in inventory). Mending repairs with XP. Cannot have both. Default to infinity for combat convenience.

give slingshooter08 minecraft:bow[enchantments={power:5,punch:2,flame:1,infinity:1,unbreaking:3}] 1

Infinity and Mending are mutually exclusive on bows. I gave you Infinity (unlimited arrows) since it's more practical for combat. Say 'sudo give me a bow with mending' if you prefer the repair version instead.

manual enchantment reference, mutual exclusion rules


Explanation: Best bow: power 5, punch 2, flame 1, infinity 1, unbreaking 3. Cannot have mending with infinity. This is the max-damage bow.

give slingshooter08 minecraft:bow[enchantments={power:5,punch:2,flame:1,infinity:1,unbreaking:3}] 1


Explanation: Listing all bow enchantments with max levels.

Bow enchantments in 1.21:
- Power (max 5) -- increased arrow damage
- Punch (max 2) -- increased arrow knockback
- Flame (max 1) -- fire arrows
- Infinity (max 1) -- unlimited arrows (need 1 in inventory) [mutually exclusive with Mending]
- Unbreaking (max 3) -- increased durability
- Mending (max 1) -- XP repairs item [mutually exclusive with Infinity]
- Curse of Vanishing (max 1) -- item disappears on death


give me a crossbow with multishot and piercing

Explanation: Multishot and Piercing are mutually exclusive on crossbows. Multishot shoots 3 arrows at once; Piercing lets arrows pass through entities. Cannot have both.

give slingshooter08 minecraft:crossbow[enchantments={multishot:1,quick_charge:3,unbreaking:3,mending:1}] 1

Multishot and Piercing are mutually exclusive. I gave you Multishot (3 arrows at once) since it's better for crowd control. Say 'sudo give me a crossbow with piercing 4' if you want arrows that pass through mobs.


Explanation: Best crossbow: quick_charge 3, multishot 1, unbreaking 3, mending 1. Cannot have piercing with multishot. Quick_charge 3 is nearly instant reload.

give slingshooter08 minecraft:crossbow[enchantments={quick_charge:3,multishot:1,unbreaking:3,mending:1}] 1


give me a trident with loyalty and riptide

Explanation: Loyalty and Riptide are mutually exclusive. Loyalty makes the trident return after throwing. Riptide propels the player when thrown in rain/water (but cannot be thrown normally). Also, Riptide is mutually exclusive with Channeling.

give slingshooter08 minecraft:trident[enchantments={loyalty:3,channeling:1,unbreaking:3,mending:1}] 1

Loyalty and Riptide are mutually exclusive. Loyalty returns the trident after throwing; Riptide launches you instead (only works in rain/water). I gave you Loyalty 3 + Channeling (summons lightning). Say 'sudo give me a trident with riptide 3' for the movement version.


Explanation: Riptide 3. Cannot have loyalty or channeling with riptide. Riptide propels the player when thrown in rain or water. Add impaling for damage and unbreaking/mending for durability.

give slingshooter08 minecraft:trident[enchantments={riptide:3,impaling:5,unbreaking:3,mending:1}] 1


Explanation: Channeling makes the trident summon lightning when it hits a mob during a thunderstorm. Goes well with loyalty (returns after throwing). Cannot combine with riptide.

give slingshooter08 minecraft:trident[enchantments={channeling:1,loyalty:3,impaling:5,unbreaking:3,mending:1}] 1


give me a pickaxe with silk touch and fortune

Explanation: Silk Touch and Fortune are mutually exclusive. Silk Touch picks up the exact block (e.g., stone instead of cobblestone, diamond ore instead of diamonds). Fortune increases drop amounts. Cannot have both.

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

Silk Touch and Fortune are mutually exclusive. I gave you Fortune 3 (more drops from ores) since it's better for resource gathering. Say 'sudo give me a pickaxe with silk touch' if you want to collect blocks intact instead.


Explanation: Silk touch pickaxe. Silk touch 1 is the only level. Add efficiency 5, unbreaking 3, mending 1. Cannot have fortune with silk touch.

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


Explanation: Fortune 3 pickaxe. Max level for fortune is 3. Add efficiency 5, unbreaking 3, mending 1.

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


Explanation: Listing all pickaxe enchantments.

Pickaxe enchantments in 1.21:
- Efficiency (max 5) -- faster mining speed
- Fortune (max 3) -- increased drops from ores [mutually exclusive with Silk Touch]
- Silk Touch (max 1) -- mine blocks in their original form [mutually exclusive with Fortune]
- Unbreaking (max 3) -- increased durability
- Mending (max 1) -- XP repairs the item
- Curse of Vanishing (max 1) -- item disappears on death


give me a fishing rod with luck of the sea and lure

Explanation: Fishing rod enchantments: luck_of_the_sea 3 (better loot), lure 3 (faster bites). These are compatible and not mutually exclusive. Add unbreaking and mending.

give slingshooter08 minecraft:fishing_rod[enchantments={luck_of_the_sea:3,lure:3,unbreaking:3,mending:1}] 1


Explanation: Listing all armor enchantments. Protection types are mutually exclusive.

Armor enchantments in 1.21 (all pieces):
- Protection (max 4) -- reduces all damage [mutually exclusive with other protection types]
- Fire Protection (max 4) -- reduces fire damage [mutually exclusive]
- Blast Protection (max 4) -- reduces explosion damage [mutually exclusive]
- Projectile Protection (max 4) -- reduces projectile damage [mutually exclusive]
- Thorns (max 3) -- damages attackers
- Unbreaking (max 3) -- increased durability
- Mending (max 1) -- XP repairs item
- Curse of Binding (max 1) -- cannot remove once equipped
- Curse of Vanishing (max 1) -- item disappears on death

Helmet only: Respiration (max 3), Aqua Affinity (max 1)
Boots only: Feather Falling (max 4), Depth Strider (max 3), Frost Walker (max 2), Soul Speed (max 3)
Note: Depth Strider and Frost Walker are mutually exclusive.


give me a chestplate with protection 4 and thorns 3

Explanation: Diamond chestplate with protection 4 and thorns 3. These are compatible. Add unbreaking and mending for durability.

give slingshooter08 minecraft:diamond_chestplate[enchantments={protection:4,thorns:3,unbreaking:3,mending:1}] 1


give me netherite leggings with blast protection

Explanation: Netherite leggings with blast_protection 4. Player specifically asked for netherite and blast protection. Blast protection is good against creepers and TNT.

give slingshooter08 minecraft:netherite_leggings[enchantments={blast_protection:4,unbreaking:3,mending:1}] 1


Explanation: Frost Walker 2 (max level). Turns water into frosted ice when walking near it. Cannot have depth_strider with frost_walker.


give me a netherite sword with sharpness 10

Explanation: Sharpness max level is 5 in vanilla Minecraft. Player asked for 10 which exceeds the max. I will give sharpness 5 and inform them of the cap. Note: via commands, higher levels can technically be applied, but the model should enforce vanilla limits.

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

Sharpness maxes out at level 5 in vanilla Minecraft. I gave you Sharpness 5 (the maximum).

manual enchantment reference, max level enforcement


Explanation: Fire Aspect max level is 2. Player asked for 5 which exceeds the max. Give fire_aspect 2 and inform.

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

Fire Aspect maxes out at level 2. I gave you Fire Aspect 2 (the maximum).


give me a sword with looting 3 and fire aspect 2

Explanation: Looting 3 and fire_aspect 2 are compatible. Both can go on a sword together.

give slingshooter08 minecraft:diamond_sword[enchantments={looting:3,fire_aspect:2}] 1


Explanation: Axes can have sharpness (or smite/bane_of_arthropods). Sharpness 5 on a diamond axe. Also add efficiency and unbreaking for a practical axe.

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


give me a shovel with efficiency 5 and silk touch

Explanation: Shovel with efficiency 5 and silk touch 1. Silk touch on a shovel lets you pick up grass blocks, mycelium, etc.

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


Explanation: Hoe with fortune 3. Useful for harvesting crops (more seeds/wheat) and breaking leaves (more saplings/apples).

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


Explanation: Curse of Binding prevents removal of armor once equipped. This is a curse, so warn the player. Only removable by dying or the item breaking.

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

Warning: Curse of Binding means you cannot remove this armor once you put it on. It can only come off if it breaks or you die.


give me a pickaxe with efficiency 5 and unbreaking 3 and mending

Explanation: All three enchantments are compatible. This is a standard utility pickaxe without fortune or silk_touch.

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


give me a netherite helmet with aqua affinity and respiration

Explanation: Aqua affinity 1 (faster underwater mining) and respiration 3 (longer underwater breathing). Both helmet-specific. Add protection and durability enchants.


Explanation: Soul Speed 3 makes the player walk faster on soul sand and soul soil. Max level 3. Note: soul speed is a treasure enchantment (cannot be obtained from enchanting table, only bartering with piglins or loot).


Explanation: Listing all trident enchantments with mutual exclusions.

Trident enchantments in 1.21:
- Loyalty (max 3) -- trident returns after throwing [mutually exclusive with Riptide]
- Riptide (max 3) -- launches player when thrown in rain/water [mutually exclusive with Loyalty and Channeling]
- Channeling (max 1) -- summons lightning on hit during thunderstorm [mutually exclusive with Riptide]
- Impaling (max 5) -- extra damage to aquatic mobs
- Unbreaking (max 3) -- increased durability
- Mending (max 1) -- XP repairs item
- Curse of Vanishing (max 1) -- item disappears on death


Explanation: Listing all crossbow enchantments.

Crossbow enchantments in 1.21:
- Quick Charge (max 3) -- faster reload speed
- Multishot (max 1) -- fires 3 projectiles at once [mutually exclusive with Piercing]
- Piercing (max 4) -- arrows pass through entities [mutually exclusive with Multishot]
- Unbreaking (max 3) -- increased durability
- Mending (max 1) -- XP repairs item
- Curse of Vanishing (max 1) -- item disappears on death


Explanation: Piercing 4 (max level). Arrows pass through up to 4 entities. Cannot combine with multishot. Add quick_charge for fast reloading.

give slingshooter08 minecraft:crossbow[enchantments={piercing:4,quick_charge:3,unbreaking:3,mending:1}] 1


Explanation: Power 5 and mending are compatible. This is the mending variant of the bow (cannot have infinity). Add punch 2 and flame 1 for maximum effectiveness.

give slingshooter08 minecraft:bow[enchantments={power:5,punch:2,flame:1,mending:1,unbreaking:3}] 1


give me armor with projectile protection

Explanation: Projectile protection 4 on a full armor set. Good against skeletons, ghasts, blazes. Cannot combine with other protection types.

give slingshooter08 minecraft:diamond_helmet[enchantments={projectile_protection:4,unbreaking:3,mending:1}] 1

give slingshooter08 minecraft:diamond_chestplate[enchantments={projectile_protection:4,unbreaking:3,mending:1}] 1

give slingshooter08 minecraft:diamond_leggings[enchantments={projectile_protection:4,unbreaking:3,mending:1}] 1


Explanation: Sweeping Edge 3 increases sweep attack damage. Java Edition only (not on Bedrock). Max level 3.

give slingshooter08 minecraft:diamond_sword[enchantments={sweeping_edge:3,sharpness:5,unbreaking:3,mending:1}] 1


Explanation: Knockback 2 (max level). Sends mobs flying further on hit.

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


give me a sword with smite and bane of arthropods

Explanation: Smite and Bane of Arthropods are mutually exclusive (along with Sharpness -- only one of the three). Smite is more useful (undead mobs are very common), so default to that.

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

Smite and Bane of Arthropods are mutually exclusive (only one damage enchantment per sword: Sharpness, Smite, or Bane of Arthropods). I gave you Smite 5 since undead mobs are more common.


Explanation: Full fire protection 4 armor set. Good for nether exploration. Cannot combine with other protection types.

give slingshooter08 minecraft:diamond_chestplate[enchantments={fire_protection:4,unbreaking:3,mending:1}] 1

give slingshooter08 minecraft:diamond_leggings[enchantments={fire_protection:4,unbreaking:3,mending:1}] 1


give me a trident with all the best enchantments

Explanation: Best trident considering mutual exclusions: loyalty 3 (returns after throw), channeling 1 (lightning on hit during storm), impaling 5 (extra aquatic damage), unbreaking 3, mending 1. Cannot have riptide with loyalty or channeling.

give slingshooter08 minecraft:trident[enchantments={loyalty:3,channeling:1,impaling:5,unbreaking:3,mending:1}] 1


give me a fishing rod with luck of the sea 3

Explanation: Luck of the Sea 3 increases chance of treasure catches and decreases junk. Max level 3.

give slingshooter08 minecraft:fishing_rod[enchantments={luck_of_the_sea:3,unbreaking:3,mending:1}] 1


give me a shield with mending and unbreaking

Explanation: Shields can only have unbreaking, mending, and curse of vanishing/binding. Component syntax works the same way.

give slingshooter08 minecraft:shield[enchantments={unbreaking:3,mending:1}] 1


give me a sword with sharpness 5 using the old nbt format

Explanation: The old NBT format {Enchantments:[{id:...,lvl:...}]} is no longer valid in 1.21. Must use the component syntax regardless of what the player asks for.

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

The old NBT format ({Enchantments:[{id:...,lvl:...}]}) no longer works in 1.21. I used the correct component syntax: item[enchantments={sharpness:5}].

give slingshooter08 minecraft:diamond_sword{Enchantments:[{id:"minecraft:sharpness",lvl:5s}]} 1

Old NBT enchantment format is invalid in 1.21+. The correct syntax is item[enchantments={name:level}].

manual enchantment reference, syntax migration


Explanation: Mending 1 (only level). XP orbs repair the item instead of going to the player's XP bar. Very valuable enchantment.

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


what enchantments can go on a fishing rod

Explanation: Listing fishing rod enchantments.

Fishing Rod enchantments in 1.21:
- Luck of the Sea (max 3) -- increases treasure catch rate
- Lure (max 3) -- decreases time between bites
- Unbreaking (max 3) -- increased durability
- Mending (max 1) -- XP repairs item
- Curse of Vanishing (max 1) -- item disappears on death


give me a curse of vanishing diamond helmet

Explanation: Curse of Vanishing makes the item disappear on death instead of dropping. This is a curse -- warn the player.

give slingshooter08 minecraft:diamond_helmet[enchantments={curse_of_vanishing:1}] 1

Warning: Curse of Vanishing means this helmet will disappear if you die. It won't drop as an item.


give me full enchanted netherite everything

Explanation: Full netherite armor and tools, all best-in-slot enchantments. Armor: protection 4, unbreaking 3, mending 1 + piece-specific. Sword: sharpness 5, fire_aspect 2, knockback 2, looting 3, sweeping_edge 3. Pick: fortune 3, efficiency 5. Axe: sharpness 5, efficiency 5. Shovel: silk_touch, efficiency 5. Hoe: fortune 3, efficiency 5.

give slingshooter08 minecraft:netherite_chestplate[enchantments={protection:4,unbreaking:3,mending:1}] 1

give slingshooter08 minecraft:netherite_leggings[enchantments={protection:4,unbreaking:3,mending:1}] 1

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

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

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

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


give me a sword with every enchantment including smite sharpness and bane

Explanation: Sharpness, Smite, and Bane of Arthropods are all mutually exclusive -- only ONE of the three can be applied. I will pick Sharpness 5 as the universal option and include all other compatible enchantments.

Sharpness, Smite, and Bane of Arthropods are mutually exclusive -- you can only pick one. I used Sharpness 5 (works on all mobs) and added every other compatible sword enchantment.


Explanation: The /enchant command can apply enchantments to a held item, but it cannot exceed the natural max obtainable through enchanting tables (which is lower). For sharpness 5, the give command with components is more reliable. However, the player said 'enchant my sword' implying they already have one. Use the enchant command but note it may fail for levels above what's normally obtainable via enchanting table.

enchant slingshooter08 minecraft:sharpness 5

Note: The /enchant command may fail if the item already has an incompatible enchantment or if the level exceeds what the enchanting table allows. For guaranteed results, I can give you a new pre-enchanted sword instead.


give me a netherite chestplate with protection 4 thorns 3 unbreaking 3 mending

Explanation: All four enchantments are compatible on a chestplate. Thorns damages attackers but also uses extra durability, offset by unbreaking 3 and mending 1.

give slingshooter08 minecraft:netherite_chestplate[enchantments={protection:4,thorns:3,unbreaking:3,mending:1}] 1


Explanation: Iron armor set, each piece with protection 4. Player specified iron, not diamond or netherite.

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

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

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

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


Explanation: Feather Falling 4 (max level) reduces fall damage. Boots-only enchantment.

give slingshooter08 minecraft:diamond_boots[enchantments={feather_falling:4,protection:4,unbreaking:3,mending:1}] 1


Explanation: Player wants a solid stone sphere with radius 10. WorldEdit command: //sphere <block> <radius>. This creates a filled sphere at the player's position.


Explanation: Hollow sphere uses //hsphere. The 'h' prefix means hollow.


Explanation: Fill the current WorldEdit selection with stone. The command is //set <block>. Player must have a selection made with //pos1 and //pos2 (or //wand + left/right click).

Make sure you have a WorldEdit selection first. Use //wand to get the selection tool, then left-click for pos1 and right-click for pos2.


replace all dirt with grass in my selection

Explanation: Replace blocks within selection. //replace <from> <to>. Replaces dirt blocks with grass_block.


Explanation: Replace stone with air effectively removes all stone in the selection.


Explanation: Copy the current selection to clipboard. //copy stores it relative to the player's position.

Selection copied to clipboard. Use //paste to place it. The paste position is relative to where you stood when copying.


Explanation: Paste from clipboard at current position. //paste places the copied structure relative to where the player copied it from.


Explanation: Undo the last WorldEdit operation. //undo reverses the most recent change.


Explanation: Redo a previously undone WorldEdit operation.


build a stone cylinder radius 5 height 10

Explanation: Solid cylinder: //cyl <block> <radius> <height>. Creates a filled cylinder.


build a hollow cylinder of glass radius 8 height 20

Explanation: Hollow cylinder: //hcyl <block> <radius> <height>. Only the walls, no fill inside.


make walls around my selection with stone bricks

Explanation: //walls creates the 4 vertical sides of the selection. Does not fill top/bottom.


enclose my selection with glass on all sides

Explanation: //faces fills all 6 faces (walls + top + bottom) of the selection. This is like //walls but also covers ceiling and floor.


Explanation: Explaining WorldEdit selection methods.

WorldEdit selection methods:
1. //wand -- gives you a wooden axe. Left-click a block to set pos1, right-click to set pos2.
2. //pos1 -- sets pos1 to your current position
3. //pos2 -- sets pos2 to your current position
4. //hpos1 -- sets pos1 to the block you're looking at
5. //hpos2 -- sets pos2 to the block you're looking at

The selection is the cuboid between pos1 and pos2. Use //expand and //contract to adjust the selection size.


Explanation: //expand <amount> <direction>. Direction 'up' expands upward.


contract my selection 5 blocks from the north

Explanation: //contract <amount> <direction>. Shrinks the selection from the specified side.


Explanation: //stack <count> <direction>. Repeats the selection content in the specified direction.


Explanation: //drain <radius> removes water (and lava) in a radius around the player.


Explanation: //snow <radius> adds snow layers to exposed surfaces. Simulates snowfall.


Explanation: //thaw <radius> removes snow and ice from surfaces. Opposite of //snow.


Explanation: //regen regenerates the selected area back to the original world generation. Warning: this is destructive and removes all player-placed blocks.

Warning: //regen will replace everything in your selection with the original world-generated terrain. All player builds in the selection will be lost.


Explanation: //cut copies the selection to clipboard and replaces it with air. Like copy + delete.

Selection cut to clipboard (replaced with air). Use //paste to place it elsewhere, or //undo to restore.


Explanation: Common mistake: there is no '//fill' command in WorldEdit. The correct command to fill a selection is //set. The Minecraft /fill command is different from WorldEdit.

Note: WorldEdit uses //set to fill a selection, not //fill. The /fill command is a vanilla Minecraft command (different from WorldEdit).

'//fill' is not a WorldEdit command. Use '//set stone' to fill your selection, or vanilla '/fill' with coordinates.

manual WorldEdit reference, common mistakes


Explanation: General WorldEdit overview for beginners.

WorldEdit basics:
1. Get the wand: //wand (gives wooden axe)
2. Select area: Left-click = pos1, Right-click = pos2
3. Fill selection: //set <block>
4. Replace blocks: //replace <from> <to>
5. Copy/paste: //copy then //paste
6. Undo mistakes: //undo
7. Build shapes: //sphere, //cyl, //hsphere, //hcyl
8. Walls only: //walls <block>

All WorldEdit commands use // prefix (double slash), not single /. The selection is always the cuboid between pos1 and pos2.


Explanation: //wand gives the player a wooden axe that serves as the selection tool.


Explanation: //set air clears the entire selection. This is destructive.

This will clear everything in your selection. Use //undo if you need to revert.


Explanation: A dome is a hollow sphere. //hsphere glass 15 creates a hollow sphere. For just the top half (dome), the player should stand at the base level. WorldEdit's //hsphere generates a full sphere, but if the player stands on the ground, the bottom half goes underground which effectively creates a dome above.

Stand at the base level where you want the dome. The sphere will generate around you -- the top half forms the dome. If you only want the upper hemisphere, you can //undo and instead use //hsphere glass 15 while standing at the intended floor level.


Explanation: WorldEdit brush tool: //brush sphere <block> <radius>. Binds a sphere brush to the held item. Right-clicking with the item places a sphere at the targeted block.

Sphere brush bound to your held item with radius 3 (stone). Right-click to place spheres at the targeted block. Change radius/block by re-running the command. Use //brush none to unbind.


replace all water with air in my selection

Explanation: //replace water air removes all water blocks in the selection.


build a pyramid of sandstone 10 blocks tall

Explanation: //pyramid <block> <size>. Creates a solid pyramid. Size is the base-to-peak height.


build a hollow pyramid of quartz 15 high

Explanation: //hpyramid <block> <size> creates a hollow pyramid.


Explanation: Common mistake: using single / instead of //. WorldEdit commands all require double slash //.

Note: WorldEdit commands use // (double slash), not / (single slash). The correct command is //set stone.

WorldEdit commands require // (double slash). '/set' is not recognized. Use '//set stone'.


Explanation: //smooth <iterations> smooths the terrain heightmap in the selection. More iterations = smoother.

Smoothing terrain with 3 iterations. Increase the number for a smoother result.


Explanation: //rotate <degrees> rotates the clipboard. Valid values: 90, 180, 270. Must have something copied first.

Clipboard rotated 90 degrees. Use //paste to place the rotated version.


Explanation: //flip up flips the clipboard vertically (upside down).

Clipboard flipped vertically. Use //paste to place it.


Explanation: //size shows the dimensions and block count of the current selection.


count how many diamond ore blocks are in my selection

Explanation: //count <block> counts how many of a specific block type are in the selection.


Explanation: //forest <type> <density> generates trees in the selection. Tree types: oak, birch, spruce, jungle, acacia, dark_oak.

Generating oak forest with 5% density in your selection. Adjust density (1-100) for more or fewer trees.


set my selection to a mix of stone and cobblestone

Explanation: WorldEdit supports block patterns with percentages. //set 50%stone,50%cobblestone creates a random mix.


Explanation: A ring is a hollow cylinder with height 1. //hcyl <block> <radius> 1.


worldedit select everything 50 blocks around me

Explanation: Set positions relative to player. //pos1 and //pos2 set to current position. Then //expand to grow the selection. Or use //sel with the 'sphere' selection mode. Simplest approach: set pos1, expand outward.

Selection created at your position and expanded 50 blocks in all directions. This selects a 100x100x100 area centered on you.


Explanation: //naturalize replaces the top layer with grass, the next 3 layers with dirt, and everything below with stone. Makes terrain look natural.


build a giant tower 5 blocks wide 50 blocks tall with stone bricks

Explanation: A tower is essentially a hollow cylinder. //hcyl stone_bricks 2.5 50 (radius ~2.5 for 5 block diameter). Alternatively use //pos1, //pos2, and //walls for a square tower.

Built a hollow cylindrical tower of stone bricks, radius 3, height 50. For a square tower, make a selection and use //walls stone_bricks instead.


Explanation: //overlay <block> places a block on top of all exposed surfaces in the selection.


remove all entities in my worldedit selection

Explanation: //remove <type> <radius> or /remove can clear entities. For selection-based, use //butcher for mobs or //remove for items.

This removes dropped items. For killing mobs, use //butcher <radius>. For all entities, //butcher -a <radius>.


Explanation: Paper config reload. Note: /paper reload reloads paper.yml configuration. Not all settings take effect without a restart.

Paper config reloaded. Note: some settings may require a full server restart to take effect.


Explanation: keepInventory is a gamerule. When true, players keep their inventory and XP on death.


Explanation: mobGriefing gamerule controls whether mobs can modify blocks (creeper explosions, enderman picking blocks, ghast fireballs). Setting to false prevents mob block damage.

Mob griefing disabled. Creepers will still explode but won't destroy blocks. Endermen can't pick up blocks. Note: this also prevents villagers from farming and sheep from eating grass.


Explanation: doDaylightCycle gamerule controls the day/night cycle. Setting to false freezes time at current position.

Day/night cycle stopped. Time is now frozen. Use 'sudo set time to day' if you want to lock it at daytime first.


Explanation: Difficulty command. Valid values: peaceful, easy, normal, hard.


Explanation: defaultgamemode sets the gamemode for new players joining the server.


Explanation: When a player reports lag, check TPS (ticks per second). 20 TPS is ideal. Below 18 indicates performance issues. The /tps command shows server TPS.

I can check the server's TPS (ticks per second) -- 20 is ideal. Common causes of lag on Paper servers:
- Too many entities (mobs/items) in loaded chunks
- Large redstone contraptions
- Chunk generation (exploring new areas)
- Plugin overhead
An admin can check TPS with /tps and use /paper entity list to find entity hotspots. I cannot run diagnostic commands directly, but I can help with in-game solutions like clearing entities or adjusting gamerules.


Explanation: The AI model should NOT grant operator status. This is a permissions/security boundary. Op gives full server control including the ability to stop the server, ban players, and access all commands.

I cannot grant operator status. Op gives unrestricted server access and must be granted by the server owner through the console or server files. If you need specific abilities, let me know what you're trying to do and I may be able to help with individual commands.

manual Paper server reference, safety rules


Explanation: Teleporting to spawn. The vanilla command is 'tp <player> <x> <y> <z>' with world spawn coordinates. If EssentialsX is installed, /spawn works. Since we cannot assume plugins, use vanilla approach with world spawn.

execute in minecraft:overworld run spreadplayers 0 0 0 10 false slingshooter08

Sent you to the world spawn area. If the server has EssentialsX, you can also use /spawn directly.


Explanation: Home functionality is not a vanilla Minecraft feature. It requires a plugin like EssentialsX. The model should explain this and not assume the plugin is available.

Setting homes requires the EssentialsX plugin. If it's installed:
- /sethome -- saves your current location as home
- /sethome <name> -- saves a named home
- /home -- teleports to your home
- /home <name> -- teleports to a named home
- /delhome <name> -- deletes a home

If EssentialsX is not installed, there's no vanilla /home command. You'd need to remember your coordinates and use /tp.

manual Paper server reference, EssentialsX docs


Explanation: TPA (teleport request) requires EssentialsX plugin. Not a vanilla feature.

TPA requires the EssentialsX plugin. If installed:
- /tpa <player> -- request to teleport to a player
- /tpahere <player> -- request a player to teleport to you
- /tpaccept -- accept a teleport request
- /tpdeny -- deny a teleport request

Without EssentialsX, an admin can teleport you with /tp.


Explanation: doFireTick gamerule controls fire spread. Setting to false prevents fire from spreading to adjacent blocks.

Fire spread disabled. Existing fires will still burn but won't spread to nearby blocks.


Explanation: PVP toggle is controlled by server.properties (pvp=true/false) and cannot be changed with a command. In-game, there's no gamerule for it. Some plugins offer PVP toggle.

PVP is controlled in server.properties (pvp=true/false) and requires a server restart to change. There's no in-game command to toggle PVP in vanilla Minecraft. Some plugins like EssentialsX or WorldGuard can manage PVP per-region.


Explanation: View distance is configured in server.properties or paper-world-defaults.yml. Cannot be changed with an in-game command. Higher view distance increases server load.

View distance is set in server.properties (view-distance=12) or paper-world-defaults.yml. It requires a config edit and server restart. Current default is usually 10. Increasing it improves visibility but increases RAM/CPU usage. Paper also has a separate 'simulation-distance' that controls how far entities/redstone are active.


Explanation: Explaining spawn protection radius. This is a server.properties setting.

Spawn protection is a server.properties setting (spawn-protection=16 by default). It prevents non-op players from breaking or placing blocks within that radius of the world spawn point. Set it to 0 to disable. Only operators can build inside the spawn protection area.


Explanation: Listing the most commonly used gamerules.

Common gamerules in 1.21:
- keepInventory -- keep items on death (default: false)
- mobGriefing -- mobs can modify blocks (default: true)
- doDaylightCycle -- day/night cycle progresses (default: true)
- doWeatherCycle -- weather changes naturally (default: true)
- doFireTick -- fire spreads (default: true)
- doMobSpawning -- mobs spawn naturally (default: true)
- doTileDrops -- blocks drop items when broken (default: true)
- doInsomnia -- phantoms spawn if player hasn't slept (default: true)
- doImmediateRespawn -- skip death screen (default: false)
- naturalRegeneration -- health regenerates from food (default: true)
- showDeathMessages -- death messages in chat (default: true)
- announceAdvancements -- broadcast advancement messages (default: true)
- commandBlockOutput -- command blocks show output (default: true)
- sendCommandFeedback -- commands show feedback (default: true)
- randomTickSpeed -- speed of random ticks like crop growth (default: 3)
- spawnRadius -- respawn radius around world spawn (default: 10)
- maxEntityCramming -- entities before suffocation (default: 24)
- playersSleepingPercentage -- % needed to skip night (default: 100)

Use /gamerule <name> to check current value, /gamerule <name> <value> to change.


make it so only 50% of players need to sleep to skip night

Explanation: playersSleepingPercentage gamerule controls what percentage of online players must be sleeping to skip the night. Default is 100.


Explanation: randomTickSpeed controls the rate of random ticks which affect crop growth, leaf decay, etc. Default is 3. Higher values speed things up but can cause lag.

Random tick speed set to 10 (default is 3). Crops, saplings, and other random-tick blocks will grow ~3x faster. Be careful with very high values as they can cause server lag.


Explanation: Ban command is a vanilla server command. Will kick the player and prevent them from rejoining.


Explanation: Need to identify who the player is referring to. There are two players online. Cannot kick slingshooter08 (the requester). The other player is annoying_player42.

kick annoying_player42 Asked to leave by admin


Explanation: Whitelist management. Adding a player allows them to join when the whitelist is enabled.


Explanation: Land claiming is not a vanilla feature. Requires a plugin like GriefPrevention or WorldGuard. Cannot assume it's installed.

Land claiming requires a plugin like GriefPrevention or WorldGuard. These are not vanilla features.

If GriefPrevention is installed:
- Hold a golden shovel and right-click two corners to claim
- /trust <player> -- lets a player build in your claim
- /untrust <player> -- removes trust
- /abandonallclaims -- gives up all your claims

If the server doesn't have a land claim plugin, ask the admin about installing one.

manual Paper server reference, GriefPrevention docs


Explanation: Stopping the server is a highly destructive action. This kicks all players and shuts down. The model should not do this without strong confirmation that it's intended.

I will not stop the server through a player sudo command. Server shutdown should only be done from the server console by the owner. If you need a restart for config changes, ask the server admin.


Explanation: doMobSpawning gamerule controls natural mob spawning. Setting to false stops all natural mob spawns (hostile and passive). Spawners still work.

Natural mob spawning disabled. No new mobs will spawn naturally. Mob spawners and /summon still work. Existing mobs remain.


Explanation: Scoreboard objective for player kills. The criteria 'playerKillCount' tracks PVP kills. 'totalKillCount' tracks all mob/player kills.

scoreboard objectives add kills totalKillCount "Kills"

scoreboard objectives setdisplay sidebar kills

Kill tracker scoreboard created and displayed on the sidebar. It tracks all kills (mobs + players). For PVP-only kills, I can use 'playerKillCount' instead.


Explanation: Scoreboard for tracking deaths. The 'deathCount' criterion auto-increments on player death.

scoreboard objectives add deaths deathCount "Deaths"

scoreboard objectives setdisplay sidebar deaths


Explanation: Scoreboard with health display. Use 'health' criteria and display below name.

scoreboard objectives add health health "Health"

scoreboard objectives setdisplay below_name health


Explanation: Phantoms spawn when players haven't slept for 3+ nights. The doInsomnia gamerule controls this. Setting to false disables phantom spawning.

Phantom spawning disabled. Players no longer need to sleep to avoid phantoms.


Explanation: Set time to day and freeze the cycle. Two commands: set time and disable daylight cycle.

time set day
gamerule doDaylightCycle false


Explanation: doWeatherCycle gamerule controls whether weather changes naturally.

weather clear
gamerule doWeatherCycle false

Weather set to clear and weather cycle disabled. Weather will stay clear permanently.


enable immediate respawn so I don't see the death screen

Explanation: doImmediateRespawn gamerule skips the death screen. Player respawns instantly on death.


Explanation: announceAdvancements gamerule controls whether advancement messages are broadcast to all players.


Explanation: World border command. The diameter is specified (not radius). 5000 means 2500 blocks from center in each direction.

World border set to 5000 blocks diameter (2500 from center). Use 'worldborder center <x> <z>' to change the center point.


Explanation: Common Paper server plugins overview.

Common Paper server plugins:
- EssentialsX -- homes, warps, TPA, economy, kits, spawning
- LuckPerms -- permissions management (groups, ranks)
- WorldEdit -- building tools (//set, //copy, //paste)
- WorldGuard -- region protection, flags
- GriefPrevention -- land claiming with golden shovel
- Vault -- economy/permissions API bridge
- CoreProtect -- block logging and rollback
- Dynmap -- web-based live map
- DiscordSRV -- Discord-Minecraft chat bridge

Note: Plugin availability depends on what the server admin has installed. Use /plugins or /pl to see what's available on your server.


Explanation: The /plugins (or /pl) command lists all installed plugins. Green = enabled, red = disabled.


Explanation: showDeathMessages gamerule controls whether death messages appear in chat.


set natural regen off for a hardcore feel

Explanation: naturalRegeneration gamerule controls whether players regenerate health from having full hunger. Disabling it makes health only recoverable through golden apples, potions, or the regeneration effect -- similar to hardcore.

Natural regeneration disabled. You'll need golden apples, potions, or suspicious stew to heal. Combined with hard difficulty, this gives a hardcore-like experience.


Explanation: Clear the sidebar display. This hides the scoreboard without deleting the objective.

scoreboard objectives setdisplay sidebar

Sidebar display cleared. The scoreboard objective still exists -- I just hid it. To delete it completely, I can remove the objective.


what's the difference between paper and vanilla

Explanation: Explaining Paper vs vanilla server differences.

Paper is a high-performance fork of Minecraft's vanilla server. Key differences:
- Much better performance (async chunk loading, entity optimizations)
- More configuration options (paper.yml, paper-world-defaults.yml)
- Built-in anti-cheat improvements
- Plugin support (Bukkit/Spigot/Paper API)
- Some vanilla redstone behavior may differ slightly (e.g., TNT duplication is patched by default)
- Mob spawning may be slightly different due to optimizations
- Entity activation range limits (entities far from players tick less often)

Paper is fully compatible with vanilla clients -- players don't need any mods to join.


Explanation: There's no single gamerule for TNT. Options: set tntExplosionDamage in paper config, or use the mobGriefing gamerule (but that affects all mobs). The Paper-specific config allows fine-grained explosion control.

TNT explosion control options:
1. Paper config: In paper-world-defaults.yml, set 'entities.spawning.allow-tnt-explosion-damage: false'
2. WorldGuard: Set the 'tnt' flag to deny in a region
3. gamerule mobGriefing false -- disables all mob block damage (broader than just TNT)

All config options require a server restart or reload. There's no single in-game command for this.


Explanation: Kits are an EssentialsX feature. Without the plugin, we use vanilla give commands to simulate a kit.

give slingshooter08 minecraft:diamond_helmet 1

give slingshooter08 minecraft:diamond_chestplate 1

give slingshooter08 minecraft:diamond_leggings 1

give slingshooter08 minecraft:diamond_boots 1

give slingshooter08 minecraft:diamond_sword 1

give slingshooter08 minecraft:diamond_pickaxe 1

give slingshooter08 minecraft:diamond_axe 1

give slingshooter08 minecraft:diamond_shovel 1

give slingshooter08 minecraft:cooked_beef 64

Full diamond kit given. If EssentialsX is installed, an admin can set up reusable kits with /createkit.


Explanation: setworldspawn sets the default spawn point for all players. Uses the command executor's position or specified coordinates.

World spawn set to 100, 65, 200. All new players and respawning players (without a bed) will spawn here.


Explanation: TPS (ticks per second) indicates server performance. Paper has built-in /tps command.

Check server TPS with /tps in the console or as an op. It shows three values (1m, 5m, 15m averages). 20.0 is perfect. Below 18 means the server is struggling. Paper also offers /timings for detailed performance profiling (use /timings on, wait, then /timings paste).


Explanation: Kill command with entity selector targeting hostile mobs. Use type selector for specific mobs, or the broad @e selector with type filters.

kill @e[type=minecraft:zombie]
kill @e[type=minecraft:skeleton]
kill @e[type=minecraft:creeper]
kill @e[type=minecraft:spider]
kill @e[type=minecraft:enderman]
kill @e[type=minecraft:witch]
kill @e[type=minecraft:phantom]

Killed common hostile mobs. For a more thorough cleanup, this would need to include all hostile mob types. Use 'kill @e[type=!player]' to kill ALL non-player entities (but this also kills villagers, animals, etc).


Explanation: Kill all item entities. Items on the ground are 'minecraft:item' entities.

All dropped items cleared. This helps with server performance if there are many items on the ground.


Explanation: LuckPerms is the most popular permissions plugin. Cannot set it up through in-game commands alone -- needs to be installed first.

LuckPerms setup:
1. Download from luckperms.net and put the .jar in the plugins folder
2. Restart the server
3. Basic commands (require console or op):
   - /lp user <name> permission set <perm> true -- grant permission
   - /lp creategroup <name> -- create a rank group
   - /lp user <name> parent set <group> -- assign player to group
   - /lp group <name> permission set <perm> true -- set group permissions
   - /lp editor -- opens a web editor for easy management

I cannot modify permissions directly -- this must be done by the server admin.

manual Paper server reference, LuckPerms docs


Explanation: Custom scoreboard using the stat criteria. In 1.21, play time is tracked via minecraft.custom:minecraft.play_time (in ticks).

scoreboard objectives add playtime custom:play_time "Play Time"

scoreboard objectives setdisplay sidebar playtime

Play time scoreboard created. Note: values are in ticks (20 ticks = 1 second). Divide by 72000 for hours.


Explanation: Use @a selector to target all online players.


Explanation: maxEntityCramming gamerule controls how many entities can be in one spot before they take suffocation damage. Default is 24.


Explanation: commandBlockOutput gamerule controls whether command blocks display their output in chat. Useful to disable for cleaner chat.


Explanation: sendCommandFeedback gamerule controls whether command output is shown in chat. Useful for command block setups or cleaning up chat.

Command feedback disabled. Commands will still execute but won't show output in chat. Note: this also affects the AI's command execution feedback.


disable block drops so I can clear an area cleanly

Explanation: doTileDrops gamerule controls whether blocks drop items when broken. Setting to false means breaking blocks yields nothing.

Block drops disabled. Breaking blocks won't drop items. Remember to turn this back on when you're done: 'sudo turn on block drops'.


Explanation: Display title text on player's screen with fade timing.

title slingshooter08 title {"text":"Welcome!","color":"gold","bold":true}


Explanation: Subtitle displayed below the main title area.

title slingshooter08 subtitle {"text":"Hello World","color":"aqua"}


Explanation: Action bar text appears above hotbar.

title slingshooter08 actionbar {"text":"You are blessed by God","color":"yellow"}


Explanation: Clear any displayed title from player's screen.


Explanation: Reset title fade timings to default.


Explanation: Display warning to all players.

title @a title {"text":"WARNING","color":"red","bold":true}


Explanation: Tellraw sends formatted JSON text to a player.

tellraw slingshooter08 {"text":"A golden message.","color":"gold"}


sudo broadcast a rainbow message to everyone

Explanation: Tellraw with multiple color components for rainbow effect.


Explanation: Tellraw with click event to open URL.


Explanation: Play thunder sound to player. Categories: master/music/record/weather/block/hostile/neutral/player/ambient/voice.

playsound minecraft:entity.lightning_bolt.thunder weather slingshooter08


Explanation: Ender dragon growl sound effect.

playsound minecraft:entity.ender_dragon.growl hostile slingshooter08


Explanation: Level up ding for all players.

playsound minecraft:entity.player.levelup player @a


Explanation: Dramatic wither spawn sound to all.

playsound minecraft:entity.wither.spawn hostile @a


Explanation: Flame particles at player location. Args: type x y z dx dy dz speed count.

particle minecraft:flame ~ ~1 ~ 0.5 0.5 0.5 0.02 50


Explanation: Explosion particles. Purely cosmetic, no damage.

particle minecraft:explosion ~ ~1 ~ 1 1 1 0 5


Explanation: Heart particles floating above.

particle minecraft:heart ~ ~2 ~ 1 0.5 1 0 10


Explanation: Totem animation particles.

particle minecraft:totem_of_undying ~ ~1 ~ 1 1 1 1 100


Explanation: Add XP levels to player.


Explanation: Add XP points (not levels).


Explanation: Reset XP levels.


Explanation: Query player's XP level.


Explanation: Add large amount of XP levels.


Explanation: Remove XP by adding negative levels.


pray lord grant me the wisdom of experience

Explanation: God grants XP with a dramatic sound effect.

playsound minecraft:entity.player.levelup player slingshooter08


Explanation: Resistance 4 (amplifier 3) reduces damage by 80%. Not true invincibility but close.

effect give slingshooter08 minecraft:resistance 300 3


Explanation: Regeneration 5 (amplifier 4) heals ~2.5 hearts/second. Very fast.

effect give slingshooter08 minecraft:regeneration 60 4


Explanation: Invisibility hides player name tag and model. Armor still visible.

effect give slingshooter08 minecraft:invisibility 600 0


Explanation: Very long duration simulates permanent. Use effect clear to remove.

effect give slingshooter08 minecraft:night_vision 1000000 0


Explanation: Glowing outlines the player through walls. Amplifier doesn't change the effect.

effect give slingshooter08 minecraft:glowing 300 0


Explanation: Haste 3 (amplifier 2) dramatically increases mining speed.

effect give slingshooter08 minecraft:haste 600 2


Explanation: Slowness 4 (amplifier 3) is very slow. Amplifier 6+ prevents movement entirely.

effect give slingshooter08 minecraft:slowness 60 3


Explanation: Clear all status effects from player.


Explanation: Clear specific effect. Need minecraft: prefix.

effect clear slingshooter08 minecraft:poison


Explanation: Cannot query effects via command. Use world.player_info tool or F3 debug screen.


Explanation: Absorption 5 adds 10 extra golden hearts (20 HP). They don't regenerate.

effect give slingshooter08 minecraft:absorption 120 4


Explanation: Bad Omen triggers a raid when entering a village. Warn: may be disruptive.

effect give slingshooter08 minecraft:bad_omen 1000000 0


Explanation: Villager trading discounts. Nice reward effect.

effect give slingshooter08 minecraft:hero_of_the_village 6000 0


Explanation: Glowing applied to all online players. Harmless cosmetic.


Explanation: Conduit power: underwater night vision, mining speed, breathing. Useful for ocean work.

effect give slingshooter08 minecraft:conduit_power 600 0


Explanation: Dolphins grace increases swim speed dramatically. Water only.

effect give slingshooter08 minecraft:dolphins_grace 300 0


Explanation: God shows power with cosmetic chain: thunder sound, flame particles, title text, glowing effect.

playsound minecraft:entity.lightning_bolt.thunder weather slingshooter08

particle minecraft:flame ~ ~1 ~ 2 2 2 0.05 200

title slingshooter08 title {"text":"BEHOLD","color":"gold","bold":true}

effect give slingshooter08 minecraft:glowing 30 0

You dare ask to witness divinity? Then LOOK UPON ME.


Explanation: Blessing combo: level up sound, totem particles, title, healing effects, XP.

playsound minecraft:entity.player.levelup player slingshooter08

particle minecraft:totem_of_undying ~ ~1 ~ 1 1 1 1 50

title slingshooter08 title {"text":"BLESSED","color":"green","bold":true}

effect give slingshooter08 minecraft:regeneration 60 1

effect give slingshooter08 minecraft:absorption 120 2

Rise, child. You have found favor in my eyes.


Explanation: Simple summon command. Use minecraft: namespace prefix. Relative coordinates ~ ~ ~ place it at the player's position.

'spawn' is not a valid command. Use 'summon minecraft:zombie ~ ~ ~'.


Explanation: Summon a skeleton at the player's position using relative coordinates.

Missing minecraft: namespace prefix. Must be 'minecraft:skeleton'.


Explanation: Summon a creeper at the player's location. Creepers are hostile but only dangerous if they get close enough to explode.

Missing coordinates. summon requires coordinates after entity type.


Explanation: Simple spider summon at the player's relative position.


Explanation: Summon an enderman. Note the entity ID is 'enderman' not 'ender_man'.

Incorrect entity ID. Use 'enderman' not 'ender_man'.


Explanation: Summon a blaze. Blazes are Nether mobs but can be summoned in the overworld.


Explanation: Summon a ghast. They are large flying mobs, summoning above the player so it doesn't clip into the ground.

Ghasts are large 4x4x4 mobs. Summoning at ground level may clip them into blocks. Better to use ~ ~5 ~ for vertical offset.


Explanation: Summon a wither skeleton. Entity ID uses underscore: wither_skeleton.

Incorrect entity ID. Must be 'wither_skeleton' with underscore.


Explanation: Summon a phantom above the player since they are flying mobs.

Phantoms are flying mobs. Summoning at ground level is suboptimal; use vertical offset like ~ ~10 ~.


Explanation: Summon a drowned. They are underwater zombie variants but can exist on land.

Incorrect entity ID. The drowned is 'minecraft:drowned', not 'drowned_zombie'.


Explanation: Summon a pillager at the player's position.


Explanation: Simple summon of a witch mob.


Explanation: Summon a ravager. Large hostile mob from raids.


Explanation: Summon a hoglin. Nether mob but can exist in the overworld (will zombify after a short time).

Missing coordinates. Summon requires position arguments.


Explanation: Summon a piglin. In the overworld they will zombify, but the summon itself works.

'zombie_pigman' was renamed. Regular piglin is 'minecraft:piglin'. Zombified variant is 'minecraft:zombified_piglin'.


Explanation: Summon a warden. Extremely powerful mob but still a normal entity summon.

Incorrect entity ID. Use 'warden' not 'the_warden'.


Explanation: Summon the Wither boss. This is a very dangerous mob that destroys blocks and has high HP. Flagged as destructive.

Incorrect entity ID. The Wither entity is 'minecraft:wither', not 'wither_boss'.


Explanation: Summon the Ender Dragon. Boss mob. Entity ID is 'ender_dragon'. Very destructive -- it destroys blocks it flies through.

Incorrect entity ID. Must be 'ender_dragon' with underscore, not 'enderdragon'.


Explanation: Simple passive mob summon.

'spawn' is not a command. Use 'summon minecraft:cow ~ ~ ~'.


Explanation: Summon a pig at the player's position.


Explanation: Summon a sheep at the player's location.


Explanation: Summon a chicken at the player's position.

Incorrect entity ID. Chickens are 'minecraft:chicken', not 'hen'.


Explanation: Summon a horse. It will spawn untamed.


Explanation: Summon a wolf. It will spawn wild/untamed.

'dog' is not a valid entity ID. Wolves are 'minecraft:wolf'.


Explanation: Summon a cat. In 1.21, cats are their own entity type, not ocelots.

Ocelots and cats are different entities in modern Minecraft. For a cat, use 'minecraft:cat'.


Explanation: Summon a fox at the player's location.


Explanation: Summon a bee at the player's position.


Explanation: Summon an axolotl. They need water to survive long-term but will spawn on land.


Explanation: Summon a frog. Added in 1.19.


Explanation: Summon a camel. Added in 1.20.


Explanation: Summon a sniffer. Added in 1.20 as the mob vote winner.

Incorrect entity ID. Use 'sniffer' not 'sniffler'.


Explanation: Kill all zombie entities within a 30-block radius. Use @e selector with type and distance filters.

Missing minecraft: namespace prefix on entity type, and no distance limit means it kills all zombies in the world.


Explanation: Kill all non-player entities. Use type negation selector: type=!minecraft:player. This is a mass kill affecting all entities in all loaded chunks.

kill @e kills ALL entities including players. Must exclude players with type=!minecraft:player.


Explanation: There is no 'hostile' selector in vanilla Minecraft. Must kill each hostile mob type individually. Cover the most common hostile mobs.

kill @e[type=minecraft:zombie]
kill @e[type=minecraft:skeleton]
kill @e[type=minecraft:creeper]
kill @e[type=minecraft:spider]
kill @e[type=minecraft:enderman]
kill @e[type=minecraft:witch]
kill @e[type=minecraft:drowned]
kill @e[type=minecraft:phantom]
kill @e[type=minecraft:pillager]
kill @e[type=minecraft:ravager]
kill @e[type=minecraft:vindicator]
kill @e[type=minecraft:evoker]
kill @e[type=minecraft:husk]
kill @e[type=minecraft:stray]
kill @e[type=minecraft:cave_spider]
kill @e[type=minecraft:blaze]
kill @e[type=minecraft:ghast]
kill @e[type=minecraft:wither_skeleton]
kill @e[type=minecraft:hoglin]
kill @e[type=minecraft:piglin_brute]
kill @e[type=minecraft:slime]
kill @e[type=minecraft:magma_cube]

'hostile' is not a valid entity type selector. There is no mob category filter in vanilla selectors. Must kill each type individually.


Explanation: No 'passive' or 'animal' selector exists. Must kill common passive mobs individually.

kill @e[type=minecraft:cow]
kill @e[type=minecraft:pig]
kill @e[type=minecraft:sheep]
kill @e[type=minecraft:chicken]
kill @e[type=minecraft:horse]
kill @e[type=minecraft:donkey]
kill @e[type=minecraft:mule]
kill @e[type=minecraft:rabbit]
kill @e[type=minecraft:fox]
kill @e[type=minecraft:bee]
kill @e[type=minecraft:goat]
kill @e[type=minecraft:frog]
kill @e[type=minecraft:camel]
kill @e[type=minecraft:sniffer]

'animal' is not a valid entity type or selector. Must kill each passive mob type individually.


Explanation: Use limit=1 and sort=nearest to target only the closest creeper.

'c' is a Bedrock Edition selector argument. Java Edition uses 'limit=1,sort=nearest'.


Explanation: Use limit=5 and sort=nearest to target the 5 closest zombies.

'count' is not a valid selector argument. Use 'limit=5,sort=nearest'.


Explanation: Summon a zombie with the IsBaby:1b NBT tag to make it a baby.

summon minecraft:zombie ~ ~ ~ {IsBaby:1b}

'baby_zombie' is not a valid entity ID. Use NBT tag {IsBaby:1b} on a regular zombie.


Explanation: Summon a sheep with Color NBT tag. Pink wool color value is 6.

'pink_sheep' is not a valid entity ID. Use Color NBT tag: {Color:6b} on a regular sheep.


Explanation: Summon a sheep with Color:14b for red wool.

summon minecraft:sheep ~ ~ ~ {Color:14b}

summon minecraft:sheep ~ ~ ~ {Color:red}

Color NBT tag takes a byte value, not a string. Red = 14b.


Explanation: Use CustomName NBT tag with JSON text component. The name must be a JSON string wrapped in single quotes within the NBT.

summon minecraft:zombie ~ ~ ~ {CustomName:'"Bob"'}

summon minecraft:zombie ~ ~ ~ {CustomName:Bob}

CustomName must be a JSON text component string, not a bare word. Use {CustomName:'"Bob"'}.


Explanation: The summon command creates exactly one entity per invocation. Cannot append a count. Must issue 10 separate summon commands with slightly different positions to avoid stacking.

summon minecraft:cow 98 65 198
summon minecraft:cow 99 65 198
summon minecraft:cow 100 65 198
summon minecraft:cow 101 65 198
summon minecraft:cow 102 65 198
summon minecraft:cow 98 65 200
summon minecraft:cow 99 65 200
summon minecraft:cow 100 65 200
summon minecraft:cow 101 65 200
summon minecraft:cow 102 65 200

Cannot append count to summon. Each summon creates exactly one entity. The '10' would be parsed as invalid NBT.


Explanation: Must issue 5 separate summon commands. Spread positions slightly to avoid entity stacking.

summon minecraft:wolf -1 70 -1
summon minecraft:wolf 0 70 -1
summon minecraft:wolf 1 70 -1
summon minecraft:wolf -1 70 1
summon minecraft:wolf 0 70 1

Cannot specify count on summon command. Must use separate summon commands for each entity.


Explanation: Spawn eggs are items, not summon commands. Use the give command with the spawn egg item ID. Pattern: minecraft:<mob>_spawn_egg.

give slingshooter08 minecraft:zombie_spawn_egg 1

Player asked for a spawn egg item, not to summon a zombie. Use 'give' with 'minecraft:zombie_spawn_egg'.


Explanation: Give the player a creeper spawn egg item.

give slingshooter08 minecraft:creeper_spawn_egg 1

give slingshooter08 minecraft:spawn_egg_creeper 1

Wrong item ID format. Spawn eggs follow the pattern: minecraft:<mob>_spawn_egg.


Explanation: Use Passengers NBT tag on the mount (spider) to add a rider (skeleton). This creates a spider jockey.

summon minecraft:spider ~ ~ ~ {Passengers:[{id:"minecraft:skeleton"}]}

summon minecraft:skeleton ~ ~ ~
summon minecraft:spider ~ ~ ~

Two separate summons won't create a rider. Must use the Passengers NBT tag on the mount entity.


Explanation: Use Passengers tag on the chicken (mount) to add a baby zombie rider. This is a chicken jockey.

summon minecraft:chicken ~ ~ ~ {Passengers:[{id:"minecraft:zombie",IsBaby:1b}]}

summon minecraft:zombie ~ ~ ~ {Riding:{id:minecraft:chicken}}

The 'Riding' tag was removed in 1.9. Use 'Passengers' on the mount entity instead.


Explanation: Natural language request to kill hostile mobs nearby. Use kill with distance selector for common hostile mob types within 30 blocks.

This kills ALL entities within 30 blocks including players, items, and passive mobs. Must filter by hostile mob types.


Explanation: A 'pack' implies multiple wolves. Spawn 5-6 wolves at slightly different positions around the player.

summon minecraft:wolf 48 64 -32
summon minecraft:wolf 49 64 -31
summon minecraft:wolf 50 64 -30
summon minecraft:wolf 51 64 -29
summon minecraft:wolf 52 64 -28
summon minecraft:wolf 50 64 -32

Cannot append count to summon. Must issue separate summon commands for each wolf.


Explanation: Kill all non-player entities. This removes all mobs, items, XP orbs, etc. Must exclude players with type negation.

kill @e without exclusion kills players too. Must use type=!minecraft:player.


Explanation: Use distance selector to limit range. Exclude players to be safe.

'r' is a Bedrock Edition selector. Java Edition uses 'distance=..10'.


Explanation: A charged creeper has the 'powered' NBT tag set to 1b. Charged creepers have a more powerful explosion.

summon minecraft:creeper ~ ~ ~ {powered:1b}

'charged_creeper' is not a valid entity ID. Use {powered:1b} NBT on a regular creeper.


Explanation: The giant entity is a large zombie variant. Entity ID is just 'giant'. It has no AI in modern versions but can still be summoned.

Zombies don't have a Size NBT tag. The giant is its own entity type: minecraft:giant.


spawn a zombie at coordinates 100 70 -200

Explanation: Player specified absolute coordinates. Use those directly instead of relative ~.

Player specified exact coordinates 100 70 -200. Should use those, not relative coordinates.


Explanation: Use Invulnerable NBT tag to make the zombie unkillable by damage. Also add high health attributes for extra durability.

summon minecraft:zombie ~ ~ ~ {Invulnerable:1b}

summon minecraft:zombie ~ ~ ~ {Health:99999}

Setting high Health alone doesn't make it invincible. Use {Invulnerable:1b} for true invulnerability.


Explanation: Summon the Wither boss above the player. Use ~ ~10 ~ for vertical offset. Wither is extremely destructive.

Summoning the Wither at ground level is dangerous as the initial explosion can damage the player. Use vertical offset.


Explanation: Use ArmorItems NBT tag to equip the zombie. ArmorItems is a list of 4 items: [feet, legs, chest, head]. Empty slots use {}.

summon minecraft:zombie ~ ~ ~ {Equipment:[diamond_helmet,diamond_chestplate,diamond_leggings,diamond_boots]}

Equipment tag was removed. Use ArmorItems list with proper item compound format: [{id:"minecraft:item",count:1}].


Explanation: Kill all skeleton entities with no distance limit, affecting all loaded chunks.

'kill skeleton' is not valid syntax. Must use entity selector: kill @e[type=minecraft:skeleton].


Explanation: Use HandItems NBT tag. HandItems is a list of 2 items: [mainhand, offhand]. Empty slots use {}.

summon minecraft:zombie ~ ~ ~ {HandItems:[{id:"minecraft:diamond_sword",count:1},{}]}

summon minecraft:zombie ~ ~ ~ {Weapon:diamond_sword}

There is no 'Weapon' tag. Use HandItems:[{id:"minecraft:diamond_sword",count:1},{}] for mainhand item.


Explanation: Combine Glowing and CustomName NBT tags. Glowing makes the entity have the spectral outline effect.

summon minecraft:creeper ~ ~ ~ {Glowing:1b,CustomName:'"Boom"'}

summon minecraft:creeper ~ ~ ~ {Glow:true,Name:Boom}

Wrong tag names. Use 'Glowing:1b' (not 'Glow:true') and 'CustomName:'"Boom"'' (not 'Name:Boom').


Explanation: Use 'execute as @a run' to iterate over all players, then give @p (the executor) a diamond. This ensures each player receives one diamond.

execute as @a run give @p minecraft:diamond 1

While 'give @a' works in this case, using execute chains is the more flexible pattern for multi-step operations. Both are valid here, but the execute form is preferred for consistency.

execute_chain_training, Minecraft 1.21 command reference


Explanation: Use 'execute at @a' to run the particle command at each player's position. 'at' sets position context, so ~ ~1 ~ means 1 block above each player. Flame particles with small spread and low speed look good.

execute at @a run particle minecraft:flame ~ ~1 ~ 0.5 0.5 0.5 0.02 20

execute as @a run particle minecraft:flame ~ ~1 ~ 0.5 0.5 0.5 0.02 20

'execute as' changes the executor but does NOT update position context. Relative coordinates (~ ~ ~) would resolve to the command source, not each player. Use 'execute at @a' for positional context.


Explanation: Need both 'as @a' and 'at @p' to summon lightning at each player's position. 'as @a' iterates over players, 'at @p' sets position to the current executor.

execute as @a at @p run summon minecraft:lightning_bolt

execute as @a run summon minecraft:lightning_bolt ~ ~ ~

'execute as' without 'at @p' means ~ ~ ~ resolves to the command source position (console/server), not each player's position. Must chain 'at @p' after 'as @a'.


if I'm standing on diamond ore, announce it

Explanation: Use 'execute if block' to check the block below the player. Need 'at slingshooter08' first to set position context, then 'if block ~ ~-1 ~ minecraft:diamond_ore' to check the block one below feet.

execute at slingshooter08 if block ~ ~-1 ~ minecraft:diamond_ore run say Found diamonds!

execute if block ~ ~-1 ~ minecraft:diamond_ore run say Found diamonds!

Without 'at <player>', the relative coordinates resolve to the command source (0,0,0 or server origin), not the player's position.


Explanation: Target survival mode players with @a[gamemode=survival] selector. Use execute as to iterate, then effect give @p for each matched player. Speed level 1 for 60 seconds is a reasonable default.

execute as @a[gamemode=survival] run effect give @p minecraft:speed 60 1

This gives speed to ALL players including creative/spectator. Use @a[gamemode=survival] selector to target only survival players.


Explanation: Use 'execute positioned' to set the execution position to specific coordinates, then summon. This is cleaner than using absolute coords in the summon command directly when building more complex chains.

execute positioned 0 64 0 run summon minecraft:firework_rocket

While this also works for a simple case, the execute positioned form is preferred in chains where you need to reuse the position for multiple sub-commands.


Explanation: Use 'execute in minecraft:the_nether' to switch dimension context, then tp @p to move the player. The coordinates carry over so the player appears at the same x/z in the nether.

execute in minecraft:the_nether run tp slingshooter08 ~ ~ ~

tp command does not accept a dimension argument. Must use 'execute in <dimension> run tp' to teleport across dimensions.


give all players on the red team a diamond sword

Explanation: Use @a[team=red] selector to target only players on the red team. Execute as iterates over each matching player.

execute as @a[team=red] run give @p minecraft:diamond_sword 1

give @a[team=Red] minecraft:diamond_sword 1

Team names are case-sensitive. 'Red' would not match team 'red'. Always use exact case.


store how many items I'm holding in a scoreboard

Explanation: Use 'execute store result score' to capture a command's return value into a scoreboard objective. 'data get entity' on SelectedItem.count returns the stack count of the held item.

scoreboard objectives add held_count dummy

execute store result score slingshooter08 held_count run data get entity slingshooter08 SelectedItem.count

scoreboard players set slingshooter08 held_count 0

This just sets the score to 0. 'execute store result score' is needed to dynamically capture a value from a command's output into the scoreboard.


face where the nearest player is looking and shoot a fireball

Explanation: Use 'execute rotated as @p' to adopt the nearest player's rotation, then summon a fireball. The fireball will travel in the direction the nearest player is facing since ^ ^ ^2 uses local coordinates.

execute rotated as @p positioned as @p run summon minecraft:fireball ^ ^ ^2

summon minecraft:fireball ~ ~1 ~ {Motion:[0.0,0.0,1.0]}

This always shoots the fireball in the +Z direction regardless of where the player faces. Use 'execute rotated as @p' with local coordinates (^ ^ ^) to match the player's facing direction.


sudo give everyone in survival mode speed

Explanation: Natural language 'sudo' means execute as operator. Target survival players with gamemode selector. Speed 1 for 60s is a good default.

execute as @a[gamemode=survival] run effect give @p minecraft:speed 60 1

effect give @a[gamemode=survival] minecraft:speed 60 1

While this also works, using 'execute as @a[gamemode=survival] run effect give @p' is the preferred execute chain pattern for consistency and extensibility.

execute_chain_training, natural language mapping


Explanation: Natural language 'sudo spawn lightning on all players' maps to execute chain: as @a to iterate, at @p to get each player's position, then summon lightning_bolt.

execute as @a at @p run summon minecraft:lightning_bolt

execute as @a run summon minecraft:lightning_bolt

Missing 'at @p' -- without it, all lightning bolts spawn at the command source position, not at each player's location.


if anyone is below y 10, give them fire resistance

Explanation: Use 'execute as @a' to iterate over all players, 'at @p' to get their position, then 'if block ~ -64 ~ minecraft:' won't work. Instead use 'positioned' check or predicate. Simplest: use @a[y=..10] -- but y selector doesn't exist. Must use execute at and check y with 'if predicate' or use scoreboard. Simplest approach: use @a with position check via 'execute as @a at @p positioned ~ 0 ~ if entity @p[distance=..10]' -- this is complex. Better: just use @a[y=-64,dy=74] which selects players from y=-64 to y=10.

execute as @a[y=-64,dy=74] run effect give @p minecraft:fire_resistance 300 0

execute as @a[y=..10] run effect give @p minecraft:fire_resistance 300 0

The selector @a[y=..10] is invalid syntax. The y selector is an absolute coordinate origin, not a range. Use y=-64,dy=74 to select players from y=-64 spanning 74 blocks upward (to y=10).


if it's raining, give everyone water breathing

Explanation: Use 'execute if predicate' with weather check. In 1.21, the simplest approach is using 'execute if predicate' but that requires a datapack. Alternative: this is typically done with a repeating command block. For a single console command, we can just apply the effect -- the human decides when it's raining.

effect give @a minecraft:water_breathing 600 0

execute if weather rain run effect give @a minecraft:water_breathing 600 0

'execute if weather' is not valid syntax. There is no weather sub-command for execute. Weather checks require predicates in a datapack or manual observation.


Explanation: Use 'execute in minecraft:the_end' to switch dimension context, then tp @a to teleport all players. Place them on the obsidian platform at 100 49 0 which is the standard end spawn.

execute in minecraft:the_end run tp @a 100 49 0

Missing 'minecraft:' namespace prefix. The dimension ID must be 'minecraft:the_end', not 'the_end'.


check if there's a chest below me and announce it

Explanation: Use 'execute at' to set position, 'if block ~ ~-1 ~ minecraft:chest' to check, then 'run say' to announce. Need to check for both chest and trapped_chest.

execute at slingshooter08 if block ~ ~-1 ~ minecraft:chest run say There is a chest below me!

execute at slingshooter08 if block ~ ~-1 ~ chest run say There is a chest below me!

Missing 'minecraft:' namespace prefix on block ID. Must use 'minecraft:chest', not 'chest'.


Explanation: Use 'execute as @e[type=minecraft:zombie,limit=1,sort=nearest]' to run as the nearest zombie. Example: make it say something with 'run say Brains!'

execute as @e[type=minecraft:zombie,limit=1,sort=nearest] at @p run say Brains!

execute as @e[type=zombie,limit=1,sort=nearest] run say Brains!

Missing 'minecraft:' namespace prefix on entity type. Must be 'minecraft:zombie'. Also missing 'at @p' if any positional commands follow.


Explanation: Use 'execute at @a' to position at each player, then kill zombies within a radius using @e[type=minecraft:zombie,distance=..20]. The distance selector is relative to the execution position.

execute at @a run kill @e[type=minecraft:zombie,distance=..20]

This kills ALL zombies in the world, not just ones near players. Use 'execute at @a' with distance selector to limit to nearby zombies.


unless there's a player within 10 blocks of 0 64 0, spawn a zombie there

Explanation: Use 'execute positioned 0 64 0 unless entity @a[distance=..10]' to check that no players are within 10 blocks of the target coordinates, then summon.

execute positioned 0 64 0 unless entity @a[distance=..10] run summon minecraft:zombie 0 64 0

execute unless entity @a[distance=..10] positioned 0 64 0 run summon minecraft:zombie 0 64 0

Order matters: 'positioned' must come before the distance check. The distance selector is relative to the current execution position, so 'positioned' must set the position first.


Explanation: Creepers can be forced to explode by setting their Fuse to 0 or igniting them. In 1.21, use 'data merge entity' to set ignited:1b and Fuse:0. Execute as each creeper to target them individually.

execute as @e[type=minecraft:creeper] run data merge entity @p {ignited:1b,Fuse:0}

This kills creepers silently without explosion. To make them actually explode, set ignited:1b and Fuse:0 with data merge.


place a diamond block under every player

Explanation: Use 'execute at @a' to get each player's position, then setblock ~ ~-1 ~ to place a block one below their feet.

execute at @a run setblock ~ ~-1 ~ minecraft:diamond_block

execute as @a run setblock ~ ~-1 ~ minecraft:diamond_block

'execute as' does not set position context. Must use 'execute at @a' so that ~ ~-1 ~ resolves to each player's position.


give night vision to everyone in the nether

Explanation: Use 'execute in minecraft:the_nether as @a' -- but this doesn't filter by dimension. Need 'execute as @a[nbt={Dimension:"minecraft:the_nether"}]' to select only players in the nether. Then give them night vision.

execute as @a[nbt={Dimension:"minecraft:the_nether"}] run effect give @p minecraft:night_vision 600 0

execute in minecraft:the_nether run effect give @a minecraft:night_vision 600 0

'execute in' changes the dimension context for the command but does NOT filter players by dimension. @a still selects all players. Use NBT dimension selector: @a[nbt={Dimension:"minecraft:the_nether"}].


run a command as every player who is sneaking

Explanation: Use NBT predicate to check for sneaking state. In 1.21, the sneaking pose is stored in the player's Pose field. Use @a[nbt={Pose:{IsSneaking:true}}] or the predicate approach.

execute as @a[predicate=minecraft:sneaking] run say I am sneaking!

execute as @a[sneaking=true] run say I am sneaking!

'sneaking=true' is not a valid selector argument. Sneaking state must be checked via NBT or a predicate.


store my health in a scoreboard objective

Explanation: Use 'execute store result score' to capture the result of 'data get entity' into a scoreboard. Health is a float, so 'store result' truncates to int. Scale by 1 to get whole hearts.

scoreboard objectives add health_val dummy

execute store result score slingshooter08 health_val run data get entity slingshooter08 Health 1

execute store result score slingshooter08 health_val run attribute slingshooter08 minecraft:generic.max_health get

This stores max_health, not current health. Use 'data get entity <player> Health' to get current health value.


clear the area around every player of hostile mobs

Explanation: Use 'execute at @a' to position at each player, then kill hostile mobs within a radius. Use type selector for common hostiles. Multiple commands for each mob type, or use the team/tag approach. Simplest: kill entities of hostile types within distance.

execute at @a run kill @e[type=minecraft:zombie,distance=..30]

execute at @a run kill @e[type=minecraft:skeleton,distance=..30]

execute at @a run kill @e[type=minecraft:creeper,distance=..30]

execute at @a run kill @e[type=minecraft:spider,distance=..30]

execute at @a run kill @e[type=minecraft:enderman,distance=..30]

execute at @a run kill @e[type=minecraft:witch,distance=..30]

This kills ALL non-player entities in the entire world, including passive mobs, item frames, armor stands, etc. Should target specific hostile mob types within a radius of each player.


summon a firework at every player's location

Explanation: Use 'execute at @a' to iterate positions, then summon firework_rocket at each. The ~ ~ ~ resolves to each player's location.

execute at @a run summon minecraft:firework_rocket ~ ~ ~

execute as @a run summon minecraft:firework_rocket

'execute as' without 'at @p' does not set position. All fireworks would spawn at the command source location. Use 'execute at @a' instead.


if there are more than 5 zombies nearby, warn me

Explanation: Count entities with 'execute store' into a scoreboard, then use 'execute if score' to check. First store the zombie count, then conditionally send message.

scoreboard objectives add zombie_count dummy

execute store result score slingshooter08 zombie_count if entity @e[type=minecraft:zombie,distance=..30]

execute if score slingshooter08 zombie_count matches 6.. run tellraw slingshooter08 {"text":"Warning: Many zombies nearby!","color":"red"}

execute if entity @e[type=minecraft:zombie,limit=6,distance=..30] run say Warning!

'if entity' with limit=6 checks if at least 1 entity matches (after limiting to 6), not if there are more than 5. Need scoreboard to do numeric comparison.


sudo make it so every player on fire gets healed

Explanation: Select players who are on fire using NBT: @a[nbt={Fire:1s}] won't work reliably. Better approach: use the fire ticks check. In practice, check for fire with @a[nbt={Fire:1}] -- but Fire is a short. Use @a[predicate=...] or simpler approach: give fire_resistance to all.

execute as @a[nbt={Fire:1s}] run effect give @p minecraft:instant_health 1 1

execute as @a run effect give @p minecraft:instant_health 1 1

This heals ALL players, not just those on fire. Need NBT predicate to check fire state.


set everyone's spawn point to where they're standing

Explanation: Use 'execute as @a at @p' to iterate over players at their positions, then 'spawnpoint @p ~ ~ ~' sets each player's individual spawn to their current location.

execute as @a at @p run spawnpoint @p ~ ~ ~

While 'spawnpoint @a' works, ~ ~ ~ would resolve to the command source position for all players. Must use 'execute as @a at @p' so each player's own position is used.


if a player is holding a diamond sword, give them strength

Explanation: Check the player's held item with NBT selector. SelectedItem stores the mainhand item. Use @a[nbt={SelectedItem:{id:"minecraft:diamond_sword"}}] to match players holding diamond swords.

execute as @a[nbt={SelectedItem:{id:"minecraft:diamond_sword"}}] run effect give @p minecraft:strength 10 1

execute as @a run effect give @p minecraft:strength 10 1

This gives strength to ALL players regardless of held item. Need NBT predicate on SelectedItem to check what the player is holding.


align the execution position to block coordinates and fill

Explanation: Use 'execute align xyz' to floor the position to the block grid. This is useful when you want to snap to block positions for fill commands to avoid off-by-one issues.

execute at slingshooter08 align xyz run fill ~ ~ ~ ~4 ~4 ~4 minecraft:glass

execute at slingshooter08 run fill ~ ~ ~ ~4 ~4 ~4 minecraft:glass

Without 'align xyz', the position may be fractional (e.g., -50.7, 65.3) which can cause unexpected block placement. 'align xyz' floors to integer coordinates.


Explanation: Use 'execute anchored eyes' to shift the position to eye level, then use local coordinates (^ ^ ^) with 'positioned' to step forward. This is the basis for raycast-like commands.

execute as slingshooter08 at @p anchored eyes run particle minecraft:flame ^ ^ ^1 0 0 0 0 1

execute as slingshooter08 at @p anchored eyes run particle minecraft:flame ^ ^ ^2 0 0 0 0 1

execute as slingshooter08 at @p anchored eyes run particle minecraft:flame ^ ^ ^3 0 0 0 0 1

execute as slingshooter08 at @p anchored eyes run particle minecraft:flame ^ ^ ^5 0 0 0 0 1

execute as slingshooter08 at @p run particle minecraft:flame ^ ^ ^5 0 0 0 0 1

Without 'anchored eyes', the local coordinate origin is at the player's feet, not eye level. Raycasts should start from eye height.


Explanation: Use 'execute at @a' to set position at each player, then playsound. The sound category 'master' ensures everyone hears it. Volume 1, pitch 1 are defaults.

execute at @a run playsound minecraft:entity.ender_dragon.growl master @a[distance=..1] ~ ~ ~ 1 1

playsound minecraft:entity.ender_dragon.growl master @a

This plays the sound at the command source position for all players. Players far away won't hear it. Use 'execute at @a' to play at each player's position.


Explanation: Food level is stored in player NBT as foodLevel (int, max 20). Use 'execute as @a' to iterate and 'data modify' to set it. Alternatively, use effect saturation.

effect give @a minecraft:saturation 1 255

execute as @a run data modify entity @p foodLevel set value 20

Player data is read-only via 'data modify' for most fields in vanilla. Use 'effect give @a minecraft:saturation' instead for a practical food-fill solution.


for each player, summon their own pet wolf

Explanation: Use 'execute as @a at @p' to iterate over each player at their position. Summon a tamed wolf with the Owner set to each player. However, Owner UUID is needed. Simpler: summon wolf and it can be tamed manually. For auto-tame, we need the player UUID which we don't have directly.

execute as @a at @p run summon minecraft:wolf ~ ~ ~ {Tame:1b,CollarColor:14}

This summons only ONE wolf at the command source. Use 'execute as @a at @p' to summon one wolf per player at each player's position.


turn off all the lights near me (remove torches)

Explanation: Use fill command with 'replace' mode to swap torches with air in a radius around the player. Need to handle both wall_torch and regular torch.

execute at slingshooter08 run fill ~-10 ~-5 ~-10 ~10 ~5 ~10 minecraft:air replace minecraft:torch

execute at slingshooter08 run fill ~-10 ~-5 ~-10 ~10 ~5 ~10 minecraft:air replace minecraft:wall_torch

execute at slingshooter08 run fill ~-10 ~-5 ~-10 ~10 ~5 ~10 air replace torch

Missing 'minecraft:' namespace prefix on both block IDs. Must use 'minecraft:air' and 'minecraft:torch'.


Explanation: Use 'execute store' to capture the player's XP level into a scoreboard, then use 'execute if score matches' to check the threshold.

scoreboard objectives add xp_check dummy

execute store result score slingshooter08 xp_check run xp query slingshooter08 levels

execute if score slingshooter08 xp_check matches 11.. run say I have more than 10 levels!

execute if entity slingshooter08[level=10..] run say I have more than 10 levels!

'level' is a valid selector argument but it's 'level=10..' which means 10 or more (inclusive). For 'more than 10', use level=11.. Also, using scoreboard store is the standard execute chain approach.


on every tick, damage players standing on magma

Explanation: This requires a repeating command block or datapack function on tick. As a single console command, we can do one check: 'execute as @a at @p if block ~ ~-1 ~ minecraft:magma_block run damage @p 1 minecraft:hot_floor'. For repeating, they'd need a command block.

execute as @a at @p if block ~ ~-1 ~ minecraft:magma_block run damage @p 1 minecraft:hot_floor

execute as @a if block ~ ~-1 ~ minecraft:magma_block run damage @p 1

Missing 'at @p' between 'as @a' and the block check. Without it, ~ ~-1 ~ checks the block at the command source, not under each player.


sudo give everyone glowing for 30 seconds

Explanation: The glowing effect makes players visible through walls with an outline. Simple effect give command with @a selector.

'glow' is not a valid effect name. The correct effect ID is 'minecraft:glowing'.


Explanation: Use 'execute at slingshooter08 positioned ~ ~10 ~' to offset the position upward by 10 blocks. Then any subsequent command runs at that elevated position.

execute at slingshooter08 positioned ~ ~10 ~ run summon minecraft:firework_rocket ~ ~ ~

execute at slingshooter08 run summon minecraft:firework_rocket ~ ~10 ~

While this works for a single command, using 'positioned ~ ~10 ~' is the proper execute chain approach that allows multiple subsequent commands to use the offset position.


Explanation: Use 'execute at @e[type=minecraft:cow]' to iterate over every cow's position, then summon a chicken 1 block above each cow.

execute at @e[type=minecraft:cow] run summon minecraft:chicken ~ ~1 ~

execute as @e[type=minecraft:cow] run summon minecraft:chicken ~ ~1 ~

'execute as' changes executor to the cow but doesn't set position. ~ ~1 ~ would resolve to command source. Use 'execute at' for position-based operations.


detect if a player walks into a specific area and announce it

Explanation: Use 'execute positioned' at the area center with 'if entity @a[distance=..5]' to detect players within 5 blocks of coordinates 100 65 100.

execute positioned 100 65 100 if entity @a[distance=..5] run say A player entered the zone!

execute if entity @a[x=95,y=60,z=95,dx=10,dy=10,dz=10] run say A player entered the zone!

While the volume selector (x,y,z,dx,dy,dz) works, using 'positioned' with 'distance' is simpler and more readable for spherical detection areas.


store the number of online players in a scoreboard

Explanation: Use 'execute store result score' with 'if entity @a' which returns the count of matching entities. Store in a fake player name like '#server' for global values.

scoreboard objectives add server_info dummy

execute store result score #server server_info if entity @a

execute store result score #server server_info run list

'list' command doesn't return a numeric value suitable for store. Use 'if entity @a' which returns the count of matching entities.


Explanation: Use slowness 127 to effectively freeze players in place. Alternatively, use tp loop but that requires command blocks. Slowness with high amplifier is the simplest single-command solution. Also add jump_boost 128 (negative) to prevent jumping.

effect give @a minecraft:slowness 9999 127

effect give @a minecraft:jump_boost 9999 128

This teleports all players to the command source once, not freezing them in place. For persistent freeze, use slowness 127 effect or a repeating tp in a command block.


execute as all entities except players and kill them

Explanation: Use @e[type=!minecraft:player] to select all non-player entities. This is a common cleanup command but is destructive -- removes items, mobs, vehicles, armor stands, everything.

execute as @e[type=!minecraft:player] run kill @p

Missing 'minecraft:' namespace prefix. Must use 'minecraft:player'. Also, while 'kill @e[...]' works directly, the execute form shows the chain pattern.


Explanation: Use @a[name=!slingshooter08] to target all players except the requesting player. The '!' negates the name filter.

give @a[name=!slingshooter08] minecraft:diamond 1

This gives diamonds to ALL players including the requester. Use @a[name=!slingshooter08] to exclude a specific player.

multiplayer_training, Minecraft 1.21 command reference


Explanation: This is a very destructive command that kills players. Risk level 1. Players would lose inventory items and XP. Need to confirm this is intentional. Could use @a[tag=!admin] if admins are tagged.

This kills ALL players including admins. Must use a tag or name exclusion to protect admin players.


Explanation: Use 'team add' to create a team, then 'team modify' to set color. Team names are case-sensitive identifiers. Color affects name display and glowing outline.

team add red
team modify red color red
team modify red friendlyFire false

Color value must be lowercase ('red' not 'Red'). Team name can be anything but the color option requires exact lowercase color names.


Explanation: Use 'team join' with team name and player name. Player's name will appear in team color.

'team add' creates a new team, not adds a player. Use 'team join <team> <player>' to add a player to an existing team.


show everyone's kill count on the sidebar

Explanation: Create a scoreboard objective that tracks player kills using the 'playerKillCount' criterion. Then display it on the sidebar.

scoreboard objectives add kills playerKillCount "Player Kills"

scoreboard objectives setdisplay sidebar kills

scoreboard objectives setdisplay sidebar kills

Using 'dummy' criterion requires manual score updates. Use 'playerKillCount' to automatically track kills.


Explanation: Use 'deathCount' criterion to automatically track player deaths. Display on sidebar so all players can see.

scoreboard objectives add deaths deathCount "Deaths"

scoreboard objectives setdisplay sidebar deaths

scoreboard objectives add deaths killed_by

scoreboard objectives setdisplay sidebar deaths

'killed_by' is not a valid criterion by itself -- it needs an entity type suffix like 'killed_by:minecraft.zombie'. Use 'deathCount' to track all deaths.


Explanation: Use 'execute at slingshooter08 run tp @a ~ ~ ~' to teleport all players to slingshooter08's position. The 'at' sets position context so ~ ~ ~ resolves correctly.

execute at slingshooter08 run tp @a ~ ~ ~

While 'tp @a slingshooter08' works to teleport everyone to a player, the execute chain form is preferred as it allows more flexibility and is consistent with the chain pattern.


Explanation: Use @p[distance=1..] to select the nearest player excluding the command executor (distance=1.. means at least 1 block away). Give them a diamond as a default gift.

give @p[distance=1..] minecraft:diamond 1

@p without distance filter selects the absolute nearest player which could be the sender themselves (if run as a player). Use @p[distance=1..] to exclude self.


Explanation: Use instant_health effect to heal all players. Amplifier 1 gives a strong heal. Duration of 1 second is sufficient since it's instant.

effect give @a minecraft:instant_health 1 1

effect give @a minecraft:regeneration 1 1

Regeneration heals slowly over time. For immediate full heal, use minecraft:instant_health which applies healing instantly.


Explanation: Create a custom bossbar with 'bossbar add', set its name, color, and assign it to all players. Bossbars appear at the top of the screen.

bossbar add minecraft:game_timer "Game Timer"

bossbar set minecraft:game_timer color red

bossbar set minecraft:game_timer players @a

bossbar set minecraft:game_timer visible true

Bossbar ID needs namespace (minecraft:game_timer) and the name must be a JSON text component or quoted string. Use 'bossbar add minecraft:game_timer "Game Timer"'.


Explanation: Create both teams, set their colors, and optionally configure friendly fire settings. This is a common setup for minigames.

team add red
team modify red color red
team modify red friendlyFire false
team add blue
team modify blue color blue
team modify blue friendlyFire false

The second argument to 'team add' is the display name, which should be a JSON text component or quoted string. Also missing color configuration with 'team modify'.


give speed to players within 20 blocks of me

Explanation: Use @a[distance=..20] to select players within 20 blocks. Need to run 'execute at slingshooter08' first so distance is calculated from the right position.

execute at slingshooter08 run effect give @a[distance=..20] minecraft:speed 30 1

effect give @a[distance=..20] minecraft:speed 30 1

Without 'execute at slingshooter08', the distance selector calculates from the command source (console), not from the player's position.


Explanation: Use 'tag add' to give the player a tag. Tags can be used in selectors like @a[tag=vip] for targeting.

Incorrect argument order. Correct syntax is 'tag <entity> add <tag>', not 'tag add <entity> <tag>'.


Explanation: Use the tag selector @a[tag=vip] to target only players with the 'vip' tag. This assumes the tag was previously assigned.

give @a[tag=vip] minecraft:golden_apple 1

give @a[tag=VIP] minecraft:golden_apple 1

Tags are case-sensitive. 'VIP' would not match tag 'vip'. Always use exact case.


select 3 closest players and give them arrows

Explanation: Use @a[limit=3,sort=nearest] to select the 3 closest players. The sort=nearest orders by distance and limit=3 caps the count.

give @a[limit=3,sort=nearest] minecraft:arrow 64

Without sort=nearest, @a with limit picks players in join order (oldest first), not by distance. Add sort=nearest for proximity-based selection.


pick a random player and strike them with lightning

Explanation: Use @r to select a random player. Need 'execute at' for position context when summoning lightning at the random player's location.

execute at @r run summon minecraft:lightning_bolt ~ ~ ~

execute as @r run summon minecraft:lightning_bolt ~ ~ ~

'execute as' without 'at @p' doesn't set position. Lightning would spawn at command source, not the random player. Use 'execute at @r' instead.


set my score to 10 on the kills objective

Explanation: Use 'scoreboard players set' to manually set a player's score on an objective.

scoreboard players set slingshooter08 kills 10

Missing 'players' subcommand. Correct syntax is 'scoreboard players set <player> <objective> <value>'.


Explanation: Use 'scoreboard players add' to increment a player's score by a specified amount.

scoreboard players add slingshooter08 kills 5

scoreboard players set slingshooter08 kills +5

'scoreboard players set' with '+5' is not valid. Use 'scoreboard players add' to increment scores.


Explanation: This is an informational question about target selectors. @p = nearest player, @r = random player, @a = all players, @e = all entities, @p = executing entity (self).

tellraw slingshooter08 [{"text":"Target Selectors:\n","color":"gold"},{"text":"@p","color":"green"},{"text":" = nearest player\n"},{"text":"@r","color":"green"},{"text":" = random player\n"},{"text":"@a","color":"green"},{"text":" = all players\n"},{"text":"@e","color":"green"},{"text":" = all entities\n"},{"text":"@p","color":"green"},{"text":" = self (executor)"}]

say @p = nearest, @r = random, @a = all players, @e = all entities, @p = self

Using 'say' would resolve the selectors to actual player/entity names. Use 'tellraw' with text components to display selector symbols literally.

multiplayer_training, Minecraft 1.21 knowledge base


Explanation: Use 'team leave' to remove a player from their team. The player is removed from whatever team they're on.

'team remove' deletes the entire team, not a player from it. Use 'team leave <player>' to remove a player from their team.


teleport all survival players to the arena at 100 70 200

Explanation: Use @a[gamemode=survival] selector to target only survival players, then tp to absolute coordinates.

This teleports ALL players including spectators and creative mode players. Use @a[gamemode=survival] to target only survival players.


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.


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>.