# Food-Delivery-System **Repository Path**: titiankuang1/FoodDeliverySystem ## Basic Information - **Project Name**: Food-Delivery-System - **Description**: 模组简介 《外卖系统》是一个为 Minecraft 1.20.1(Forge)打造的完整「点外卖」模拟模组。它把现实中的 外卖链路搬进游戏:玩家可以开店当商家、接单当外卖员、用手机点餐当顾客,并配套一套 虚拟**货币体系、评价系统、智能外卖柜 / 打包袋寄存、配送导航 HUD与小地图航点**联动。 所有界面均为中文,并针对窗口 / 全屏做了自适应缩放,新手也能轻松上手。 - **Primary Language**: Java - **License**: LGPL-2.1 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-03 - **Last Updated**: 2026-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 我的世界外卖系统模组 (Food Delivery Mod) 一个完整的《我的世界》1.20.1 Forge 版本外卖系统模组,包含商家系统、外卖系统、顾客系统、货币系统等完整功能。 ## 功能特性 ### 🏪 商家系统 - 放置电脑方块即可开店 - 商品上架与定价 - 店铺设置(名称、营业状态) - 优惠活动设置(折扣、活动描述) - 订单管理 - 收入自动入账 ### 🛵 外卖系统 - 手机或接单宝接单 - 配送导航 GUI - 两步配送流程:取餐 → 送达 - 配送费自动结算(订单金额的 10%) - 外卖员评分系统 - 来单语音提示 ### 🛒 顾客系统 - 手机打开外卖 APP - 浏览附近营业中的店铺 - 查看商品详情、价格、折扣 - 购物车功能 - 在线支付 - 订单状态追踪 - 订单评价(1-5 星) - 历史订单查看 ### 💰 货币系统 - 三种货币物品:铜币(1)、银币(10)、金币(100) - 电子钱包系统 - 初始余额:100 铜币 - 自动收支结算 ### 💾 数据持久化 - 使用 Minecraft 内置的 SavedData 系统 - 世界保存时自动保存数据 - 世界加载时自动恢复数据 - 重启服务器/世界数据不丢失 ### ⌨️ 命令系统 - `/fd balance` - 查看余额 - `/fd shop` - 成为商家 - `/fd delivery` - 成为外卖员 - `/fd addmoney <金额>` - 增加余额(管理员) - `/fd help` - 显示帮助 ## 物品列表 | 物品 | 名称 | 用途 | |------|------|------| | 📱 | 手机 | 核心物品,右键打开外卖 APP | | 📦 | 外卖箱 | 外卖员装备 | | 🟠 | 铜币 | 面值 1 铜币 | | ⚪ | 银币 | 面值 10 铜币 | | 🟡 | 金币 | 面值 100 铜币 | | 🧾 | 订单小票 | 订单凭证 | | 📜 | 商家许可证 | 开店凭证 | | 🪪 | 外卖员证 | 外卖员凭证 | | 🖥️ | 电脑 | 放置后右键打开商家管理系统 | | 📟 | 接单宝 | 放置后右键打开接单界面 | ## 编译说明 ### 环境要求 - Java 17 - Gradle 7.x+ - Minecraft Forge 1.20.1-47.2.0 ### 编译步骤 1. **解压项目** ```bash unzip fooddelivery-mod.zip cd fooddelivery-mod ``` 2. **生成 Gradle Wrapper(如果没有)** ```bash gradle wrapper --gradle-version 7.6.1 ``` 3. **构建项目** ```bash # Windows gradlew.bat build # Linux/Mac ./gradlew build ``` 4. **获取编译产物** 编译成功后,模组 JAR 文件位于: ``` build/libs/fooddelivery-1.0.0.jar ``` ### 国内用户 Gradle 下载加速 如果 `gradle wrapper` 下载缓慢,可以手动下载 Gradle 并配置: 1. 从国内镜像下载 Gradle 7.6.1: - 华为云:https://mirrors.huaweicloud.com/gradle/gradle-7.6.1-bin.zip - 腾讯云:https://mirrors.cloud.tencent.com/gradle/gradle-7.6.1-bin.zip - 中科大:https://mirrors.ustc.edu.cn/gradle/gradle-7.6.1-bin.zip 2. 解压到本地目录 3. 将 Gradle 的 bin 目录添加到环境变量 PATH 4. 运行 `gradle wrapper --gradle-version 7.6.1` ### 开发调试 1. **生成运行环境** ```bash # Windows gradlew.bat genIntellijRuns # 或 gradlew.bat genEclipseRuns # Linux/Mac ./gradlew genIntellijRuns ``` 2. **运行客户端** ```bash # Windows gradlew.bat runClient # Linux/Mac ./gradlew runClient ``` 3. **运行服务器** ```bash # Windows gradlew.bat runServer # Linux/Mac ./gradlew runServer ``` ## 使用说明 ### 成为商家 **方法一:使用命令** 1. 输入 `/fd shop` 成为商家 2. 在创造模式物品栏找到「电脑」 3. 将电脑放置在地上 4. 右键点击电脑,打开商家管理系统 5. 设置店铺名称、上架商品、设置价格 6. 点击「开始营业」按钮 **方法二:直接放置电脑** 1. 放置电脑方块会自动绑定为商家 2. 右键电脑开始管理店铺 ### 成为外卖员 **方法一:使用命令** 1. 输入 `/fd delivery` 成为外卖员 2. 使用手机或放置接单宝开始接单 **方法二:使用接单宝** 1. 放置接单宝方块 2. 右键接单宝打开接单界面 3. 查看可接订单列表 4. 选择订单点击「接单」 5. 根据导航前往店铺取餐 6. 取餐后前往顾客位置送达 7. 送达后获得配送费 ### 点外卖 1. 右键使用「手机」打开外卖 APP 2. 点击「点外卖」 3. 浏览营业中的店铺 4. 选择商品加入购物车 5. 点击「结算」完成支付 6. 等待外卖员接单和配送 7. 收到外卖后可以评价 ### 查看余额 - 输入 `/fd balance` 查看当前余额 - 手机界面底部也会显示余额 ### 管理员增加余额 - 输入 `/fd addmoney <金额>` 增加指定金额的余额 - 需要管理员权限(权限等级 2) ## 配置文件 模组配置文件位于: - 服务端配置:`config/fooddelivery-common.toml` - 客户端配置:`config/fooddelivery-client.toml` ### 可配置项 - 玩家初始余额 - 配送费百分比 - 最大接单距离 - 来单提示音开关 - 导航 HUD 显示 - 提示音音量 ## 项目结构 ``` fooddelivery-mod/ ├── build.gradle # Gradle 构建配置 ├── gradle.properties # Gradle 属性 ├── settings.gradle # Gradle 设置 ├── generate_textures.py # 纹理生成脚本 └── src/ └── main/ ├── java/com/fooddelivery/mod/ │ ├── FoodDeliveryMod.java # 模组主类 │ ├── ModCreativeTab.java # 创造模式标签 │ ├── block/ # 方块相关 │ ├── blockentity/ # 方块实体相关 │ ├── client/ # 客户端初始化 │ ├── command/ # 命令系统 │ ├── config/ # 配置系统 │ ├── data/ # 数据层(业务逻辑) │ ├── event/ # 事件处理器 │ ├── item/ # 物品相关 │ ├── menu/ # 菜单(GUI)相关 │ ├── network/ # 网络数据包 │ ├── screen/ # 屏幕(GUI 渲染) │ └── sound/ # 声音系统 └── resources/ ├── META-INF/ │ └── mods.toml # 模组描述文件 ├── pack.mcmeta # 资源包元数据 └── assets/fooddelivery/ ├── blockstates/ # 方块状态 ├── lang/ # 语言文件 ├── models/ # 模型文件 ├── sounds.json # 声音定义 └── textures/ # 纹理图 ``` ## 注意事项 1. **数据持久化**:v1.1.0 及以上版本已支持数据持久化,重启服务器/世界数据不会丢失。 2. **声音文件**:模组已注册声音事件,但未包含实际的 OGG 声音文件。你可以自行添加声音文件到 `sounds` 目录。 3. **单世界**:当前版本数据按世界存储,不同世界数据独立。 4. **纹理图**:纹理图为简单的程序化生成,你可以自行替换为更精美的纹理。 5. **Gradle Wrapper**:项目未包含 Gradle Wrapper,需要先运行 `gradle wrapper` 生成。 ## 更新日志 ### v1.1.0 (最新) - ✅ 新增数据持久化功能,重启世界数据不丢失 - ✅ 新增命令系统(/fd 系列命令) - ✅ 完善手机界面按钮跳转功能 - ✅ 优化代码结构和注释 - ✅ 修复若干已知问题 ### v1.0.0 - 🎉 初始版本发布 - 🏪 完整的商家系统 - 🛵 完整的外卖系统 - 🛒 完整的顾客系统 - 💰 完整的货币系统 - 📱 手机 GUI 界面 - 🖥️ 电脑商家管理界面 - 📟 接单宝界面 ## 技术细节 - **模组 ID**:fooddelivery - **包名**:com.fooddelivery.mod - **版本**:1.1.0 - **Forge 版本**:1.20.1-47.2.0 - **Java 版本**:17 - **映射**:Official (Mojang) 映射 ## 许可证 MIT License ## 开源地址 / Source 本模组源码托管于 GitHub: **https://github.com/titiankuang/Food-Delivery-System** - 源码仓库:https://github.com/titiankuang/Food-Delivery-System - 问题反馈 / Issues:https://github.com/titiankuang/Food-Delivery-System/issues