用法

如何运行程序:

使用命令行参数:

Windows

只需运行 MinecraftClient.exe

提示

在 Windows 上,最好使用 Windows Terminal在新窗口打开 获取最佳体验和外观。 部分功能例如 /chunk 命令中的表情符号等在 CMD 或 Powershell 5 中无法正常显示

Linux, macOS

运行MCC需要您在终端输入以下命令:

./MinecraftClient

如果您想要在后台运行它,您可以使用screen(仅限Linux)

示例:

# 启动屏幕
screen -S mcc

# 运行
./MinecraftClient

# 按 CTRL + A + D 脱离屏幕

# 如果你想再次访问,请重新附加
screen -r mcc

了解更多关于如何使用屏幕命令的信息: YouTube在新窗口打开

Docker

参考 使用 Docker 运行

命令行用法

Minecraft Console Client 有大量实用命令行参数,您可以在这里了解它们。

对于不熟悉命令行的人

对于不熟悉命令行程序的人(终端),在这里,我们将解释每个步骤,如果您熟悉相关内容,您可以选择跳过。

在命令行(终端)中,您可以使用程序名称+启动参数的方式运行程序,通常程序有额外的启动参数,用不同的启动参数启动程序是通过命令行实现的。

启动参数是在程序名称之后写的,用空格分隔,可以有几种不同的方式,例如:

  • someparameter
  • -some-parameter
  • --some-other-parameter
  • --some-setting="some value"
  • -a=5

单个破折号的参数(-)通常表示单个参数(简写),双破折号的参数(--)通常用于一个较长/全名的参数。

当您阅读例子时,您常常会看到这样的<something here>,这意味着这是一个参数,应该使用一定的值。输入的参数不应含有<``>

例如,<username>您需要修改为您喜欢的用户名,例如:notch<> 不应该包括在内)

[]代表这个是可选参数。

它们还可以具有某些值,用MCC举个例子:

MinecraftClient.exe --debugmessages=false

