一个关于模组本地化小工具的想法

我还在努力学编程中,只是把我的想法描述出来,要是谁能够做出来最好不过了。


最近一直在维护本地化仓库,本地化仓库除了汉化最头疼之外,检索更新汉化也是最机械且无聊的。目前的大部分本地化更新工具都只是读取英文文件和中文文件,然后进行更新,并不能做到批量读取mod、更新汉化文件、自定生成到材质包文件中。

这里我将我的需求和基本想法列出来,供大家参考。

现在有两个文件夹,一个是mods文件夹,里面装了好多mod文件。另一个是资源包文件夹。

mod文件中语言文件路径大致结构都是相同的(此处拿林业举例子)

.
└─assets
   └─forestry    
       └─lang
         ├─en_us.lang
         └─zh_cn.lang

如果有这么一个工具,我的工作量就能小很多,至少不用再费劲自己一个个拆包分析了。


Minecraft模组正在走向衰退?

以独幕剧形式表达个人主观观点,经供参考


作为一个专做Minecraft模组教程的作者来说,我时常看到一个有趣的观点:

为了能够更加清晰的表达我的观点,我决定以独幕剧形式来演绎你们的想法和我的想法。不过在此之前,先说明几个重要的东西:

简而言之一句话:
国内:mod -> 玩家
国外:mod -> 魔改整合包 -> 玩家

独幕剧:大热的模组有不少是靠着自身OP的产能和抄袭挤压了老牌科技模组的生存空间。

mod -> 玩家 的社区

玩家A:我做了个kitchen sink整合包,里面有个新模组和老牌模组功能差不多,产能比他们高很多,玩起来就是爽。我怎么管不住这手呢。下载下载下载!
玩家B:这些大热的模组靠着OP的产能和抄袭挤压了老牌模组生存空间,手法太卑鄙了。
Modder:?????我不是留了配置文件么?为啥骂我?

mod -> 魔改整合包 -> 玩家 的社区

整合包作者:我做了一个魔改整合包,里面有个新模组和老牌模组功能差不多,但是提供的接口和配置非常全面,修改起来起来就是爽。我怎么管不住这手呢。下载下载下载!
玩家B:这些大热的模组靠着良好的接口和全面的配置文件,抄袭挤压了老牌模组生存空间,手法太卑鄙了。
Modder:????良好的接口和全面的配置文件也要被骂?

mod -> 魔改整合包 -> 玩家 的社区

整合包作者:大家好,我是一个超级喜欢魔改的整合包作者,大家都叫我“赵改天”。上改天,下改地,中间还能改空气。看,这是一个落单的模组,它的创意非常独到,我想一定会有很多玩家喜欢他的。不过,这东西……有点太多了吧,这加进去我的整合包科技线都打乱了,我去问问作者。
Modder(创意独到的模组):啊?这是我随便想到一点东西就加进去做出的模组,这个功能分出来得花点时间,下次吧。
一万年以后
Mooder(肝功能十足):大家好,我是一个肝功能十足的Modder,专门探寻社区需求。今天听闻一个模组的某个点子很不错,我打算抄过来做成独立模组。我先看看协议……嗯……MIT?!太棒了,抄抄抄!
整合包作者:大家好我是赵改天,今天有个Modder做了个独立小模组,添加了这个创意,太棒了,这正是我需要的!加加加!

mod -> 魔改整合包 -> 玩家 的社区

整合包作者:快更新!好多模组都跟进版本了!没有你我都没法做包了。
Modder(创意独到的模组):最近肝功能硬化,让我休息一下。
一万年以后
Mooder(肝功能十足):大家好,我是一个肝功能十足的Modder,专门探寻社区需求。今天听闻一个模组的某个点子很不错,但是迟迟不更新新版本,活人总不能被尿憋死吧。我打算抄过来做成另一个模组。我先看看协议……嗯……MIT?!太棒了,抄抄抄!

一个全是Modder的社区

A:弃坑了,不干了!这个模组我不更新了!
B:我帮你更新吧。
(瞅了一眼代码,瞬间懵逼)
B:我的天,老哥你这代码写的……得,我重新做一个新的吧。
C:老哥稳,早看这代码不爽了,每次做兼容能气死我。
D:+1
E:+2
F:+10086
……

一个全是玩家的社区

