Skip to content
This repository has been archived by the owner on Nov 23, 2021. It is now read-only.

航海日誌 ユーザースクリプトプラグイン

License

Notifications You must be signed in to change notification settings

sanaehirotaka/logbook-script-loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

航海日誌 ユーザースクリプトプラグイン

航海日誌 ユーザースクリプトプラグインは航海日誌(logbook-kai)にユーザースクリプト機能を追加するプラグインです。

screen1

ユーザースクリプトとは

サーバーから送られてくるデータに対して任意の処理を行うことが出来ます。通信内容を変更することは出来ません。

使い方

  • 航海日誌のpluginsフォルダにダウンロードしたscript-loader.jarを置いて航海日誌を再起動してください
  • 再起動後、[その他]メニューから[ユーザースクリプト]を選択することで利用出来ます。

仕様

  • スクリプト言語としてJavaScriptが標準でサポートされています。Nashornユーザーズ・ガイド
  • スクリプトには引数を持たないrunメソッドが定義されている必要があります。
  • runメソッドはAPIがキャプチャされた時に呼び出されます。
  • runメソッド実行時に次のグローバル変数が定義されます。
    • uri 要求URI(String)
    • req 要求パラメーター(Map<String,List<String>>)
    • res 応答JSON(JsonObject)

サンプル

最も単純なスクリプト例 (printは標準出力に出力されます)

function run() {
    print("Hello world.");
}

少し複雑なスクリプト例。このサンプルは母港に戻った時に提督経験値の差分を標準出力に表示します。

var ZonedDateTime = java.time.ZonedDateTime;
var DateTimeFormatter = java.time.format.DateTimeFormatter;

var format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
var gexp;
function run() {
    if (uri == "/kcsapi/api_port/port") {
        var exp = res.api_data.api_basic.api_experience;
        if (gexp) {
            var compare = exp - gexp;
            print(format.format(ZonedDateTime.now()) + " : " + exp + "(+" + compare + ")");
        }
        gexp = exp;
    }
}

About

航海日誌 ユーザースクリプトプラグイン

Resources

License

Stars

Watchers

Forks

Packages

No packages published