コンテンツにスキップ
🛠️ OP・運営向けページ — 運営スタッフ向けの導入・設定情報です。遊び方は 👤 プレイヤー向けページ をご覧ください。

クイズ ― OP・運営ガイド

クイズ(quiz モジュール)の有効化・設定・問題の追加・看板の設置・権限・管理コマンドをまとめます。クイズは CasinoPlugin の1モジュールなので、専用 jar の導入は不要です。

基本情報

項目
モジュール ID quiz
所属プラグイン CasinoPlugin(jp.casinoplugin.CasinoPlugin
メインコマンド /quiz(エイリアス /q)、/qd/qt/quizsign
モジュール設定ファイル plugins/CasinoPlugin/modules/quiz.yml
データファイル plugins/CasinoPlugin/quiz/questions.yml / players.yml / signs.yml / questions/ フォルダ)
依存モジュール bank(報酬・参加費にエメラルド口座を使用。必須)

quiz モジュールの位置づけ

クイズは単独プラグインではなく、CasinoPlugin に統合された quiz モジュール です。報酬の付与・タワー参加費の徴収は、すべて bank モジュールのエメラルド口座(EmeraldAPI)経由で行われます。bank が無効だと quiz モジュールは起動に失敗します。CasinoPlugin 全体の構成は CasinoPlugin の OP ページ を参照してください。

有効化

クイズは CasinoPlugin に内蔵されているため、専用 jar の導入は不要 です。

  1. CasinoPlugin が plugins/ に導入されていることを確認する。
  2. plugins/CasinoPlugin/config.yml を開き、modules.quiz.enabledtrue にする。
  3. サーバーを起動(または再起動)する。起動時に plugins/CasinoPlugin/modules/quiz.ymlplugins/CasinoPlugin/quiz/questions.yml / players.yml が自動生成される。
# plugins/CasinoPlugin/config.yml
modules:
  quiz:
    enabled: true

bank モジュールが前提です

クイズの報酬・参加費はエメラルド口座を使います。modules.bank.enabledfalse の状態だと、quiz モジュールは起動時に「bank module required」エラーで停止します。bank は有効のまま運用してください。

quiz.yml 設定項目

plugins/CasinoPlugin/modules/quiz.yml でクイズの動作を調整します。主なキーは以下の通りです。

