アドオンの作り方をゆるーく紹介 #アイテム追加編
最終目的
・アイテム・ブロックを追加する
信息
・这是备忘录哦
・我自己加的时候遇到了很大的困难,所以做了这个
・这是关于Minecraft 版本1.19.41的信息哦
即使在之后的版本中无法运行,不提供保证哦
・示例代码是用yaml写的,但是是用来注释用的,请在生产环境中使用json哦
目标用户 (duì hù)
・有Minecraft的人
・有意愿制作插件的人
・心理强大的人(因为受到错误的困扰)
・知晓插件是什么的人(因为不想解释)
简称
・行为包…bp
・资源包…rp
・我的世界…我的世界
・Java版…JE
・统合版…BE
让我们去吧
まず最初に下記の図のようにフォルダ・ファイルを作ってね
階層はわかりやすいところでいいよ
样本资源包 ← 插件名称。最好在最后加上_rp以便于识别。
┣ manifest.json
┣ pack_icon.png
┣ textures
┃ ┣ items
┃ ┃ ┗ (物品名称).png
┃ ┗ item_texture.json
┗ texts
┗ (目标语言名称).lang
样本行为包 ←这是一个附加组件的名称。最好在最后加上_bp以便于辨识。
┣manifest.json
┣pack_icon.png
┣items
┃┗(物品的名称).json
┗recipes
┗(分类名称)_(物品名称)_recipe.json
各个解释
资源包
纹理文件夹
物品文件夹
(物品的名称).png
这是一个纹理,对吧。
似乎必须是.png格式的。
16×16大小正正好。
项目纹理.json
item_texture.json文件用于指定纹理。
{
"resourse_pack_name":"ここは基本何でもいい",
"texture_name":"atlas.items", #これ固定ね
"texture_data":{
"テクスチャID(困ったらアイテム名でいいよ)":{
"textures":"textures/items/itemsフォルダの中にある画像の名前(_topと.pngとか抜きで)"
}
}
}
文本文件夹
(需要進行匹配的语言名称).lang
.lang 的格式是这样写的。
(1行開ける)
item.(identifier).name=(表示したい名前)
identifier是(物品名).json的标识符
日语是ja_JP.lang
英语是en_US.lang
如果觉得设置所有的太麻烦的话,请阅读这里
行为包
items フォルダ
(物品的名称).json
设置物品的行为
这是最长的。需要有耐心哦!
{
"format_version":"1.16.100", #おすすめ。これ以外にして動かなくなっても知らん(無責任)
"minecraft:item":{
"description":{
"identifier":"アイテムのフルIDの設定",
"category":"左のタブからConstruction:構築、Equipment:所持品、Items:アイテム、Nature:性質(デフォ)"
},
"components":{
#設定しといたほうがいいやつ
"minecraft:foil":false, #エンチャント品のように光らせるかどうか。true=光る false=光らない。,
"minecraft:hand_equipped":false, #武器のように持つか。trueかfalse。,
"minecraft:max_stack_size":64, #どこまでスタックできるか。デフォは64。,
"minecraft:stacked_by_data":false, #データ値の違うものをスタックするか。デフォはfalse(?)。,
"minecraft:display_name":{
#(対応させたい言語の名前).langでいちいち指定がめんどいっ!って人向け
"value":"すべての言語で表示される名前を指定する。"
},
"minecraft:damage":10, #叩いたときのダメージ,
"minecraft:repairable":{
"repair_items":[
{
"items":["どのアイテムで耐久値を回復させるか。コマンドIDで指定する。JEのほうね"]
"repair_amount":10, #回復する耐久値の数,
}
]
},
#"minecraft:repairable"とセット
"minecraft:durability":{
"max_durability":100, #耐久値の量
"damage_chance":{
"min":100, #耐久値が減る確率の最小値
"max":100 #耐久値が減る確率の最大値
}
},
"minecraft:creative_category":{
"parent":"クリエイティブでどこのグループに属するのか。すべて下にあるリンクにある。カテゴリーとは違う。"
},
#絶対に指定するやつ
"minecraft:icon":{
"texture":"item_texture.jsonで指定したテクスチャIDを書く。"
},
"minecraft:render_offsets":"fleshかapple。appleの動作確認はしてない。",
...
#他にもいっぱいある。下のリンクでね
}
}
}
在这里,有创意团队和所有的组件。
recipes
(分类名称)_(物品名称)_菜谱.json
为了方便查看,(分类名称)在排序时可以使其更易读。但如果没有也可以。
{
"format_version":"1.16.100", #ここはmanifest.jsonと統一する
#決まった形のレシピの場合
"minecraft:recipe_shaped":{
"description":{
"identifier":"基本何でもいい。でもbpのidentifierと統一したほうがいいかも。",
},
"tags":["crafting_table"], #そのレシピがクラフトできるもののタグ。
#"furnace","smoker","campfire","stonecutter", "brewing_stand"
# かまど 燻製器 たき火類 ストーンカッター 醸造台(ここで変えるだけでは意味がありません)
"pattern":[
" A ", #レシピのパターンを設定する。
"A A", #1つの材料につき一つのアルファベットを書く。
"A A" #↑のアルファベットは同じ材料なら同じアルファベットで。
],
"key":{ #指定したアルファベットがそれぞれなんの材料かを指定する
"指定したアルファベット":{
"item":"itemIDをJEかBE版マイクラのコマンドIDで書く。",
"data":"基本は0。データ値を指定する。"
},
#...
#アルファベットの種類の数だけ続ける。
"result":{
"item":"作った結果、できるもの。のbpで書いたアイテムのidentifier",
"count":1 #それが何個できるかの指定。多分いくつでも行ける。(やり過ぎは禁物)
}
}
}
一致的说明 de
包装图标.png
这个文件似乎必须是.png格式的
这个文件应该会自动适应任何尺寸的
manifest.json 的中文解释是:清单文件.json。
这是最重要的事情
这是用于让插件和我的世界进行识别的文件
举例说明
{
"format_version":"1.16.100", #自分がよく使うバージョン。これじゃいけないなんてことはない。
"header":{
"name":"パックの名前"
"description":"パックの説明。バージョン書いてもいいかも。",
"uuid":"パックを特定するためのもの。",
"version":[0,0,1] #パックのバージョンを書く。
},
"modules":[
{
"description":"パックの説明。表示されない。謎。",
"type":"rpならresources、bpならdata。",
"uuid":"パックを特定するためのもの。",
"version":[0,0,1] #パックのバージョンを書く。headerと統一するといいよ。
}
]
}
在这里可以生成UUID。如果需要4个,一次性生成会更方便。
结束
是的!辛苦了!
制作插件需要很多耐心和时间,所以很辛苦!
但是,当完成和掌握后,非常开心,也可以像MOD一样做一些有趣的事情,所以非常有趣!
我打算继续制作这个教程,如果方便的话请来看看!
我会在下面附上链接集!
恋爱速成 ài sù
給那些沒有迈出行动的人。
常见错误1
括号({})的数量不够。
用快速可靠的VSCode来检查最好。(Web版本)
よくある間違い2
描述错误
{
"format_version":"1.16.100",
"minecraft:item":{
"description":{
"identifier":"sample:sample_item",
"category":"Equipment"
},
"component":{ #←ここ!!
#...
“components”が”component”になっています。
こういうのがよくあるので注意してください。
その他
请用问题的形式来问那种问题吧!
链接目录
如果有任何想法,请随时问我问题。