https://github.com/giganticminecraft/observerutils
ギガンティック☆整地鯖において、サポーターの1種類であるObserverの業務を補助するためのプラグイン。
https://github.com/giganticminecraft/observerutils
Last synced: about 2 months ago
JSON representation
ギガンティック☆整地鯖において、サポーターの1種類であるObserverの業務を補助するためのプラグイン。
- Host: GitHub
- URL: https://github.com/giganticminecraft/observerutils
- Owner: GiganticMinecraft
- License: gpl-3.0
- Created: 2022-02-14T12:09:59.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2026-01-26T22:43:50.000Z (5 months ago)
- Last Synced: 2026-01-27T05:43:21.574Z (5 months ago)
- Language: Kotlin
- Homepage:
- Size: 867 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ObserverUtils
ギガンティック☆整地鯖[^1]において、サポーター[^2]の1種類であるObserver[^3]の業務を補助するためのプラグイン。
## 機能
1. 以下の内容について、予め指定されたRedmine[^4]にチケットを作成する。その際にいくつかの項目を自動で取得する。
* 修繕依頼
* サーバー
* ワールド
* 座標
* 依頼の内容
* コメント
* 不要保護報告
* サーバー
* ワールド
* 座標
* 保護名
* 保護Owner
* 保護Member
* 重複保護があるかどうか
* あるならば重複している保護名
* 不要だと判断した理由
* コメント
2. 指定した保護名の保護にテレポートする。
## コマンド
1. Redmine[^4]へのチケット作成
* 修繕依頼
* `/obs fix [依頼の内容(コンマ区切り)] <...コメント>`
* 依頼内容は半角数字である必要があり、コンマで区切って複数指定することができる。入力必須。
* コメントは半角スペースで区切ると改行される。入力しなくてもよい。
* プレイヤーのみ実行可能。
* WorldEditで範囲が(pos1、pos2の両方)指定されていないと実行不可。
* 例
* `/obs fix 0,1 大規模のため複数人での作業推奨 凝固スキルがあると便利`
* 不要保護報告
* `/obs rg [判断理由の番号(コンマ区切り)] <...コメント>`
* その保護が不要だと判断した理由は半角数字である必要があり、コンマで区切って複数指定することができる。入力必須。
* コメントは半角スペースで区切ると改行される。入力しなくてもよい。
* プレイヤーのみ実行可能。
* 現在座標に1つ以上WorldGuardの保護がないと実行不可。
* 例
* `/obs rg 0,1,2 lastquit:2022/01/05`
2. 指定した保護へのテレポート
* `/obs tp [保護名]`
### 各指定項目
#### 修繕依頼の内容
| ID | 内容 |
|----|--------|
| 0 | 空中ブロック |
| 1 | マグマ放置 |
| 2 | 水放置 |
| 3 | トンネル状 |
| 4 | その他 |
#### 不要保護報告の判断理由
| ID | 内容 |
|----|------------------------------------|
| 0 | 未建築または建築途中で、全Ownerのlastquitが7日以上前 |
| 1 | 全Ownerが永久BANを受けている |
| 2 | 同一箇所に異常なほど重なっている |
| 3 | 1マスのみである |
| 4 | 極端に長方形である |
| 5 | 活用済みの土地が著しく少ない |
| 6 | ドット絵が未完成なのにOwnerがいない(ドット絵専用ワールドのみ) |
| 7 | その他 |
### 権限
初期設定ではOPのみが所持している。`observerutils.obs`を付与することで実行可能。
## 設定
すべて[config.yml](./src/main/resources/config.yml)に記載。
* `server-name`
* サーバーの識別に使用する。Redmineに記載される。
* `redmine-api-key`
* RedmineにアクセスするためのAPIキー。
## 開発
### デバッグ手順
1. `git clone`
1. `./gradlew jar`
* Jarを生成する。生成先は`./build/libs/ObserverUtils-.SNAPSHOT.jar`。
1. 生成されたJarをSpigotサーバーのpluginsフォルダに追加し起動する
### コーディング規約
Kotlin公式コーディング規約[^5]に従う。
#### Nullable
使用してもよいが、`Result`を使用するなどして必要最小限に抑えること。`!!`演算子の使用も必要最小限で。
### コミット
1コミットあたりの情報は最小限。Conventional Commits[^6]を推奨。
### デプロイ
運営チームによる手動デプロイ。
デバッグ環境は整地鯖デバッグサーバーを利用。ただし、デバッグサーバーへのデプロイも手動なので、必要な場合は運営チームに依頼すること。
## 依存
### サーバー上で作動させる上で必要な依存
* Spigot 1.18.2
* WorldGuard 7.0
* WorldEdit 7.2
### 開発を行う上で必要な依存
* Java 17
* Kotlin 2.0.20
* [サーバー上で作動させる上で必要な依存](#サーバー上で作動させる上で必要な依存)に記述されているもの
* その他、[build.gradle](./build.gradle)に記述されているもの
## ライセンス
[GPL v3](./LICENSE)
[^1]: https://www.seichi.network/gigantic
[^2]: https://redmine.seichi.click/projects/public/wiki/Supporter_Guide
[^3]: https://redmine.seichi.click/projects/public/wiki/Supporter_Guide#1%E7%AB%A0Observer%E6%A8%A9%E9%99%90
[^4]: https://redmine.seichi.click
[^5]: https://kotlinlang.org/docs/coding-conventions.html
[^6]: https://www.conventionalcommits.org/ja/v1.0.0/