Skip to content
forked from HimaJyun/EbiFly

Economy Billing Fly Plugin for Bukkit/Spigot

License

Notifications You must be signed in to change notification settings

AkariNext/EbiFly

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EbiFly

EbiFlyはBukkit用の経済機能付きFlyプラグインです。

バニラサバイバルでは出来ない飛行を可能にしながら、経済的に上限を設ける事でサバイバルの実質クリエイティブ化を防止します。

このプラグインのここが凄い

  • 飛行にお金を消費する機能 (経済無効設定も可能)
  • パーティクルとサウンドを使用した視聴覚効果
  • アクションバー/タイトルにメッセージを表示可能
  • 飛行を無効にした時に落下/奈落/溶岩でのダメージを防ぐための安全機能
  • 浮遊デバフ中や水中での飛行をさせないための制限機能
  • 多言語対応

インストール

経済機能を使用する場合はVaultと経済プラグインをインストールしてください。
使いやすい経済プラグインをお探しの方はJeconを使ってみてください、このプラグインの開発者が開発しています。

(経済機能を使用しない場合はVaultや経済プラグインは必要ありません。この場合でも、例えば権限を持つプレイヤーが与えた分だけ飛行できるようにするためのタイマー付き飛行プラグインとして有用です)

  1. GitHubのリリースページからプラグインをダウンロードしてください。
  2. ダウンロードしたjarをpluginsディレクトリに入れて再起動してください。
  3. 必要であれば設定を調整して/fly reloadしてください。

コマンドと権限

コマンド

コマンド 説明 権限 デフォルト
/fly (飛行中) 飛行を無効にします。
(歩行中) 無限飛行を有効にします。
fly.fly.self 全員
/fly [時間] [プレイヤー] 指定した時間飛行します。(分単位)
(プレイヤーを指定した場合) プレイヤーを飛行させます。
fly.fly.self
fly.fly.other
全員
/fly version プラグインのバージョンを確認します。 fly.version OP
/fly reload プラグインをリロードします。 fly.reload OP
/fly help ヘルプを表示します。 N/A 全員

制限機能の権限

権限を与える(trueにする)と有効、剥奪する(falseにする)と無効です。

権限 説明 デフォルト
fly.restrict.respawn (有効) リスポーン時に飛行を継続します。
(無効) リスポーン時に飛行を停止します。
有効
fly.restrict.world (有効) 世界を移動した時に飛行を継続します。
(無効) 世界を移動した時に飛行を停止します。
有効
fly.restrict.gamemode (有効) ゲームモードを切り替えた時に飛行を継続します。
(無効) ゲームモードを切り替えた時に飛行を停止します。
無効
fly.restrict.levitation (有効) 浮遊のデバフを受けた時に飛行を継続します。
(無効) 浮遊のデバフを受けた時に飛行を停止します。
OPのみ有効
fly.restrict.water (有効) 水中に入った時に飛行を継続します。
(無効) 水中に入った時に飛行を無効にします。
OPのみ有効

この機能はconfig.ymlrestrictでも設定できます。

その他の権限

権限 説明 デフォルト
fly.free 飛行にお金を消費しなくなります OP
fly.fly.* 次の権限を一括設定:
fly.fly.self
fly.fly.other
N/A
fly.restrict.* 次の権限を一括設定:
fly.restrict.respawn
fly.restrict.world
fly.restrict.gamemode
fly.restrict.levitation
ifly.restrict.water
N/A
fly.op 次の権限を一括設定:
fly.free
fly.version
fly.reload
fly.restrict.water
fly.restrict.levitation
N/A
fly.user 次の権限を一括設定:
fly.fly.self
fly.fly.other
ifly.restrict.respawn
fly.restrict.world
N/A
fly.* 全ての権限を一括設定 N/A

設定

設定はconfig.ymllocale/(言語).ymlに分かれています。

主にconfig.ymlが動作に関する設定で、(言語).ymlが出力されるメッセージの設定です。

バージョン確認 (versionCheck)

versionChecktrueにすると起動時に新しいバージョンがないか確認します。

確認にはGitHubのAPIが使用されるため安全です。このプラグインは統計データも含めて外部へのデータ送信は一切行いません。

安全機能 (safety)

飛行時間切れ後の落下ダメージ(fall)、奈落への墜落(void)、溶岩ダイブ(lava)を無効にする機能です。

それぞれ、設定をfalseにする(lava0にする)と無効になります。

safety:
  fall: true
  void: true
  lava: 30
  levitation: false

lavaの単位は秒です。

levitationtrueにすると浮遊デバフで飛行が無効にされた際にも動作するようになります。restrict.levitationtrueの時だけ効果があります。

limitcleanupsaveは安全機能に関する時間の設定です。これらは日(d)、時(h)、分(m)、秒(s)などの任意の単位を指定できますが、単位指定が必須です。(30は無効です、30sでなければなりません。)

limitは飛行を無効にしてから安全機能が無効になるまでの時間です。時間内でも安全機能が一度作動すれば無効になります。(0にすれば安全機能が作動するまで有効になり続けます)

