Skip to content

XUANXUQAQ/mc-file-storage

Repository files navigation

MC File Storage Mod

一个创新的Minecraft Fabric模组,可以将任意文件转换为游戏内的方块结构,实现文件的物理存储和传输。

✨ 功能特色

  • 🗃️ 文件转方块:将任意文件压缩并编码为彩色方块结构
  • 🎯 智能布局:根据文件大小动态调整底面积(64x64 到 512x512)
  • 🧭 方向识别:使用L形红石标记自动识别数据延伸方向
  • 📏 尺寸标记:绿宝石块标记底面积大小,无需手动记忆
  • 异步生成:逐层生成动画,大文件不卡顿
  • 🔄 自动还原:一键从方块结构还原为原始文件
  • 🚀 无参数操作:自动检测层数和方向,操作简单

🎮 使用方法

保存文件到方块

  1. 在MC安装目录创建 storage_files 文件夹
  2. 将要存储的文件放入该文件夹
  3. 在游戏中执行命令:/savetoblock
  4. 系统会自动:
    • 压缩文件为ZIP格式
    • 转换为Base64编码
    • 计算最优底面积
    • 在玩家前方生成方块结构

从方块还原文件

  1. 站在方块结构附近
  2. 执行命令:/loadfromblock
  3. 系统会自动:
    • 检测红石块方向标记
    • 识别绿宝石块尺寸标记
    • 读取所有数据层
    • 解码并还原文件到 restored_files 文件夹

🔧 技术原理

方块映射系统

使用64种不同颜色的方块对应Base64的64个字符:

  • 0-15: 16种羊毛
  • 16-31: 16种染色玻璃
  • 32-47: 16种混凝土
  • 48-63: 16种陶瓦

智能标记系统

方向标记(红石块)

  • L形布局,3个红石块
  • 开口方向指示数据延伸方向
  • 支持北、南、东、西四个方向

尺寸标记(绿宝石块)

  • 放置在L形后方
  • 数量表示底面积大小
  • 1个 = 64x64,2个 = 128x128,依此类推

动态底面积计算

底面积 = max(64, min(512, ⌈√(文件大小/256层)⌉ 向上取整到64倍数))
  • 小文件:64x64 底面积
  • 中等文件:128x128、192x192、256x256
  • 大文件:最大 512x512
  • 最大容量:约 67MB(512×512×256×6位)

📦 安装要求

  • Minecraft: 1.21.x
  • Fabric Loader: 最新版本
  • Fabric API: 必需

🛠️ 开发环境搭建

  1. 克隆仓库:
git clone <repository-url>
cd mc-file-storage
  1. 运行开发环境:
./gradlew runClient
  1. 构建模组:
./gradlew build

构建的jar文件位于 build/libs/ 目录

📋 指令列表

指令 功能 参数
/savetoblock 将文件转换为方块
/loadfromblock 从方块还原文件

💡 使用示例

存储文档文件

1. 创建 MC安装目录/storage_files/
2. 放入文件:document.pdf, image.png, data.zip
3. 游戏内执行:/savetoblock
4. 看到进度:正在生成第 3/8 层...
5. 完成:方块生成完成! 共 8 层,底面积 128x128

还原备份文件

1. 靠近之前生成的方块结构
2. 执行:/loadfromblock  
3. 系统消息:正在自动检测并还原方块数据...
4. 完成:文件已还原到 MC安装目录/restored_files/

⚠️ 注意事项

  • 单次最大文件大小约 67MB
  • 大文件会生成很大的方块结构,注意选择空旷位置
  • 方块结构会持久保存在世界中
  • 删除方块结构会导致数据丢失
  • 建议在创造模式下使用

🐛 故障排除

常见问题

Q: 提示"storage_files 文件夹不存在" A: 在MC安装目录(.minecraft或游戏根目录)创建 storage_files 文件夹

Q: 生成的方块结构过大 A: 压缩文件或分批处理,单个文件建议小于10MB

Q: 无法还原文件 A: 确保站在红石块标记附近,检查方块结构是否完整

Q: 还原的文件损坏 A: 检查方块结构是否被破坏,重新从备份还原

🤝 贡献

欢迎提交Issue和Pull Request来改进这个模组!

📄 开源协议

本项目采用 GPL-3.0 协议,详见 LICENSE 文件。


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages