Loader
×

Complete guide to Minecraft commands (Java & Bedrock)

Complete guide to all Minecraft commands for Java and Bedrock editions. Learn 100+ commands with examples, syntax, and operator requirements. Perfect for server admins, map makers, and players wanting to master Minecraft's powerful command system.

Complete guide to Minecraft commands (Java & Bedrock)

06 August 2025
Strator
0

Hello!

Minecraft offers a wide range of commands that allow you to control numerous aspects of the game. These commands are executed in the game's chat (after pressing the T or / key) and provide access to advanced world management, player, entity features, etc. Most of these commands require enabling cheats in single-player or having operator status on a multiplayer server to function.


In this guide, we list all existing Minecraft commands, specifying for each one: its usage, the game editions where it's available (Java, Bedrock, or both), whether it requires being an operator, as well as the version when it was added or removed where applicable. The commands are grouped by categories for clarity, and practical examples are provided for some of them. (Note: When Java and Bedrock offer the same command, we describe it only once by indicating that it's available in both editions.)



Server and Player Administration Commands


This category groups commands that allow managing players and the server itself (operator management, bans, whitelist, etc.). All require being an operator on a server (or "cheats" enabled in solo) to protect these sensitive functions.


  1. /op (Java & Bedrock) – Grants operator status to a player. This command allows promoting a player to elevated permissions. Usage: /op adds the specified player as an operator. Requires already being an operator yourself or having access to the server console. (Operator required: yes)
  2. /deop (Java & Bedrock) – Revokes a player's operator status. Usage: /deop removes operator privileges from the given player. (Operator required: yes)
  3. /kick (Java & Bedrock) – Kicks a player from the server. Usage: /kick [reason] disconnects the specified player, optionally displaying a reason. Useful for temporarily ejecting a player without banning them. (Operator required: yes)
  4. /ban (Java only) – Bans a player from the server. Usage: /ban [reason] adds the player to the ban list, preventing them from reconnecting. (Operator required: yes)
  5. /ban-ip (Java only) – Bans an IP address from the server. Usage: /ban-ip [reason] blocks all connections from this IP. (Operator required: yes)
  6. /banlist (Java only) – Displays the list of banned players from the server. You can specify ips to display banned IPs (/banlist ips). (Operator required: yes)
  7. /pardon (Java only) – Lifts a player's ban. Usage: /pardon removes a player from the banlist so they can reconnect. (Operator required: yes)
  8. /pardon-ip (Java only) – Cancels an IP ban. Usage: /pardon-ip . (Operator required: yes)
  9. /whitelist (Java) / /allowlist (Bedrock) – Manages the whitelist of players allowed to connect. Common usages: /whitelist add to add a player, /whitelist remove to remove them, /whitelist list to list authorized players. On Bedrock, the equivalent command /allowlist works similarly (the term "allowlist" replaced "whitelist"). (Operator required: yes, dedicated server command)
  10. /list (Java & Bedrock) – Displays the list of players currently connected to the server. Usage: type /list to see the number of online players and their usernames. (Operator required: no) (This command is accessible to all players by default.)
  11. /setmaxplayers (Bedrock only) – Sets the maximum number of players that can connect to the current game. Usage: /setmaxplayers adjusts the server capacity (upper limit). (Operator required: yes, host use only)
  12. /setidletimeout (Java only) – Sets the idle time after which a player will be automatically kicked from the server. Usage: /setidletimeout sets the allowed AFK timeout in minutes. (Operator required: yes)
  13. /save-all (Java only) – Forces immediate world save to disk. (Operator required: yes, server command)
  14. /save-on / /save-off (Java only) – Enables or disables automatic world saves. Useful for, for example, disabling saves during heavy modifications then re-enabling them. (Operator required: yes, server command)
  15. /stop (Java & Bedrock) – Stops the server immediately. In single-player, the /stop command closes a world open in "LAN" mode. This command is typically used in the server console. (Operator required: yes, dedicated server command only)
  16. /opreload (Bedrock) – Alias: /ops or /permission. Reloads the operator permissions configuration on a dedicated Bedrock server. (Operator required: yes, dedicated server command)


Note: The above administration commands are generally executed from the server console or by a player who is already an operator. They don't work without sufficient permissions to prevent abuse. For example, simply granting yourself operator status (/op) requires being an operator yourself (or accessing the console).



Communication and Messaging Commands


