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]
HPはhealth, スピードはmovementの値をいじるとかわる[3]
  • 何をしたい?
魔法を使うピンクの蜘蛛を作りたい-> ok
鑑定のスキルをつくりたい。きっかけは、何か道具を持った状態でエンティティをクリックする、表示は。。tellコマンドでいいよ。Entityの属性情報をどう引っ張ってくるのか。Molang?-> 無理。。
レベルアップさせたい。いまLvいくつかわかるようにしたい。
playerの顔を変えたい
トロッコ(minecart?)を改造して、乗れる電車を作りたい->やってみてわりとうまくいきそうだったが、思ったようにいかない。これはまずEducation EditionよりBedrock Editionでやってみよう→Minecraft_Addon_BE
  • 実装方法参考
Extra-taghttps://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というコマンドがあったけど、教育版では使えないとか、GameTestFrameworkもそう。item_displayやblock_displayとかも。なんなの?
たかが、エンティティの属性を表示したいだけなのに、なんでこんなに苦労するのか?
entityのjsonファイルの中のscriptsの部分でMolangらしき書き方が。"variable.hp=query.health;"とか。
基本は既存のデータを改造するのだろう。既存のデータは、ここに!!! バニラ パックと呼ばれるデータファイルが置いてある。バージョンのあったものを選んでダウンロードして適切なビヘイビアフォルダとリソースフォルダに入れましょう。このファイルを直接いじり、アドオンとして有効化すると、反映されます。

Reference#

  1. [#1]2024年5月6日アクセス, Minecraftカップ運営委員会, アドオンを作って画像をワールドに入れてみよう!, https://minecraftcup.com/support/3045/
  2. [#2]2023年9月10日、Hoshimikan6490、教育版マイクラでフォルダから各データをインポートする方法, https://note.com/hoshimikan6490/n/n93697acf3c6d
  3. [#3]https://mc.akihamitsuki.net/bp-entity-file/
  4. [#4]Microsoft, Visual Studio Code のツールを使用してスクリプトを記述する, https://learn.microsoft.com/ja-jp/minecraft/creator/documents/scriptdevelopertools