MOBのsummonコマンドの作り方 - TUSB/TheUnusualSkyBlock GitHub Wiki

MOBのSummonコマンドの作り方

1.13環境のfunction呼び出しで召喚する方法や直接そのMOBのsummonコマンドをコマブロで実行する方法では、召喚できないようになっている。

Spawnタグが付いたエンティティに記述されているMOBの召喚データを読み取って召喚させる。

召喚用エンティティになれるエンティティ

ArmorItemsのNBTタグが付与できるエンティティを使うことができる。
通常村人とアーマースタンドを使う。

召喚用エンティティの基本データ

※ここからはアーマースタンドを使うものとする。

/summon armor_stand ~ ~ ~ {NoAI:1b,Silent:1b,DeathTime:19s,Tags:[Spawn],ArmorItems:[{},{},{},{id:"minecraft:stick",Count:1b,tag:{}}]}

Spawnタグをつける。Silent,DeathTimeを付与することで、静かに一瞬でアーマースタンドを消す。
ArmorItems[3]には何かアイテムを持たせて、そのアイテムのtagの中にMOBの召喚データのSpawnEntitiesを書き込む

MOBの召喚データ

ArmorItems[0].tagタグに記述していく。

tag
├ SpawnEntities #List
│ └ [ #List
│   └ {
│     ├ Tags
│     └ Level
└ Count

SpawnEntities

召喚するモブのデータを記述する。
以下子タグの説明。

Tags

召喚するMOBのデータが格納されているフォルダ、ファイルを選択する。
v13 MobのMob管理シートの召喚するMOBのDimension,Group,AI,<SubFolder,>NameUS を記述する。参考→MOBのフォルダ説明
どれも最初とアンダーバーの後は大文字、アンダーバーは記述しない。
settings:enemy/ を辿っていくと正確。

  • Tags:[Global,Ground,Blow,Sinensama]

Level

召喚するMOBのレベルを指定する。
Levelでのステータス変動
以上SpawnEntitiesの子タグの説明。


Count

召喚するMOBの数を指定する。


SpawnEntitiesはリスト型になっている。これによりPassengersの指定ができる。
また、同じリストの中に複数体のMOBを入れていると、同じPassengersの段に入れることができる。
PassengersはSpawnEntities[][0]のMOBに重ねられる。
システム上、MOBの読み込みはSpawnEntities[-1][-1]から読み込まれる。

召喚時の煙演出

召喚させるときに白い煙なようなものを表示させるかどうか選択できる。デフォルトでは表示されない。
表示させるときは、SpawnEntities[][].TagsSpawnParticlesというタグを追加しておく。

指定例

  • A,B,Cの三体のモブを縦にならべて召喚する。

C
B
A

のように召喚される。

{
  SpawnEntities: [
    [
      {
        Tags: [Global,Ground,Blow,A],
        Level: 10
      }
    ],
    [
      {
        Tags: [Global,Ground,Blow,B],
        Level: 15
      }
    ],
    [
      {
        Tags: [Global,Ground,Blow,C],
        Level: 8
      }
    ]
  ]
}
  • A, B1,B2, C1,C2,C3 のように同じ段に複数のMOBがいるように召喚する。

C1 C2 C3
B1 B2
A

のように召喚される。
#CはB1のPassengersに入っている。
#BはAのPassengersに入っている。

{
  SpawnEntities: [
    [
      {
        Tags: [Global,Ground,Blow,A],
        Level: 10
      }
    ],
    [
      {
        Tags: [Global,Ground,Blow,B1],
        Level: 15
      },
      {
        Tags: [Global,Ground,Blow,B2],
        Level: 12
      }
    ],
    [
      {
        Tags: [Global,Ground,Blow,C1],
        Level: 8
      },
      {
        Tags: [Global,Ground,Blow,C2],
        Level: 18
      }
      {
        Tags: [Global,Ground,Blow,C3],
        Level: 14
      }
    ]
  ]
}
  • 深淵様[DebugRoom,Ground,Blow,Sinensama]のsummonコマンド例 Level:1000
/summon villager ~ ~ ~ {NoAI:1b,Silent:1b,DeathTime:19s,Tags:[Spawn],ArmorItems:[{},{},{},{id:"minecraft:stick",Count:1b,tag:{SpawnEntities:[[{Tags:[DebugRoom,Ground,Blow,Sinensama],Level:1000}]]}}]}
⚠️ **GitHub.com Fallback** ⚠️