MyMaid

提供:jaopedia
ナビゲーションに移動 検索に移動
MyMaid
キャッチフレーズ わたしたちの「めいど」をここに。
リポジトリ jaoafa/MyMaid
ライセンス No License
開発開始日 2016/04/04
開発終了日 2018/02/17
テンプレート:開発部開発物
MyMaid2
キャッチフレーズ わたしたちの「めいど」をここに。
リポジトリ jaoafa/MyMaid2
ライセンス No License
開発開始日 2018/03/07
開発終了日 2019/07/02
テンプレート:開発部開発物
MyMaid3
キャッチフレーズ わたしたちの「めいど」をここに。
リポジトリ jaoafa/MyMaid3
ライセンス jaoLicense
開発開始日 2019/08/21
開発終了日 2021/04/02
テンプレート:開発部開発物
MyMaid4
キャッチフレーズ わたしたちの「めいど」をここに。 / Our "Maid" is here.
リポジトリ jaoafa/MyMaid4
ライセンス jaoLicense
開発開始日 2021/03/19
テンプレート:開発部開発物

MyMaid(マイメイド)は、jao Minecraft Serverの開発チームによって制作されているPaperMCプラグイン・プロジェクトである。基本的に、「MyMaid」と表記される場合、最新メジャーバージョンである「MyMaid4」を指す。

ここでは、特記無き限り「MyMaid4」について解説する。

過去のMyMaid

MyMaidの歴史は長く、基本的にjao Minecraft Serverの動きに沿って色々作り変えられている。ここでは、MyMaidのメジャーバージョンごとに解説する。

MyMaid1 (無印)

  • 対象期間: 2016年4月4日 〜 2018年2月13日
  • 開発終了済み
  • リポジトリ: jaoafa/MyMaid

このバージョンは最も長く続き、そしてMyMaidの立ち位置や基本的な機能を形作ったバージョンである。

このバージョンのみ、リポジトリはbook000/MyMaidに作られた。リポジトリ作成当時、jaoafaのOrganizationがなかったためである。

初代MyMaidの誕生は、GitHubにMyMaidのリポジトリが作られ、初めてコミットされた2016/04/04とされている。ただ、このプラグインが作られる前にkassi-hp.tk Minecraft SeverにおいてCommand Teleportというプラグインが作られていた経緯もあるため、実際のところいつ開発開始されたのかは謎のままである。

初代MyMaidはjao Minecraft Serverの第一世代終了と共に開発を終了した。これにはいくつか理由があるが、主たる理由としてはサーババージョンの変更(1.8.8→1.12.2)としている。開発終了後、該当のリポジトリはアーカイブとされ、のちにjaoafaOrganizationに移動された。よって現在はjaoafa/MyMaidにある。

MyMaid2

  • 対象期間: 2018年3月7日 〜 2019年7月2日
  • 開発終了済み
  • リポジトリ: jaoafa/MyMaid2

MyMaid無印が開発を終了し、jao Minecraft Serverが第二世代(バージョン1.12.2)に入る前に作り始められた。MyMaid無印で実装されたコマンドや機能と同一のものを作りながら、見やすく書き換えられることを目的とされた。

jao Minecraft Serverの第二世代を終了するのに伴い、開発を終了した。

MyMaid3

  • 対象期間: 2019年8月21日 〜 2021年4月2日
  • 開発終了済み
  • リポジトリ: jaoafa/MyMaid3

MyMaid2が開発を終了し、jao Minecraft Serverが第三世代(バージョン1.12.2は継続。ワールドをリセット。)に入る前に作り始められた。

サーババージョンが1.12.2から1.16.5へアップデートされるとともに開発を終了した。

開発

基本的に開発は旧・開発部が行っているとされているが、実質的に開発しているのはTomachiのみである。しかし、コマンド・機能の案などは利用者の多くから提供されている。IntelliJ IDEAで開発されている。

開発方針はTomachi/各種開発方針に準じている。

コマンド

このプラグインにおいては、プレイヤーが「/」から始まるコマンドを実行することで動作する機能を「コマンド」と総合して表記している。

