💡紹介

Gemini-AIは単なるチャットボットではありません。それは全能のバーチャルアシスタントであり、24時間365日のサポートスタッフであり、そしてダイナミックなクエストシステムです。プレイヤー体験を向上させ、管理者の負担を軽減するために設計されています。

✨ GEMINI-AIの主な機能 ✨

🚀 インテリジェントなAIとの対話&状況認識

  • 多様なコミュニケーション: プレイヤーはコマンド(/bot)やチャットのプレフィックス(AIさん)を通じてAIと会話できます。どちらもconfig.ymlでカスタマイズ可能です。
  • プレイヤーの状況を理解: AIは機械的な返答をしません!PlaceholderAPIとの連携により、プレイヤーの現在地、体力、所持金などの状況を理解し、最適な応答を生成します。
  • 会話の記憶: AIは以前の会話を「記憶」しており、自然なフォローアップの質問が可能です。この記憶のサイズは、権限グループごとに設定できます!

⚙️ 奥深くダイナミックなクエストシステム

Gemini-AIは、プレイヤーの行動に基づいて自動的にクエストを発生させ、サーバーを生き生きとした世界に変えます。

  • 数十種類のトリガー:
    • イベント: 初回参加、Mobの討伐、アイテムのクラフト、特定のY座標への到達など...
    • 高度な設定: PlaceholderAPIの値を基にトリガーすることも可能です(例:プレイヤーがレベル10に到達した時)。
  • 豊富な目標と報酬:
    • 目標: アイテム収集や動物の懐柔から、防具一式の着用まで。ターゲットをランダム化することもサポートしています(例:ゾンビまたはスケルトンを倒す)。
    • 報酬: アイテムだけではありません!コマンドを実行して(お金やランクを与える)、プレイヤーにGUIから報酬を選ばせること(CHOICE)もできます。
  • ストーリーラインの構築:
    • next-questオプションでクエストを繋げ、長大なクエストチェーンを作成できます。
    • 前のクエストで手に入れた「特別な」アイテムを新しいクエストの開始条件に設定できます。

🔧 究極の管理者向けツールキット

サーバーの管理を簡単かつプロフェッショナルにサポートします。

  • ワンコマンドでプラグインを翻訳:
    • /ai translateコマンド一つで、他のプラグインの言語ファイル(.yml)全体を翻訳できます。
    • スマートキャッシュ機能により、APIコストを節約し、翻訳速度を向上させます。
  • ウェブベースのクエストエディター:
    • もう手動でYMLを編集する必要はありません!/ai editorコマンドで直感的なウェブ画面を開けます。
    • 画期的機能: 「AIで作成 ✨」機能を使えば、アイデアを入力するだけで完全なクエストを生成できます!
  • 権限ベースのプロファイルと収益化:
    • config.ymlでグループごと(一般、VIP、管理者)に個別のAI「プロファイル」を作成できます。
    • クールダウン、会話メモリ、最大クエスト数などの制限を細かく調整。魅力的なVIPパッケージを作成するための最適なツールです。

🔑コマンドと権限

プレイヤー向けコマンド

コマンド 説明
/<config-command-name> [質問] AIに質問をします。デフォルトのコマンド名は/botで、config.ymlで変更可能です。
[chat-prefix] [質問] チャットで直接AIを呼び出します。デフォルトのプレフィックスはAIさん で、config.ymlで変更可能です。
/ai questlog クエストログを開き、進行中のクエストの確認、追跡、またはキャンセルができます。

管理者向けコマンド

コマンド 説明 権限
/ai reload プラグインの全設定をリロードします。 geminiai.admin
/ai translate <plugin> <file> <lang> 他のプラグインの.ymlファイルを翻訳します。 geminiai.admin
/ai confirm 翻訳で元のファイルを上書きすることを確認します。 geminiai.admin
/ai deny 上書きせずに翻訳を新しいファイルとして保存します。 geminiai.admin
/ai cancel 進行中の翻訳プロセスをキャンセルします。 geminiai.admin
/ai editor WebベースのクエストエディターにアクセスするためのセッションとURLを生成します。 geminiai.admin

その他の権限

権限 説明
geminiai.admin すべてのGemini-AI管理コマンドへのアクセスを許可します。
geminiai.cooldown.bypass プレイヤーがAI質問コマンドのクールダウンをバイパスできるようにします。
geminiai.profile.* config.ymlで定義された特定のAIプロファイルへのアクセスを許可します(例:geminiai.profile.vip, geminiai.profile.default)。