These commands allow sending special messages to players, either via public chat, privately, or displaying information. Some are accessible to all players, others require operator privileges depending on the case.


  1. /say (Java & Bedrock) – Displays a message in chat in the name of the sender (or server). Usage: /say will make the server or command-block executing the command speak. On a server, the message appears in yellow preceded by [Server]. (Operator required: yes)
  2. /me (Java & Bedrock) – Displays a message describing an action performed by the player. Usage: /me will display * in chat (e.g., * Alex eats a cake). This command is accessible even to non-operators for all players. (Operator required: no)
  3. /tell, /msg or /w (Java & Bedrock) – These three aliases send a private message (whisper) to one or more targeted players. Usage: /tell sends a message visible only to the target(s) (you can specify a player or selector @...). For example, /msg Notch Hello to you!. (Operator required: no)
  4. /tellraw (Java & Bedrock) – Sends a JSON-formatted message to one or more players. This advanced command allows creating very rich messages (colors, interactive clicks, etc.) intended for target players. Usage: /tellraw . For example, in Java:
/tellraw @p {"text":"This is a red message","color":"red"}
  1. will display red text to the nearest player. (Operator required: yes in Java, and Educator/Operator level in Bedrock)
  2. /help or /? (Java & Bedrock) – Displays help for available commands. Simply typing /help lists a page of usable commands, and /help gives detailed information about a specific command's syntax. On a server, non-operator players will only see commands they have permission to use. (Operator required: no)
  3. /teammsg or /tm (Java only) – Sends a private message to all members of the player's team. Usage: /teammsg (alias /tm) to chat in team chat when using the team system via scoreboard. (Operator required: no)
  4. /list – (Already mentioned in administration commands.) Reminder: /list displays online players on the server. In Java, the output looks like: "There are X of a max of Y players online: Name1, Name2, ...". In Bedrock, only the X online players are listed. (Operator required: no)


Practical example: Use the /tell command to send a secret hint to a player without others seeing it. For example:
/tell @p[r=5] Here's a hint just for you!
will send a private message to the nearest player (within 5 blocks range) containing the hint.



Game Mode and Player Management Commands


These commands affect the player's state (game mode, experience, effects, etc.) or the game world (difficulty, rules). They are generally accessible only to operators as they modify important gameplay parameters.


  1. /gamemode (Java & Bedrock) – Changes a player's game mode (Survival, Creative, Adventure, Spectator). Usage: /gamemode [player]. You can indicate the mode by name or identifier: e.g., /gamemode creative @a puts all players in Creative mode. In Bedrock, Spectator mode was introduced more recently (beta 1.19.50). (Operator required: yes)
  2. /defaultgamemode (Java only) – Sets the default game mode for new players connecting. Usage: /defaultgamemode . For example, /defaultgamemode survival so all new players spawn in Survival by default. (Operator required: yes)
  3. /difficulty (Java & Bedrock) – Changes world difficulty (Peaceful, Easy, Normal, Hard). Usage: /difficulty or /difficulty <0|1|2|3>. For example, /difficulty hard activates maximum difficulty (tougher monsters, etc.). (Operator required: yes)
  4. /effect (Java & Bedrock) – Gives or removes potion effects (status effects) to a player or entity. Usage: /effect give to apply an effect, or /effect clear to remove all their effects. For example, /effect give @p strength 60 1 gives Strength II for 60 seconds to the nearest player. (Operator required: yes)
  5. /enchant (Java & Bedrock) – Enchants the item held by a player. Usage: /enchant [level]. The target is typically @p (nearest player) or a player name. For example, while targeting an item in your hand: /enchant @s minecraft:sharpness 5 to give it Sharpness V. (Operator required: yes)
  6. /xp (Java & Bedrock) – Gives or removes experience points from a player. (Alias in Java: /experience). Usage: /xp L to give whole levels, or /xp for XP points. For example, /xp 5L Steve gives 5 experience levels to Steve, while /xp -100 @p removes 100 XP points from the nearest player. (Operator required: yes)
  7. /attribute (Java only) – Consults or modifies an entity's attributes (max health, speed, attack strength, etc.). Usage: /attribute get|base set|modifier .... For example: /attribute @p minecraft:generic.max_health base set 40 sets the player's max health to 20 hearts (40 points) instead of the default 10 hearts. (Operator required: yes)
  8. /ability (Bedrock only) – Grants or revokes a special ability to a player. This command is specific to Bedrock/Education Edition and allows, for example, enabling flight for a player in survival. Usage: /ability . Example abilities: mute (prevents talking), mayfly (can fly), worldbuilder (can modify education blocks). (Operator required: yes, level 1 on Bedrock)
  9. /immutableworld (Bedrock only) – Makes a world immutable, i.e., prevents any non-operator player from modifying blocks. Usage: /immutableworld . Useful for protecting a map in Adventure mode or restricting construction without authorization. (Operator required: yes)
  10. /gamemode spectator (Java & Bedrock) – Spectator mode allows flying through blocks and observing without interacting. In Java, there's an additional related command: /spectate (Java only) which allows a player in Spectator mode to take the view of a target entity. Usage: /spectate [player] makes the spectator player [player] start observing the entity in first-person view. Simply typing /spectate without arguments makes you exit the observed entity's view to become a free spectator again. (Operator required: yes for classic /gamemode spectator; /spectate command requires op level 2 in Java)


