Bukkit Spigot Japan Wikiは、Hello Minecraftを応援しています。

超まいくらひろば2017バナー

 

 

プラグイン解説:Citizens

提供: Bukkit Spigot Japan Wiki
移動: 案内検索
プラグイン名 Citizens
製作者 fullwall
配布場所 https://dev.bukkit.org/projects/citizens
前提プラグイン なし
解説記事対応バージョン 2.0.22 (MC 1.10-1.12)
生成されるファイル Citizens > config.yml, saves.yml
ライセンス Open Software License
ソースコード https://github.com/CitizensDev/Citizens2
関連サイト https://wiki.citizensnpcs.co/Citizens_Wiki
備考

Citizensとは

Citizensは、モブをNPCとしてサーバーに配置するプラグインです。
移動経路や指定範囲内のプレイヤーへメッセージを送信する機能があります。
操作の大半をゲーム内のコマンドで行うことができます。


Citizensの導入方法

サーバー構築を参考にサーバーを構築しておいて下さい。

  1. 配布ページからプラグインをダウンロードして下さい。
  2. zipファイルであれば展開し、jarファイルを取り出します。
  3. jarファイルをサーバーのpluginsフォルダー内に配置します。
  4. サーバーを起動します。
  5. サーバーのコンソールに「pl」コマンドを実行させて一覧の中から、Citizensが緑色であればサーバーを停止します。
  6. pluginsフォルダー内にCitizensフォルダーが生成されたことを確認します。
  7. Citizensフォルダー内にconfig.yml,saves.ymlが生成されていれば導入完了です。

コマンド一覧

< >はコマンド入力に必須な引数を、[ ]はオプション(必須ではない)の引数を表します。
< - >: 前後の数字の範囲の中でいずれかを選択することを表しています。
< / >: 前後のどちらかを選択することを表しています。
true/false: 有効/無効にするかを選択するものです(true→有効,false→無効)。
string: 文字列、つまりテキスト、文章を書くことを表しています。
number: 数字を書くことを表しています。
(入力の際<>や[]は不要です)

コマンド パーミッションノード 説明
(執筆中) (執筆中) (執筆中)
(執筆中) (執筆中) (執筆中)

config.ymlの初期設定

# Citizens Configuration
general:
  authlib:
    profile-url: https://sessionserver.mojang.com/session/minecraft/profile/
  debug-file: ''
  debug-mode: false
  debug-pathfinding: false
  color-scheme:
    message-highlight: <e>
    message: <a>
  translation:
    locale: ''
npc:
  chat:
    options:
      bystanders-hear-targeted-chat: true
      max-number-of-targets-to-show: 2
      multiple-targets-format: <target>|, <target>| & <target>| & others
      range: 5
      max-text-range: 500
    format:
      no-targets: '[<npc>]: <text>'
      with-target-to-bystanders: '[<npc>] -> [<target>]: <text>'
      to-target: '[<npc>] -> You: <text>'
      with-targets-to-bystanders: '[<npc>] -> [<targets>]: <text>'
  pathfinding:
    default-distance-margin: 2
    update-path-rate: 20
    new-finder-open-doors: false
    attack-range: 3.0625
    use-new-finder: false
  default:
    look-close:
      enabled: false
      range: 5
    pathfinding:
      range: 25.0
    random-talker: true
    realistic-looking: false
    stationary-ticks: -1
    talk-close:
      enabled: false
      range: 5
    text:
      '0': Hi, I'm <npc>!
  limits:
    default-limit: 10
    max-permission-checks: 100
    max-packet-entries: 15
    max-speed: 100
  tablist:
    disable: true
  chunks:
    always-keep-loaded: false
  skins:
    max-retries: -1
    retry-delay: 120
    rotation-update-degrees: 90.0
    use-latest: true
    view-distance: 100.0
  packets:
    update-delay: 30
  selection:
    quick-select: false
    item: '280'
    message: <b>You selected <a><npc><b>!
  player:
    remove-from-list: true
  server-ownership: false
  text:
    max-talk-cooldown: 5
    min-talk-cooldown: 10
    talk-item: '340'
  teleport-delay: -1
  controllable:
    use-boat-controls: true
  player-scoreboard-teams:
    enable: true
advanced:
  check-minecraft-version: true
economy:
  npc:
    cost: 100.0
storage:
  save-task:
    delay: 72000
  file: saves.yml
  type: yaml
subplugins:
  folder: plugins

config.ymlの設定変更

  • YAML形式の記述方法についてはYAMLファイルを参照して下さい。

< - >: 前後の数字の範囲の中でいずれかを選択することを表しています。
< / >: 前後のどちらかを選択することを表しています。
<true/false>: その項目の機能を有効/無効にするかを選択するものです(true→有効,false→無効)。
string: 文字列、つまりテキスト、文章を書くことを表しています。
number: 数字を書くことを表しています。
(入力の際<>は不要です)

項目 デフォルト 説明
項目1 デフォルト1 説明1
項目2 デフォルト2 説明2
# Citizens Configuration

general:
  authlib:
    profile-url: https://sessionserver.mojang.com/session/minecraft/profile/ #プレイヤーのスキン情報取得するためのURL(基本的に変更不要)
  debug-file: ''
  debug-mode: false #デバッグモード
  debug-pathfinding: false
  color-scheme:
    message-highlight: <e>
    message: <a>
  translation:
    locale: '' #翻訳ファイル選択。プリインストールされたものしか認識されない模様