📄YMLファイル

以下は、重要な設定ファイルのオリジナルで完全な内容です。これらのファイルには詳細なコメントが付いており、直接簡単にカスタマイズできます。

config.yml

config.yml全体を表示するには展開

# =================================================================
#                 GEMINI-AI プラグイン設定
# =================================================================
# Gemini-AI設定ファイルへようこそ!
# ここでは、コマンド、AIの性格、その他の高度な設定まで、
# あらゆるものをカスタマイズできます。
# =================================================================

# 設定バージョン、この行は変更しないでください。
config-version: '1.2.0'

# =================================================================
#               AIとの対話方法
# =================================================================
interaction:
  command:
    # プレイヤーがAIを呼び出すために使用するコマンド名。
    name: "bot"
  chat:
    # この文字列で始まるメッセージはAIをトリガーします。
    # この機能を無効にする場合は空("")にしてください。
    prefix: "AIさん、"
  response:
    # 応答のデフォルト表示モード。「private」または「public」。
    default-mode: "private"
    # 質問の最後に付けることで、一時的に表示モードを反転させる特殊記号。
    public-trigger: "!!"

# =================================================================
#                      GEMINIのコア設定
# =================================================================
gemini:
  # (重要) 権限に基づいてAIプロファイルを定義します。
  # グループを編集または追加できますが、プラグインが正常に動作するために、
  # テンプレートに従って必要なキーがすべて存在することを確認してください。

  # 1つのプロジェクトの無料APIクォータを使い果たした際のエラーを避けるため、
  # 各グループに異なるプロジェクトの複数のAPIキーを追加することをお勧めします。

  ai-profiles:
    # 管理者向けプロファイル:最高の権限、制限なし。
    admin:
      # (必須) プレイヤーがこのプロファイルを使用するために必要な権限。
      permission: "geminiai.profile.admin"
      # AIへの質問間のクールダウン時間(秒)。
      cooldown: 0
      # AIが文脈を理解するために記憶する最近の質問と回答のペアの数。
      conversation-memory-size: 20
      # プレイヤーが同時にアクティブにできるクエストの最大数。
      max-active-quests: 10
      # クエストが自動的に期限切れになるまでの時間(時間)。
      # 期限切れなしにするには0に設定します。
      quest-lifetime-hours: 0
      # このプロファイルで使用するGeminiモデル。「gemini-2.5-flash」を推奨。
      model: "gemini-2.5-flash"
      # AIの各応答における最大トークン数(単語/文字)。
      max-output-tokens: 1000
      # AIの「性格」。これはAIが常に従うコアな指示です。
      system-instruction: |
        あなたは全能のサーバー管理者であり、サーバー管理を効率的に支援します。
        常に正確かつ簡潔に回答してください。
      # APIキーのリスト。プラグインは過負荷を避けるために自動的にローテーションします。
      chat-api-keys:
        - "your_admin_api_key_here"

    # VIPプレイヤー向けプロファイル:通常プレイヤーより高い権限。
    vip:
      permission: "geminiai.profile.vip"
      cooldown: 20
      conversation-memory-size: 14
      max-active-quests: 5
      quest-lifetime-hours: 48
      model: "gemini-2.5-flash"
      max-output-tokens: 800
      system-instruction: |
        あなたはVIPプレイヤー向けのプレミアムAIアシスタントです。
        常に知識豊富で、親切で役立つ回答を提供してください。
      chat-api-keys:
        - "your_vip_api_key_1"
        - "your_vip_api_key_2"

    # 通常プレイヤー向けのデフォルトプロファイル
    default:
      permission: "geminiai.profile.default"
      cooldown: 60
      conversation-memory-size: 8
      max-active-quests: 3
      quest-lifetime-hours: 24
      model: "gemini-2.5-flash"
      max-output-tokens: 1000
      system-instruction: |
        あなたはMinecraftサーバーの知的でフレンドリーなAIアシスタントです。
        常に自然で陽気な方法で応答してください。
      chat-api-keys:
        - "your_default_player_api_key"

  # --- 翻訳機能専用の設定 ---
  # できるだけ多くのAPIキーを追加し、他のプラグイン機能で
  # すでに使用されているAPIと重複しないようにすることをお勧めします。
  translation:
    model: "gemini-2.5-flash"
    api-keys:
      - "your_translation_api_key_here"

  # (警告) これはどのサーバーにとっても最適な設定であり、変更すべきではありません。
  # {placeholders}変数はplaceholders.ymlからの情報に置き換えられます。
  context-format: "最も正確な回答を提供するために、次の文脈を参考にしてください:{placeholders}"

  # --- クエストシステム専用の設定 ---
  quest-generation:
    prompt-format: |
      The objective for a quest in a Minecraft server is: '{objective}'.
      Based on this objective, generate an exciting quest name and a short, immersive description (1-2 sentences).
    quest-generation-profile:
      model: "gemini-2.5-flash"
      max-output-tokens: 1000
      api-keys:
        - "your_quest_api_key_here"
      disable-safety-filters: true

