EliteMobs コンテンツの作成
EliteMobs では、YAML 設定ファイルを通じて、サーバー向けに豊富なカスタムコンテンツを作成できます。すべてのコンテンツは、EliteMobs プラグインディレクトリ内の特定のフォルダーに、正しくフォーマットされた .yml ファイルを配置することで作成されます。
コンテンツタイプ
EliteMobs は 8 つの主要なコンテンツタイプをサポートしています。
- カスタムボス - カスタムパワー、装備、能力を持つユニークなエリート MOB を作成
- カスタムアイテム - エンチャント付きのカスタム武器、防具、アイテムをデザイン
- カスタムクエスト - 目標と報酬を伴うクエストチェーンを構築
- カスタムイベント - 時間制またはトリガー式のボスイベントを設定
- カスタム NPC - クエストギバー、ショップ、インタラクティブな NPC を追加
- トレジャーチェスト - カスタム報酬とミミックメカニクスを備えた戦利品チェストを配置
- アリーナ - ボス遭遇を伴うウェーブ形式の戦闘チャレンジをデザイン
- ワームホール - 場所間のテレポーテーションポータルを作成
各コンテンツタイプには、独自の設定フォルダーとフィールド構造があります。
クイックスタート
すべてのカスタムコンテンツは次のパターンに従います。
- 拡張子 .yml の YAML ファイルを作成する
- lowercase_with_underscores.yml の形式で名前を付ける
- 適切なフォルダーに配置する
- YAML フィールドを使ってコンテンツを設定する
- EliteMobs をリロードするかサーバーを再起動する
ファイルの場所
各コンテンツタイプは、それぞれ独自のフォルダーに保存されます。
- カスタムボス: ~/plugins/EliteMobs/custombosses/
- カスタムアイテム: ~/plugins/EliteMobs/customitems/
- カスタムクエスト: ~/plugins/EliteMobs/customquests/
- カスタムイベント: ~/plugins/EliteMobs/customevents/
- カスタム NPC: ~/plugins/EliteMobs/npcs/
- トレジャーチェスト: ~/plugins/EliteMobs/customtreasurechests/
- アリーナ: ~/plugins/EliteMobs/customarenas/
- ワームホール: ~/plugins/EliteMobs/wormholes/
コンテンツ作成ツール
WebApp(初心者におすすめ)
EliteMobs WebApp を使って、ビジュアルインターフェースを通じて設定ファイルを生成できます。このツールはプロセスを大幅に速め、構文エラーを避けるのに役立ちます。
手動での YAML 設定
上級者向けには、利用可能なすべてのフィールドやオプションを完全に制御するために、YAML ファイルを手動で作成します。
YAML ファイルの形式
すべての EliteMobs 設定は YAML 形式を使用します。主なルールは次のとおりです。
- インデントにはタブではなくスペースを使う
- カラーコードを含む文字列にはシングルクォートが必要
- リストはハイフン形式またはブラケット形式を使う
isEnabledはコンテンツが読み込まれるかどうかを制御します。これは省略可能で、すべてのコンテンツタイプでデフォルトはtrueです(そのため、ファイルを無効にするにはisEnabled: falseを設定するだけで済みます)- ファイル名は lowercase_with_underscores.yml の形式を使うべきです
詳細な YAML 構文のヘルプについては、設定ファイルガイド を参照してください。
コンテンツタイプの概要
カスタムボス
カスタムボスは、強化された能力、カスタム装備、特殊なパワーを持つエリート MOB です。ボスシステムは、次を含む 60 以上の設定フィールドをサポートしています。
- エンティティタイプとレベル
- 体力倍率とダメージ倍率
- 装備(防具と武器)
- エリートパワーと能力
- ルートテーブルとドロップ
- スポーン/死亡メッセージとコマンド
- マルチフェーズメカニクス
- カスタムモデルと変装
基本的なボスの例:
isEnabled: true
entityType: ZOMBIE
name: '&e Test Boss'
level: dynamic
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
mainHand: GOLDEN_AXE
powers:
- invulnerability_knockback.lua
spawnMessage: A test boss has been spawned!
deathMessage: A test boss has been slain by $players!
カスタムアイテム
カスタムアイテムを使うと、カスタムエンチャントや効果を持つユニークな武器、防具、ツールを作成できます。アイテムシステムは、次を含む 15 の設定フィールドをサポートしています。
- マテリアルタイプ
- 表示名とロア
- エンチャントのリスト
- ポーション効果
- カスタムモデル ID
- ドロップの重み(weight)とスケーリング
- レベルとソウルバウンドの設定
基本的なアイテムの例:
isEnabled: true
material: DIAMOND_SWORD
name: '&4Legendary Blade'
lore:
- '&7A powerful weapon'
- '&7forged in dragon fire'
enchantments:
- DAMAGE_ALL,5
- FIRE_ASPECT,2
level: 10
soulbound: true
カスタムクエスト
カスタムクエストは、完了時の報酬を伴う目標をプレイヤーに作成します。クエストシステムは、次を含む 17 の設定フィールドをサポートしています。
- クエストの目標とタイプ
- 報酬(アイテム、お金、権限)
- 受注時/完了時のダイアログ
- NPC への納品要件
- クエストのロックアウトタイマー
- トラッキングとサウンド
カスタムイベント
カスタムイベントは、時間、確率、その他の条件に基づいてボスのスポーンをトリガーします。イベントシステムは、次を含む 18 の設定フィールドをサポートしています。
- イベントタイプとボスリスト
- トリガー確率と重み(weight)
- 開始時/終了時のメッセージとコマンド
- クールダウンタイマー(ローカルおよびグローバル)
- 最小プレイヤー数
- イベントの継続時間
カスタム NPC
カスタム NPC は、クエスト、ショップ、アリーナ向けのインタラクティブなキャラクターを提供します。NPC システムは、次を含む 18 の設定フィールドをサポートしています。
- NPC の名前、役割(role)、職業(profession)
- スポーン地点
- ダイアログ(greetings、dialog、farewell)
- インタラクションタイプ
- クエストとアリーナの参照
- カスタムモデルと変装
トレジャーチェスト
トレジャーチェストは、カスタマイズ可能な補充(restock)タイマーとミミックメカニクスを備えた戦利品報酬を提供します。チェストシステムは、次を含む 15 の設定フィールドをサポートしています。
- チェストのタイプと向き
- 場所の座標
- ルートテーブル
- 補充タイマー
- ミミックの確率とボスリスト
- 視覚効果
アリーナ
アリーナは、ボス遭遇を伴うウェーブ形式の戦闘チャレンジを作成します。アリーナシステムは、次を含む 19 の設定フィールドをサポートしています。
- アリーナの境界(corner1、corner2)
- ウェーブ数と遅延
- ボスリストとスポーン地点
- 報酬とプレイヤー数の制限
- アリーナメッセージ
- ウェーブ間休憩(intermission)のウェーブ
ワームホール
ワームホールは、2 つの場所間のテレポーテーションポータルを作成します。ワームホールシステムは、次を含む 11 の設定フィールドをサポートしています。
- 2 つの場所のエンドポイント
- 各場所の表示テキスト
- ビジュアルスタイルとパーティクルの色
- コインのコストと権限
- ブラインド効果とサイズ倍率
一般的なパターン
コンテンツの参照
コンテンツタイプは、ファイル名を使って互いを参照します。
- ボス内でパワーを参照: power_name.yml
- 戦利品内でアイテムを参照:
filename: item_name.yml(確率、数量などについては ルートテーブル の形式を参照) - イベント内でボスを参照: boss_filename.yml
- NPC 内でクエストを参照: quest_filename.yml
プレースホルダー
メッセージ内では次のプレースホルダーを使用します。
- $players - ボスを倒したプレイヤーのリスト
- $distance - ボスの場所までの距離
- $eventBossLevel - 動的なイベントボスのレベル
カラーコード
名前やメッセージには Minecraft のカラーコードを使用します。カラーコードはシングルクォートで囲む必要があります。
標準の Minecraft カラーコード:
- &0 - 黒(Black)
- &1 - 濃い青(Dark Blue)
- &2 - 濃い緑(Dark Green)
- &3 - 濃い水色(Dark Aqua)
- &4 - 濃い赤(Dark Red)
- &5 - 濃い紫(Dark Purple)
- &6 - 金(Gold)
- &7 - 灰色(Gray)
- &8 - 濃い灰色(Dark Gray)
- &9 - 青(Blue)
- &a - 緑(Green)
- &b - 水色(Aqua)
- &c - 赤(Red)
- &d - 明るい紫(Light Purple)
- &e - 黄色(Yellow)
- &f - 白(White)
書式コード:
- &l - 太字(Bold)
- &m - 取り消し線(Strikethrough)
- &n - 下線(Underline)
- &o - 斜体(Italic)
- &r - リセット(Reset)
エリートパワーシステム
EliteMobs には、カスタムボスに割り当てられる 60 以上のエリートパワーが含まれています。パワーはボス設定内でファイル名によって参照されます。
パワーのカテゴリー
攻撃/戦闘パワー:
- ArrowFireworks、ArrowRain、AttackArrow、AttackFireball、AttackLightning
- AttackPush、AttackVacuum、BulletHell、DeathSlice
属性パワー:
- Firestorm、FlamePyre、Flamethrower、FrostCone、FrostWalker
- LightningBolts、Thunderstorm、PhotonRay、PlasmaBlaster
防御パワー:
- ShieldWall、InvulnerabilityArrow、InvulnerabilityFallDamage
- InvulnerabilityFireworks、InvulnerabilityKnockback
- ChannelHealing、SpiritWalk
特殊能力:
- GroundPound、Implosion、MeteorShower、GoldExplosion、GoldShotgun
- SkeletonPillar、SkeletonTrackingArrow、TrackingFireball、Taze、Taunt
- ZombieBloat、ZombieFriends、ZombieNecronomicon、ZombieParents
- SummonEmbers、SummonTheReturned、MovementSpeed
エンダードラゴン専用パワー:
- AimedFireball、ArrowBombardment、DiscoFireballs、EmpoweredLightning
- Shockwave、Tornado(ドラゴン専用パワーは合計 11 種類)
戦利品パワー:
- BonusCoins、BonusLoot、HyperLoot
パワーは powers リストフィールドを使ってボスに追加されます。
powers:
- invulnerability_knockback.lua
- flame_pyre.lua
- spirit_walk.lua
高度な機能
マルチフェーズボス
ボスは、個別の設定ファイルを持つ複数のフェーズを持つことができます。phases フィールドを使ってフェーズボスのファイルを参照し、phaseSpawnLocation を使ってフェーズ移行が発生する場所を設定します。
エリートスクリプト
エリートスクリプトは、イベント駆動のアクション、条件、クールダウンを伴う高度なカスタムボス能力を提供します。スクリプトはボス設定内の eliteScript フィールドを使って設定します。
カスタムモデル
customModel フィールドを使って、カスタムモデルをボス、NPC、アイテムに適用できます。これには追加のモデル連携のセットアップが必要です。
ボスの装備
ボスはカスタム防具を着用し、武器を持つことができます。
helmet: DIAMOND_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD
コマンドの実行
ボスは特定のイベント時にコマンドを実行できます。
- onSpawnCommands - ボスがスポーンしたときに実行
- onDeathCommands - ボスが倒されたときに実行
- onCombatEnterCommands - 戦闘が始まったときに実行
- onCombatLeaveCommands - 戦闘が終わったときに実行
ボスのメッセージ
ボスのアナウンスをカスタマイズします。
- spawnMessage - ボスがスポーンしたときにブロードキャスト
- deathMessage - ボスが倒されたときにブロードキャスト($players プレースホルダーをサポート)
- escapeMessage - ボスが逃走したときにブロードキャスト
- locationMessage - ボスまでの距離を表示($distance プレースホルダーをサポート)
- deathMessages - ランダムな死亡メッセージのバリエーションのリスト
アナウンス優先度レベル(0〜3)はブロードキャストの範囲を制御します。announcementPriority フィールドを使用します。
リージョナルボス
リージョナルボスは isRegionalBoss フィールドを使用し、リーシュ半径、スポーン制限、ブロック状態の変更を持つことができます。
- leashRadius - スポーン地点からの最大距離
- onSpawnBlockStates - ボスがスポーンしたときのブロックの変更
- onRemoveBlockStates - ボスが除去されたときのブロックの変更
戦利品の設定
ボスのドロップを制御します。
- dropsEliteMobsLoot - カスタム戦利品ドロップを有効にする(デフォルト: true)
- dropsVanillaLoot - バニラのドロップを有効にする(デフォルト: true)
- dropsRandomLoot - ランダムな戦利品を有効にする(デフォルト: true)
- uniqueLootList - 数量を指定した特定の戦利品アイテム
例:
uniqueLootList:
- custom_sword.yml:1
- rare_helmet.yml:1
既成コンテンツ
EliteMobs には、134 以上の既成ボス設定と、すべてのコンテンツタイプ向けのテンプレートが含まれています。これらはそれぞれの /premade/ フォルダーにあり、独自のカスタムコンテンツを作成する際の例として役立ちます。
ヘルプを得るには
- 特定のコンテンツ作成ガイドについてはサイドバーを確認してください
- コミュニティのサポートについては EliteMobs Discord を訪れてください
- ソースコードの例については GitHub リポジトリ を確認してください