[{PageViewPlugin}]
[Minecraft Programming]
!!!Abstract
[Minecraft Mod]ではなくアドオンを開発してみよう!
!!!Topics
*まずはここ[1]で勉強。
|.mcaddonファイルを.zipファイルにして、手動でフォルダにインポートっていう形で書いてあるけど、.mcaddonファイルをダブルクリックでMCEを選べばインポートされるっぽい。また、手動でやるにしても、フォルダ先は、EXEでインストールするケースとSTOREを通してインストールケースで異なるので注意。STOREを通してインストールした場合は、[1]に書いてあるパスではなく、
|C:\Users\username\AppData\Local\Packages\Microsoft.MinecraftEducationEdition_8wekyb3d8bbwe\LocalState\games\com.mojang\resource_packs\
|だったりする[2]。
|[{Image width='400' src='Minecraft_Addon/first_pink_spider.png'}]
|HPはhealth, スピードはmovementの値をいじるとかわる[3]
*何をしたい?
|魔法を使うピンクの蜘蛛を作りたい-> ok
|鑑定のスキルをつくりたい。きっかけは、何か道具を持った状態でエンティティをクリックする、表示は。。tellコマンドでいいよ。Entityの属性情報をどう引っ張ってくるのか。Molang?-> 無理。。
|レベルアップさせたい。いまLvいくつかわかるようにしたい。
|playerの顔を変えたい
|トロッコ(minecart?)を改造して、乗れる電車を作りたい->やってみてわりとうまくいきそうだったが、思ったようにいかない。これはまずEducation EditionよりBedrock Editionでやってみよう→[Minecraft_Addon_BE]
*実装方法参考
|Extra-tag[https://github.com/GamuKamui/Extra-tag-player-addon]勉強になるかも。これを参考にビヘイビアーパックのフォルダにfunctionsフォルダ作って、.mcfunctionファイル作ったら動いた!
|[https://minecraft-mcworld.com/19718/]WAILAというMODをアドオンにしたとのこと。参考になりそう。
|なんかNode.jsが必要そう[4]
|しかし。。難しいな。何が最新のやり方かわからない。ScriptAPIってなんだ。GameTestFrameworkってなんだ。これがないと動かない?でもEducation Editionでは設定画面でどう見てもGameTestFrameworkを有効にするというオプションが見つからない。
|ここもBEの話だが参考になるか?→[https://qiita.com/pencilya/items/7b7e68265151f42a51ac] environment_sensorの中で、タグが付かないか監視して、追加たイベントをおこし、そこから何か表示コマンドを実行する。っていうのをやってみたい。
|なんかeventsのなかrun_commandを書くとそのイベントが認識されなくなる。eventsでは、状態を変化させることはできるが、任意のコマンドを発動することはできないのか。->ここBedrock Editionだと実行できるから、Education Editionだけの問題みたい。
|how to read entities' properties in Minecraft Addon? set_propertyはあるが、get_propertyは見つからない。Filterで条件指定のためにアクセスできるようだが、やりたいのは表示なので、それではない。Molangってなんだ!?
|Makecodeにplayer.onItemInteracted()というJavaScriptの関数があり、任意のコマンドを呼び出せるので、これを起点にしよう。
|Minecraftって、技術の移り変わりが無茶苦茶早いということか?ChatGPTに聞いてもScriptAPIが使えるという情報がありつつ、もう終わっているとか、entity_dataとかdataという[コマンド|Minecraft_command]があったけど、教育版では使えないとか、GameTestFrameworkもそう。item_displayやblock_displayとかも。なんなの?
|たかが、エンティティの属性を表示したいだけなのに、なんでこんなに苦労するのか?
|entityのjsonファイルの中のscriptsの部分でMolangらしき書き方が。"variable.hp=query.health;"とか。
|基本は既存のデータを改造するのだろう。既存のデータは、[ここ|https://github.com/Mojang/bedrock-samples/releases]に!!! バニラ パックと呼ばれるデータファイルが置いてある。バージョンのあったものを選んでダウンロードして適切なビヘイビアフォルダとリソースフォルダに入れましょう。このファイルを直接いじり、アドオンとして有効化すると、反映されます。
!!!Reference
#[#1]2024年5月6日アクセス, Minecraftカップ運営委員会, アドオンを作って画像をワールドに入れてみよう!, [https://minecraftcup.com/support/3045/]
#[#2]2023年9月10日、[Hoshimikan6490|https://note.com/hoshimikan6490]、教育版マイクラでフォルダから各データをインポートする方法, [https://note.com/hoshimikan6490/n/n93697acf3c6d]
#[#3][https://mc.akihamitsuki.net/bp-entity-file/]
#[#4]Microsoft, Visual Studio Code のツールを使用してスクリプトを記述する, [https://learn.microsoft.com/ja-jp/minecraft/creator/documents/scriptdevelopertools]