# =================================================================
#                       その他の一般設定
# =================================================================
general:
  # プラグインの言語を選択します。
  # ファイル名は'lang'フォルダ内のファイルと一致する必要があります(例:'en'、'ja')。
  # デフォルト言語は英語('en')です。
  language: "ja"

  # プラグイン活動のログファイルへの記録を有効/無効にします。
  enable-logging: true
  # 429エラーを避けるための、一括翻訳リクエスト間の遅延時間(ミリ秒)。
  translation-delay-ms: 1000
  # クエスト完了後、新しいクエストを受け取れるようになるまでのクールダウン時間(分)。
  quest-completion-cooldown-minutes: 5

  # 追跡中のクエストの表示モード
  # プレイヤーにクエスト情報をどのように表示するかを選択できます。
  # 有効なモード:
  #   - 'SIDEBAR': 画面右側のスコアボードに表示します。
  #   - 'BOSS_BAR': 画面上部のボスバーに表示します。
  #   - 'ACTION_BAR': アクションバー(ホットバーの上)に表示します。
  #   - 'NONE': 何も表示せず、プレイヤーは/ai questlogで自分で確認します。
  quest-display:
    mode: "SIDEBAR"
            

quests.yml

quests.yml全体を表示するには展開

# =================================================================================================
#
#                               quests.yml の完全ガイド
#
# =================================================================================================
# このファイルはクエストシステムの中心であり、各クエストの「アーキタイプ」を定義します。
# 各アーキタイプには、発動トリガー、要件、完了すべき目標、そして報酬が含まれます。
#
# 全体構造:
#
# quest-archetypes:
#   # クエストの一意な識別子。スペースなしの1単語で記述します。
#   quest_name_1:
#     trigger-scenarios: [...]
#     requirements: {...}
#     objectives: [...]
#     rewards: [...]
#     next-quest: "..."
#
# =================================================================================================
#
# I. TRIGGER (trigger-scenarios)
#
# -------------------------------------------------------------------------------------------------
# これはクエストの割り当てをトリガーするアクションのリストです。これらのアクションの
# いずれか1つが発生すると、クエストが割り当てられます(プレイヤーが条件を満たしている場合)。
#
# 利用可能なトリガーのリスト:
#
# --- 戦闘 & PvP ---
# - KILL_MOB:ZOMBIE           (特定の種類のMobを倒す)
# - PLAYER_KILL               (他のプレイヤーを倒す)
# - TAKE_DAMAGE:FALL          (特定の原因からダメージを受ける。例:FALL, LAVA, ZOMBIE...)
# - BLOCK_ATTACK              (盾で攻撃を正常にブロックする)
#
# --- 探索 & 移動 ---
# - JOIN                      (サーバーに参加する)
# - JOIN:FIRST                (サーバーに初めて参加する)
# - QUIT                      (サーバーから退出する)
# - DEATH                     (死亡する)
# - RESPAWN                   (リスポーンする)
# - BIOME_ENTER:PLAINS        (バイオームに入る)
# - PORTAL_USE:NETHER_PORTAL  (ポータルを通過する。例:NETHER_PORTAL, END_PORTAL)
# - PLAYER_SLEEP              (ベッドで寝る)
# - REACH_HEIGHT:>=:200       (Y座標に到達する。演算子:>, >=, <, <=, ==, !=)
#
# --- 農業 & 対話 ---
# - BLOCK_BREAK:DIAMOND_ORE   (特定の種類のブロックを破壊する)
# - BLOCK_PLACE:CRAFTING_TABLE (特定の種類のブロックを設置する)
# - USE:LEVER                 (ブロックまたはアイテムと対話(右クリック)する)
# - USE:ENDER_PEARL
# - ITEM_CONSUME:APPLE        (アイテムを消費(食べる/飲む)する)
# - ITEM_CRAFT:DIAMOND_SWORD  (アイテムを作成する)
# - FISH:CAUGHT_FISH          (釣りの状態。例:CAUGHT_FISH, FAILED_ATTEMPT)
# - VILLAGER_TRADE            (村人との取引に成功する)
# - PLANT_CROP:WHEAT_SEEDS    (作物を植える)
# - HARVEST_CROP:WHEAT        (完全に成長した作物を収穫する)
# - STRIP_LOG:OAK_LOG         (斧で原木の皮を剥ぐ)
# - TILL_SOIL                 (クワで土を耕す)
# - SHEAR_ENTITY:SHEEP        (ハサミでエンティティの毛を刈る)
# - FILL_BUCKET:WATER_BUCKET  (バケツを水で満たす)
# - EMPTY_BUCKET:LAVA_BUCKET  (バケツを空にする)
#
# --- 状態 & アイテム ---
# - LEVEL_UP:30               (経験値レベルに到達する)
# - ENCHANT:SHARPNESS         (任意のレベルのエンチャントを付ける)
# - ENCHANT:SHARPNESS:5       (レベルVのエンチャントを付ける)
# - TAME:WOLF                 (動物を手懐ける)
# - GAIN_EFFECT:SPEED         (ポーション効果を受ける)
# - GAIN_EFFECT:SPEED:2       (レベルIIのポーション効果を受ける)
# - ITEM_BREAK:DIAMOND_PICKAXE (アイテムが壊れる)
# - ITEM_REPAIR               (金床でアイテムを修理する)
# - ITEM_DROP:DIRT            (アイテムをドロップする)
# - ITEM_PICKUP:DIAMOND       (アイテムを拾う)
#
# --- システム & その他 ---
# - COMMAND:spawn             (コマンドを使用する(/なし))
# - PAPI:player_level>=10     (プレースホルダーに基づいてトリガーする)
#
# =================================================================================================
#
# II. OBJECTIVES (objectives)
#
# -------------------------------------------------------------------------------------------------
# プレイヤーが完了する必要がある目標のリスト。
# 各目標の構造:{ type, target, amount }
#
# 目標タイプのリスト:
#
# | type            | target (ターゲット)                           | amount (数量)                             |
# |-----------------|---------------------------------------------|-------------------------------------------|
# | KILL_MOB        | EntityType名 (例: ZOMBIE)                   | 倒すMobの数。                             |
# | GATHER_ITEM     | アイテムのMaterial名 (例: DIAMOND)          | インベントリに必要なアイテムの数。        |
# | BREAK_BLOCK     | ブロックのMaterial名 (例: OAK_LOG)          | 破壊するブロックの数。                    |
# | PLACE_BLOCK     | ブロックのMaterial名 (例: TORCH)            | 設置するブロックの数。                    |
# | REACH_LEVEL     | *未使用* | 到達すべき経験値レベル。                  |
# | KILL_PLAYER     | プレイヤー名、または`ANY`                   | 倒すプレイヤーの数。                      |
# | BREED_ANIMAL    | EntityType名 (例: COW)                      | 繁殖させる回数。                          |
# | TAME_ANIMAL     | EntityType名 (例: WOLF)                     | 手懐ける動物の数。                        |
# | CONSUME_ITEM    | Material名 (例: APPLE)                      | 食べる/飲むアイテムの数。                 |
# | SMELT_ITEM      | 出力されるMaterial名 (例: IRON_INGOT)       | 製錬するアイテムの数。                    |
# | ENCHANT_ITEM    | エンチャント名 (例: sharpness)              | 達成すべき最小エンチャントレベル。        |
# | TRADE_VILLAGER  | *未使用* | 取引回数。                                |
# | FISH_ITEM       | 釣れるアイテムのMaterial名 (例: SALMON)     | 釣るアイテムの数。                        |
# | WEAR_ARMOR      | 防具の種類名 (例: DIAMOND, IRON)            | フルセットを着用 (常に1)。                |
#
# ランダム化された目標:
# リストを提供することで、AIに`target`をランダムに選択させることができます。
#
# objectives:
#   - type: 'KILL_MOB'
#     target: ['ZOMBIE', 'SKELETON', 'SPIDER']
#     amount: 10
#
# =================================================================================================
#
# III. REWARDS (rewards)
#
# -------------------------------------------------------------------------------------------------
# クエスト完了時の報酬。
#
# - type: COMMAND
#   commands:
#     - "eco give %player% 1000"
#     - "say %player% はクエストを完了しました!"
#
# - type: ITEM
#   items:
#     - material: "DIAMOND"
#       amount: 10
#
# - type: CHOICE
#   title: "報酬を選んでください"
#   items:
#     - material: "DIAMOND_SWORD"
#       name: "聖剣"
#       # ... その他の属性
#     - material: "DIAMOND_AXE"
#       name: "戦斧"
#       # ... その他の属性
#
# 詳細なアイテムフォーマット:
# - material: "DIAMOND_SWORD"
#   amount: 1
#   name: "聖剣"
#   lore:
#     - "鋭い刃。"
#   enchantments:
#     - "sharpness:5"
#     - "unbreaking:3"
#   # 他のクエストの要件で使用するために、このアイテムに「指紋」を
#   # 持たせたい場合はtrueに設定します。
#   quest-item: true
#
# =================================================================================================
#
# IV. REQUIREMENTS (requirements) & V. NEXT QUEST (next-quest)
#
# -------------------------------------------------------------------------------------------------
#
# requirements:
#   required-items:
#     # 通常のアイテム、インベントリにあるだけでよい
#     - material: "NETHER_STAR"
#       amount: 1
#     # 'the_ocean_trial'クエストからの「指紋」が必要なアイテム
#     - material: "HEART_OF_THE_SEA"
#       amount: 1
#       from-quest: "the_ocean_trial"
#
# next-quest: "next_quest_name"
#
# =================================================================================================