npc:
  chat:
    options:
      bystanders-hear-targeted-chat: true #範囲内複数のターゲットに対して話しかけるかどうか
      max-number-of-targets-to-show: 2 #一度に話しかけるターゲットの最大数
      multiple-targets-format: <target>|, <target>| & <target>| & others #複数ターゲットと会話時のフォーマット
      range: 5 #ターゲット範囲
      max-text-range: 500 #最大文字数
    format:
      no-targets: '[<npc>]: <text>' #ターゲットが居ない場合のフォーマット
      with-target-to-bystanders: '[<npc>] -> [<target>]: <text>' #ターゲットが居る場合の近くの人へのフォーマット
      to-target: '[<npc>] -> You: <text>' #ターゲットへのフォーマット
      with-targets-to-bystanders: '[<npc>] -> [<targets>]: <text>' #複数ターゲットへ喋りかける場合のフォーマット
  pathfinding:
    default-distance-margin: 2
    update-path-rate: 20
    new-finder-open-doors: false
    attack-range: 3.0625 #攻撃範囲
    use-new-finder: false
  default: ####各NPCのデフォルトを設定する項目。各NPC単位で異なる設定も可能。
    look-close:
      enabled: false #trueで近くのプレイヤーの方向を向くようになる
      range: 5 #プレイヤーの方向を向く範囲
    pathfinding:
      range: 25.0 #デフォルトの移動点検知範囲
    random-talker: true #trueで複数のセリフをランダムに表示する
    realistic-looking: false 
    stationary-ticks: -1
    talk-close:
      enabled: false #trueで範囲内のプレイヤーに話しかけるようになる
      range: 5 #話しかける範囲
    text: #デフォルトのセリフ
      '0': Hi, I'm <npc>! #config.ymlのdefaultで、talk-closeのenabledをtrueにすると、作成した瞬間にこのセリフを表示してしまう。
  limits:
    default-limit: 10
    max-permission-checks: 100
    max-packet-entries: 15
    max-speed: 100
  tablist:
    disable: true #trueでNPCをタブリストに表示しない
  chunks:
    always-keep-loaded: false #NPCが居るチャンクを常に読み込むかどうか
  skins:
    max-retries: -1
    retry-delay: 120
    rotation-update-degrees: 90.0
    use-latest: true
    view-distance: 100.0
  packets:
    update-delay: 30
  selection:
    quick-select: false
    item: '280'
    message: <b>You selected <a><npc><b>!
  player:
    remove-from-list: true #trueでプレイヤー型のNPCをタブリストから除去する
  server-ownership: false
  text:
    max-talk-cooldown: 5
    min-talk-cooldown: 10
    talk-item: '340'
  teleport-delay: -1
  controllable:
    use-boat-controls: true
  player-scoreboard-teams:
    enable: true
advanced:
  check-minecraft-version: true
economy:
  npc:
    cost: 100.0 #経済要素によるコスト
storage:
  save-task:
    delay: 72000
  file: saves.yml
  type: yaml
subplugins:
  folder: plugins

チュートリアル

はじめてのCitizens

これからCitizensを触る人へ 基本的かつ最小限の項目をまとめる。

  1. 自分がOP、もしくはcitizens.adminの権限を持っている事を確認してください。持っていなければ付与してください。
  2. /npc create <NPC表示名>
    NPCを作成し、作成したNPCを選択した状態になります。
  3. /npc list
    NPCを作成した時に自動で割り振られるIDを確認します。
  4. /npc select [ID]
    NPCを選択します。IDは/npc listから参照できます。IDを省略すると、近くに居るNPCを選択します。
  5. /npc rename <NPC表示名>
    選択中のNPCの表示名を変更します。
  6. /npc type <タイプ>
    選択中のNPCの種類を変更します。利用可能な種類はCitizensWikiコチラを参考にしてください。
  7. /npc text
    選択中のNPCのセリフ編集モードを起動します。操作が特殊なので別の項目にまとめています。
  8. /npc path
    選択中のNPCの移動経路編集モードを起動します。操作が特殊なので別の項目にまとめています。
  9. /npc equip
    選択中のNPCの装備編集モードをを起動します。
    右クリックで装着・何も持たずに左クリックで全装備解除
    鎧等を手に持たせたい場合、スニーク+右クリック

セリフを編集する

/npc text を実行するとセリフ編集モードに移行します。
セリフ編集モードではプラグインからのメッセージに従い、チャットを送信することで対話的に編集を行います。

※この状態では基本的に他のプレイヤーとチャットすることはできません
※入力内容も他のプレイヤーには送信されません
※また、入力操作に/を必要としません。
チャット入力内容 概要
add セリフを追加する。
addを送信後にメッセージの入力を要求される。日本語可。
remove セリフを削除する。
removeを送信後に文章番号の入力を要求される。
edit セリフを編集する。
editを送信後、文章番号を送信し、メッセージを送信する。
close NPCに近づいたプレイヤーにセリフを送信するようになる。
デフォルトで5ブロックの範囲内。範囲の設定変更はここではできません。
random NPCのセリフリストからランダムに話すようになる。
デフォルトではセリフリストから順番に話す。
exit セリフ編集モードを終了する。

移動経路を編集する

/npc path を実行すると移動経路編集モードに移行します。
もう一度/npc path を実行すると終了します。
ブロックをクリックすることで経由地点を設置します。
NPCは設置された経由地点から別の経由地点に移動しようとします。
NPCには経由地点の感知範囲が設定されています。
感知範囲は任意の値に設定可能ですが、広すぎるとサーバーへの負荷に繋がります。
経由地点に設定したブロックを右クリックすることで経由地点を削除します。

詳細解説

公式wikiについて

Citizensの公式wikiは長らく更新されていません。 例えば、利用可能なモブタイプにOCELOTは載っていますが、シュルカーは載っていません。 コマンドについても公式wikiに載っていないものが多くあります。 公式wikiよりも/npc helpコマンドを見た方がいい場合も少なくありません。

リンク