CrafterCrossing向けに制作された、マイワールドシステムを管理するためのプラグインです。 サーバー依存の設計は行なっておらず、他のサーバーでも利用することができます。
このプラグインは、現在Chiyogami v0.0.7-1.21.8を使用した場合のみをサポートしています。Paper系列のサーバーソフトであれば動作すると思われますが、
このプラグインでは用途により大量のワールドが同時にロードされる場合があるため、Chiyogamiを併用することを強く推奨します。
- bea4dev 様(Chiyogami開発者 https://github.com/bea4dev/Chiyogami )
- kotarobo_ 様(こたサーバー/CrafterCrossing オーナー)
他プラグイン向けに、MyWorldManagerの主要な内部処理をBukkitイベントとして受け取れるようになりました。
me.awabi2048.myworldmanager.api.event.MwmWorldCreatedEventme.awabi2048.myworldmanager.api.event.MwmWorldDeletedEventme.awabi2048.myworldmanager.api.event.MwmWorldWarpedEventme.awabi2048.myworldmanager.api.event.MwmMemberAddedEventme.awabi2048.myworldmanager.api.event.MwmMemberRemovedEventme.awabi2048.myworldmanager.api.event.MwmOwnerTransferredEventme.awabi2048.myworldmanager.api.event.MwmDailyMaintenanceCompletedEventme.awabi2048.myworldmanager.api.event.MwmWorldFavoritedEventme.awabi2048.myworldmanager.api.event.MwmLikeSignLikedEventme.awabi2048.myworldmanager.api.event.MwmWorldVisitedEvent
plugin.yml に softdepend: [MyWorldManager] を指定し、通常の @EventHandler で購読してください。
@EventHandler
fun onMemberAdded(event: MwmMemberAddedEvent) {
logger.info("member=${event.memberName}, world=${event.worldUuid}, source=${event.source}")
}MyWorldManager のインスタンスから、プレイヤー所有ワールド (WorldData) の一覧を取得できます。
val mwm = server.pluginManager.getPlugin("MyWorldManager") as? me.awabi2048.myworldmanager.MyWorldManager
val ownedWorlds = mwm?.getOwnedWorlds(player).orEmpty()