# MC Command Coder
**Repository Path**: AnNight/mc-command-coder
## Basic Information
- **Project Name**: MC Command Coder
- **Description**: MCC 为编写《我的世界》中的游戏命令,提供了一个“模板—参数”模式的生成命令方法和一些小工具。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://gitee.com/AnNight/mc-command-coder
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-06-25
- **Last Updated**: 2023-10-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Javafx
## README
# MC Command Coder (MCC)
## 介绍
MCC 为编写《我的世界》中的游戏命令,提供了一个“模板—参数”模式的生成命令方法和一些小工具。
## 下载
### MC Command Coder-1.6
* [MC Command Coder-1.6](https://gitee.com/AnNight/mc-command-coder/releases)
## MCC 使用方法
### 用户界面
MCC 提供了两种工作视图。
1. 编辑视图: 在此视图下编辑 "**MCC模板**"。
> 点击顶部菜单栏中的 `视图 - 编辑视图`, 或按下 `Ctrl+Shift+E` 来切换到 "**编辑视图**".
2. 应用视图: 在此视图下编辑 "**参数**" 和复制生成出的 MC 命令。
> 点击顶部菜单栏中的 `视图 - 应用视图`, 或按下 `Ctrl+Shift+A` 来切换到 "**应用视图**".
### 模板
模板是一组MC命令,其中可能包含前缀关键字或参数。
如果模板中有参数,您可以填写参数列表。当生成命令时,MCC将使用您填写的参数值替换模板中的参数。
#### 前缀关键字
在编辑视图中,您可以在每行文本的开头添加前缀关键字。
* `#`:注释。这个符号仅在位于行首时生效。解析时跳过该行内容。
* 无前缀:脉冲命令方块。
* `-`:连锁命令方块。
* `+`:循环命令方块。
* `&`:条件制约命令方块。这个符号可与无前缀、`-`和`+`连用,表示对应的条件制约命令方块,例如`&`,`-&`,`&+`。
### 编辑 - 生成参数
该功能在模板中搜索可以匹配`${parameter_key}`格式的项,并将花括号中的内容作为参数名字记入参数列表。
> 点击顶部菜单栏中的 `编辑 - 生成参数`, 或按下 `Ctrl+R` 来使用 "**生成参数**".
### 编辑 - 生成命令
1. 检测参数列表是否与模板匹配。
2. 如果匹配,则使用参数列表中填写的值,填入命令,并输出结果。
> 点击顶部菜单栏中的 `编辑 - 生成命令`, 或按下 `Ctrl+G` 来使用 "**生成命令**".
### 示例
1. 打开 MCC 程序.

2. 输入一些 MC 命令.

代码
```text
# 这是1.12.2及之前版本的示例.
# 第 2 步
#
# 前置条件
# 1. 一个名为 "Coin" 的记分项, 用于记录玩家的财产.
#
# 以下命令可以向玩家出售1个苹果换取5个硬币.
scoreboard players tag @p add sell苹果
scoreboard players add @a[tag=sell苹果] Coin 0
tellraw @a[tag=sell苹果,score_Coin=4] [{"text":"["},{"text":"商店","color":"light_purple","bold":true},{"text":"] "},{"text":"你的硬币不够。","color":"red"}]
tellraw @a[tag=sell苹果,score_Coin_min=5] [{"text":"["},{"text":"商店","color":"light_purple","bold":true},{"text":"] "},{"text":"成功以 ","color":"green"},{"text":"5 金币","color":"white","bold":true},{"text":" 的价格卖给你 ","color":"green"},{"text":"1 个苹果","color":"white","bold":true},{"text":"。","color":"green"}]
give @a[tag=sell苹果,score_Coin_min=5] minecraft:apple 1 0
scoreboard players remove @a[tag=sell苹果,score_Coin_min=5] Coin 5
scoreboard players tag @a[tag=sell苹果] remove sell苹果
```
3. 插入 "**前缀关键字**" 并将变量部分作为参数, 替换为 `${参数名}`.

代码
```text
# 这是1.12.2及之前版本的示例.
# 第 3 步
#
# 前置条件
# 1. 一个名为 "Coin" 的记分项, 用于记录玩家的财产.
#
# 以下命令是一个模板, 用于向玩家出售一些物品以换取一些硬币.
scoreboard players tag @p add sell${商品显示名称}
-scoreboard players add @a[tag=sell${商品显示名称}] Coin 0
-tellraw @a[tag=sell${商品显示名称},score_Coin=${价格-1}] [{"text":"["},{"text":"商店","color":"light_purple","bold":true},{"text":"] "},{"text":"你的硬币不够。","color":"red"}]
-tellraw @a[tag=sell${商品显示名称},score_Coin_min=${价格}] [{"text":"["},{"text":"商店","color":"light_purple","bold":true},{"text":"] "},{"text":"成功以 ","color":"green"},{"text":"${价格} 金币","color":"white","bold":true},{"text":" 的价格卖给你 ","color":"green"},{"text":"${数量} 个${商品显示名称}","color":"white","bold":true},{"text":"。","color":"green"}]
-give @a[tag=sell${商品显示名称},score_Coin_min=${价格}] ${商品名称} ${数量} 0
-scoreboard players remove @a[tag=sell${商品显示名称},score_Coin_min=${价格}] Coin ${价格}
-scoreboard players tag @a[tag=sell${商品显示名称}] remove sell${商品显示名称}
```
4. 点击顶部菜单栏中的 `视图 - 应用视图`, 或按下 `Ctrl+Shift+A` 切换到 "**应用视图**".

5. 点击顶部菜单栏中的 `编辑 - 生成参数`, 或按下 `Ctrl+R` 来使用 "**生成参数**".

6. 填写参数列表.

7. 点击顶部菜单栏中的 `编辑 - 生成命令`, 或按下 `Ctrl+G` 来使用 "**生成命令**".

8. 使用复制按钮复制输出命令.
9. 重复填写参数列表并生成命令,以使用这个MCC模板.
## 工具
### 数据标签工具
1. 附魔

2. 属性

### 对角坐标转换区域

### 转义文本

## 关于
作者:廖浩龙(Liao Haolong)
邮箱:An_Night@qq.com
邮箱:ALiaoHaolong@qq.com
***
Copyright (C) 2021 Liao Haolong.