Tip: To quickly distribute a potion effect or enhancement to all players, combine selectors. For example:
/effect give @a jump_boost 30 2
will give all players a Jump Boost effect of level 3 for 30 seconds.



Environment and World-Related Commands


These commands modify the world as a whole: time, weather, game rules, borders, etc. They generally affect all players. Here too, operator rights are required as they can significantly alter the gaming experience.


  1. /time (Java & Bedrock) – Changes or queries the time of day in the world. Usage: /time set to set the time (0 or day for sunrise, 12000 or night for night, etc.), or /time add to advance time by a certain number of ticks. For example, /time set midnight sets night to midnight. You can also use /time query daytime|gametime|day to query the current time. (Operator required: yes)
  2. /weather (Java & Bedrock) – Sets the world's weather. Usage: /weather [duration]. For example, /weather rain 60 makes it rain for 60 seconds. Without duration, the effect lasts 5 minutes by default. (Operator required: yes)
  3. /toggledownfall (Bedrock only) – Legacy alias of /weather allowing to toggle between rainy and clear weather. This command was removed in Java Edition 1.13 in favor of /weather, but remains available on Bedrock. (Operator required: yes)
  4. /gamerule (Java & Bedrock) – Changes game rules of the world. Gamerules control various parameters: keepInventory, mobGriefing, doDaylightCycle, etc. Usage: /gamerule or without value to query the rule. For example, /gamerule keepInventory true allows players to keep their inventory after death. (Operator required: yes)
  5. /difficulty – (See above in Game Mode section.) Reminder: this command changes world difficulty. (Operator required: yes)
  6. /daylock (Bedrock) / /alwaysday (Bedrock) – These two commands are related aliases that lock the day-night cycle. Usage: /daylock true (or /alwaysday true) to freeze the current time (day remains perpetual if executed during day, or eternal night if executed at night). Conversely, /daylock false reactivates the normal day/night cycle. (Operator required: yes)
  7. /worldborder (Java only) – Manages the world border. This invisible border limits the playable area. Common usages: /worldborder set to set the border's diameter (in blocks) centered around spawn, /worldborder center to reposition the center, and /worldborder damage ..., /worldborder warning ... to configure damage and warnings. (Operator required: yes)
  8. /tickingarea (Bedrock only) – Manages forced loading areas (ticking areas) in Bedrock. This allows keeping world areas active even if no player is there (for example for automatic farms). Usage: /tickingarea add to add an area centered on these coordinates, /tickingarea remove to remove it, or /tickingarea list to list active areas. (Operator required: yes)
  9. /forceload (Java only) – Fulfills a similar role to tickingarea in Java: this command forces permanent loading of certain chunks. Usage: /forceload add (chunk coordinates) to load a chunk, or with an area /forceload add for a rectangular area. /forceload remove ... to unload, and /forceload query lists forced chunks. (Operator required: yes)
  10. /mobevent (Bedrock only) – Enables or disables certain predefined mob events. For example, Bedrock uses this command to control the appearance of special events (e.g., raids). Usage: /mobevent . (Operator required: yes)
  11. /fog (Bedrock only) – Manages fog for players. Allows adding or removing fog settings via behavior packs. This is a command more oriented towards map makers. Usage: /fog with the right parameters to apply a custom fog effect to certain players. (Operator required: yes)
  12. /volumearea (Bedrock only) – Manages volume areas. This is an advanced Bedrock command related to experimental features, allowing creation of 3D volumes to apply rules (e.g., local gameplay rules). Usage: /volumearea add (and complex parameters) to define a volume. (Operator required: yes)
  13. /tick (Java only, 1.21) – An experimental command introduced in snapshot 23w43a (pre-version of Minecraft 1.21) that allows freezing or adjusting game time speed. Usages: /tick freeze pauses time (mobs no longer move, weather and day/night cycle freeze), /tick unfreeze resumes normal flow. /tick rate sets a new tick rate per second (default 20) to slow down or speed up the game, while /tick step advances time by a certain number of seconds before refreezing it. (Operator required: yes)


Example: In Creative mode, you can activate eternal day on your server by entering the command:
/gamerule doDaylightCycle false
then setting the desired time:
/time set 1000
This will stop sun progression (no more day/night cycle). To restore the cycle:
/gamerule doDaylightCycle true
Bedrock's /daylock true command accomplishes the same goal in one step.



Teleportation and Movement Commands


