アドオンの作り方をゆるーく紹介 #アイテム追加編

最終目的

・アイテム・ブロックを追加する

信息

・这是备忘录哦
・我自己加的时候遇到了很大的困难,所以做了这个
・这是关于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”になっています。
こういうのがよくあるので注意してください。

その他

请用问题的形式来问那种问题吧!

链接目录

目的どんな知識がいるかリンクアイテムを作りたいアドオンとはなにか今ここブロックを作りたいアドオンとはなにかまだできてないよテクスチャを変えたいアドオンとはなにかまだできてないよレシピ・ドロップアイテムを変えたいアドオンとはなにかまだできてないよ

如果有任何想法,请随时问我问题。

广告
将在 10 秒后关闭
bannerAds