# 設定バージョン (変更しないでください)
config-version: '1.2.0'

quest-archetypes:
  # =================================================================
  #                    クエストチェーン:始まり
  # =================================================================
  newbie_1_wood:
    trigger-scenarios:
      - 'JOIN:FIRST'
    objectives:
      - type: 'BREAK_BLOCK'
        target:
          - 'OAK_LOG'
          - 'BIRCH_LOG'
          - 'SPRUCE_LOG'
        amount: 10
    rewards:
      - type: "ITEM"
        items:
          - material: "STONE_AXE"
    next-quest: "newbie_2_stoneage"

  newbie_2_stoneage:
    objectives:
      - type: 'GATHER_ITEM'
        target: 'COBBLESTONE'
        amount: 20
    rewards:
      - type: "ITEM"
        items:
          - material: "STONE_PICKAXE"
    next-quest: "newbie_3_tools"

  newbie_3_tools:
    objectives:
      - type: 'ITEM_CRAFT'
        target: 'STONE_SWORD'
        amount: 1
      - type: 'ITEM_CRAFT'
        target: 'STONE_SHOVEL'
        amount: 1
    rewards:
      - type: "ITEM"
        items:
          - material: "BREAD"
            amount: 5
    next-quest: "newbie_4_shelter"

  newbie_4_shelter:
    objectives:
      - type: 'PLACE_BLOCK'
        target: 'OAK_PLANKS'
        amount: 30
      - type: 'ITEM_CRAFT'
        target: 'FURNACE'
        amount: 1
    rewards:
      - type: "CHOICE"
        title: "ベッドを選んでください"
        items:
          - material: "WHITE_BED"
          - material: "RED_BED"
          - material: "BLUE_BED"
            