Minecraft offers several commands to teleport players or entities and manage their spawn points.


  1. /tp or /teleport (Java & Bedrock) – Teleports entities to a destination. Usage: /tp where destination can be x y z coordinates or another entity's name. For example, /tp Player1 100 64 -300 teleports Player1 to coordinates (100, 64, -300). You can omit the target to teleport yourself: /teleport 0 ~ 0 moves you to X=0, Z=0 while keeping your Y. It's possible to specify relative offset with ~: thus ~ ~10 ~ adds 10 blocks on the Y axis to your current position. (Operator required: yes)
  2. /spreadplayers (Java & Bedrock) – Randomly teleports entities in a given area. Very useful for dispersing players at the start of a game (UHC, mini-games, etc.). Usage: /spreadplayers . For example:
/spreadplayers 0 0 500 1000 false @a
  1. will scatter all players (@a) in a radius between 500 and 1000 blocks around point (0,0). The false parameter indicates that each player will be teleported individually (set true for team members to stay together). (Operator required: yes)
  2. /spawnpoint (Java & Bedrock) – Sets the respawn point (spawn) of a specific player. Usage: /spawnpoint [x y z]. Without coordinates, this sets the player's spawn at their current position. With coordinates, you can set a bed or fixed point. For example, /spawnpoint Alice 100 70 100 makes Alice respawn at (100,70,100) upon death. (Operator required: yes)
  3. /setworldspawn (Java & Bedrock) – Sets the world's global spawn (where new players appear and where you respawn if no individual spawn is set). Usage: /setworldspawn [x y z]. If no coordinates are provided, the point where the executor is located becomes the new world spawn. (Operator required: yes)
  4. /locate (Java & Bedrock) – Indicates coordinates of the nearest natural structure (village, temple, stronghold, etc.). Usage: /locate . For example, /locate Stronghold returns coordinates of the nearest stronghold and distance from your position. In Java (1.16+), you can also locate a biome with /locate biome , and even a point of interest (POI) in 1.19+ via the poi argument (e.g., /locate poi minecraft:bee_nest). (Operator required: yes)
  5. /place (Java & Bedrock) – (Recent command, 1.19+) Allows invoking a structure or generation feature at given coordinates. It somewhat merges what the old experimental commands /placefeature and /structure did separately in Java. Usages: /place feature to generate a feature (example: a tree, ore, etc.), /place structure to place an entire pre-built game structure (example: /place structure minecraft:village_plains), or /place jigsaw to attempt generating a modular structure piece. Bedrock Edition also has /place since version 1.19.50. (Operator required: yes, experimental command)
  6. /structure (Bedrock only) – In Bedrock, this command allows saving or loading custom structures (similar to using structure blocks in Java). Usage: /structure save to save the area defined between two positions in a structure file named . And /structure load to load this structure at the desired location. (Operator required: yes)
  7. /transferserver (Bedrock – Removed) – This command allowed transferring a player to another external server. It was removed from modern Bedrock versions (and never existed in Java). It is therefore no longer available currently.


Example: To create a mini-game where all players start from different places, you can use /spreadplayers. Suppose you want to distribute players in a 100-block radius around point (0,64,0):
/spreadplayers 0 64 20 100 false @a
Here, each player (@a) will be randomly teleported between 20 and 100 blocks from the center. Setting the 5th argument to true would have kept teams together during dispersion.



Entity and Mob Management Commands


