自动生成 Wiki 所需数据。
此项目可以直接生成 Wiki 所需要的 Java 版自动值。
所有数据将生成在run/output下。
- 生物群系
biome_base_temperature:基础温度。biome_creature_probability:生物生成概率。biome_fog_color:雾颜色。biome_foliage_color:树叶颜色。biome_has_precipitation:是否有降水。biome_sky_color:天空颜色。biome_spawn_data:生物生成数据。biome_water_color:水颜色。biome_water_fog_color:水中雾颜色。
- 方块:
block_breaking_tools:合适挖掘工具。block_burn_odds:烧毁几率。block_destroy_time:破坏时间(硬度)。block_explosion_resistance:爆炸抗性。block_ignite_by_lava:熔岩可燃性。block_ignite_odds:引燃几率。block_instrument:乐器。block_legacy_solid:固体方块。block_map_color:地图颜色基色。block_push_reaction:活塞推拉行为。block_redstone_conductor:红石导体。block_replaceable:可替代方块。block_suffocating:窒息方块。block_support_type:方块支撑属性。
- 附魔 / 魔咒
enchantment_category:魔咒类别。enchantment_cost:附魔等级限制。enchantment_flag:出现条件(宝藏等)。enchantment_incompatible:不共存魔咒。enchantment_max_level:最大等级。enchantment_rarity:魔咒稀有度。
- 实体
entity_mob_category:(暂无译名,控制周期生成)。
- 物品
item_attribute_modifiers:物品属性修饰符。item_burn_duration:烧炼时间(游戏刻计)。item_creative_mode_tabs:创造模式标签页。item_food_properties:食物属性。item_max_damage:最大耐久度。item_max_stack_size:最大堆叠数量。item_rarity:物品基础稀有度。
- 状态效果
mob_effect_cannot_affect:免疫此状态效果的生物。mob_effect_category:状态效果类别。mob_effect_color:状态效果颜色。mob_effect_instantenous:瞬时状态效果。
- 其他
postion effect:药水效果。
有两种办法生成此数据:
- 使用 GitHub Action 自动构建(
autovalue),只需要输入需要生成数据的版本,然后触发工作流即可。 - 将项目克隆到本地,设置环境变量
MAKE_VERSION为需要生成数据的版本,之后执行gradlew run。
此项目可以生成方块与生物群系的统计数据。
所有数据将生成在run/runtime下,每个文件的名字以<dimension>_<item>_count.json命名,其中<dimension>为维度,<item>
为统计类型(block方块或biome生物群系)。
每个文件包含下列几项数据:
worldSeed:世界种子。minHeight:最低高度。- 对于方块,高度为 Y 坐标。对于生物群系,高度为生物群系单元(4×4×4方块大小)的坐标。
maxHeight:最高高度。posProvider:区块位置提供器。count:当前统计的区块数量。total:总区块数量。blockSize:分块大小。seed:(仅随机选择区块)随机种子。
block/biome:统计数据。- 键值对,键为命名空间 ID,值为每个高度上的数量。
生成数据有两种办法:
使用 GitHub Action 构建:
可以使用工作流statistics,输入需要生成数据的版本,然后触发工作流即可,获得工件(一个 JAR)。
之后,设置以下环境变量:
BATCH_SIZE:(默认为 4)每个游戏刻提交给区块生成系统的区块数量。CHUNK_TOTAL:(默认为 25000)统计的区块总数量。BLOCK_SIZE:(默认为 1089,必须为完全平方数,否则将向上寻找完全平方数)分块大小。分块越大,一段时间内的运行速度会更快,但也会造成更高程度的内存占用。CHUNK_POS_PROVIDER_FACTORY:(默认为continuous)区块位置提供器工厂。random:以分块为单位随机选择区块。continuous:连续选择区块,以世界原点为中心。
DIMENSIONS:(默认为空)以逗号分隔的维度列表,不为空时代表仅处理指定的维度。
在同目录下,创建eula.txt,并写入eula=true。
在同目录下,创建server.properties,并写入以下内容:
max-tick-time=-1
sync-chunk-writes=false最后,执行java -jar <JAR> -nogui即可。
使用本地构建:
将项目克隆到本地,设置环境变量MAKE_VERSION为需要生成数据的版本,并将上述 4
个环境变量设置好后,执行gradlew runStatistics。
此项目可以使用 Minecraft 原版渲染管线渲染 Wiki 所需的标准视图。
运行有两种方式:
使用 GitHub Action 构建:
可以使用工作流iso,输入需要生成数据的版本,然后触发工作流即可,获得工件(一个 JAR)。将此 JAR 替换掉启动器内<对应版本>.jar即可。
使用本地构建:
将项目克隆到本地,设置环境变量MAKE_VERSION为需要生成数据的版本,之后执行gradlew runISO。项目将自动作为一个简单的启动器运行客户端。
使用此项目需要一个虚空预设的超平坦世界(主要是防止其他方块影响渲染,如果要渲染正常的世界也可以)。在进入世界后,使用 F1 隐藏 GUI,以防止渲染时渲染到玩家手臂。
所有命令都在聊天栏输入,且不需要正斜杠/:
persp:切换为透视投影。ortho:切换为正交投影。nosave:阻止自动保存,防止渲染过程中计时因保存出现延迟。save:允许自动保存。从禁用自动保存到允许自动保存后,游戏会在下一个游戏刻立刻保存。wsize <宽度>x<高度>:设置渲染窗口大小,控制最终渲染图片大小。osize <宽度>x<高度>:设置正交投影的近平面和远平面的大小。call <命令>:调用一个命令,命令不需要以正斜杠开头。sshot [文件名称]:渲染截图,文件名称为可选参数,不填则使用默认名称screenshot.png。所有文件都将保存在screenshots文件夹下。run <文件名>:运行一个执行脚本,执行脚本内的命令会被逐行执行,且可用命令与上文一致,但不包含run命令,且新增了sleep <时间>命令以等待一段时间。文件中空行和以#开头的行将被忽略。
举例来说,如果需要渲染一个石头的标准视图,可以使用以下脚本:
CALL tick freeze
CALL fill 24 -61 24 -8 -61 -8 air
CALL tp @s 1.5 -0.3035 1.5 135 30
WSIZE 300x300
OSIZE 1.6x1.6
ORTHO
CALL setblock 0 0 0 stone
SLEEP 200
SSHOT stone.png
如果不使用脚本,则SLEEP 200不需要执行,所有CALL也可以直接调用正常命令而不需要使用这些命令调用。