diff --git a/src/main/kotlin/net/taehui/twilight/JSON.kt b/src/main/kotlin/net/taehui/twilight/JSON.kt index ace4e6f..13e7dcb 100644 --- a/src/main/kotlin/net/taehui/twilight/JSON.kt +++ b/src/main/kotlin/net/taehui/twilight/JSON.kt @@ -564,6 +564,26 @@ val hitPointsMode: Int ) + data class TwilightLevelSiteYell @JsonCreator constructor( + @JsonProperty("avatarID") + val avatarID: String, + @JsonProperty("avatarName") + val avatarName: String, + @JsonProperty("title") + val title: String + ) + + data class TwilightAbilitySiteYell @JsonCreator constructor( + @JsonProperty("avatarID") + val avatarID: String, + @JsonProperty("avatarName") + val avatarName: String, + @JsonProperty("inputMode") + val inputMode: Component.InputMode, + @JsonProperty("ability") + val ability: Double + ) + data class TwilightInviteSiteYell @JsonCreator constructor( @JsonProperty("avatarName") val avatarName: String, diff --git a/src/main/kotlin/net/taehui/twilight/Site.kt b/src/main/kotlin/net/taehui/twilight/Site.kt index a381ea0..3194110 100644 --- a/src/main/kotlin/net/taehui/twilight/Site.kt +++ b/src/main/kotlin/net/taehui/twilight/Site.kt @@ -8,7 +8,6 @@ import net.dv8tion.jda.api.events.message.MessageUpdateEvent import net.taehui.CommentClass import net.taehui.EventClass -import net.taehui.twilight.awilight.Component import net.taehui.twilight.system.* import okhttp3.internal.toImmutableList import org.apache.commons.io.FileUtils @@ -1153,6 +1152,40 @@ DB.saveSiteYell(siteID.toString(), siteYell) } + fun putSIteYell(twilightAbilitySiteYell: JSON.TwilightAbilitySiteYell) { + val siteYell = synchronized(siteYells) { + val siteYell = SiteYell( + twilightAbilitySiteYell.avatarID, + "@Ability", + System.currentTimeMillis(), + ObjectMapper().writeValueAsString(twilightAbilitySiteYell), + siteYells.size, + -1 + ) + putSiteYell(siteYell) + siteYell + } + sendSiteYell(JSON.TwilightSiteYell(siteID.toString(), siteYell, "")) + DB.saveSiteYell(siteID.toString(), siteYell) + } + + fun putSIteYell(twilightLevelSiteYell: JSON.TwilightLevelSiteYell) { + val siteYell = synchronized(siteYells) { + val siteYell = SiteYell( + twilightLevelSiteYell.avatarID, + "@Level", + System.currentTimeMillis(), + ObjectMapper().writeValueAsString(twilightLevelSiteYell), + siteYells.size, + -1 + ) + putSiteYell(siteYell) + siteYell + } + sendSiteYell(JSON.TwilightSiteYell(siteID.toString(), siteYell, "")) + DB.saveSiteYell(siteID.toString(), siteYell) + } + fun setModeComponent(avatar: Avatar, modeComponentData: Any) { synchronized(avatarsCSX) { if (siteMode == SiteMode.NET && siteHand == avatar && siteSituation == SiteSituation.DEFAULT) { diff --git a/src/main/kotlin/net/taehui/twilight/qwilight/QwilightAvatar.kt b/src/main/kotlin/net/taehui/twilight/qwilight/QwilightAvatar.kt index 8a3eafa..28cd5c7 100644 --- a/src/main/kotlin/net/taehui/twilight/qwilight/QwilightAvatar.kt +++ b/src/main/kotlin/net/taehui/twilight/qwilight/QwilightAvatar.kt @@ -898,41 +898,40 @@ } } val distanceAvatarAbility = avatarAbility - lastAvatarAbility - if (0.01 <= distanceAvatarAbility) { - send( - EventClass.Event.EventID.ABILITY_UP, String.format( - translateLanguage("abilityUp"), - distanceAvatarAbility + if (0 < distanceAvatarAbility) { + send(EventClass.Event.EventID.ABILITY_UP, object { + val inputMode = inputMode.ordinal + val value = distanceAvatarAbility + }) + if (SiteHandler.hasAvatar(this, SiteHandler.commentSiteID)) { + SiteHandler.putSiteYell( + SiteHandler.commentSiteID, + JSON.TwilightAbilitySiteYell( + it, + avatarName, + inputMode, + distanceAvatarAbility + ) ) - ) - } else if (0 < distanceAvatarAbility) { - send( - EventClass.Event.EventID.ABILITY_UP, - translateLanguage("abilityUpMini") - ) + } } if (lastAvatarLevel < avatarLevel) { send(EventClass.Event.EventID.LEVEL_UP, null) } - val twilightCommentSiteYell = JSON.TwilightCommentSiteYell( - it, - avatarName, - targetComputing.artist, - targetComputing.title, - targetComputing.genre, - targetComputing.levelText, - targetComputing.level, - stand, - hitPointsMode - ) - if (SiteHandler.hasAvatar( - this, - SiteHandler.commentSiteID - ) - ) { + if (SiteHandler.hasAvatar(this, SiteHandler.commentSiteID)) { SiteHandler.putSiteYell( SiteHandler.commentSiteID, - twilightCommentSiteYell + JSON.TwilightCommentSiteYell( + it, + avatarName, + targetComputing.artist, + targetComputing.title, + targetComputing.genre, + targetComputing.levelText, + targetComputing.level, + stand, + hitPointsMode + ) ) } } @@ -1170,6 +1169,12 @@ } } send(EventClass.Event.EventID.WWW_LEVEL, levelItem.title) + if (SiteHandler.hasAvatar(this, SiteHandler.commentSiteID)) { + SiteHandler.putSiteYell( + SiteHandler.commentSiteID, + JSON.TwilightLevelSiteYell(avatarID, avatarName, levelItem.title) + ) + } } } } diff --git a/src/main/kotlin/net/taehui/twilight/system/Configure.kt b/src/main/kotlin/net/taehui/twilight/system/Configure.kt index 1ba175d..3aa5a58 100644 --- a/src/main/kotlin/net/taehui/twilight/system/Configure.kt +++ b/src/main/kotlin/net/taehui/twilight/system/Configure.kt @@ -26,13 +26,8 @@ object Configure : Logger { class PathItem { - @JvmField var www = "" - - @JvmField var tmp = "" - - @JvmField var date = "" @JsonIgnore @@ -102,16 +97,15 @@ @JsonIgnore lateinit var funcSignIn: (Array) -> CompletableFuture?> - @JvmField var allowEstablish = false - - @JvmField var allowSignIn = false - var pause = false var getAbility = false var platform = false var tv = false + @JsonIgnore + var pause = false + @JsonSetter fun setAllowEstablish(allowEstablish: Boolean) { this.allowEstablish = allowEstablish diff --git a/src/main/kotlin/net/taehui/twilight/system/IO.kt b/src/main/kotlin/net/taehui/twilight/system/IO.kt index 242ef89..bf030c9 100644 --- a/src/main/kotlin/net/taehui/twilight/system/IO.kt +++ b/src/main/kotlin/net/taehui/twilight/system/IO.kt @@ -332,7 +332,6 @@ "pause" -> { Configure.mode.pause = !Configure.mode.pause - Configure.saveConfigure() if (w.size > 1) { AvatarHandler.pause(w[1]) } else { diff --git a/src/main/kotlin/net/taehui/twilight/system/SiteHandler.kt b/src/main/kotlin/net/taehui/twilight/system/SiteHandler.kt index 07469b6..2588385 100644 --- a/src/main/kotlin/net/taehui/twilight/system/SiteHandler.kt +++ b/src/main/kotlin/net/taehui/twilight/system/SiteHandler.kt @@ -344,6 +344,18 @@ ) } + fun putSiteYell(siteID: UUID, twilightAbilitySiteYell: JSON.TwilightAbilitySiteYell) { + sites[siteID]?.putSIteYell( + twilightAbilitySiteYell + ) + } + + fun putSiteYell(siteID: UUID, twilightLevelSiteYell: JSON.TwilightLevelSiteYell) { + sites[siteID]?.putSIteYell( + twilightLevelSiteYell + ) + } + fun doModifySIteYell(siteID: UUID, avatar: Member, platformEvent: MessageUpdateEvent) { sites[siteID]?.doModifySiteYell( avatar, platformEvent diff --git a/src/main/resources/Language.json b/src/main/resources/Language.json index c589079..fc2fa75 100644 --- a/src/main/resources/Language.json +++ b/src/main/resources/Language.json @@ -1,12 +1,4 @@ { - "abilityUp": { - "ko-KR": "레이팅 %.2f Point 얻음", - "en-US": "Rating %.2f Point Obtained" - }, - "abilityUpMini": { - "ko-KR": "레이팅 < 0.01 Point 얻음", - "en-US": "Rating < 0.01 Point Obtained" - }, "alreadyBundle": { "ko-KR": "동일한 이름을 가진 꾸러미가 서버에 이미 존재합니다.", "en-US": "A package with the same name already exists on the server."