CustomRailway ― OP・運営ガイド¶
CustomRailway の導入・config.yml・権限・管理コマンド・トラブルシュートをまとめます。
基本情報¶
| 項目 | 値 |
|---|---|
| プラグイン名 | CustomRailway |
| バージョン | ${project.version}(plugin.yml はプロパティ参照。ビルド成果物に依存) |
| api-version | 26.1.2 |
| メインコマンド | /railway(/rail・/rw) |
| 依存プラグイン | なし(plugin.yml に depend/softdepend の記載なし) |
| 設定ファイル | plugins/CustomRailway/config.yml |
| 駅データ | plugins/CustomRailway/stations.yml(自動生成・自動更新) |
コマンド一覧
plugin.yml の usage は /railway <station|train|help> です。RailwayCommand に実装されているサブコマンドは station / train / list / info / reload / help の 6 つです(駅オブジェクトには connectedRoutes リストの構造のみ存在し、これを操作するコマンドは未提供)。
導入手順¶
- ビルドした
CustomRailway-*.jarをサーバーのplugins/フォルダに配置する。 - サーバーを起動すると
plugins/CustomRailway/config.ymlとstations.ymlが自動生成される。 - 必要に応じて
config.ymlを編集する(連結数・速度・駅作成条件・パーティクルなど)。 - 設定を変更したら
/railway reloadで再読み込みする(customrailway.adminが必要)。
動作要件
plugin.yml の api-version は 26.1.2、ソース内コメントでは Paper 26.1 系を前提とした記述があります(InventoryView#getTitle() 非推奨対応・Material.IRON_CHAIN/Particle.HAPPY_VILLAGER の新名称使用など)。Paper 1.26 系のサーバーで利用してください。
config.yml¶
既定値は次の通りです(ソース src/main/resources/config.yml より)。
列車設定(train)¶
| キー | 既定値 | 説明 |
|---|---|---|
train.max-carts |
5 | 1 編成あたりの最大連結車両数(先頭含む) |
train.cart-spacing |
1.5 | 車両間の距離(ブロック) |
train.max-speed-multiplier |
3.0 | 速度倍率の上限 |
train.default-speed |
1.0 | デフォルト速度倍率 |
train.allow-speed-change |
true | 速度制御ブロックでの速度変更を許可 |
速度制御ブロック(speed-blocks)¶
線路の 2 ブロック下 に置かれたブロックの種類で速度倍率を切り替えます。キーは Material 名、値は倍率です。既定では下表の 5 種類が登録されています。
| ブロック | 既定倍率 | 用途 |
|---|---|---|
GOLD_BLOCK |
2.0 | 高速 |
IRON_BLOCK |
1.0 | 通常 |
COAL_BLOCK |
0.5 | 低速 |
DIAMOND_BLOCK |
3.0 | 超高速 |
EMERALD_BLOCK |
0.0 | 停止(駅) |
無効な Material 名が指定されると 無効なブロックタイプ: <名前> がログ出力され、その項目はスキップされます。
駅設定(station)¶
| キー | 既定値 | 説明 |
|---|---|---|
station.player-creation |
true | プレイヤーによる駅作成を許可(読み込みのみ。実コードでは権限と上限で制御) |
station.min-distance |
50 | 既存駅からの最小距離(ブロック) |
station.max-per-player |
3 | プレイヤー 1 人あたりの最大駅数 |
station.creation-cost |
1000 | 駅作成コスト(コメント上は EmeraldBank 連携想定。現バージョンでは消費処理は未実装) |
自動運転設定(autopilot)¶
| キー | 既定値 | 説明 |
|---|---|---|
autopilot.enabled |
true | 自動運転を有効化(現バージョンで autopilot を駆動するコマンド/ロジックは未提供) |
autopilot.stop-duration |
10 | 駅での停車時間(秒) |
autopilot.waypoint-detection |
2.0 | ウェイポイント検知距離 |
パーティクル設定(particles)¶
| キー | 既定値 | 説明 |
|---|---|---|
particles.connection |
HEART |
連結時のパーティクル |
particles.speed-change |
CLOUD |
速度変更(切り離し時にも使用)パーティクル |
particles.arrival |
VILLAGER_HAPPY(旧名) |
駅到着時のパーティクル。旧名 VILLAGER_HAPPY は内部で HAPPY_VILLAGER に変換 |
不正なパーティクル名はログ警告とともに既定値にフォールバックします。
メッセージ設定(messages)¶
messages.prefix(既定 &7[&bRailway&7]&r)に加え、駅作成失敗・連結成功・テレポート完了など全メッセージを差し替え可能です。Adventure Component への変換は内部で LegacyComponentSerializer 経由で行われます。プレースホルダは {name}・{max}・{distance}・{required}・{station}・{speed} などです。
設定変更後は /railway reload
/railway reload を実行すると config.yml と stations.yml の両方が再読み込みされます(customrailway.admin が必要)。
管理コマンド¶
| コマンド | 必要権限 | 説明 |
|---|---|---|
/railway reload |
customrailway.admin |
config.yml と stations.yml を再読み込み |
/railway station tp <駅名> |
customrailway.admin |
指定駅にテレポート |
/railway station delete <駅名> |
オーナー本人 or customrailway.admin |
駅を削除 |
/railway info |
なし | プラグインのバージョン・駅数・列車数・最大連結数・最大速度倍率を表示 |
/railway list stations / list trains |
なし(trains はプレイヤー限定) | 一覧表示 |
プレイヤー向けコマンド(station create/gui/train info/train list/help)の詳細は プレイヤー向けページ を参照してください。
権限ノード¶
plugin.yml で定義されている権限は次の3つです。
| 権限ノード | 既定 | 説明 |
|---|---|---|
customrailway.admin |
op | 管理者権限(/railway コマンド本体・/railway reload・/railway station tp ・他人の駅の削除に必要)。子ノードとして customrailway.station.create を含む |
customrailway.station.create |
op | 駅を作成する権限(/railway station create)。OP 限定 |
customrailway.train.connect |
true(全員) | 列車を連結/切り離す権限(鎖・ハサミでの操作) |
コマンドは OP 限定
/railway コマンド自体に permission: customrailway.admin が設定されているため、すべてのサブコマンド(station create / gui / train info 等)は OP のみが直接実行できます。プレイヤーは [Railway] / [Station] 看板や、運営が配布した GUI から駅を利用します。
LuckPerms 設定例
トラブルシューティング¶
/railway station create で「駅が近すぎます」と出る
station.min-distance(既定 50 ブロック)以内に既存の駅があります。距離を空けて作成するか、config.yml で値を下げて /railway reload してください。
プレイヤーが駅をたくさん作れない
station.max-per-player(既定 3)が上限です。値を増やして /railway reload してください。/railway station info で表示される オーナー はその駅を作ったプレイヤーです。
鎖でトロッコをクリックしても反応しない
手に持っているのが IRON_CHAIN(Minecraft 26.x で CHAIN から改名)であることを確認してください。オフハンドのクリックは無視されます(EquipmentSlot.HAND のみ処理)。customrailway.train.connect(既定 true)が剥奪されていないかも確認してください。
ハサミで切り離せない
customrailway.train.connect 権限が必要です(既定 true)。先頭トロッコをハサミで右クリックすると編成全体が解散される仕様です。
速度が変わらない
train.allow-speed-change が true か、線路の 2 ブロック下 に対象ブロック(GOLD_BLOCK 等)が置かれているかを確認してください。速度判定は Minecart の現在位置から y-1 のさらに下(y-2)のブロックを参照します。
駅GUIをクリックしても何も起きない
RailwayGuiHolder で識別された GUI 内のクリックはキャンセル+アクション処理が走る仕様です。Material.RAIL/POWERED_RAIL(駅アイテム)・PLAYER_HEAD(自分の駅のみ)・COMPASS(全駅)・ENDER_PEARL(テレポート、管理者のみ)・BARRIER(削除)・ARROW(戻る)以外はクリックしても効果がありません。
テレポートボタン(ENDER_PEARL)が見えない
駅詳細GUIのテレポートボタンは customrailway.admin 権限保持者にのみ表示されます。削除ボタン(BARRIER)はオーナー本人または管理者にだけ表示されます。
stations.yml を直接編集したのに反映されない
プラグイン稼働中の駅情報はメモリ上にあり、/railway reload か再起動でファイルから再読み込みされます。逆に駅追加/削除があると saveStations() で stations.yml が上書きされるため、手編集は再起動前に行ってください。
実装・ドキュメント上の注意¶
未実装・想定外の挙動に注意
現バージョンには コメント/設定上は存在するが未実装 の機能があります。運営アナウンス時は誤解を避けるため明示してください。
routeサブコマンド …RailwayCommand上では「§eこの機能は今後のアップデートで実装予定です」と返すスタブのみで、路線データを操作する処理はありません。駅オブジェクトにconnectedRoutes: List<String>のフィールドだけが存在します。- 駅作成コスト …
station.creation-cost(既定 1000)はコメント上 EmeraldBank 連携想定だが、StationManager#createStation内では参照されていない(消費処理なし)。 - 自動運転(autopilot) …
autopilot.enabledなどの設定はあるが、TrainCart#setAutoPilotを呼ぶロジックや関連コマンドは未提供。 - 駅到着パーティクル …
particles.arrivalは設定可能だが、駅到着イベントの実装は現状確認できない(連結時HEART、切り離し/速度変更時CLOUDは使用箇所あり)。 - 運賃
baseFare…StationクラスにbaseFareフィールドはあるが、設定するコマンド/処理は未実装(駅情報には0 エメラルドと表示)。