These commands affect creatures, monsters and game entities (including players considered as entities). This ranges from summoning monsters to modifying entity properties.


  1. /summon (Java & Bedrock) – Summons an entity (monster, animal, object...) in the world. Usage: /summon [x y z] [nbt]. For example, /summon minecraft:zombie ~ ~ ~ spawns a zombie at your position. You can specify NBT data to customize the entity (e.g., /summon minecraft:horse ~ ~ ~ {Tame:1} for a tamed horse). Since 1.17, Java also allows mounting one entity on another via the Passengers tag. (Operator required: yes)
  2. /kill (Java & Bedrock) – Eliminates entities. Usage: /kill . Without target, the command kills the executor (careful!). It's recommended to always specify the target, e.g., /kill @e[type=Item] destroys all items on the ground. You can target multiple types: /kill @e[type=!Player] kills all entities except players. (Operator required: yes)
  3. /damage (Java & Bedrock) – (New in 1.19.4/Bedrock 1.18.10) Applies damage points to the target entity without necessarily killing it. Usage: /damage where is the damage source (e.g., minecraft:fall for fall damage). For example, /damage @p 5 minecraft:magic inflicts 5 magic damage points to the player. This command allows precise control (e.g., pretend a player takes X damage). (Operator required: yes)
  4. /ride (Java & Bedrock) – (Added in Java 1.19.4 and Bedrock 1.16.100) Controls entity mounting on each other. It can: make an entity ride another, make an entity dismount, or summon a mount/rider. Usages:
  5. /ride start_riding : makes mount (can use selectors to target multiple entities).
  6. /ride stop_riding: makes target dismount.
  7. /ride evict_riders: forces target's passengers to dismount.
  8. /ride summon_rider : summons an entity and makes it ride .
  9. For example, /ride @p summon_rider minecraft:strider will spawn a Strider already being ridden by the targeted player (@p). (Operator required: yes)
  10. /event (Bedrock only) – Triggers a predefined event on an entity. In Bedrock, certain entities in behavior packs have "events" (scripts) activatable by command. Usage: /event entity . For example, a Creeper in education mode has a big explosion event that could be triggered via /event entity @e[type=creeper] minecraft:start_explosion. (Operator required: yes)
  11. /tag (Java & Bedrock) – Adds or removes tags (text labels) to entities, or lists their current tags. These tags are purely descriptive and allow distinguishing entities for other commands (via selector @e[tag=MyTag]). Usage: /tag add to add, /tag remove to remove, and /tag list to display entity tags. For example, /tag @p add boss marks a player with the "boss" tag. (Operator required: yes)
  12. /ability – (See Game Mode section for Bedrock.) This Bedrock command notably allows activating worldbuilder to enable a player to edit normally protected blocks.
  13. /bossbar (Java only) – Creates and manages custom boss bars at the top of the screen. Usages: /bossbar add creates a new bar with an identifier and visible name. You can then configure it: /bossbar set color (change color), max (maximum value), players (who sees the bar) etc. Finally, /bossbar set value to update progress. For example, you can create a "Progress" bar and update it based on game objectives. (Operator required: yes)



Terrain Editing and Building Commands


These commands give enormous building powers by allowing placing, modifying or copying blocks en masse in the world. Reserved for operators, they are widely used for map building, terraforming or damage repair.


  1. /setblock (Java & Bedrock) – Changes a block at a given position to another block type. Usage: /setblock [data] [replace|destroy|keep]. For example, /setblock ~ ~ ~ minecraft:glass replaces the block you're standing on with glass. You can specify the destroy option to break the old block (as if you mined it), keep to only replace if the location is air. (Operator required: yes)
  2. /fill (Java & Bedrock) – Fills an entire area with blocks. Usage: /fill [mode]. Opposite coordinates define a cube or parallelepiped. For example, /fill 0 50 0 10 60 10 minecraft:stone will fill a stone cube in the space between (0,50,0) and (10,60,10). Mode variants exist: replace (default replaces everything), destroy (breaks existing ones), keep (doesn't replace existing blocks), or hollow/outline to only fill outlines. (Operator required: yes)
  3. /fillbiome (Java only, 1.19.3+) – Similar to /fill, but for changing an area's biome rather than blocks. Usage: /fillbiome . For example, /fillbiome 100 0 100 110 255 110 minecraft:jungle will transform the area's biome to jungle (affecting grass color, climate, etc.). (Operator required: yes)
  4. /clone (Java & Bedrock) – Copies a region of blocks to another destination. Usage: /clone [mode]. The first two coordinates delimit the source area, and the third is the lower-left corner where the copied area is pasted. Mode options: replace (default, copies everything), masked (ignores air blocks from source), etc., and you can filter a particular block type to clone. (Operator required: yes)
  5. /replaceitem (Bedrock, Java <1.13) – Replaces an item in an inventory or armor slot. Usage: /replaceitem [data]. For example, /replaceitem entity @p slot.weapon.mainhand minecraft:diamond_sword will give a diamond sword in the player's hand. In Java 1.13+, this command was removed and replaced by /item. (Operator required: yes)
  6. /item (Java only, 1.17+) – New unified command for managing items. Allows moving, copying, replacing or getting items between different containers (entity inventories, blocks, player hand, etc.). Usage: /item replace for example. To give an item to the player: /item replace entity @p weapon.mainhand with minecraft:torch 64 (gives 64 torches in hand). You can also copy an existing item: /item replace block 100 64 100 container.0 from entity @p armor.head will put a copy of the player's helmet in the first slot of a chest at the indicated coordinates. (Operator required: yes)
  7. /give (Java & Bedrock) – Directly gives an item (or block) to a player, adding it to their inventory. Usage: /give [quantity] [data]. For example, /give @a minecraft:torch 32 distributes 32 torches to each online player. You can specify NBT data for custom items (in Java). (Operator required: yes)
  8. /clear (Java & Bedrock) – Clears a player's inventory of certain items. Usage: /clear [item] [data] [max]. Without specifying the item, the command removes the entire inventory of the targeted player. You can target a specific type: e.g., /clear @p minecraft:oak_log will remove all oak blocks from the player. The [max] parameter allows defining the maximum number of items to remove (default infinite). (Operator required: yes)
  9. /loot (Java & Bedrock) – Executes a loot table and distributes or drops the resulting items. Usage (Java): /loot .... For example:
/loot spawn ~ ~ ~ loot minecraft:chests/simple_dungeon
  1. generates standard dungeon chest loot on the ground at your feet.
/loot give @p loot minecraft:gameplay/fishing
  1. directly gives the player fishing session loot.
/loot insert loot
  1. places loot in a container (chest, etc.). This command is very powerful for obtaining predefined loot or simulating mechanics (fishing, trading, etc.). (Operator required: yes)
  2. /repairitem (Bedrock Education Edition only) – Repairs the item held in the player's hand if possible. (This command doesn't exist in Java nor standard Bedrock.)