placeholders.yml

placeholders.yml全体を表示するには展開

# =================================================================
#                         新しいガイド
# =================================================================
# 共通の意味を持つキーワードをグループ化できます。
# 各グループには、プレースホルダー文字列と関連キーワードのリストがあります。
# プレイヤーの質問にリスト内のキーワードが含まれている場合、
# プラグインは対応するプレースホルダーを使用してAIに文脈を提供します。
#
# 書式:
# any_group_name:
#   placeholder: '%placeholder_api%'
#   keywords:
#     - 'keyword 1'
#     - 'keyword 2'
#     - 'keyword 3'
# =================================================================

# 設定バージョン、この行は変更しないでください。
# プラグインは必要に応じて設定ファイルを自動的に更新するためにこれを使用します。
config-version: '1.2.0'

# =================================================================
placeholders:
  location:
    placeholder: '%player_location_world%, %player_location_x%, %player_location_y%, %player_location_z%'
    keywords:
      - '場所'
      - '座標'
      - 'どこにいる'

  biome:
    placeholder: '%player_biome_name%'
    keywords:
      - 'バイオーム'
      - '地域'

  world:
    placeholder: '%player_world_name%'
    keywords:
      - 'ワールド'
      - '世界'

  health:
    placeholder: '%player_health_rounded% / %player_max_health_rounded%'
    keywords:
      - '体力'
      - 'hp'
      - 'ヘルス'

  hunger:
    placeholder: '%player_food_level%/20'
    keywords:
      - '空腹'
      - '満腹度'
      - '食べ物'

  level:
    placeholder: '%player_level%'
    keywords:
      - 'レベル'
      - '経験値'

  server_time:
    placeholder: '%server_time_12%'
    keywords:
      - '時間'
      - '何時'

  server_players:
    placeholder: '%server_online% / %server_max_players%'
    keywords:
      - 'プレイヤー'
      - 'オンライン'
      - '人数'

  server_tps:
    placeholder: '%server_tps_1%'
    keywords:
      - 'tps'
      - 'パフォーマンス'
      - 'ラグ'
            

