Compare commits
No commits in common. "master" and "1.14.514.005" have entirely different histories.
master
...
1.14.514.0
295
README.md
295
README.md
@ -1,191 +1,106 @@
|
||||
# 该项目已废弃
|
||||
# Scrafitipty(暂定名称) - 脚本执行器
|
||||
|
||||
 
|
||||
|
||||
Scrafitipty(暂定名称) 是一个 Minecraft Fabric Mod,允许玩家在游戏中运行自定义脚本来自动化任务、扩展游戏功能。它提供了一个类似 Python 的脚本语言解释器,让玩家可以编写简单的脚本来控制游戏行为。
|
||||
|
||||
> **重要提示**
|
||||
> 此 Mod 仍处于**半成品阶段**,功能有限且可能存在不稳定性。脚本语法只是**表面上类似 Python**,但**并未使用真正的 Python 解释器**。
|
||||
|
||||
### 基本命令
|
||||
|
||||
| 命令 | 描述 | 示例 |
|
||||
|------|------|------|
|
||||
| `/scrafitipty run <脚本名>` | 运行指定脚本 | `/scrafitipty run example_script` |
|
||||
| `/scrafitipty open <脚本名>` | 打开脚本文件 | `/scrafitipty open example_script` |
|
||||
| `/scrafitipty open_folder` | 打开脚本文件夹 | `/scrafitipty open_folder` |
|
||||
| `/scrafitipty list` | 列出所有可用脚本 | `/scrafitipty list` |
|
||||
| `/scrafitipty delete <脚本名>` | 删除脚本 | `/scrafitipty delete old_script` |
|
||||
|
||||
首次使用时,系统会自动在游戏目录下创建 `Scrafitipty_scripts` 文件夹,并生成一个示例脚本 `example_script.py`。
|
||||
|
||||
### 脚本位置
|
||||
所有脚本都存储在 Minecraft 根目录下的 `Scrafitipty_scripts` 文件夹中:
|
||||
```
|
||||
.minecraft/
|
||||
└── Scrafitipty_scripts/
|
||||
├── example_script.py
|
||||
└── your_scripts_here.py
|
||||
```
|
||||
|
||||
### 基本语法
|
||||
|
||||
Scrafitipty 使用类似 Python 的语法,但请注意:
|
||||
- **不是真正的 Python** - 这是一个简化版的自定义脚本语言
|
||||
- 支持变量、条件语句(`if`/`else`)、循环(`while`)
|
||||
- 使用缩进(4个空格)表示代码块
|
||||
- 支持单行注释(以 `#` 开头)
|
||||
|
||||
### 内置函数
|
||||
|
||||
#### 游戏交互
|
||||
|
||||
| 函数 | 参数 | 描述 | 示例 |
|
||||
|------|------|------|------|
|
||||
| `send_chat(message)` | `message`: 字符串 | 发送聊天消息 | `send_chat("Hello Minecraft!")` |
|
||||
| `send_command(command)` | `command`: 字符串 | 执行游戏命令 | `send_command("time set day")` |
|
||||
| `print_output(message)` | `message`: 字符串 | 显示仅自己可见的消息 | `print_output("脚本运行中...")` |
|
||||
| `get_player_x()` | 无 | 获取玩家 X 坐标 | `x = get_player_x()` |
|
||||
| `get_player_y()` | 无 | 获取玩家 Y 坐标 | `y = get_player_y()` |
|
||||
| `get_player_z()` | 无 | 获取玩家 Z 坐标 | `z = get_player_z()` |
|
||||
| `get_player_dimension()` | 无 | 获取玩家当前维度 | `dim = get_player_dimension()` |
|
||||
| `get_time()` | 无 | 获取游戏时间 | `time = get_time()` |
|
||||
| `get_block_id(x, y, z)` | `x, y, z`: 数字 | 获取指定位置的方块ID | `block = get_block_id(0, 64, 0)` |
|
||||
| `crash_game()` | 无 | 崩溃游戏(测试用) | `crash_game()` |
|
||||
| `sleep(milliseconds)` | `milliseconds`: 数字 | 延迟执行 | `sleep(2000) # 等待2秒` |
|
||||
|
||||
#### 实用功能
|
||||
|
||||
| 函数 | 参数 | 描述 | 示例 |
|
||||
|------|------|------|------|
|
||||
| `get_random_number(min, max)` | `min, max`: 数字 | 生成随机整数 | `rand = get_random_number(1, 100)` |
|
||||
| `execute_system_command(command)` | `command`: 字符串 | 执行系统命令(**危险!**) | `execute_system_command("notepad.exe")` |
|
||||
|
||||
### 数据类型
|
||||
|
||||
- **数字**:整数和浮点数(`123`, `3.14`)
|
||||
- **字符串**:用双引号包围(`"Hello"`)
|
||||
- **布尔值**:`true` 和 `false`
|
||||
- **变量**:动态类型,无需声明类型
|
||||
|
||||
### 控制结构
|
||||
|
||||
#### 条件语句
|
||||
```python
|
||||
if condition:
|
||||
# 条件为真时执行
|
||||
else:
|
||||
# 条件为假时执行
|
||||
```
|
||||
|
||||
#### 循环
|
||||
```python
|
||||
count = 0
|
||||
while count < 5:
|
||||
print_output("计数: " + str(count))
|
||||
count = count + 1
|
||||
sleep(500)
|
||||
```
|
||||
|
||||
### 运算符
|
||||
|
||||
| 类型 | 运算符 | 示例 |
|
||||
|------|--------|------|
|
||||
| 算术 | `+`, `-`, `*`, `/` | `result = 10 + 5` |
|
||||
| 比较 | `==`, `!=`, `<`, `>`, `<=`, `>=` | `if x > 10: ...` |
|
||||
| 逻辑 | `and`, `or`, `not` | `if a and b: ...` |
|
||||
|
||||
### 类型转换
|
||||
```python
|
||||
# 转换为字符串
|
||||
str_value = str(123) # "123"
|
||||
|
||||
# 字符串转数字(需要手动实现)
|
||||
# 当前版本暂不支持自动转换
|
||||
```
|
||||
|
||||
|
||||
[//]: # (# Scrafitipty(暂定名称) - 脚本执行器)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # ( )
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (Scrafitipty(暂定名称) 是一个 Minecraft Fabric Mod,允许玩家在游戏中运行自定义脚本来自动化任务、扩展游戏功能。它提供了一个类似 Python 的脚本语言解释器,让玩家可以编写简单的脚本来控制游戏行为。)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (> **重要提示** )
|
||||
|
||||
[//]: # (> 此 Mod 仍处于**半成品阶段**,功能有限且可能存在不稳定性。脚本语法只是**表面上类似 Python**,但**并未使用真正的 Python 解释器**。)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (### 基本命令)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (| 命令 | 描述 | 示例 |)
|
||||
|
||||
[//]: # (|------|------|------|)
|
||||
|
||||
[//]: # (| `/scrafitipty run <脚本名>` | 运行指定脚本 | `/scrafitipty run example_script` |)
|
||||
|
||||
[//]: # (| `/scrafitipty open <脚本名>` | 打开脚本文件 | `/scrafitipty open example_script` |)
|
||||
|
||||
[//]: # (| `/scrafitipty open_folder` | 打开脚本文件夹 | `/scrafitipty open_folder` |)
|
||||
|
||||
[//]: # (| `/scrafitipty list` | 列出所有可用脚本 | `/scrafitipty list` |)
|
||||
|
||||
[//]: # (| `/scrafitipty delete <脚本名>` | 删除脚本 | `/scrafitipty delete old_script` |)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (首次使用时,系统会自动在游戏目录下创建 `Scrafitipty_scripts` 文件夹,并生成一个示例脚本 `example_script.py`。)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (### 脚本位置)
|
||||
|
||||
[//]: # (所有脚本都存储在 Minecraft 根目录下的 `Scrafitipty_scripts` 文件夹中:)
|
||||
|
||||
[//]: # (```)
|
||||
|
||||
[//]: # (.minecraft/)
|
||||
|
||||
[//]: # (└── Scrafitipty_scripts/)
|
||||
|
||||
[//]: # ( ├── example_script.py)
|
||||
|
||||
[//]: # ( └── your_scripts_here.py)
|
||||
|
||||
[//]: # (```)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (### 基本语法)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (Scrafitipty 使用类似 Python 的语法,但请注意:)
|
||||
|
||||
[//]: # (- **不是真正的 Python** - 这是一个简化版的自定义脚本语言)
|
||||
|
||||
[//]: # (- 支持变量、条件语句(`if`/`else`)、循环(`while`))
|
||||
|
||||
[//]: # (- 使用缩进(4个空格)表示代码块)
|
||||
|
||||
[//]: # (- 支持单行注释(以 `#` 开头))
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (### 内置函数)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (#### 游戏交互)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (| 函数 | 参数 | 描述 | 示例 |)
|
||||
|
||||
[//]: # (|------|------|------|------|)
|
||||
|
||||
[//]: # (| `send_chat(message)` | `message`: 字符串 | 发送聊天消息 | `send_chat("Hello Minecraft!")` |)
|
||||
|
||||
[//]: # (| `send_command(command)` | `command`: 字符串 | 执行游戏命令 | `send_command("time set day")` |)
|
||||
|
||||
[//]: # (| `print_output(message)` | `message`: 字符串 | 显示仅自己可见的消息 | `print_output("脚本运行中...")` |)
|
||||
|
||||
[//]: # (| `get_player_x()` | 无 | 获取玩家 X 坐标 | `x = get_player_x()` |)
|
||||
|
||||
[//]: # (| `get_player_y()` | 无 | 获取玩家 Y 坐标 | `y = get_player_y()` |)
|
||||
|
||||
[//]: # (| `get_player_z()` | 无 | 获取玩家 Z 坐标 | `z = get_player_z()` |)
|
||||
|
||||
[//]: # (| `get_player_dimension()` | 无 | 获取玩家当前维度 | `dim = get_player_dimension()` |)
|
||||
|
||||
[//]: # (| `get_time()` | 无 | 获取游戏时间 | `time = get_time()` |)
|
||||
|
||||
[//]: # (| `get_block_id(x, y, z)` | `x, y, z`: 数字 | 获取指定位置的方块ID | `block = get_block_id(0, 64, 0)` |)
|
||||
|
||||
[//]: # (| `crash_game()` | 无 | 崩溃游戏(测试用) | `crash_game()` |)
|
||||
|
||||
[//]: # (| `sleep(milliseconds)` | `milliseconds`: 数字 | 延迟执行 | `sleep(2000) # 等待2秒` |)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (#### 实用功能)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (| 函数 | 参数 | 描述 | 示例 |)
|
||||
|
||||
[//]: # (|------|------|------|------|)
|
||||
|
||||
[//]: # (| `get_random_number(min, max)` | `min, max`: 数字 | 生成随机整数 | `rand = get_random_number(1, 100)` |)
|
||||
|
||||
[//]: # (| `execute_system_command(command)` | `command`: 字符串 | 执行系统命令(**危险!**) | `execute_system_command("notepad.exe")` |)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (### 数据类型)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (- **数字**:整数和浮点数(`123`, `3.14`))
|
||||
|
||||
[//]: # (- **字符串**:用双引号包围(`"Hello"`))
|
||||
|
||||
[//]: # (- **布尔值**:`true` 和 `false`)
|
||||
|
||||
[//]: # (- **变量**:动态类型,无需声明类型)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (### 控制结构)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (#### 条件语句)
|
||||
|
||||
[//]: # (```python)
|
||||
|
||||
[//]: # (if condition:)
|
||||
|
||||
[//]: # ( # 条件为真时执行)
|
||||
|
||||
[//]: # (else:)
|
||||
|
||||
[//]: # ( # 条件为假时执行)
|
||||
|
||||
[//]: # (```)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (#### 循环)
|
||||
|
||||
[//]: # (```python)
|
||||
|
||||
[//]: # (count = 0)
|
||||
|
||||
[//]: # (while count < 5:)
|
||||
|
||||
[//]: # ( print_output("计数: " + str(count)))
|
||||
|
||||
[//]: # ( count = count + 1)
|
||||
|
||||
[//]: # ( sleep(500))
|
||||
|
||||
[//]: # (```)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (### 运算符)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (| 类型 | 运算符 | 示例 |)
|
||||
|
||||
[//]: # (|------|--------|------|)
|
||||
|
||||
[//]: # (| 算术 | `+`, `-`, `*`, `/` | `result = 10 + 5` |)
|
||||
|
||||
[//]: # (| 比较 | `==`, `!=`, `<`, `>`, `<=`, `>=` | `if x > 10: ...` |)
|
||||
|
||||
[//]: # (| 逻辑 | `and`, `or`, `not` | `if a and b: ...` |)
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (### 类型转换)
|
||||
|
||||
[//]: # (```python)
|
||||
|
||||
[//]: # (# 转换为字符串)
|
||||
|
||||
[//]: # (str_value = str(123) # "123")
|
||||
|
||||
[//]: # ()
|
||||
[//]: # (# 字符串转数字(需要手动实现))
|
||||
|
||||
[//]: # (# 当前版本暂不支持自动转换)
|
||||
|
||||
[//]: # (```)
|
||||
|
||||
[//]: # ()
|
||||
|
Loading…
x
Reference in New Issue
Block a user