WorldEdit-like Tip: With /fill and /clone, you can duplicate and move huge structures in seconds. For example, to quickly dig a hole, use /fill with air block:
/fill ~-5 ~-5 ~-5 ~5 ~-1 ~5 minecraft:air destroy
This will replace an 11×5×11 block cube around you with air, destroying the blocks (as if you mined them, they may drop). Always be careful with coordinates you specify with these massive commands and don't hesitate to backup the world before 😉.



Scoreboard, Objectives and Progress Commands


Minecraft includes a powerful system of numerical objectives (scoreboard) and player progress tracking (achievements/advancements). These commands allow managing these advanced game mechanisms.


  1. /scoreboard (Java & Bedrock) – Manages the scoreboard, a versatile tool for storing values linked to players or entities and displaying rankings or objectives. The command has several sub-commands:
  2. /scoreboard objectives ... to create/remove objectives and define how they are displayed. E.g., /scoreboard objectives add Points dummy "Points" creates an objective named "Points". You can display an objective on screen: /scoreboard objectives setdisplay sidebar Points shows each player's Points score in the sidebar.
  3. /scoreboard players ... to assign scores to players (or entities or "fake entries"). Ex: /scoreboard players set Alice Points 5 gives 5 points to Alice. You can also use /scoreboard players add or remove to increase/decrease.
  4. /scoreboard teams ... (Java only) to create player teams with name colors, PVP options, etc. Ex: /scoreboard teams add Red creates a "Red" team, then /scoreboard teams join Red Alice to add Alice to it. (Bedrock uses other mechanisms for teams, and the /team command is not available there.)
  5. In summary, /scoreboard is a world in itself, allowing mini-games, counters, custom achievements, and more. (Operator required: yes)
  6. /team (Java only) – Direct alias to certain scoreboard teams functions. Since 1.13, /team is part of /scoreboard (team commands were merged). However, you can still use /team for quick team operations. For example, /team modify Red color red to change the Red team's color. (Operator required: yes)
  7. /trigger (Java only) – Allows a non-operator player to activate a trigger-type objective. This is an exception: this command is made for players to interact with the scoreboard in a controlled framework. An objective defined with /scoreboard objectives add MyTrigger trigger becomes usable by players via /trigger MyTrigger set or add , without requiring operator status. Useful for creating buttons or options activatable by players (e.g., trigger a quest, activate a circuit...). (Operator required: no for execution, but requires prior configuration by an operator)
  8. /advancement (Java only, 1.12+) – Gives, removes or checks player advancements. (Advancements are modern achievements/progress in Java.) Usages:
  9. /advancement grant to unlock an advancement. E.g., /advancement grant @p only minecraft:story/shiny_gear grants the "Suit Up" advancement (craft iron armor). You can use everything (grant all) or from/through/until to grant a series of related advancements.
  10. /advancement revoke ... does the opposite (removes as if not accomplished).
  11. /advancement test allows testing as a condition (usable in /execute to trigger actions if a player has a certain advancement). (Operator required: yes)
  12. /achievement (Java removed, Bedrock/Edu) – Old command from Java versions prior to 1.12 for managing achievements (the old system replaced by advancements). It allowed to give or take an achievement. It was removed in 1.12 when Achievements were replaced by Advancements. In Bedrock/Education, the command still exists (similar syntax) although rarely used, as Bedrock achievements are managed Xbox Live-side and generally not modifiable by command.
  13. /recipe (Java & Bedrock) – Unlocks or forgets crafting recipes for a player. Usage: /recipe give|take . For example, /recipe give @p * unlocks all recipes for the player (as if they had discovered everything). Conversely, you can remove discovered recipes. (Operator required: yes)
  14. /stats (Java removed) – Old command (versions ≤1.12) related to command statistics tracking (precursor to certain /execute store functionalities). It was removed in 1.13 as replaced by /execute improvements.



Technical and Miscellaneous Commands


