yuhang2006 发表于 2024-3-1 10:38:05

小白向 从基础讲解安卓与苹果端MC的文件机制

本帖最后由 893033655 于 2024-3-1 12:14 编辑

作为一名热心网友,我在浏览悬赏帖时发现许多新手玩家对MC的文件机制不懂,比如模组导入失败,找不到市场下载内容,困扰于内部储存与外部储存,等等。于是我决定写一篇关于安卓端与苹果端MC文件管理机制的教程,让新手MC玩家们更加深入的了解MC。



首先是安卓与苹果的通用讲解部分,也就是MC的存档文件、包文件以及MC专用文件格式mcpack、mcaddon、mcworld的讲解部分。MC的存档文件位于游戏目录/minecraftWorlds里,这里面是我们创建的存档的文件夹,一个存档一个单独的文件夹,每个存档文件夹的名字都是一些看起来无意义的字符,进入这些存档的文件夹里面,有一个levelname.txt文件,这里面是存档的名字;还有个level.dat文件,这是存档的配置文件,储存着游戏的模式是生存还是创造,,种子是多少,作弊没有;还有一个db文件夹,这里面是世界的数据,包含玩家的数据、地图的数据等等,特别重要。MC的资源包位于游戏目录/resource_packs里,行为包位于behavior_packs里,皮肤包位于skin_packs里,这里面放着我们导入的各种包,一个包一个文件夹,文件夹里面就是包的数据,这些包里面都有一个manifest.json,这个文件也是十分重要,储存着包的信息,比如包叫什么名字,是个什么包,作者是谁,包的简介,包的版本。说到MC的专用文件,让我们先从基础讲起,文件一般都有一个后缀名,这个后缀名可以告诉用户以及软件这个文件是什么类型的文件,后缀名一般位于文件名字的末尾,与文件前段名字用“.”分割开来,比如一个文件全名为“世界.mcworld”,那么它的后缀名就是.mcworld。一般的文件管理器都会显示文件的后缀名,如果没有就去文件管理器的设置里调或者换个文件管理器,安卓端推荐MT管理器。后缀名代表着文件的类型,mcworld指的是MC的世界存档文件,mcpack指的是MC的单个包文件,可以是行为包资源包皮肤包,mcaddon指的是MC的插件包集合,里面可以是一个包,也可以是很多个包。这些文件虽然后缀名挺长的,但是其实它们都是zip压缩包格式的文件,都可以把后缀名改成zip然后解压缩。想让MC识别这些文件,必须遵守一定的规范,不然无法识别,下面来讲一下这些文件的规范。mcworld格式的文件是存档内许多个文件及文件夹被压缩于压缩包根目录下,而不是压缩包根目录下只有一个存档文件夹,里面才是存档数据,这样MC是识别不了的;mcpack同理,也是将包内多个文件及文件夹压缩于压缩包根目录下才是标准格式;mcaddon有所不同,mcaddon可以是多个包的集合体,压缩包根目录下可以是一个包,也可以是多个包,再往下才是包数据。




接下来要讲的是安卓端MC的文件机制。安卓端MC是运行于Android系统的Minecraft基岩版,可能有的玩家会问什么是Android啊,我用的是小米/华为/vivo/OPPO……,其实,现在除了华为正在开发的纯血鸿蒙(现在的鸿蒙4.0仍然兼容安卓)和苹果外,这些主要手机厂商的系统都是基于Android系统进行定制的,本质都是安卓系统。
早期的安卓端MC的游戏文件是储存在内部储存/games/com.mojang文件夹里面的,里面有minecraftWorlds文件夹(世界存档文件夹)、resource_packs文件夹(资源包文件夹)、behavior_packs文件夹(行为包文件夹)、skin_packs文件夹(皮肤包文件夹),以及其他文件夹。在前几年的更新中,MC为了响应谷歌的安全机制,将游戏目录从原来的位置改到了应用程序目录。这里就要讲一下安卓系统的软件数据是怎么储存的了。安卓系统的软件拥有两个数据目录(如果软件不申请储存权限的话),一个位于/data/data/软件包名,一个位于/内部储存/Android/data/软件包名,其中的区别在于前者是完全的私有目录,一般只有软件自己可以访问,其他软件无权访问,后者在Android13以前可以随便访问,Android13及以后需要自带文件管理框架单独授权才能访问。更新后的MC在设置里提供了内部储存与外部储存两个选项,其中内部储存就是前面说的/data/data目录,外部储存就是内部储存/Android/data目录。MC默认采取内部储存,如果我们不设置的话游戏文件就会一直在/data/data里面的MC目录里面,想导出没权限,想导入没权限,属于是处处受限;而我们选择外部储存,游戏文件就会储存到内部储存/Android/data/com.mojang.minecraftpe目录里面,我们可以使用诸如MT管理器之类的多功能文件管理器把自己的存档随意导出导入,也可以直接手动导入资源包行为包,方便了不少。建议大家将文件储存位置改成外部,这样管理游戏文件更加方便。当然,如果你有root权限就当我没说。顺带一提,无论你选择什么储存位置,在市场中下载的东西始终会储存在/data/data里面的MC目录中,普通用户无法访问,导出不了,或许是mojang对市场内容的保护。当然,还是那句话,如果你有root权限当我没说。


现在我们来讲苹果端的MC。苹果端的MC指的是运行于苹果手机iOS系统上的Minecraft基岩版。iOS系统的软件数据目录一般是一个,也可以是两个。每个软件都有一个自己的数据目录,位于/var/mobie/Containers/Data/Application里面,这个目录在自带文件管理中是看不到的,部分软件会在“我的iPhone”目录中创建文件夹用于储存数据,可以使用自带文件管理访问,比如MC会在我的iPhone目录创建一个Minecraft目录。苹果端的MC的游戏数据放在我的iPhone/games/com.mojang里面,世界存档以及各种包的文件都在里面,我们可以手动导入存档或者包文件进入MC的文件夹,也可以通过文件扩展名自动导入。受到iOS严格的软件审核,App Store不允许拥有完整文件管理能力的文件管理器上架App Store,因此在一般情况下,iOS管理文件的最佳方式是自带的文件管理器。苹果端的MC市场下载内容储存在/var/mobie/Containers/Data/Application的MC目录里面,自带文件管理器无法访问,所以一般也导出不了。当然,如果你已经越狱然后安装第三方文件管理器或者安装了巨魔商店签名版Filza,这个目录当然随便访问。


好了,看完这篇教程,想必新玩家对MC的文件机制应该有一定的概念了吧,希望这篇教程能帮助那些困惑于此的新玩家们。

拒绝_允许 发表于 2024-3-1 17:39:20

iOS有btr吗

腾讯流浪记 发表于 2024-3-3 18:34:12

懂了,回去研究

无机观察者 发表于 2024-8-9 07:53:32

非常好帖子
页: [1]
查看完整版本: 小白向 从基础讲解安卓与苹果端MC的文件机制