2015-06-11 11:14:36 k73电玩之家 作者:lee_振光
第一章 制作简单的mod
我们该如何在游戏中添加自己做的模型呢:
我们先定下一个目标,我们要制作一个添加装饰物的mod,这个装饰物的名字是:xxx
第一步:
我们先新建一个文件夹 YYYmod (YYY是自己定的)
在里面按照这样子建立文件夹和文件:
-YYYmod
----recipes
-------xxx_recipes.json
----mixins
--------recipes.json
----entities
-------xxx.json
-------xxx.qb
-------xxx.png
----manifest.json
第二步:
建立好后,我们先打开manifest.json文件 复制粘贴这段代码
{
"info" : {
"name" : "YYY Mod",
"version" : 1
},
"aliases" : {
"YYYmod:decoration:xxx" : "file(entities/decoration/xxx)"
},
"mixintos" : {
"/stonehearth/jobs/carpenter/recipes/recipes.json" : ["file(mixins/recipes.json)"]
}
}
注释:
1."info"是信息,填写你的mod的信息,名字和版本号什么的.
2."aliases"作用是为你的项目和物体命名,就是赋予它一个ID.
前面就是该物体的ID,后面是它存放的地方.
(decoration)是装饰的意思,多了这个我们更好的将物体分类,就好像你是几班的某某.
这个英语,要看你给该物体分什么类,还有家具furniture等等,以后再说.
3."mixintos"作用是将某段语句插入到某个文件中,
上面说的就是,将"file(mixins/recipes.json)里的内容
插入到"/stonehearth/jobs/carpenter/recipes/recipes.json"
前面是原版的路径,后面是我们mod的路径.意思是把该物体合成配方添加
到木匠的工作台的合成配方,carpenter是木匠,可以改为其他职业.
第三步:
好了,我们编写好了指引文件,接下来要编写,添加该物体的合成配方到木匠的工作台上:
我们打开 YYYmod/mixins/recipes.json 复制粘贴这段代码
{
"craftable_recipes" : {
"furniture" : {
"recipes" : {
"xxx" : {
"recipe" : "file(/recipes/xxx_recipe.json)"}
}
}
}
}
注释:
1."craftable_recipes"是工作台合成配方,这个不用管,是固定的.
2."furniture"是工作台的合成分类,可以修改,一般用回原版的分类,也可以自定义一个.
3."recipes"是配方,后面跟着的就是你要添加的配方.xxx是物体的名字.
4."recipe" : "file(/recipes/xxx_recipe.json)"}是该物体的合成配方存放的路径.
第四步:
编写xxx物体的合成配方:
我们打开 YYYmod/recipes/xxx_recipes.json 复制粘贴这段代码
{
"type":"recipe",
"work_units" : 3,
"recipe_name" : "xxx",
"description" : "--------------------",
"flavor" : "---------!!!!",
"portrait" : "/YYYmod/entities/decoration/xxx/xxx.png",
"ingredients": [
{
"material" : "wood resource",
"count" : 1
}
],
"produces": [
{
"item":"YYYmod:decoration:xxx"
}
]
}
注释:
1."type" 类型
2."work_units" 制作该物体的时间,3下
3."recipe_name" 显示在合成界面上的名字.也就是物体的名字.
4."description" 物体的描述文字,作用和用途.
5."flavor" 特别的描述,类似后缀描述.
6."portrait" 显示在合成界面上的图片,后面是图片存放的路径.
7."ingredients" 材料,后面跟着的是需要合成的材料和数量.
8."wood resource" 这里可以替换的,石头是"stone resource".
9."produces" 产物. 而"item":"YYYmod:decoration:xxx"这个就是前面提到的ID.
第五步:
编写物体的属性和数据:
打开 YYYmod/entities/decoration/xxx/xxx.json 复制粘贴这段代码
{
"type" : "entity",
"mixins" : "file(xxx_ghost.json)",
"components": {
"stonehearth:entity_forms" : {
"iconic_form" : "file(xxx_iconic.json)",
"ghost_form" : "file(xxx_ghost.json)",
"placeable_on_ground" : true
},
"region_collision_shape" : {
"region": [
{
"min" : { "x" : -1, "y" : 0, "z" : 0 },
"max" : { "x" : 2, "y" : 2, "z" : 1 }
}
]
}
},
"entity_data" : {
"stonehearth:net_worth" : {
"value_in_gold" : 50,
"rarity" : "common",
"shop_info" : {
"buyable" : true,
"sellable" : true,
"shopkeeper_level" : 1,
"shopkeeper_type" : "caravan"
}
}
}
}
注释:
1."type" 物体的类型,entity是实体
2."mixins" : "file(xxx_ghost.json)" 意思是该物体混入到某个属性里,不用管.
3."stonehearth:entity_forms" 这里是设置物体在仓库时和虚影时分别的模型,
"iconic_form"是物体在仓库时的模型,"ghost_form"是物体虚影时的模型.后面的是相应的路径.
"placeable_on_ground" : true,表示该物体可以放在地方,"placeable_on_wall" 是在墙上,可以替换
4."region_collision_shape"设置模型的碰撞体,x y z 数据自己填,要看自己的模型大小来调.
5."entity_data" 实体数据,"value_in_gold" 价值是多少."rarity" : "common" 稀有程度:普通.
6."shop_info" 商店设置;"buyable"是否可以购买,"sellable"是否可以出售.