デイリークイズ(daily_quiz

キー 既定値 説明
daily_quiz.enabled true デイリークイズを有効にするか
daily_quiz.questions_per_day 5 1日に出題する問題数
daily_quiz.reset_hour 0 リセット時刻(メッセージ表示に使用。既定は0時)
daily_quiz.allow_retry false 同日中の再挑戦を許可するか(false で1日1回のみ)
daily_quiz.rewards.per_correct 5 1問正解ごとの報酬エメラルド
daily_quiz.rewards.perfect_bonus 25 全問正解時の追加ボーナスエメラルド
daily_quiz.streak_bonuses 3:15 7:50 14:150 30:500 連続参加日数ごとのボーナス(日数: エメラルド)

クイズタワー(tower

キー 既定値 説明
tower.enabled true クイズタワーを有効にするか
tower.total_floors 100 タワーの総階数
tower.entry_cost 100 参加費(エメラルド)
tower.max_failures 10 この回数失敗するとゲームオーバー
tower.answer_time_seconds 30 1問あたりの回答制限時間(秒)。0 以下で無制限
tower.checkpoint_rewards.<階> 100階のみ emeralds: 1000 10階ごとのチェックポイント報酬(emeralds / command / message
tower.retreat_reward_enabled true チェックポイントでの撤退報酬を有効にするか

撤退報酬は固定値ではなく entry_cost × 到達階 ÷ 10 で計算されます。チェックポイント報酬の command を指定すると、{player} をプレイヤー名に置換してコンソールから実行されます(カスタムアイテム配布などに利用可能)。

回答制限時間のキーに注意

タワーの回答制限時間は tower.answer_time_seconds(既定30秒)で制御されます。同梱の quiz.yml に書かれている tower.time_limit_per_question現在のコードでは参照されていません(旧仕様の名残)。時間を変えたい場合は tower.answer_time_seconds を追記してください(キーが無い場合は既定30秒で動作します)。

練習モード(practice

キー 既定値 説明
practice.questions_per_round 10 練習モードで1回に出題する問題数

練習モードは参加費・報酬がなく、選択した難易度(easy / medium / hard / expert)から questions_per_round 問を出題します。回答数・正解数はランキングに合算されます。このキーは同梱 quiz.yml には記載されていないため、変更したい場合は追記してください(未記載なら既定10問)。

ランキング(rankings

キー 既定値 説明
rankings.enabled true ランキング機能を有効にするか
rankings.reset_schedule monthly リセット周期(monthly / weekly / never
rankings.reset_day 1 リセットする日(月の何日)
rankings.display_top 10 ランキングに表示する人数

その他

キー 既定値 説明
anti_cheat.* 不正防止用の設定群(最低回答時間・問題の重複防止など)
messages.* チャットメッセージのテンプレート(& カラーコード対応)
debug.enabled false デバッグログの出力

設定変更後はリロードを

quiz.ymlquestions.yml を編集したら、/quiz admin reload で再読み込みできます。サーバー全体を再起動する必要はありません。

問題の追加方法

クイズの問題は plugins/CasinoPlugin/quiz/questions.yml で管理します。初回起動時に既定の問題セットが自動生成されます。

問題は questions: セクションの下に、一意の ID(q001 など)をキーとして1問ずつ記述します。

questions:
  q001:
    text: "マインクラフトで最も硬いブロックは?"
    choices:
      - "黒曜石"
      - "ダイヤモンドブロック"
      - "岩盤"
      - "エンダーチェスト"
    correct: 2          # 0=A, 1=B, 2=C, 3=D(正解の選択肢のインデックス)
    difficulty: "easy"  # easy / medium / hard / expert
    category: "minecraft"
キー 説明
text 問題文
choices 選択肢。ちょうど4つ 必要(A〜D に対応)
correct 正解の番号。03(A〜D)
difficulty 難易度。easy / medium / hard / expert の4段階
category カテゴリ(現状は内部分類用)

questions/ フォルダで追加するのが簡単(リスト形式対応)

questions.yml のマップ形式(ID 指定)のほか、plugins/CasinoPlugin/quiz/questions/ フォルダ内の .yml ファイルも自動で読み込まれます。初回起動時にサンプル quiz/questions/sample.yml が展開されます。このフォルダ内のファイルは ID 不要のリスト形式 でも記述でき(自動採番)、まとめて問題を追加する用途に向いています。マップ形式・リスト形式の両方に対応しています。

# quiz/questions/ 内のファイル(リスト形式の例)
questions:
  - text: "問題文"
    choices: ["A", "B", "C", "D"]
    correct: 0
    difficulty: "expert"
    category: "general"

問題フォーマットの注意

選択肢が4つでない、または correct が 0〜3 の範囲外の問題は、読み込み時に無視されます(起動ログに警告が出ます)。問題が1問も読み込めないとクイズモジュールは停止します。

難易度と階の対応

クイズタワーは階に応じて難易度を選びます(1〜30階=easy、31〜60階=easy+medium、61〜90階=medium+hard、91〜100階=hard)。デイリークイズは easy 問題から出題されます。expert 難易度はタワーでは使われず、練習モードの「最難関」専用 です。各難易度の問題をバランスよく用意してください。

参加看板・タワーロビーの設置

プレイヤーがコマンドを使わずにクイズを始められるよう、参加看板 を設置できます。看板は OP(または quiz.admin)のみ設置でき、1行目を [Quiz] にして手書きすると自動整形されます。/quiz setsign を使うと、見ている看板(6ブロック以内)に自動で内容を書き込めます。

見ている看板をタワーロビー移動看板にする(join / tower どちらでも同じ動作)
/quiz setsign join
見ている看板を退出看板にする(退出地点へテレポート)
/quiz setsign leave
見ている看板をデイリークイズ看板にする
/quiz setsign daily
見ている看板を練習モード看板にする(難易度選択GUIを開く)
/quiz setsign practice
見ている看板を個人成績看板にする(成績GUIを開く)
/quiz setsign stats
見ている看板をタワーロビー移動看板にする
/quiz setsign tower
見ている看板をレンジ看板にする(レンジ: 1-30 / 31-60 / 61-90 / 91-100)
/quiz setsign range <レンジ>
見ている看板の設定を解除する
/quiz setsign remove
看板タイプ 右クリック時の動作
join / tower タワーロビーへテレポート(両者は同じ動作)
leave 退出地点(setexit 未設定ならワールドスポーン)へテレポート
daily デイリークイズを開始
practice 練習モードの難易度選択 GUI を開く
stats 個人成績 GUI(回答数・正答数・正答率・連続参加・タワー記録・累計獲得エメラルド)を開く
1-30 / 31-60 / 61-90 / 91-100 該当レンジの物理エリアへテレポートしてタワーを開始/再開(自分の現在階がそのレンジに入っているときのみ)

タワーのロビー・レンジエリアの設定

クイズタワーは 30階ごとのレンジ(1-30 / 31-60 / 61-90 / 91-100)に分かれ、レンジ境界(31・61・91階)でいったん区切られます。レンジごとに物理スポーン地点を設定すると、看板を通じてプレイヤーを各エリアへ誘導できます。

現在地をタワーロビー地点に設定する
/quiz settowerlobby
現在地を指定レンジのスポーン地点に設定する(レンジ: 1-30 / 31-60 / 61-90 / 91-100)
/quiz setrange <レンジ>
現在地を退出地点に設定する(/quiz leave・leave 看板のテレポート先)
/quiz setexit

看板・ロビーは任意設定

ロビーやレンジ看板を設置しなくても、/qt/qd や参加看板からクイズを開始できます。物理エリアを使った演出を行いたい場合のみ、settowerlobby と各レンジの setrange[Quiz] tower・レンジ看板を組み合わせて設置してください。レンジスポーンが未設定の場合はテレポートを行わず、GUI のみ開きます。

ランキング看板の設置

ランキング看板(/quizsign

設置済みの看板をランキング表示看板として登録できます。看板は 5分ごとに自動更新 されます。

見ている看板(5ブロック以内)をランキング看板として登録(タイプ: answers / correct / tower)
/quizsign create <タイプ> <順位>
見ている看板の登録を解除
/quizsign remove
すべてのランキング看板を手動更新
/quizsign update
登録済み看板の数を表示
/quizsign list

看板の タイプ は3種類です。

タイプ 表示内容
answers クイズ回答数ランキング
correct クイズ正答数ランキング
tower クイズタワー記録ランキング(100階制覇者はクリアタイム、未制覇者は到達階)

<順位> には 1・2・3… のように表示したい順位を指定します(1看板につき1順位)。登録情報は plugins/CasinoPlugin/quiz/signs.yml に保存されます。

管理コマンド

quiz.yml と questions.yml を再読み込み
/quiz admin reload
登録プレイヤー数・総問題数を表示
/quiz admin stats
コマンド 必要権限 説明
/quiz admin reload quiz.admin.reload quiz.ymlquestions.yml を再読み込み
/quiz admin stats quiz.admin.reload 登録プレイヤー数・総問題数を表示
/quiz setsign <join\|leave\|daily\|practice\|stats\|tower\|range <レンジ>\|remove> OP または quiz.admin 参加看板の設置・解除
/quiz settowerlobby OP または quiz.admin 現在地をタワーロビー地点に設定
/quiz setrange <レンジ> OP または quiz.admin 現在地を指定レンジのスポーン地点に設定
/quiz setexit OP または quiz.admin 現在地を退出地点(/quiz leave・leave 看板の移動先)に設定
/quizsign <create\|remove\|update\|list> quiz.admin.sign ランキング看板の管理

権限ノード

権限 既定 用途
quiz.use false クイズ機能(デイリー/タワー/ランキング)の利用。子に quiz.daily / quiz.tower / quiz.ranking を含む
quiz.daily false デイリークイズを利用できる
quiz.tower false クイズタワーを利用できる
quiz.ranking false クイズランキングを表示できる
quiz.admin op クイズ管理コマンド全権限(既定で OP に付与)。子に quiz.use / quiz.admin.reload / quiz.admin.sign を含む
quiz.admin.reload false /quiz admin reloadstats を使える
quiz.admin.sign false /quizsign を使える

プレイヤー用の quiz.* は既定 false

quiz.use(および子の quiz.daily / quiz.tower / quiz.ranking)は 既定値が false で、OP であっても自動では付与されません。プレイヤーにクイズを遊ばせるには、権限プラグイン(LuckPerms 等)で quiz.use を付与してください。一方 quiz.admin既定で OP に付与default: op)され、子として quiz.use も含むため、OP はそのままクイズを利用・管理できます。運営スタッフ(非 OP)には quiz.admin を付与すると、利用権限と管理権限がまとめて有効になります。

トラブルシューティング

クイズのコマンドが「不明なコマンド」になる

config.ymlmodules.quiz.enabledfalse になっている可能性があります。true にしてサーバーを再起動してください。起動ログで quiz モジュールが正常に起動しているかも確認します。

起動時に「bank module required」で quiz が止まる

クイズはエメラルド口座(bank モジュール)に依存します。modules.bank.enabledtrue であることを確認してください。

プレイヤーがクイズを遊べない

quiz.use 系の権限は既定 false です。権限プラグインで quiz.use を付与してください(OP は quiz.admin 経由で利用できます)。

問題が出題されない / 起動時に quiz が停止する

questions.yml に有効な問題が1問も無いと quiz モジュールは停止します。選択肢が4つでない、correct が範囲外などの不正な問題は無視されます。起動ログの警告を確認し、/quiz admin reload で再読み込みしてください。

ランキング看板が更新されない

看板は5分ごとに自動更新されます。すぐに反映したい場合は /quizsign update で手動更新してください。看板が正しく登録されているかは /quizsign list で確認できます。


← 👤 プレイヤー向けページへ ← クイズ概要へ