Finally, here are the more technical commands, often intended for map makers or advanced administration. They include conditional execution, datapack reloading, NBT data manipulation, debugging, etc.


  1. /execute (Java & Bedrock) – The most powerful and complex command, which allows executing other commands under certain conditions, from an entity's perspective, at a given position, etc. The syntax has evolved through versions. In Java (1.13+), the general form is:
/execute
  1. with optional clauses like as , at , if , unless , positioned , anchored , etc. Example:
/execute as @e[type=zombie] at @s run summon lightning_bolt ~ ~ ~
  1. will, for each zombie, summon lightning at its position (potentially transforming zombies into zombie pigmen). In Bedrock, the syntax is simpler (inherited from old Java version): e.g., /execute @e[type=zombie] ~ ~ ~ summon lightning_bolt would do the same. The /execute command also allows advanced operations via store (store command result in a scoreboard variable or NBT) and run. (Operator required: yes)
  2. /data (Java only, 1.13+) – Allows reading and modifying NBT data of entities, tiles (blocks with inventory, etc.) and levels. Main sub-commands:
  3. /data get to read NBT data of an entity (entity ) or block (block ). E.g., /data get entity @p Inventory[0] returns the first item in the player's inventory.
  4. /data merge to merge/apply changes. E.g., /data merge entity @e[type=creeper,limit=1] {Fuse:0} will make the targeted creeper explode instantly by setting its fuse to 0.
  5. /data remove to remove a specific NBT tag. (Operator required: yes)
  6. /datapack (Java only, 1.13+) – Enables or disables data packs (function packs, loot tables, etc.) on a server/world without restarting it. Usage: /datapack list to see loaded and available ones, and /datapack enable "" or disable "" to change their status. You can specify before/after another pack to manage loading order. (Operator required: yes)
  7. /function (Java & Bedrock) – Executes the content of a predefined function file. Functions are command suites saved (in data packs in Java, or behavior packs in Bedrock). Usage: /function : executes the corresponding command list. For example, /function mymap:startup/init could launch the "init" function from the "mymap" datapack. (Operator required: yes)
  8. /schedule (Java & Bedrock) – Schedules delayed execution of a function. Usage: /schedule function [append]. Example: /schedule function mymap:minigame/end 10s will execute the specified function in 10 seconds. The append option allows adding it even if already scheduled. You can also use /schedule clear to cancel a scheduled execution. (Operator required: yes)
  9. /reload – Reloads server data without restarting. In Java, /reload reloads data packs, advancements and loot tables from disk. Useful after adding/modifying a datapack. In Bedrock, /reload also reloads behavior packs/scripts in Education mode. (Operator required: yes)
  10. /seed (Java only) – Displays the seed of the current world. This allows copying the seed to generate an identical world elsewhere. (Operator required: no in solo / yes on server) – Note: On Bedrock, the /seed command doesn't exist, but the seed is visible in world settings for the host or via server console command.
  11. /wsserver (Bedrock) – Starts a connection to a WebSocket server. (Alias: /connect). This was used to integrate services like Mixer (interactive streaming) or for programming via WebSocket. (Operator required: yes, very specific usage)
  12. /script and /scriptevent (Bedrock only) – Commands related to Bedrock Edition's script API (allowing interaction with external JavaScript code). They mainly serve addon/mod developers. For example, /scriptevent sends an event to the running script. (Operator required: yes, experimental environment usage)
  13. /gametest (Bedrock only) – Experimental command for running automated game tests via the GameTest framework. Allows loading test structures, launching predefined sequences, etc., for debugging purposes for creators. (Operator required: yes, experimental mode)
  14. /perf (Java only) – Launches 10-second performance profiling and generates a report. Usage: /perf start then after the duration a profile file is created (requires server directory access). (Operator required: yes, level 4)
  15. /debug (Java only) – Starts or stops a game debugging session. Usage: /debug start begins recording all sorts of performance data (entity paths, memory usage...) in a file, and /debug stop stops it and saves the report. Useful for diagnosing server slowdowns. (Operator required: yes)
  16. /jfr (Java only, 1.18+) – Starts or stops a Java Flight Recorder recording of the server. This is an advanced profiling tool (generates a .jfr file that can be analyzed for low-level diagnostics). Usage: /jfr start and /jfr stop. (Operator required: yes, level 4)
  17. /project (Bedrock Preview/Editor only) – Opens project management tools in the Bedrock editor (Minecraft Preview Editor). Not usable in normal gameplay. (Operator required: n/a)
  18. /publish (Java only) – Opens your solo game to LAN so other players on your local network can join it. Usage: simply type /publish and the game will tell you which port the game was opened on. You can specify a particular port with /publish . (Operator required: n/a in solo, command reserved for host player)
  19. /save (Bedrock only) – Command used on dedicated Bedrock server to prepare backups. Usage: /save hold (freeze disk writing), /save query (status), /save resume (resume). (Operator required: yes, dedicated server only)
  20. /stopsound (Java & Bedrock) – Stops a sound currently playing for a player. Usage: /stopsound where source is a category (e.g., music, record, weather, etc.) and sound the name of the sound to stop. You can use * to stop everything in the category. For example, /stopsound @a music minecraft:music.dragon stops the Ender Dragon music for everyone. (Operator required: yes)
  21. /playsound (Java & Bedrock) – Plays a sound effect for one or more players. Usage: /playsound [x y z] [volume] [pitch] [minVolume]. For example, /playsound minecraft:entity.lightning_bolt.thunder master @p ~ ~ ~ 1 1 makes the nearest player hear thunder, with 100% volume. You can target a specific player or @a for all. (Operator required: yes)
  22. /music (Bedrock only) – Controls ambient music playback. Usage: /music with possibly a music title. For example, /music play game minecraft:music.creative launches Creative Mode music for the player. (Operator required: yes)
  23. /title (Java & Bedrock) – Displays a title and subtitle on targeted players' screens. Usage: /title title for the main title and /title subtitle for the subtitle. You can also use /title times to configure display durations. For example,