現在実装されているコマンドは次のとおりである(2022年6月時点)。また、最新のコマンドの一覧はMyMaidのドキュメントサイトからも確認することができる。



  • g
  • getlookloc
  • getuserkey
  • glookup
  • hat
  • head
  • help
  • hide
  • history
  • home
  • invedit
  • invload
  • invsave
  • invshow
  • itemedit
  • itemframe
  • jail
  • jaobox
  • lead
  • legs

  • light
  • link
  • logintext
  • looking
  • makecmd
  • mymaid4
  • pigeon
  • player
  • respawn
  • rider
  • secrettp
  • selclick
  • sethome
  • show
  • sign
  • skkcolor
  • spawn
  • tempmute
  • test
  • testment

  • time
  • tips
  • tpalias
  • tpdeny
  • var
  • varcmd
  • walkspeed
  • weather
  • wire
  • wt
  • wtp


機能

このプラグインにおいては、プレイヤーがなんらかの行動を行った際、または定期的に動作する機能を「機能」と総合して表記している。コマンドも機能と言えるが、ここでは「機能」には含まれない。

現在実装されている機能は次のとおりである(2022年4月時点)。また、最新の機能一覧はMyMaidのドキュメントサイトからも確認することができる。

説明文は開発ページから引用。

  • Event_AdvancementDiscordNotifyDiscord#server-chatチャンネルに表示される進捗達成メッセージを日本語化します)
  • Event_AntiBigSlime(極端に大きいスライム・マグマキューブを召喚できないようにします。)
  • Event_AntiDuplicateEntityDefaultVerified権限グループのプレイヤーによるエンティティのコピーを制限します。)
  • Event_AntiEndPortal(エンドポータルの作成を制限します。)
  • Event_AntiKillWire(wireコマンドで出現させたコウモリのキルを無効化します。)
  • Event_AntiNetherPortal(ネザーポータルの作成を制限します。)
  • Event_AntiProblemCommand(迷惑コマンドの制限を行います。)
  • Event_AntiProblemTeleport(極端に遠い場所へのテレポートを禁止します。)
  • Event_AntiTNTCart(TNTカートを設置できないようにします。)
  • Event_AntiTargetAllEntityCmd(全てのエンティティをターゲットとするコマンドの使用を禁止します。)
  • Event_AntiTeleportToNewPlayers(新規プレイヤーへのテレポートを規制します。)
  • Event_AntiTeleportToSpectator(スペクテイタープレイヤーへのテレポートを禁止します。)
  • Event_AntiToolbar(ツールバーの利用を制限します。)
  • Event_AntiWither(ウィザーの出現制限を行います。)
  • Event_Antijaoiumjaoium制限に関する処理を行います。)
  • Event_BlackList(アイテム・ブロックブラックリストに関する処理を行います。)
  • Event_Bug(bugコマンドに関する処理を行います。)
  • Event_CVE_2021_44228(ログイン時にクライアントがJavaライブラリ「log4j 2」にあった脆弱性 CVE-2021-44228 に対策されているかを確認します。)
  • Event_ChatBanChatBanに関する各種処理を行います。)
  • Event_ClearSelection(走りながら空気をクリックして/selを実行します。)
  • Event_CmdLengthLimiterDefault権限グループのプレイヤーによる100文字を超えるコマンドの実行を制限します。)
  • Event_CommandSender(実行されたコマンドを特定権限に通知します。)
  • Event_CustomJoinMessage(独自のログインメッセージを表示するように制御します。)
  • Event_DVNotSpectator(DefaultとVerified権限グループのプレイヤーによるスペクテイター変更を禁止します。)
  • Event_Deddedコマンドに関する処理を行います。)
  • Event_DedMessage(dedmessageコマンドに関する処理を行います。)
  • Event_DisableConcreteTransition(コンクリートパウダーの変化を無効化します。)
  • Event_DisableCoralTransition(サンゴの変化を無効化します。)
  • Event_DisableKicks(不要なキックを無効化します。)
  • Event_DisableRespawnAnchor(リスポーンアンカーの爆発を無効化します。)
  • Event_EBanEBanに関する各種処理を行います。)
  • Event_Explosion(TNTなどの爆発時に額縁や絵画などが壊れないようにします。)
  • Event_FeedBack(feedbackコマンドに関する処理を行います。)
  • Event_FirstLogin(初めてログインしたプレイヤーを通知します。)
  • Event_FlySpeed(flyspeedコマンドに関する処理を行います。)
  • Event_GameModeCmd(ゲームモードに関する処理を行います。)
  • Event_Hide(hideコマンドに関する処理を行います。)
  • Event_History(historyコマンド(jaoHistory)に関する処理を行います。)
  • Event_InvisibilityWireContinuation(wireコマンドで出現させたコウモリの透明化エフェクトが切れた際、再度透明化エフェクトを付与します。)
  • Event_JailJailに関する各種処理を行います。)
  • Event_JoinWarnUsers(ログイン時、注意する必要のあるプレイヤーが参加したときに警告します。)
  • Event_KillAfterRespawn(死亡してから3分後に自動的にリスポーンします。)
  • Event_LoginSuccessful(ログインに成功したことをデータベースに書き込みます。)
  • Event_LongTimeNoSee(久々に来た人に「お久しぶりです」と伝えます。)
  • Event_Looking(lookingコマンドに関する処理を行います。)
  • Event_LookingBlock(「LookingBlock」が含まれるコマンドが実行された際に自動で見ているブロックのIDに置き換えます。)
  • Event_MCBansLoginCheck(ログイン時、MCBansのキャッシュデータベースを確認しGBanされていたりReputationが足りなくないかを確認します。)
  • Event_ManageCPPermsCoreProtectのパーミッションノードを管理します。)
  • Event_NewPlayerAutoBlMap(新規プレイヤーがログアウトした際にブロック編集情報を通知します。)
  • Event_NotFadeIce(氷を解けなくします。)
  • Event_NotifyKick(キックされた際にAdminModeratorに理由を通知します。)
  • Event_NotifyTPDiscord(tpコマンドによるテレポート時にDiscord#server-chatでもそれを表示します。)
  • Event_OnlineTimeDB(ログイン時間を計測し、データベースに記録します。)
  • Event_PacketLimiterKick(PacketLimiterによるキック時に通知を行います。)
  • Event_PlayerCheckPreLogin(プレイヤーログイン前に各種チェック等を行います。)
  • Event_PlayerCountNotify(入退出時、プレイヤー数を表示します。)
  • Event_ProtectionOldWorlds(旧ワールドへの干渉禁止処理を行います。)
  • Event_ProtectionSandBoxSandBoxRegular権限グループ未満のプレイヤーが編集できないように制限します。)
  • Event_SKKColor(チャット欄に表示される四角色に関する処理を行います。)
  • Event_ServerExceptionCatcher(サーバで例外エラーが発生した場合、報告します。)
  • Event_Set43(set 43コマンドを従来の動作に戻します。)
  • Event_Sign(signコマンドに関する処理を行います。)
  • Event_SpectatorDynmapHide(スペクテイターモードの際、Dynmapから姿を隠します。)
  • Event_TabList(Tabで表示されるヘッダー・フッターに関する処理を行います。)
  • Event_TeleportCmd(tpコマンドを受けてTeleportCommandEventを動作させます。)
  • Event_TempMute(tempmuteコマンドに関する処理を行います。)
  • Event_TpAlias(テレポートエイリアスを処理します。)
  • Event_TpDenytpdenyコマンドに関する処理を行います。)
  • Event_ViaVerCheck(サーババージョン以外でのバージョンでログインした際に通知を表示します。)
  • Event_Vote(各サーバリストサイトからの投票通知を受け取り、処理します。)
  • Event_WorldEditAutoFacing(「[facing=look]」が含まれるコマンドが実行された際に自動で向いている方向に置き換えます。)
  • Event_jaoBox(jaoBoxに関するイベントを管理します。)

トリビア

  • プロジェクトの情報が記載されるpom.xmlには説明としてわたしたちの「めいど」をここに。が書かれている。MyMaid無印からこの説明文は受け継がれているが、これはあまり知られていない。
  • 開発部が設立される前から開発が行われていたプロジェクトであり、開発部設立と同時に宣伝部からプロジェクト管理が移動された。

関連項目

文字数:約6533文字 (約12分、原稿用紙16枚程度)