keywords.yml

keywords.yml全体を表示するには展開

# =================================================================
#            カスタムの翻訳不可キーワードリスト
# =================================================================
# 翻訳してほしくない単語やフレーズをここに追加してください。
# これは、プラグイン固有のキーワード、プレイヤー名、コマンド名、
# または保持する必要がある特別な値に非常に便利です。
#
# - チェックは大文字と小文字を区別しません。
# - 各キーワードは、ハイフン(-)で始まる別の行にある必要があります。
# =================================================================

# 設定バージョン、この行は変更しないでください。
# プラグインは必要に応じて設定ファイルを自動的に更新するためにこれを使用します。
config-version: '1.2.0'

# =================================================================
keywords:
  # 全般
  - "true"
  - "false"
  - "null"
  - "default"
  - "Lowest"
  - "Low"
  - "Normal"
  - "High"
  - "Highest"

  # プラグイン固有
  - "AdminShop"
  - "AnotherPluginValue"

  # Minecraftのアイテムとブロック
  - "ACACIA_BOAT"
  - "APPLE"
  - "ARMOR_STAND"
  # ... (その他多数のキーワード)
            

lang/ja.yml (および他の言語ファイル)

langディレクトリ内のファイルを使用すると、プラグインがプレイヤーに表示するすべてのメッセージをカスタマイズできます。サーバーのスタイルに合わせてテキストを変更したり、新しい言語に翻訳したりできます。

lang/ja.ymlの例を見る

# =================================================================
#                 プラグイン通知のカスタマイズ
# =================================================================
# 言語ファイルへようこそ!
# ここでは、Gemini-AIがプレイヤーや管理者に送信する
# すべてのメッセージを変更できます。
# =================================================================

# メッセージのプレフィックス
message-prefix: "[alilShady]: "

# プレフィックスから除外するキーのリスト
prefix-exemptions:
  - 'public-ask-prefix'
  - 'translation.confirm-prompt'
  - 'translation.overwrite-confirmed'
  - 'translation.save-new-denied'
  # ... (その他のキー)

# --- 一般的なメッセージ ---
ask-success: ""
console-ask-success: "[alilShady]: "
reload-success: "設定が正常にリロードされました!"
no-permission: "このコマンドを実行する権限がありません!"
# ... (その他多数のメッセージ)
            

📖クエスト設定

Gemini-AIのクエストシステムはquests.ymlで定義されています。以下に、その構造と使用可能な値の詳細ガイドを示します。

I. トリガー

トリガーは、クエストの割り当てをアクティブにするゲーム内イベントです。リストされたトリガーのいずれかが発生すると、プラグインは他の要件をチェックし、プレイヤーにクエストを割り当てます。

