Skip to content

Commit e05d85c

Browse files
committed
fix: 未解禁の二つ名が表示・設定できてしまう不具合を修正
1 parent e4d8fa1 commit e05d85c

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

src/main/scala/com/github/unchama/seichiassist/menus/nicknames/NicknameCombinationMenu.scala

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ case class NicknameCombinationMenu(pageIndex: Int = 0, nicknamePart: NicknamePar
8686
val nicknameButtonPerPage = (MenuRowCount - 1).chestRows.slotCount
8787

8888
val nickNameCombinationMenuButtons = NickNameCombinationMenuButtons(player, nicknamePart)
89+
val playerdata = SeichiAssist.playermap(player.getUniqueId)
90+
8991
import nickNameCombinationMenuButtons._
9092

9193
val archivementButtonMapping = liftedArchivementId
@@ -96,9 +98,13 @@ case class NicknameCombinationMenu(pageIndex: Int = 0, nicknamePart: NicknamePar
9698
.zipWithIndex
9799
.flatMap {
98100
case (archivementId, index) =>
99-
val button = headPartButton(archivementId)
101+
if (playerdata.TitleFlags.contains(archivementId)) {
102+
val button = headPartButton(archivementId)
100103

101-
button.map(index -> _)
104+
button.map(index -> _)
105+
} else {
106+
Some(index -> lockedNicknameButton(archivementId))
107+
}
102108
}
103109

104110
import eu.timepit.refined.auto._
@@ -162,6 +168,23 @@ case class NicknameCombinationMenu(pageIndex: Int = 0, nicknamePart: NicknamePar
162168
}
163169
}
164170

171+
def lockedNicknameButton(archivementId: Int): Button = {
172+
val itemStack = new IconItemStackBuilder(Material.BEDROCK)
173+
.title(archivementId.toString())
174+
.lore(s"$RED${archivementId.toString()}は解禁されていません。")
175+
.build()
176+
177+
Button(
178+
itemStack,
179+
LeftClickButtonEffect(
180+
SequentialEffect(
181+
FocusedSoundEffect(Sound.BLOCK_STONE_BUTTON_CLICK_ON, 1.0f, 1.0f),
182+
MessageEffect(s"$RED${archivementId.toString()}は解禁されていません。")
183+
)
184+
)
185+
)
186+
}
187+
165188
val resetSelectionButton: Button = {
166189
val itemStack = new IconItemStackBuilder(Material.GRASS)
167190
.title(s"$YELLOW$UNDERLINE$BOLD${nicknamePart.displayName}パーツを未選択状態にする")

0 commit comments

Comments
 (0)