A:诶,新版本怎么有个功能相似的模组?而且大家怎么都跑去用它了,老模组做的多好啊。这功能也少了不少啊。
B:老模组没更新,总不能让大家都等它吧。
A:原作者当然不更新啦,抄袭的模组把它的生存空间都挤占了,我要是作者我也不想更新了。
C:就是就是,就算很不方便,我也不用这个抄袭模组!
D:模组社区这是怎么了,抄袭之风盛行,就不能做点创新么?
E:+1
F:+10086
……


基于Mkdocs和ReadTheDocs的文档网站的构建

学习心得,记录一下


事情发生的原因也实属偶然,昨天再看Sponge的教程时候,偶然间看到了它的文档网站制作精良,界面好看。又突然想起我前几天折腾太玄的lua教程文档时候的繁琐程度,加之不喜欢gitbook和github wiki的界面。于是决定尝试去好好研究下这个网站用的是什么框架构架的。

最后研究出结论:

能够免费构建markdown语法书写的文档?!这一下就打动了我,研究一番后写出这面简单的心得,分享给大家。

相关链接:

1.Mkdocs环境的构建

实际上,如果你的电脑操作系统是Windows的话,不推荐你了解这一部分。Windows下开发环境的构建一直为人所诟病,而且这个环境的搭建仅仅是方便实时调试用,只需要写好一个yml配置文件,导入ReadTheDocs网站,该网站会自动构建文档网页。所以费时费力去折腾环境搭建违背了本篇教程的本意。

但是你的电脑是Linux系统就另当别论了,只需要如下指令即可安装Mkdocs:

$ pip install mkdocs

需要注意这个框架是用Python写的,请务必保证你的Python的安装。

之后的常用指令只有这几个:

指令用途
mkdocs new构建一个新的mkdocs工程
mkdocs serve在本机构建出调试用的文档网页
mkdocs build在本机构建出实际可用的文档网页
mkdocs gh-deploy将你写的文档部署到github page

当我们构建了新的工程之后,工程结构也很简单,基本上是如下样子

.
├── docs
│   └── index.md
└── mkdocs.yml

mkdocs.yml文件是配置文件,到时候ReadTheDocs自动构建时候,也是是别的文件主目录下的这个配置文件。

docs文件夹是放置文档的地方,里面的index.md就是文件的索引了。

2.配置文件的书写

官方文档讲了一堆堆配置文件,我只挑一些重要的来说下,有一个pages相关配置死活有问题。

site_name: Mkdocs教程
theme: readthedocs
repo_url: https://github.com/TartaricAcid/Mkdocs
site_favicon: favicon.ico
copyright: 酒石酸的测试项目

来解释下每个配置啥意思,除了site_name是必须要有的,其他的都可选。

然后随意在你的docs文件夹下放置markdown文件吧,框架会很智能的将这个文件夹下所有的md文件均加载上去,并按照文件夹的排列整齐划一的排布,完全不用操心别的。

docs
   ├── about.md
   ├── index.md
   ├── 第一章
   │   ├── 第一节-如何开始.md
   │   └── 第二节-明白了吗.md
   └── 第二章
       ├── 第一节-这是什么.md
       ├── 第二节-咋开始啊.md
       └── 第三节-这么回事.md

除了index.mdabout.md命名是有限制的,其他都很随意。

3.使用ReadTheDocs自动构建文档网页

ReadTheDocs网站是免费网站,能够自动抓取github制定仓库的文件,自动构建出可以观看的网页,并且还主动给你分配一个域名来访问这个文档页面。

首先,申请一个ReadTheDocs账户,并将其与你的github账户连接。 pic

然后导入你的仓库 pic

然后进入你的工程界面,就是这个样子啦 pic 可以在右侧看到构建情况,以及自动分配的域名。

不过默认是用的Sphinx构建网页,我们得先调节一下配置,点击图中的Admin按钮,找到setting部分 pic

往下翻,调节这一处的Documention type即可(你还可以顺手调节下语言) pic

然后在工程主页找到给你的域名就能访问文档了,欢呼吧 pic

不过,有一件事需要注意,Mkdocs识别的markdown和我们github用的markdown有些不同的,具体咱可以看看这个教程,写的很详细: CommonMark官方说明文档


1.10.2农业工艺(AgriCraft)教程——兼容性极高的IC2杂交继承者

JJN,开心不,惊喜不,意外不。我接坑了


农业工艺这个mod制作的初衷就是要继承并发展IC2那个十分有趣却兼容性极差的农业。在其诞生一年多后的今天来看,它已经很好地实现了这个目标。关于这个教程,最初我只想简单地写一下,为几天后另一个mod的教程做个铺垫。不过在仔细研究了几天后,我发现AgriCraft本身的可玩性、兼容性和自定义程度都十分地高,值得详细介绍一下。此教程的遗漏或是错误之处,欢迎指出。同时也欢迎各位整合包制作者利用AgriCraft高度的自定义性与兼容性做出有趣的农业向魔改整合。