当一个参数内含有空格时,您需要使用英文的双引号("),例如:--some-parameter="一些参数具有空格"

下面是使用--help参数的例子,它会使MCC显示如何使用MCC的界面。

MinecraftClient.exe --help

通过示例快速使用 MCC

提示

在 Linux 和 macOS 上,您需要输入:./MinecraftClient 而不是 MinecraftClient.exe

MinecraftClient.exe --help
MinecraftClient.exe <username> <password> <server>
MinecraftClient.exe --setting=value [--other settings]
MinecraftClient.exe --section.setting=value [--other settings]
MinecraftClient.exe <settings-file.ini> [--other settings]

示例:

#登陆一个账户:notch,密码是:password123 要进入的服务器IP: mc.someserver.com:25565
MinecraftClient.exe notch password123 mc.someserver.com:25565
#使用命令行参数覆盖来自MinecraftClient.ini的设置
MinecraftClient.exe --debugmessages=false
#使用其他ini并覆盖语言为中文
MinecraftClient.exe CustomSettingsFile.ini --language=zh

使用命令行参数的规则:

您可以使用以下规则混合参数:

  • 第一个参数可以是登陆参数或者是设置文件.
  • 其他位置参数按顺序读取:用户名、 密码、 服务器、 命令.
  • --开头的参数可以放在任何顺序和位置。

例子和解释:

MinecraftClient.exe <login> <password> <server>
  • 将会自动连接到您选定的服务器。
  • 您可以不写密码或者服务器,例如只写用户名。
  • 如果服务器装了登陆插件的话,请使用""包裹住登陆指令这一栏
  • 如果要使用离线模式登入,请在使用-作为密码。
MinecraftClient.exe <login> <password> <server> "/mycommand"
  • 将会自动发送/mycommand到服务器并自动关闭。
  • 如果要发送多个命令并保持连接状态,请使用 ScriptScheduler Bot
MinecraftClient.exe <myconfig.ini>
  • 这将会加载指定的配置文件。
  • 如果文件包含用户名/密码/服务器IP,它将会自动连接到服务器。
MinecraftClient.exe --setting=value [--other settings]
  • 在命令行指定MCC的设置,请到配置文件查看对应的值。
  • 使用--section.setting=value用于设置[Main]以外的设置。
  • 例如:-antiafk.enabled=true将会启用反挂机检测功能。
MinecraftClient.exe <myconfig.ini> <login> <password> <server> [--other settings]
  • 加载指定的配置文件并覆盖配置文件中的一些设置。

内置命令

这些命令可以从聊天、脚本或远程控制中执行。

从聊天中执行的命令前默认必须加/,例如 /quit

在脚本和远程控制充,执行命令不需要加/,例如 quit

提示

一些命令可能尚未被记录或在ChatBots的描述中定义, 使用 "/help" 列出所有命令,或您可以为此页面做出贡献。

animation

  • 描述:

    切换主手(mainhand)/副手(offhand)。

  • 使用方法:

    /animation <mainhand|offhand>
    

bed

  • 描述:

    让您的机器人睡觉,所有与睡觉有关的都在这个命令。

  • 使用方法:

    基本用法: bed leave|sleep <x> <y> <z>|sleep <radius>

  • 示例:

    离开床:

    /bed leave
    

    在坐标为124 84 76 的床上睡觉:

    /bed sleep 124 84 76
    

    使用相对坐标睡在床上:

    /bed sleep ~ ~ ~-2
    

    在50个方块半径内自动寻找一张床并睡在上面:

    /bed sleep 50
    

方块信息

提示

您需要启用 地形和移动处理 才能使用这个命令。

  • 描述:

    显示指定位置的方块类型。

    如果使用-s,它将会显示目标方块周围的方块类型。

  • 使用方法:

    基本用法:

    /blockinfo <x> <y> <z> [-s]
    

bots

  • 描述:

    允许您列出和卸载指定机器人或所有机器人。

    在调试和开发脚本时非常有用。

  • 使用方法:

    /bots <list|unload <bot name|all>>
    
  • 示例:

    卸载名为 CustomScript 的机器人

    /bots unload CustomScript
    

    卸载所有机器人

    /bots unload all
    

changeslot

  • 描述:

    更改当前选择的快捷栏

    提示

    你需要启用 物品栏处理 才能使这个机器人工作.

  • 使用方法:

    /changeslot <1-9>
    

chunk

  • 描述:

    用一种很好的方式显示区块的加载状态。

    警告

    要使用此功能,您需要启用 地形处理和移动处理

    提示

    ** 您需要一个支持emoji表情的终端,例如 Powershell 7,Windows Terminal或者Alacritty,如果您的终端不支持emoji表情或者是使用cmd或Powershell 5,禁用表情符号enableemoji**

  • 使用方法:

    /chunk status [chunkX chunkZ|locationX locationY locationZ]
    

    它的外观

    区块状态

dig

  • 描述:

    在指定坐标上挖掘一个方块。

  • 使用方法:

    /dig <x> <y> <z>
    
  • 示例

    /dig 127 63 12
    

    使用相对坐标:

    /dig ~ ~-1 ~2
    

dropitem

  • 描述:

    从背包丢弃所有指定物品。

    提示

    你需要启用 物品栏处理 才能使这个机器人工作.

  • 使用方法:

    /dropitem <itemtype>
    

    提示

    所有物品可以在here在新窗口打开找到。

  • 示例:

    /dropitem diamond
    

附魔

提示

你需要启用 物品栏处理 才能使这个机器人工作.

  • 描述:

    允许使用附魔台附魔物品。

    您需要先打开一个附魔台,然后在附魔台中放置您想要附魔的物品和青金石。然后您可以执行命令。

    可以通过useblock命令来打开附魔台。

  • 使用方法:

    基本用法:

    /enchant <top|middle|bottom>
    

entity

  • 描述:

    攻击一个实体,使用一个实体或者获取您周围的实体类型。

    提示

    你需要启用 库存处理实体处理 才能使用这个功能。

  • 使用方法:

    基本用法:

    /entity <id|entitytype> <attack|use>
    

    获取周围的实体类型:

    /entity
    

    提示

    您可以在这里找到所有的实体名称:[here]https://mccteam.github.io/r/entity/#L15).

  • 示例:

    攻击一个僵尸:

    /entity Zombie attack
    

execif

  • 描述:

    在满足指定条件时执行指定命令。

    条件是一个C#表达式,可以使用set, setrnd 或配置文件设置的本地变量。

    状态总是以布尔值形式返回,仅可以进行比较,如果需要,请将表达式结果强制转换为 bool。

    MCC 的实例也可以与 MCC 一起使用。

    提示

    在应用程序中,所有局部变量都被视为字符串,在比较其值时,你可以使用 <variable> == "<value>",或者使用 .Equals在新窗口打开 方法

  • 使用方法:

    基本用法: /execif <condition (C# expression)> <command>

  • 示例:

    设置变量并使用它:

    /set test=Something   #设置一个内容为Something的名为test的变量
    /execif 'test == "Something"' "send Success!"  #如果test == Something,即符合上述变量,则执行之后双引号中的"send Success!"
    

    提示

    如果你的表达式已经含有双引号("),那么你可以使用单引号(')将其包括。

    在双引号前添加反斜杠(\)能够使其正常工作,如(/execif "test == \"Something\"" "send Success!")

    ``` /set test2=1 /execif 'test2 == "1"' "send Success 2!" ```

    基本 C# 表达式:

    /execif "1 + 2 + 3 == 6" "send Success!"
    

    Using MCC class:

    /execif "MCC.GetHealth() == 20.0" "send Success!"
    

    execmulti 结合使用:

    /execif "1 == 1" "execmulti send 1 -> send 2 -> send 3"
    

execmulti

  • 描述:

    允许您单行中了连续执行多个命令,推荐用于调试或者execif

    命令被->分隔

  • 使用方法:

    基本用法:execmulti <command 1> -> <command 2> -> <command 3> ->...

  • 示例:

    /execmulti send 1 -> send 2 -> send 3 -> sneak
    

quit

  • 别名: exit

  • 描述:

    断开与服务器的连接并关闭MCC

reco

  • 描述:

    断开并重新连接服务器

  • 使用方法:

    /reco [account]
    

    提示

    [account]是指设置文件中账户列表中定义的账户别名,查看关于accountlist的用法

reload

  • 描述:

    重新加载MinecraftClient和 ChatBots的设置。

    提示

    **一些设置不会被重新加载,因为它们是在客户端初始化之前使用的。 而且,这将会覆盖命令行参数的设置。 由于技术限制,此操作不会重新加载ReplayBot。

  • 使用方法:

    /reload
    

connect

  • 描述:

    连接到指定的服务器并重启脚本。

  • 使用方法:

    /connect <server> [account]
    

    提示

    <server>在配置文件中的服务器列表[serverlist]中定义了服务器的IP及别名,查看关于serverlist的相关信息

    提示

    [account]是指设置文件中账户列表中定义的账户别名,查看关于accountlist的用法

script

  • 描述:

    运行一个包含命令的脚本(文本文档)。

  • 使用方法:

    /script <script name>
    

send

  • 描述:

    发送一个聊天消息或者命令到服务器。

  • 使用方法:

    /send <text>
    

respawn

  • 描述:

    如果您死了,请使用它来重生(相当于点击游戏中的重生)。

  • 使用方法:

    /respawn
    

log

  • 描述:

    在控制台显示一些日志(对于脚本有用)

  • 使用方法:

    /log <text>
    
  • 示例:

    /log this is some text
    

list

  • 描述:

    显示服务器的玩家列表(相当于在服务器中按下Tab的查看玩家列表)

  • 使用方法:

    /list
    

set

  • 描述:

    设置一个值%variable%(类似变量名),可以用在后面的命令中。

  • 使用方法:

    /set <variable>=<value>
    
  • 示例:

    /set abc=123
    

setrnd

  • 描述:

    设置%variable%为A-B的随机值。

  • 使用方法:

    /setrnd <variable> string1 "\"string2\" string3"
    
  • 示例:

    /setrnd <variable> -7 to 10
    

    (设置一个从-7到10的数字变量 %variable%

sneak

  • 描述:

    切换到潜行。

  • 使用方法:

    /Sneak
    

tps

  • 描述:

    获取服务器 TPS (每秒Tick数)

  • 使用方法:

    /tps
    

useitem

  • 描述:

    使用手中的物品,可以用来右键点击打开服务器的菜单。

    提示

    你需要启用 Inventory Handling 才能使用这个功能.

    警告

    Inventory Handling 目前不支持 1.4.6 -- 1.9

  • 使用方法:

    /useitem
    

useblock

  • 描述:

    在特定位置放置方块或者打开容器。

    • 箱子/陷阱箱
    • 熔炉
    • 酿造台
    • 发射器/投掷器
    • 漏斗
    • 潜影盒
    • 织布机

    提示

    您需要启用Inventory HandlingTerrain and Movements,才能使用这个功能

    提示

    并非每一个容器都有一个ASCII格式的GUI。

    警告

    Inventory Handling不支持1.4.6 - 1.9.

  • 使用方法:

    /useblock <x> <y> <z>
    
  • 示例:

    /useblock 43 72 7
    

follow

  • 描述:

    使机器人跟随指定玩家。

    提示

    这个命令只有在 Follow Player启用时才能使用。

    提示

    您需要启用Inventory Handling 才能使这个机器人工作.

    提示

    您需要启用Enity Handling 才能使用这个功能

  • 使用方法:

    /follow <player name|stop>
    
  • 示例:

    /follow milutinke
    

wait

  • 描述:

    等待X个ticks(10ticks ≈1秒 仅限脚本中使用)

  • 使用方法:

    固定时间:

    /wait <time>
    

    随机时间:

    /wait <最短时间> to <最长时间>
    

    提示

    你可以使用-代替to

  • 示例:

    /wait 20
    
    /wait 20 to 100
    
    /wait 20-35
    

move

  • 描述:

    在启用地形和移动功能后进行简单的移动。

    提示

    您需要启用[Terrain and Movements]](configuration.md#terrainandmovements)才能使其工作

    警告

    “1.4.6-1.6”中当前不支持[Terrain and Movements](configuration.md#terrainandmovements)

  • 使用方法:

    /move <on|off|get|up|down|east|west|north|south|center|x y z|gravity [on|off]> [-f]: walk or start walking. "-f":强制不安全的动作,例如摔落或触碰火焰。
    
  • 示例:

    启用重力

    /move gravity on
    

    移动到坐标:

    /move 125 72 34
    

    移动到方块中央;

    /move center
    

命名事物

  • 描述:

    此命令允许您在打开铁砧物品栏和第一个插槽(插槽号0)中的项目时命名项目,(插槽的概念见下方库存管理)

    将物品放入砧座的第一个槽后,使用此命令,然后单击槽2以从砧座中获取物品,然后单击物品栏中的空槽。

  • 使用方法:

    /nameitem <name of the item>
    
  • 示例:

    /nameitem My super duper sword 2000
    
  • 带铁砧的完整示例:

    #打开一个铁砧
    

/useblock 12 74 321

#点击插槽12中的斧头 /inventory container click 12

#把斧头放在铁砧的0号槽上 /inventory container click 0

#设置一个新名称(重命名) /nameitem My fancy axe

#点击铁砧的2号槽 /inventory container click 2物品栏

#把斧头放回12号槽的库存中 /inventory container click 12

#关闭铁砧 /inventory container close ```

look

  • 描述:

    启用地形和移动后可指定视野方向

  • 使用方法:

    /look <x y z|yaw pitch|up|down|east|west|north|south>
    
  • 示例:

    /look up
    
    /look east
    

inventory

  • 描述:

    用于物品栏管理。

    提示

    你需要启用 物品栏处理 才能使这个机器人工作.

    警告

    Inventory Handling不支持1.4.6 - 1.9.

    MCC将物品栏定义为内部容器,所以玩家的物品栏、箱子、投掷器、发射器、漏斗、箱子矿车,木桶、熔炉等等,都被视为容器,每个容器都有它自己的ID,“容器”和“物品栏”两个词可以互换使用。

    物品栏内的每一个物品框都有对应的ID

    提示

    这个命令并不会去打开一个容器 (例如箱子),你需要先使用 useblock 去打开容器。

    一个用有ASCII码表示的物品框ID和物品列表的玩家背包:

    玩家物品栏

  • 使用方法:

    基本用法:

    /inventory <player|container|<id>> <action> [action parameters] | /inventory <inventories/i> | /inventory <search/s> <item type> [amount]
    

    提示

    ** player 和 container 可以相应地用p和c简化**

    动作:

    • click
    • drop

    显示/预览物品栏中的项目:

    /inventory <player|id>
    

    左键单击/shift+左键单击物品栏中的一个物品:

    /inventory <player|container|<id>> <click> <slot id> [left|right|middle|Shift|ShiftRight]
    

    提示

    如果不指明,默认左键单击

    关闭当前容器

    /inventory <player|container|<id>> close
    

    从容器/背包中丢出物品

    /inventory <player|id> drop <slot id> <number of items|all>
    

    提示

    要从指定物品框中丢出所有物品,可以使用:all

    从创造玩家的背包中拿出指定物品

    /inventory creativegive <slot id> <item type> <amount>
    

    提示

    所有物品id可以在here在新窗口打开找到。

    在创造模式下的玩家的背包中删除物品:

    /inventory creativedelete <slot id>
    

    显示所有的物品栏:

    /inventory inventories
    

    在物品栏中搜索指定类型的物品:

    /inventory search <item type>
    
  • 示例:

    显示玩家的物品栏:

    /inventory player
    

    使用id显示/预览项目:

    /inventory 3
    

    单击玩家背包内物品栏id为36的物品:

    /inventory player click 36
    

    右键单击 /id 2在物品栏中 /id 4的物品

    /inventory 2 click 4 right
    

    关闭一个id为 2 的物品栏:

    /inventory 2 close
    

    掉落玩家的物品栏中编号是 /id 36 的物品:

    /inventory player drop 36 1
    

    掉落玩家的物品栏中的全部编号是 /id 37 的物品:

    /inventory player drop 37 all
    

    从创造玩家的背包中拿出指定物品

    /inventory creativegive 36 diamondblock 64
    

    提示

    所有物品id可以在here在新窗口打开找到。

    在创造模式下删除玩家的物品栏中编号 /id 36的物品

    /inventory creativedelete 36
    

    在可用的物品栏中搜索10个史莱姆方块:

    /inventory s SlimeBlock 10
    

debug

  • 描述:

    切换调试消息,这对chat bot的开发人员很有用。

help

  • 描述:

    显示命令帮助。

    提示

    使用"/send /help" 获取服务器帮助