【Minecraft BE Addon講座#3】关于Add-on的结构~行为和资源的区别~

本页面是插件教程第3课,关于插件结构的基础篇。请查看目录或阅读关于本教程的文章#1。

希望你在基础部分能够理解的事情!

在插件课程的基础部分,我们将介绍运用插件所需的基本知识,无论你想实现哪些功能,这些知识都是必不可少的。如果你有兴趣制作插件,请先从这个基础部分开始学习!

    • (#3)BE(統合版)のアドオンとは?Java版のModとの違い

 

    • (#3)アドオンが機能する原理

 

    • (#3)アドオンのファイル・フォルダ構成

 

    • (#4)manifest.jsonの書き方

 

    (#4)完成したアドオンをマイクラに適用する方法

在整合版中,插件作为扩展功能发挥作用的原理是什么?

正如之前提到的那样,BE(Bedrock Edition)中的插件与Java版的Mod在地位上相同,但原理不同。

由于文本过长,故省略部分。Java版本有一些志愿者制作的Mod,如Forge等,以及用于中继这些Mod和minecraft的软件(前提MOD),因此可以使用这些前提MOD提供的开发功能来制作Mod。因此,提供的功能原本就是针对开发而设计的,几乎涵盖了大多数人想用Mod创建的功能(我没做过Java版本的Mod,所以不太清楚信息)。然而,在BE(统合版)中,承担了与Java版前提MOD相同地位的应用BlockLauncher,由于BE的多次更新功能逐渐减少,逐渐衰退了。BE中无法指定喜欢的版本进行游戏也加速了衰退。因此,Minecraft开发方在开发的同时也准备了插件(实际上不是一边做一边准备的,但感觉上是这样的)。

我们主要介绍了一种叫做“插件”的功能,它可以将已存在于游戏内的文件或功能重新组合并覆盖。因此,基本上只能使用构成游戏所必需的功能。因此,在这门课程中,我们会重点介绍这一功能。

    ゲーム内部でどんな機能が集まってマイクラの要素要素が動いているのか

在介绍了之后

    それをどのように活用すれば拡張機能としてModのように使えるか

这个结构可以解释为…

附加组件的文件夹结构

根据上述特性,与编写将要完成的操作的全新文件的编程不同,插件则基本上是在现有的文件上进行覆盖操作。

バニラ配布場所
バニラ配布場所

完成下载后,解压并查看第1个文件的内容。
以下是文件夹结构和包含的文件用途的描述。

behavior(.mcpack)/             
  -ビヘイビア、直訳で行動/挙動
  -つまりマイクラ内のものの動きを設定。
        /(animation_controllers)
                /[entity].animation_controllers.json
           -これがいわゆるアニコン。
           -バニラではリソースにのみ存在するが、
            ビヘイビアのアニコンとリソースのアニコンは別物で、
            できることも異なる。
        /(animations)
                /[entity].animation.json
           -アニメーション。
            アニコンまたはentity.jsonから呼び出せる。
           -バニラではリソースにのみ存在するが、アニコンと同様、
            できることが異なる。
        /entities
                /[entity].json
           -ビヘイビアの方のエンティティ。
           -エンティティがどんな行動をするのか決定する。
           -コンポネ編、Mob追加編でお世話になる。
           -個人的にentity.jsonと呼んでいるので、解説ででてきたら、
            ここのフォルダに入っている.jsonファイルのこと。
        /(functions)
                /[function].mcfunction
           -ファンクション。
           -コマンドを書くことができる。
           -バニラではフォルダが存在しないので、
            必要なときは自分で作成する必要あり。
           -詳しくはファンクション編にて。
        /items
                /[item].json
           -アイテムのコンポーネントはここ。
           -アイテム追加編でお世話になる。
        /loot_tables
           -ランダム要素の排出率決定のファイル。
           -敵のドロップ変更、装備変更とかはここ。
        /recipes
           -クラフトレシピの設定。
           -しばらく触ってないので変わってるかもしれないですが、
            既存のレシピ変更はできず、追加のみだった気がする。
        /scripts
          /client
                /[client].js
          /server
                /[server].js
           -これがscriptingAPI。
           -今現在まだWindows10版でしか実行できません。
           -clientはこのビヘイビアが入っている
            ワールドにいるプレイヤー全員が実行するスクリプト。
           -serverはワールド主のみが実行するスクリプト。
           -clientとserverでできることは異なります。
           -スクリプト編でお世話になります。
           -v1.18.20.21βで削除されたので、リリース版でもいずれ削除されます?(ぴえん)
        /spawn_rules
           -自然スポーンの設定。
           -暗かったらモンスターが湧くなどの設定。
        /trading
           -村人の交易レシピの設定。
        /manifest.json
           -超重要。
           -すべてのアドオンに含まれているファイル。
           -このアドオンが何たるかを記載する。
            言い換えれば、アドオンの自己紹介。
        /pack_icon.png
           -マイクラに導入した際に表示されるパックのアイコン。

resource(.mcpack)/
  -リソース、直訳で資源だが、実際の意味は感覚として見た目全般。
  -テクスチャパックというとリソースパックのこと。
  -テクスチャをはじめ、エンティティの(見た目上の)アニメーション、
   パーティクル、ゲーム内テキストなどもいじれる。
        /animation_controllers
           -アニメーションのコントローラー。
           -ビヘイビアのアニコンとは異なり、
            純粋にアニメーションを切り替えるための機能。
           -例えば、水の中にいれば泳ぐアニメーションに切り替えるなど。
           -慣習的なものだが、こちらをアニコンと呼ぶことは少ない。
        /animations
           -アニメーション。
           -エンティティのモデルをどういう風に動かすかを設定。
           -例えば、殴りアニメーションでは腕を回すなど。
        /attachables
           -Mobが装着して見た目が変わるものの設定。
        /entity
           -リソースのエンティティ。
           -エンティティのテクスチャ割り当て、
            モデル(geometry)割り当て、
            使用するアニメーションコントローラー、
            使用するアニメーション、
            使用するレンダーコントローラーの設定など。
           -Mob追加編でも必要。
        /fogs
           -直訳で霧。バイオームごとの水の色の変更?ぽい。
        /models
          /entity
                /[entity].geo.json
           -ここがモデル、ジオメトリ(geometry)。
           -テクスチャがぺたぺた貼り付けられるもの(形)を作っている。
           -Mob追加編で扱う。
        /particles
           -テクスチャと発生させるパーティクルを結びつける。
           -パーティクルも自作できるらしい。
        /render_controllers
           -ジオメトリ、マテリアル、テクスチャを結びつけるコントローラー。
           -あんまり理解してないけど必要なもの。
           -Mob追加編でも必要。
        /sounds
           -音楽(BGM)、効果音(SE)がたくさん入っている。
           -設定ファイルもあるが、いじったことがない…。
           -音楽、効果音を追加する場合にはいじる必要がありそう。
        /texts
          /ja_JP
             /font
                /glyph_~~.png
          /ja_JP.lang
           -ゲーム内テキスト。
           -言語別になっている。
           -日本語はja_JP.lang
           -fontではフォントを自分で書いたり、
            新しい文字を追加できる。
           -すごいuiが実装されているアドオンの大体が
            新しい文字の導入によるもの。
        /texture_sets
           -からっぽなのでよくわからないし、
            使ったこともない。
           -[追記]レイトレーシングなど、
            レイヤーを使うときに使うっぽいです!
        /textures
           -テクスチャの名前とテクスチャ画像を結びつけるファイル、
            テクスチャの画像が含まれているフォルダ。
           -Mob追加編、アイテム追加編でお世話になります。
        /ui
           -文字通りuiの設定です。
           -要らないボタンを消したり、title表示の位置を変更したり、
            新しくボタンを追加する場合はここを変更することになります。
        /manifest.json
           -ビヘイビアと同じく超重要。
           -すべてのアドオンに含まれているファイル。
           -このアドオンが何たるかを記載する。
            言い換えれば、アドオンの自己紹介。
        /pack_icon.png
           -マイクラに導入した際に表示されるパックのアイコン。

※(文件夹名称)在Vanilla中不存在,请您在使用时自行创建新文件夹。
※[文件名称]已被赋予易于理解的名称。换句话说,您可以自由地为自己创建的文件命名。

大体就是这样的。
关于这门课程中所解释的内容,每个解释篇章都有详细的说明。

由于篇幅较长,manifest.json的写法将在下一期(#4)中介绍。未来可能会根据文字量的调整和为了更加清晰易懂而调整说明的顺序,导致编号发生变化,请随时查阅目录中的编号#1进行确认。

那我们下次再见!

这些文件是存在于Minecraft游戏内的。在接下来的过程中,我们将修改这些文件,并在完成后应用于游戏,以覆盖原始游戏中的文件并使其运行。当应用行为和资源时,它们不会比默认包更高地显示吗?这就是覆写(=优先)的意义。
广告
将在 10 秒后关闭
bannerAds