使用法 説明
PAPI:<placeholder> <operator> <value> PlaceholderAPIからの値に基づいてトリガーします。有効な演算子は>>=<<===!=です。
JOIN プレイヤーがサーバーに参加したときにトリガーします。
JOIN:FIRST プレイヤーが初めてサーバーに参加したときにトリガーします。
QUIT プレイヤーがサーバーから退出したときにトリガーします。
DEATH プレイヤーが死亡したときにトリガーします。
RESPAWN プレイヤーがリスポーンしたときにトリガーします。
WORLD_CHANGE プレイヤーがワールドを変更したときにトリガーします。
KILL_MOB:<ENTITY_TYPE> プレイヤーが特定の種類のMobを倒したときにトリガーします(例: ZOMBIE)。
PLAYER_KILL プレイヤーが他のプレイヤーを倒したときにトリガーします。
TAKE_DAMAGE:<DAMAGE_TYPE> プレイヤーが特定の原因からダメージを受けたときにトリガーします(例: FALL, LAVA)。
BLOCK_ATTACK プレイヤーが盾で攻撃を正常に防いだときにトリガーします。
BIOME_ENTER:<BIOME_NAME> プレイヤーが特定のバイオームに入ったときにトリガーします(例: PLAINS)。
PORTAL_USE:<PORTAL_TYPE> プレイヤーがポータルを通過したときにトリガーします(例: NETHER_PORTAL, END_PORTAL)。
REACH_HEIGHT:<operator>:<Y_level> プレイヤーが特定のY座標に到達したときにトリガーします。有効な演算子は>>=<<===!=です。
BLOCK_BREAK:<MATERIAL_NAME> プレイヤーが特定の種類のブロックを破壊したときにトリガーします(例: DIAMOND_ORE)。
BLOCK_PLACE:<MATERIAL_NAME> プレイヤーが特定の種類のブロックを設置したときにトリガーします。
USE:<MATERIAL_NAME> プレイヤーが特定のアイテムまたはブロックと対話(右クリック)したときにトリガーします。
ITEM_CONSUME:<MATERIAL_NAME> プレイヤーが特定のアイテムを消費(食べる/飲む)したときにトリガーします。
ITEM_CRAFT:<MATERIAL_NAME> プレイヤーが特定のアイテムを作成したときにトリガーします。
FISH:<STATE> 釣りの状態に基づいてトリガーします(例: CAUGHT_FISH, FAILED_ATTEMPT)。
VILLAGER_TRADE プレイヤーが村人との取引を完了したときにトリガーします。
PLANT_CROP:<MATERIAL_NAME> プレイヤーが特定の作物を植えたときにトリガーします。
HARVEST_CROP:<MATERIAL_NAME> プレイヤーが特定の作物を収穫したときにトリガーします。
STRIP_LOG:<LOG_TYPE> プレイヤーが特定の種類の原木の皮を剥いだときにトリガーします。
TILL_SOIL プレイヤーがクワで土を耕したときにトリガーします。
SHEAR_ENTITY:<ENTITY_TYPE> プレイヤーがエンティティの毛を刈ったときにトリガーします。
FILL_BUCKET:<BUCKET_TYPE> プレイヤーがバケツを満たしたときにトリガーします。
EMPTY_BUCKET:<BUCKET_TYPE> プレイヤーがバケツを空にしたときにトリガーします。
PLAYER_SLEEP プレイヤーがベッドで寝たときにトリガーします。
TIME_IS:<STATE> ゲーム内の時間がDAYまたはNIGHTになったときにトリガーします。
LEVEL_UP:<level> プレイヤーが特定の経験値レベルに到達したときにトリガーします。
ENCHANT:<ENCHANTMENT>:<level> プレイヤーが特定のエンチャントレベルでアイテムにエンチャントを付けたときにトリガーします(例: SHARPNESS:5)。
TAME:<ENTITY_TYPE> プレイヤーが動物を手懐けたときにトリガーします。
GAIN_EFFECT:<POTION_EFFECT>:<level> プレイヤーが特定のレベルのポーション効果を得たときにトリガーします。
ITEM_BREAK:<MATERIAL_NAME> プレイヤーのアイテムが壊れたときにトリガーします。
ITEM_REPAIR プレイヤーが金床でアイテムを修理したときにトリガーします。
ITEM_DROP:<MATERIAL_NAME> プレイヤーがアイテムを捨てたときにトリガーします。
ITEM_PICKUP:<MATERIAL_NAME> プレイヤーがアイテムを拾ったときにトリガーします。

II. 目標