Author:原1.7.10中文教程作者JJN

使用版本:Agricraft-2.0.0-0.11.0-a21

一、简介

Agricraft(以下均简称AC)实际上早在去年11月就更新到了1.10.2,但是随后几乎再无更新且bug众多。经历了漫长的alpha时期后,CodesCubesAndCrashes终于接坑修复了里面的众多bug,在多个知名大型整合包测试后并将其发布了出来。至少稳定性上有了很大提升。

IC应该算是开创了农业杂交的先河,但是长久以来却不为人所熟知。兼容性差,而且又并不是独立模块。这或许是其独创而又不流行的原因之一。AC吸取了其优点,将其独立做成模块,2.0版本更进一步,直接舍弃原来硬编码的思想,全面采用Json格式配置文件来书写兼容,可谓是一代更比一代强。即使在其之前还未更新,bug众多的情况下,许多知名整合包仍然添加了这个模组,可见此模组地位之高。

通过AC的作物架,玩家可以任意杂交作物实现一些重要资源的获得,恰如其分的讲农业带入了Minecraft科技线发展中。当然,杂交本身是一个极为随机的过程,所以很多人也戏称这个模组叫做非提工艺

二、联动mod介绍(基础篇)

AC联动的mod数量众多,主要分为三类。第一类是辅助类的联动,第二类联动是支持许多mod的作物种在AC的作物架上并给部分作物添加杂交配方,第三类联动是支持一些mod对AC作物架上的作物自动收获(AC作物架和IC2的一样,收获时只会收获作物的产物,作物的种子仍然会种在作物架上)

Author:原1.7.10中文教程作者JJN

1.辅助向模组

(1) JEI

首先要说的是JEI,在JEI中可以很容易地查到AC作物的杂交路线、种植条件和相应的产物。

jei

(2) Hwyla 和 The One Probe

然后要说的是Hwyla和The One Probe,AC对Hwyla和The One Probe添加了支持,在Hwyla和The One Probe中可以直接看到AC作物的各项数据(即生长速度、产量和抗性,种子需要先分析过才能看到),也能看到作物生长状态和杂草的相关提示信息,如下图所示:

hwyla

2.作物兼容

2.0以后提供的Json加载兼容方式摒弃了旧版本的硬编码,使得其理论上支持任何模组的作物种植。不过默认生成的几个配置文件仍然主动添加了几个模组的兼容。

(1)实用拓展(Actually Addition)

实用拓展的油菜,咖啡,亚麻,水稻可以种植在作物架上。

(2)神秘农业(Mysticalagriculture)及其附属模组

包括Mysticalagriculture,Mysticalagriculture Addition,Mysticalagriculture Expansion在内的所有作物。

(3)潘马斯的丰收工艺(Harvestcraft)

基本上支持所有种子种植在作物架上。

(4)植物魔法(Botania)

需种在灰化土上,收获时得到相应的神秘花瓣。也添加了杂交出它们的配方.

####(5)沉浸工程(ImmersiveEngineering)

IE的工业大麻可以种植。

(6)自然(Natura)

支持自然模组的大麦和棉花。

没了,其他变化不大。


模块化动力装甲相关补充说明

兼容的模组还是挺多的。


1.合成表兼容

MPS最大的特色就在于此,依据加载的mod不同,合成表也不尽相同。除了原版自带的合成,还兼容如下模组。

序号名称
1Industrialcraft 2 Exp
2Industrialcraft 2 Classic
3GregTech 5.10
4Thermal Expansion
5Tech Reborn
6Ender IO

2.能量兼容

MPS本身没有自己独立的能源,但是支持多个主流的能量进行充能。

模组能量单位
CoFHRF
MekanismJ
IndustrialcraftEu

3.模块兼容

很多模组的工具都可以附加到MPS的动力套装上面,实现集成化的功能。

序号名称备注
1Applied EnergisticsAE无线终端模块
2Refined StorageRS无线终端模块
3MineFactoryReloaded, Railcraft, EnderIO标准多功能探测器
4MFFSMFFS力场传送器
5Industrialcraft木龙头
6Forestry捕蜂网,养蜂员护甲, 剪枝器
7Industrialcraft辐射防护模块

Pagination