マイクラの配布サイト › フォーラム › 技術相談(統合版) › アドオンでコマンド追加の方法
- このトピックには5件の返信、2人の参加者があり、最後に
【公式】DOLDOSERVER – ドル鯖により1ヶ月、 2週前に更新されました。
-
投稿者投稿
-
-
質問をさせて頂きます。
1、統合版でアドオンを追加する方法はAPI限定なのか。
2、その際の構文を教えていただきたい。
3、manifestのバージョンはいくつにするべきか。
コマンド実装をしたいので有識者の方々、教えてください。 -
wakame11参加者1.統合版でアドオンを追加する方法はAPI限定なのか
もしそのアドオンがタイポで、タイトルの「アドオンでコマンドを追加する方法」のことであるなら、広く見ればあります。
方法はいくつかありますが、どれもスラッシュコマンドではありません。スラッシュコマンドを実装することは今のところ不可能です。
例えば、既に存在する[function]コマンドを利用して、.mcfunctionファイルに書き込んだコマンドを実行することができます。
これは複数行あっても一気に実行できますが、コマンドしか実行できなく、scriptApiのような広いことはできません。別の方法は、pythonなどの外部モジュールを使ってローカルサーバーを構築し、マインクラフト内でサーバーと接続し、チャットを検知する方法です。
この方法では[?help]などスラッシュコマンドではありませんが、特定の文字列を検知して、対象へ操作を実行することができます。
ただ、サーバーを開くために必要な知識や環境が誰にでもそろっているわけではないのでお勧めできません。一番おすすめなのはベータ版のscriptApiを使うことです。
scriptApiのベータ版でのみ使用できるイベントで、[before.chatSend]というものを使います。
このやり方なら、プレイヤーが送信したチャットを事前に内容などを把握し、キャンセルしてから好きなコードを実行することができます。
ですが、ベータ版なのでワールド作成時に実験的機能の[ベータAPI]をオンにする手間があります。
とりえあずこの方法のコードを書いておきます。話は戻って、質問がそのままの意味であるのなら、アドオンの作り方はscriptApiだけではありません。
自分はむしろメインはリソースパックとビヘイビアパックで自分でアイテムやモブを追加できる点だと思っています。
そこにscriptApiを使ってより自由な動作を追加できるということだと思ってます。2.構文
main.jsimport { world } from "@minecraft/server"; world.beforeEvents.chatSend.subscribe(ev => { if (ev.message === "?help") { ev.cancel = true; ev.sender.sendMessage("へるぷ"); } });manifest.json
{ "format_version": 2, "header": { "name": "アドオンの名前", "description": "アドオンの説明", "uuid": "b0fbb1fb-6151-42e6-9c0e-be864a3548a3", "version": [1,0,0], "min_engine_version": [1,20,0] }, "modules": [ { "type": "script", "language": "javascript", "uuid": "a1bdb4b6-4d2f-48e1-93cb-4bbb28cb6a11", "entry": "scripts/main.js", "version": [1,0,0] }, { "description": "アドオンの説明", "type": "data", "uuid": "31b93174-f46e-4c6b-960c-69a37143ca3b", "version": [1,0,0] } ], "dependencies": [ { "module_name": "@minecraft/server", "version": "2.10.0-beta" }, { "module_name": "@minecraft/server-ui", "version": "2.0.0" } ], "capabilities": [ "script_eval" ] }3.manifestのバージョン
manifestにはバージョンがいっぱい書かれてます。
アドオン:1.0.0
スクリプト:1.0.0
説明:1.0.0
@minecraft/server:2.10.0-beta
@minecraft/server-ui:2.0.0
それぞれこんな感じでいいと思います
上記のmain.jsがベータ版のみなので、ラスト2つは固定です。-
詳しい説明ありがとうございます!
やはりAPIなしでは難しいのですね。
早速作ってみます
-
-
匿名
ゲストAPIでCustomCommandが作れるらしいです
CustomCommandの作り方-
匿名
ゲスト-
ありがとうございます。やってみます!
-
-
-
-
投稿者投稿
