{"id":42736513,"url":"https://github.com/giganticminecraft/observerutils","last_synced_at":"2026-04-19T18:06:06.608Z","repository":{"id":37037070,"uuid":"459147244","full_name":"GiganticMinecraft/ObserverUtils","owner":"GiganticMinecraft","description":"ギガンティック☆整地鯖において、サポーターの1種類であるObserverの業務を補助するためのプラグイン。","archived":false,"fork":false,"pushed_at":"2026-01-26T22:43:50.000Z","size":888,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-27T05:43:21.574Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GiganticMinecraft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-02-14T12:09:59.000Z","updated_at":"2026-01-26T17:37:07.000Z","dependencies_parsed_at":"2023-02-09T10:16:06.800Z","dependency_job_id":"84c4cfbe-76a3-45ae-bbec-7096a57adb0d","html_url":"https://github.com/GiganticMinecraft/ObserverUtils","commit_stats":null,"previous_names":[],"tags_count":90,"template":false,"template_full_name":null,"purl":"pkg:github/GiganticMinecraft/ObserverUtils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiganticMinecraft%2FObserverUtils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiganticMinecraft%2FObserverUtils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiganticMinecraft%2FObserverUtils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiganticMinecraft%2FObserverUtils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GiganticMinecraft","download_url":"https://codeload.github.com/GiganticMinecraft/ObserverUtils/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GiganticMinecraft%2FObserverUtils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28950279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T18:30:42.805Z","status":"ssl_error","status_checked_at":"2026-01-31T18:30:19.593Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-29T18:13:40.752Z","updated_at":"2026-01-31T19:02:42.535Z","avatar_url":"https://github.com/GiganticMinecraft.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ObserverUtils\n\nギガンティック☆整地鯖[^1]において、サポーター[^2]の1種類であるObserver[^3]の業務を補助するためのプラグイン。\n\n## 機能\n\n1. 以下の内容について、予め指定されたRedmine[^4]にチケットを作成する。その際にいくつかの項目を自動で取得する。\n    * 修繕依頼\n        * サーバー\n        * ワールド\n        * 座標\n        * 依頼の内容\n        * コメント\n    * 不要保護報告\n        * サーバー\n        * ワールド\n        * 座標\n        * 保護名\n        * 保護Owner\n        * 保護Member\n        * 重複保護があるかどうか\n            * あるならば重複している保護名\n        * 不要だと判断した理由\n        * コメント\n2. 指定した保護名の保護にテレポートする。\n\n## コマンド\n\n1. Redmine[^4]へのチケット作成\n    * 修繕依頼\n        * `/obs fix [依頼の内容(コンマ区切り)] \u003c...コメント\u003e`\n        * 依頼内容は半角数字である必要があり、コンマで区切って複数指定することができる。入力必須。\n        * コメントは半角スペースで区切ると改行される。入力しなくてもよい。\n        * プレイヤーのみ実行可能。\n        * WorldEditで範囲が（pos1、pos2の両方）指定されていないと実行不可。\n        * 例\n            * `/obs fix 0,1 大規模のため複数人での作業推奨 凝固スキルがあると便利`\n    * 不要保護報告\n        * `/obs rg [判断理由の番号(コンマ区切り)] \u003c...コメント\u003e`\n        * その保護が不要だと判断した理由は半角数字である必要があり、コンマで区切って複数指定することができる。入力必須。\n        * コメントは半角スペースで区切ると改行される。入力しなくてもよい。\n        * プレイヤーのみ実行可能。\n        * 現在座標に1つ以上WorldGuardの保護がないと実行不可。\n        * 例\n            * `/obs rg 0,1,2 lastquit:2022/01/05`\n2. 指定した保護へのテレポート\n    * `/obs tp [保護名]`\n\n### 各指定項目\n\n#### 修繕依頼の内容\n\n| ID | 内容     |\n|----|--------|\n| 0  | 空中ブロック |\n| 1  | マグマ放置  |\n| 2  | 水放置    |\n| 3  | トンネル状  |\n| 4  | その他    |\n\n#### 不要保護報告の判断理由\n\n| ID | 内容                                 |\n|----|------------------------------------|\n| 0  | 未建築または建築途中で、全Ownerのlastquitが7日以上前  |\n| 1  | 全Ownerが永久BANを受けている                 |\n| 2  | 同一箇所に異常なほど重なっている                   |\n| 3  | 1マスのみである                           |\n| 4  | 極端に長方形である                          |\n| 5  | 活用済みの土地が著しく少ない                     |\n| 6  | ドット絵が未完成なのにOwnerがいない（ドット絵専用ワールドのみ） |\n| 7  | その他                                |\n\n### 権限\n\n初期設定ではOPのみが所持している。`observerutils.obs`を付与することで実行可能。\n\n## 設定\n\nすべて[config.yml](./src/main/resources/config.yml)に記載。\n\n* `server-name`\n    * サーバーの識別に使用する。Redmineに記載される。\n* `redmine-api-key`\n    * RedmineにアクセスするためのAPIキー。\n\n## 開発\n\n### デバッグ手順\n\n1. `git clone`\n1. `./gradlew jar`\n    * Jarを生成する。生成先は`./build/libs/ObserverUtils-\u003cVer.\u003e.SNAPSHOT.jar`。\n1. 生成されたJarをSpigotサーバーのpluginsフォルダに追加し起動する\n\n### コーディング規約\n\nKotlin公式コーディング規約[^5]に従う。\n\n#### Nullable\n\n使用してもよいが、`Result`を使用するなどして必要最小限に抑えること。`!!`演算子の使用も必要最小限で。\n\n### コミット\n\n1コミットあたりの情報は最小限。Conventional Commits[^6]を推奨。\n\n### デプロイ\n\n運営チームによる手動デプロイ。  \nデバッグ環境は整地鯖デバッグサーバーを利用。ただし、デバッグサーバーへのデプロイも手動なので、必要な場合は運営チームに依頼すること。\n\n## 依存\n\n### サーバー上で作動させる上で必要な依存\n\n* Spigot 1.18.2\n* WorldGuard 7.0\n* WorldEdit 7.2\n\n### 開発を行う上で必要な依存\n\n* Java 17\n* Kotlin 2.0.20\n* [サーバー上で作動させる上で必要な依存](#サーバー上で作動させる上で必要な依存)に記述されているもの\n* その他、[build.gradle](./build.gradle)に記述されているもの\n\n## ライセンス\n\n[GPL v3](./LICENSE)\n\n[^1]: https://www.seichi.network/gigantic\n\n[^2]: https://redmine.seichi.click/projects/public/wiki/Supporter_Guide\n\n[^3]: https://redmine.seichi.click/projects/public/wiki/Supporter_Guide#1%E7%AB%A0Observer%E6%A8%A9%E9%99%90\n\n[^4]: https://redmine.seichi.click\n\n[^5]: https://kotlinlang.org/docs/coding-conventions.html\n\n[^6]: https://www.conventionalcommits.org/ja/v1.0.0/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiganticminecraft%2Fobserverutils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiganticminecraft%2Fobserverutils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiganticminecraft%2Fobserverutils/lists"}