目標は、プレイヤーがクエストを完了するために満たす必要がある要件のリストです。単一の目標または複数の目標のリストを使用できます。

タイプ (`type`) ターゲット (`target`) 説明
KILL_MOB EntityType名(例: ZOMBIE 要求された数の特定のMobを倒します。
GATHER_ITEM アイテムのMaterial名(例: DIAMOND インベントリに要求された数のアイテムを所有します。
BREAK_BLOCK ブロックのMaterial名(例: OAK_LOG 特定の数のブロックを破壊します。
PLACE_BLOCK ブロックのMaterial名(例: TORCH 特定の数のブロックを設置します。
REACH_LEVEL *使用しない* 要求された経験値レベルに到達します。
KILL_PLAYER プレイヤー名またはANY 特定のプレイヤーまたは任意のプレイヤーを倒します。
BREED_ANIMAL EntityType名(例: COW 特定の数の動物を繁殖させます。
TAME_ANIMAL EntityType名(例: WOLF 特定の数の動物を手懐けます。
CONSUME_ITEM Material名(例: APPLE 特定のアイテムを食べたり飲んだりします。
SMELT_ITEM 出力されるMaterial名(例: IRON_INGOT 特定の数のアイテムを製錬します。
ENCHANT_ITEM エンチャント名(例: sharpness 最小エンチャントレベルでアイテムにエンチャントを付けます。
TRADE_VILLAGER *使用しない* 村人と特定の回数取引します。
FISH_ITEM 釣れるアイテムのMaterial名(例: SALMON 特定の数のアイテムを釣ります。
WEAR_ARMOR 防具の種類名(例: DIAMOND, IRON フルセットの防具を着用します。
PLANT_CROP 種子のMaterial名(例: WHEAT_SEEDS 特定の数の作物を植えます。
ITEM_CRAFT アイテムのMaterial名(例: STONE_SWORD 特定の数のアイテムを作成します。
HARVEST_CROP 作物のMaterial名(例: WHEAT 特定の数の作物を収穫します。
REACH_HEIGHT *使用しない* 要求されたY座標に到達します。
BLOCK_ATTACK *使用しない* 盾で特定の回数攻撃を防ぎます。
BIOME_ENTER バイオーム名(例: DESERT 要求されたバイオームに入ります。
USE Material名(例: LEVER 特定のアイテムまたはブロックと対話(右クリック)します。
STRIP_LOG 原木の種類(例: OAK_LOG 特定の数の原木の皮を剥ぎます。

III. 報酬

クエスト完了時にプレイヤーに与えられる報酬です。1つのクエストに複数の種類の報酬を設定できます。

タイプ (`type`) 属性 説明
COMMAND commands コンソールから実行されるコマンドのリストです。プレイヤー名には%player%を使用します。
*なし* 報酬として1つ以上のコマンドを実行します。
ITEM items プレイヤーに与えるアイテムのリストです。
*なし* 報酬として1つ以上の事前に設定されたアイテムを与えます。
CHOICE title 報酬選択GUIのタイトルです。
items プレイヤーが選択できるアイテムのリストです。
*なし* プレイヤーがアイテム報酬を選択できるGUIを開きます。

ITEMまたはCHOICE報酬の各アイテムには、以下の属性を含めることができます。

属性 タイプ 説明
material 文字列 アイテムのMaterial名(例: DIAMOND_SWORD)。
amount 整数 アイテムの数量。
name 文字列 アイテムの表示名(MiniMessageをサポート)。
lore 文字列リスト アイテムのlore(各行が1項目、MiniMessageをサポート)。
enchantments 文字列リスト エンチャントのリスト(例: sharpness:5)。
quest-item ブール値 trueの場合、アイテムに「指紋」が付けられ、他のクエストの要件で使用できます。

IV. 要件

要件は、プレイヤーがクエストを受け取る前に満たす必要がある条件です。現在、アイテムの要件のみがサポートされています。

属性 タイプ 説明
material 文字列 要求されるアイテムのMaterial名。
amount 整数 要求されるアイテムの数量。
from-quest 文字列 アイテムが生成されたクエストのID(例: 別のクエストからのquest-item)。

V. 次のクエスト

次のクエストのIDを指定することで、クエストチェーンを作成できます。

属性 タイプ 説明
next-quest 文字列 現在のクエスト完了時にプレイヤーに割り当てられる次のクエストのID。