# 该项目已废弃 [//]: # (# Scrafitipty(暂定名称) - 脚本执行器) [//]: # () [//]: # (![Minecraft Fabric](https://img.shields.io/badge/Minecraft-1.21.4-green) ![Mod Loader](https://img.shields.io/badge/Mod%20Loader-Fabric-blue)) [//]: # () [//]: # (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") [//]: # () [//]: # (# 字符串转数字(需要手动实现)) [//]: # (# 当前版本暂不支持自动转换) [//]: # (```) [//]: # ()