/title @a title {"text":"Victory!","color":"gold"}
/title @a subtitle {"text":"Well played everyone","color":"white"}
  1. will display a large golden "Victory!" with a white subtitle to all players (in Java you provide text in JSON format). (Operator required: yes)
  2. /titleraw (Bedrock only) – Variant of /title directly accepting JSON text for Bedrock (equivalent to Java's /title syntax). Usage: /titleraw to display a title/subtitle or action bar message. (Operator required: yes)
  3. /camerashake (Bedrock only) – Causes camera shake for players. Usage: /camerashake . For example, /camerashake add @p 1.0 5 rotational will simulate 5 seconds of camera shake for the player, intensity 1.0 in rotation (angle shakes). Requires Camera Shake option to be enabled in client-side settings. (Operator required: yes)
  4. /camera (Bedrock only) – Changes camera perspective for one or more players. This command can force a player into first-person view, third-person, or other cameras attached to entities (in Education Edition context). Usage: /camera where mode can be filmic, photo, etc., according to Education Edition documentation. (Operator required: yes)
  5. /playanimation (Bedrock only) – Plays an animation on an entity (via its resource/behavior pack). Usage: /playanimation to force, for example, a monster to play a specific animation (if it has one defined). (Operator required: yes)
  6. /agent, /code, /educationedition, etc. – Commands specific to Minecraft: Education Edition or Code Builder mode. For example, /agent controls the little Agent robot in Code Builder worlds, and commands like /code or /lesson exist to open the code editor or manage educational lessons. These commands are not available in Java nor standard Bedrock.



Removed or Obsolete Commands


To be exhaustive, let's mention some notable commands that existed in the past but have been removed or replaced, so you don't search for them in recent versions:


  1. /testfor, /testforblock, /testforblocks – These commands allowed searching for entities or comparing blocks in versions before 1.13 (Java). For example, /testfor @p[score_points_min=5] checked that a player had at least 5 points. Since Minecraft 1.13, they were removed in Java (became unnecessary thanks to /execute if ... and more flexible scoreboards). Bedrock kept them longer (until around 1.19) for compatibility, but they are set to disappear in favor of more modern commands. We now use /execute with conditions and /scoreboard for these cases.
  2. /blockdata and /entitydata – Old Java commands (≤1.12) for modifying block and entity NBT. Removed in 1.13, merged into the unified /data command.
  3. /replaceitem – As mentioned, in Java this command was removed in 1.13 in favor of /item. In Bedrock, it's still usable but could be replaced later by a syntax similar to /item.
  4. /achievement – Removed in Java 1.12 (replaced by /advancement).
  5. /toggledownfall – Removed in Java 1.13 (use /weather instead). Remains available on Bedrock (alias of /weather rain/clear).
  6. /stats, /execute ... store/result/success (old syntax) – Obsolete in 1.13 Java, merged into the new /execute store mechanics.
  7. /xp (alias /experience) – In Java, you can now use either /xp or /experience indifferently. In Bedrock only the /xp form exists, but functionality remains the same.


  1. Other removed commands: /home (existed in a very old pre-version as teleportation to spawn), /warp, /demote, /mixer (Bedrock 1.2 for Mixer livestream, later removed), etc., which are no longer current.



This exhaustive guide covers all commands available in Minecraft Java and Bedrock (up to the most recent versions). We've seen how and when to use them, with practical examples. When used well, these commands will allow you to customize your gaming experience, administer your server, create adventure maps or mini-games, and much more. Don't hesitate to refer to the official documentation or Minecraft wikis for more details on each specific command. If you need more specific help, come ask our support on our Discord or by ticket on the panel!

Icon