ダンジョンに出てくるモブの作り方講座
ダンジョンに出てくるmobは、基本開発用スプレッドシート上で作成することとなる。
その際の基本の流れとしては
モブをシート上で作成=>開発鯖でシートをリロード=>開発鯖でスポーンさせてチェック=>適宜修正作業=>モブスキルなどの設定=>シートリロードして開発鯖でチェック=>スポーン地点の決定
になる。以下では各手順に沿って詳しく解説していく。
スプレッドシートでモブを作る
一般公開用シート説明にSpreadSheetのリンクがあるためまずはそれを開いてもらうと、いろんなシートが存在することがわかる。
このうちモブを作るなら、まずmob1を開いて作業することとなる。
mob1シートには様々な設定項目があるが、とりあえずモブを作る際には最低限
name(装飾コードを使用可能) | モンスター名(モンスターの上だったりダメージインジケーターで表示されたりする名前) |
command | そのモンスターを召喚するときに必要なsummonコマンド |
level | モンスターのレベル |
attack | 攻撃力 |
HP | 体力 |
の5つを指定すれば実際に召喚させることが可能になる。
このうち、summonコマンドはそのままだと作ることが難しいため、mcstackerやハルのコマンドエディタなどで作ることを推奨する。
levelは作るダンジョンのレベルに合わせること推奨、attackやHPは同レベル帯のダンジョンを参考にするとよいだろう。
特殊なモブを作りたい場合(例:Nodelay、足の速さなど)がある場合は、適宜plugin値などを指定する必要がある。細かくはシート/mobを参照のこと。
開発鯖でシートをリロードする
上の設定が終わってもまだ開発サーバーには変更内容が反映されていないため、実際に変更内容を開発鯖に適用する必要がある。
まず権限を持ったアカウントで開発サーバーに入り、次のコマンドを打とう
/sr mob1
これで先ほどのスプレッドシートのmob1シートの内容が更新される。
開発サーバーでスポーンさせてチェック
シートのリロードができたら、開発鯖にて実際にモブを召喚してチェックする。シートに登録したモブの名前(ただし、装飾コードが含まれる場合は装飾コード部分は無視する)を用いて
/spawnmob モブの名前
として召喚することができる。
例: 開発テスト1 というモブを召喚する
/spawnmob 開発テスト1
例: 開発テスト1 しもべ というモブを召喚する(空白を含む場合)
/spawnmob 開発テスト1_しもべ
空白をアンダーバーで差し替える
例: §e§l装飾モブ というモブを召喚する
/spawnmob 装飾モブ
§とその次の文字を無視する
もしこのコマンドを打ってもモブが召喚されない場合、上のシートの設定(特に、summonコマンドが不正 or 名前などのタイプミス)を見直すこと。大抵は何かがミスっているので修正すると召喚できるようになるはずである。
適宜修正作業
実際にスポーンしてみて、思っていたのと違うものが出てくることがある。その場合はまたシートを確認して、数値やコマンドなどをチェック、/sr mob1から/spawnmobの流れを再実行してまたチェックをし、満足いくものが完成するまで繰り返す。
モブスキル作成
モブができたら次はそのモブにスキルを付けて行く。スキルの細かい作り方はここでは割愛するが、作ったスキルの名前をmob1シートのmobskill欄に記入し、/sr mob1(と適宜/sr mobskillや/sr monsterskillなど)をすることで同様に開発サーバーに適用することができる。
スポーン地点の設定
ダンジョンのギミックでスポーンする場合はspawnmobコマンドをコマンドブロックに入れて利用することになるためここでは扱わない。
今回は自然にスポーンするように設定する方法を記す。
まず、好きなアイテム(例えばダイヤピッケルなど)を手に持った状態で、
/setspawn set モブ名
を実行する。すると、このアイテムを使うことでモブを登録する準備ができる。
次に、
/setspawn begin
を実行すると、実際に登録できるモードに移行する。このモードに移行したら、最初に設定したアイテムを右クリックすることで雪玉を飛ばすことができるようになる。この雪玉は比較的まっすぐ飛び、着弾点にピンク羊毛を設置する。
このピンク羊毛が実際のスポーン地点になる。
ある程度雪玉を投げ終わって、スポーン地点を十分設定できたと感じたら、
/setspawn commit
を実行する。これを実行すると設置されていたピンク羊毛の座標が一気にspawnpointシートに登録される。
このあと/sr spawnpointと/sr mob1をすると、実際にモブが召喚されるようになる。
※注意: spawnpointによってスポーンされるモブをmob1シートで変更した場合、/sr mob1だけではその変更が反映されません。同時に/sr spawnpointコマンドでspawnpointもリロードしてください。