cleanupは安全機能が有効な状態でログアウトした際にいつまでその情報を保持するかの設定です。(0にすれば安全機能が作動するまで保持し続けます)

saveは安全機能が有効になっているプレイヤーの情報を定期的に保存する設定です。(0にすればサーバーのシャットダウン時にのみ保存されるようになります)

安全機能の状態はsafety.ymlに保存されます。ログアウト後に保持する機能が必要なければcleanup1sなどの極端に短い時間に設定すると同様の効果があるでしょう。

制限機能 (restrict)

ゲームバランスを維持するために特定の状況での飛行を無効にする機能です。ユーザーごとに権限で個別に設定できます、主な効果は権限を参照してください。

restrict:
  respawn: true
  world: true
  gamemode: true
  levitation: temporary
  water: false

config.ymlfalseにする=無効ではなく、単に外的要因による飛行状態の変化を処理しなくなるだけです。

そのため、falseにした際にどのような挙動を示すかは設定項目によって異なり、権限と同じ動作になるわけではありません。

(これは極限までパフォーマンスをチューニングしたいサーバー管理者のための設定です)

levitationwaterは特殊な値temporaryを使用でき、これはその状況が有効な時だけ(浮遊デバフがある時だけ、水中に入っている時だけ)飛行を無効にする設定です。

waterは仕様の関係からイベント(処理)の呼び出し回数が多いです。基本的にこれが問題になることはありませんが、負荷を気にしているサーバーではfalseにすると良いでしょう。

経済機能 (economy)

経済を有効にする場合はeconomy.enabletrueにしてください。
(Vaultと経済プラグインがインストールされていないままtrueにするとエラーで起動しません)

economy:
  enable: false
  price: 500
#  server: ""
  refund: true

priceは1分あたりの料金です。

serverを設定するとプレイヤーの支払いや返金が指定したアカウントから出し入れされるようになります。

refundは返金の設定です。trueならプレイヤーに返金、falseなら返金しない、payerなら支払った人に返金されます。

通知 (notice)

飛行を有効にしたとき(enable)、無効にしたとき(disable)、時間切れが近い時(timeout)、 支払いをした時(payment) にパーティクルを表示したり音を鳴らすための設定です。

notice:
  enable:
    particle:
      type: VILLAGER_HAPPY
      count: 10
      offset: { x: 0.5, y: 0.5, z: 0.5 }
      extra: 0
      global: true
    sound:
      type: BLOCK_BEACON_ACTIVATE
      volume: 1.0
      pitch: 1.8
      global: false

パーティクル(particle)と音(sound)のtypeでは種類を指定します。falseにすると無効になります。(設定可能な値: パーティクル)

globaltrueにすると他のプレイヤーにもパーティクルや音が見える/聴こえるようになります。

particle.offsetは3つの記法ができます。

particle:
  offset: { x: 0.5, y: 0.5, z: 0.5 }
  offset:
    x: 0.5
    y: 0.5
    z: 0.5
  offset: 0.5

これらはどれも同じ意味です。一番上の記法では変数名と値の間に空白が必要なので気を付けてください。(x:0.5は間違っています、x: 0.5でなければなりません)

particle.extraspeedと呼ばれる事もある値です。変更するとパーティクルの色が変わったり、速度や動き方が変わったりします。

いくつかの項目には特殊な設定項目があります。

timeout:
  position: subtitle
  second: 30
  title:
    fadeIn: 0.5
    stay: 3.5
    fadeOut: 1
#payment:
#  position: actionbar

positionはメッセージ表示の位置を変更できます。自動で表示されるメッセージがチャットログを流してしまう事を防止します。

設定可能な値は無効(false)、チャット(chat)、タイトル(title)、サブタイトル(subtitle)、アクションバー(actionbar)です。

titlesubtitleを使用する場合はtitleでその表示時間を設定できます。単位は秒です。

timeout.secondは時間切れ警告の設定で、残り時間が設定した時間になると警告が表示されます。単位は秒で、60以下でなければなりません。

多言語対応 (locale)

このプラグインはプレイヤーの言語設定を使用してメッセージを切り替えます。(例: ゲーム側の設定で英語を使用していると表示されるメッセージは英語になります)

この機能はenablefalseにすると無効にできます。その際の言語はdefaultが使用されます。

locale:
  enable: true
  default: "en_us"

対応言語を追加したりメッセージの内容を変更したい場合は、locale/(言語).ymlを編集してください。プラグインにはen_us.ymlja_jp.ymlが含まれています。

対応言語を追加する際にはゲーム側の言語を切り替えて/fly versionコマンドを実行してください。Locale行に次のような言語情報が表示されます。

Locale: 使用している言語 (プレイヤーが設定している言語)

localeディレクトリの中にプレイヤーが設定している言語.ymlを作成する(例: 韓国語ならko_kr.yml)とその言語では作成したファイルが使用されるようになります。

翻訳元にはja_jp.ymlなどの既存のファイルをコピーして使用すると良いでしょう。

About

Economy Billing Fly Plugin for Bukkit/Spigot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%