Skip to content

Commit b28588a

Browse files
committed
feat: implement weapon signs for tutorial
1 parent acd5f84 commit b28588a

File tree

1 file changed

+147
-133
lines changed

1 file changed

+147
-133
lines changed

src/main/kotlin/be4rjp/sclat/manager/GameMgr.kt

Lines changed: 147 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -940,165 +940,157 @@ class GameMgr : Listener {
940940
}
941941

942942
val line = sign.getLine(2)
943-
when (line) {
944-
"[ Join ]" -> {
945-
if (Sclat.type == ServerType.LOBBY) {
946-
ServerStatusManager.openServerList(player)
947-
} else {
948-
MatchMgr.playerJoinMatch(player)
943+
if (weaponTypes.contains(line)) {
944+
OpenGUI.openWeaponSelect(player, "Weapon", line.removePrefix("[ ").removeSuffix(" ]"), false)
945+
} else {
946+
when (line) {
947+
"[ Join ]" -> {
948+
if (Sclat.type == ServerType.LOBBY) {
949+
ServerStatusManager.openServerList(player)
950+
} else {
951+
MatchMgr.playerJoinMatch(player)
952+
}
949953
}
950-
}
951-
952-
"[ Equipment ]" -> {
953-
OpenGUI.equipmentGUI(player, false)
954-
}
955-
956-
"[ Equip shop ]" -> {
957-
OpenGUI.equipmentGUI(player, true)
958-
}
959-
960-
"[ OpenMenu ]" -> {
961-
OpenGUI.openMenu(player)
962-
}
963954

964-
"Click to Download" -> {
965-
// player.setResourcePack(conf.getConfig().getString("ResourcePackURL"));
966-
player.sendMessage("以下のURLからリソースパックをダウンロードしてください")
967-
player.sendMessage(
968-
Sclat.conf!!
969-
.config!!
970-
.getString("ResourcePackURL")!!,
971-
)
972-
}
955+
"[ Equipment ]" -> {
956+
OpenGUI.equipmentGUI(player, false)
957+
}
973958

974-
"Click to Vote" -> {
975-
// player.setResourcePack(conf.getConfig().getString("ResourcePackURL"));
976-
player.sendMessage("以下のURLから投票してね!")
977-
player.sendMessage("https://minecraft.jp/servers/azisaba.net")
978-
}
959+
"[ Equip shop ]" -> {
960+
OpenGUI.equipmentGUI(player, true)
961+
}
979962

980-
"Click To Download" -> {
981-
player.setResourcePack(
982-
Sclat.conf!!
983-
.config!!
984-
.getString("ResourcePackURL")!!,
985-
)
986-
}
963+
"[ OpenMenu ]" -> {
964+
OpenGUI.openMenu(player)
965+
}
987966

988-
"Click to Return" -> {
989-
BungeeCordMgr.playerSendServer(player, "lobby")
990-
getPlayerData(player)!!.setServerName("Lobby")
991-
}
967+
"Click to Download" -> {
968+
// player.setResourcePack(conf.getConfig().getString("ResourcePackURL"));
969+
player.sendMessage("以下のURLからリソースパックをダウンロードしてください")
970+
player.sendMessage(
971+
Sclat.conf!!
972+
.config!!
973+
.getString("ResourcePackURL")!!,
974+
)
975+
}
992976

993-
"[ Training Mode ]" -> {
994-
BungeeCordMgr.playerSendServer(player, "sclattest")
995-
getPlayerData(player)!!.setServerName("sclattest")
996-
}
977+
"Click to Vote" -> {
978+
// player.setResourcePack(conf.getConfig().getString("ResourcePackURL"));
979+
player.sendMessage("以下のURLから投票してね!")
980+
player.sendMessage("https://minecraft.jp/servers/azisaba.net")
981+
}
997982

998-
"[ Return to jg ]" -> {
999-
BungeeCordMgr.playerSendServer(player, "jg")
1000-
getPlayerData(player)!!.setServerName("JG")
1001-
}
983+
"Click To Download" -> {
984+
player.setResourcePack(
985+
Sclat.conf!!
986+
.config!!
987+
.getString("ResourcePackURL")!!,
988+
)
989+
}
1002990

1003-
"Return to sclat" -> {
1004-
BungeeCordMgr.playerSendServer(player, "sclat")
1005-
getPlayerData(player)!!.setServerName("Sclat")
1006-
}
991+
"Click to Return" -> {
992+
BungeeCordMgr.playerSendServer(player, "lobby")
993+
getPlayerData(player)!!.setServerName("Lobby")
994+
}
1007995

1008-
"[Charge special]" -> {
1009-
if (getPlayerData(player)!!.isInMatch && !getPlayerData(player)!!.isUsingSP) {
1010-
getPlayerData(
1011-
player,
1012-
)!!.sPGauge = (100)
996+
"[ Training Mode ]" -> {
997+
BungeeCordMgr.playerSendServer(player, "sclattest")
998+
getPlayerData(player)!!.setServerName("sclattest")
1013999
}
1014-
}
10151000

1016-
"[ Sclat ]" -> {
1017-
BungeeCordMgr.playerSendServer(player, "sclat")
1018-
getPlayerData(player)!!.setServerName("Sclat")
1019-
}
1001+
"[ Return to jg ]" -> {
1002+
BungeeCordMgr.playerSendServer(player, "jg")
1003+
getPlayerData(player)!!.setServerName("JG")
1004+
}
10201005

1021-
"[ LootBox ]" -> {
1022-
LootBox.turnLootBox(player)
1023-
}
1006+
"Return to sclat" -> {
1007+
BungeeCordMgr.playerSendServer(player, "sclat")
1008+
getPlayerData(player)!!.setServerName("Sclat")
1009+
}
10241010

1025-
"[ LootBoxInfo ]" -> {
1026-
LootBox.lootBoxInfo(player)
1027-
}
1011+
"[Charge special]" -> {
1012+
if (getPlayerData(player)!!.isInMatch && !getPlayerData(player)!!.isUsingSP) {
1013+
getPlayerData(
1014+
player,
1015+
)!!.sPGauge = (100)
1016+
}
1017+
}
10281018

1029-
"[ GiftForYou ]" -> {
1030-
LootBox.giftWeapon(player, "お年玉[巳]")
1031-
}
1019+
"[ Sclat ]" -> {
1020+
BungeeCordMgr.playerSendServer(player, "sclat")
1021+
getPlayerData(player)!!.setServerName("Sclat")
1022+
}
10321023

1033-
"[ EasterEgg ]" -> {
1034-
LootBox.giftbook(player)
1035-
}
1024+
"[ LootBox ]" -> {
1025+
LootBox.turnLootBox(player)
1026+
}
10361027

1037-
"[ ChangeTeam ]" -> {
1038-
LootBox.changeteam(player)
1039-
}
1028+
"[ LootBoxInfo ]" -> {
1029+
LootBox.lootBoxInfo(player)
1030+
}
10401031

1041-
"[ give chest ]" -> {
1042-
PlayerStatusMgr.setTutorialState(player.uniqueId.toString(), 2)
1043-
val chest = ItemStack(Material.CHEST)
1044-
val chestmeta = chest.itemMeta
1045-
chestmeta!!.setDisplayName("右クリックでメインメニューを開く")
1046-
chest.itemMeta = chestmeta
1047-
player.inventory.setItem(0, chest)
1048-
}
1032+
"[ GiftForYou ]" -> {
1033+
LootBox.giftWeapon(player, "お年玉[巳]")
1034+
}
10491035

1050-
"[ trade ticket ]" -> {
1051-
if (PlayerStatusMgr.getMoney(player) > 1000) {
1052-
PlayerStatusMgr.subMoney(player, 1000)
1053-
PlayerStatusMgr.addTicket(player, 1)
1054-
sendMessage("1000coinを1ticketに交換しました", MessageType.PLAYER, player)
1055-
} else {
1056-
sendMessage("coinが足りません", MessageType.PLAYER, player)
1036+
"[ EasterEgg ]" -> {
1037+
LootBox.giftbook(player)
10571038
}
1058-
}
10591039

1060-
"[ give ticket ]" -> {
1061-
PlayerStatusMgr.addTicket(player, 10)
1062-
sendMessage("10ticket付与しました", MessageType.PLAYER, player)
1063-
}
1040+
"[ ChangeTeam ]" -> {
1041+
LootBox.changeteam(player)
1042+
}
10641043

1065-
"[ Tutorial ]" -> {
1066-
val list = Sclat.tutorialServers!!.getConfig()!!.getStringList("server-list")
1067-
BungeeCordMgr.playerSendServer(player, list.get(Random().nextInt(list.size)))
1068-
getPlayerData(player)!!
1069-
.setServerName(
1070-
Sclat.conf!!
1071-
.servers!!
1072-
.getString("Tutorial.DisplayName"),
1073-
)
1074-
}
1044+
"[ give chest ]" -> {
1045+
PlayerStatusMgr.setTutorialState(player.uniqueId.toString(), 2)
1046+
val chest = ItemStack(Material.CHEST)
1047+
val chestmeta = chest.itemMeta
1048+
chestmeta!!.setDisplayName("右クリックでメインメニューを開く")
1049+
chest.itemMeta = chestmeta
1050+
player.inventory.setItem(0, chest)
1051+
}
10751052

1076-
"[ Instructions ]" -> {
1077-
player.performCommand("torisetu")
1078-
}
1053+
"[ trade ticket ]" -> {
1054+
if (PlayerStatusMgr.getMoney(player) > 1000) {
1055+
PlayerStatusMgr.subMoney(player, 1000)
1056+
PlayerStatusMgr.addTicket(player, 1)
1057+
sendMessage("1000coinを1ticketに交換しました", MessageType.PLAYER, player)
1058+
} else {
1059+
sendMessage("coinが足りません", MessageType.PLAYER, player)
1060+
}
1061+
}
10791062

1080-
"[ Shooter ]" -> {
1081-
OpenGUI.openWeaponSelect(player, "Weapon", "Shooter", false)
1082-
}
1063+
"[ give ticket ]" -> {
1064+
PlayerStatusMgr.addTicket(player, 10)
1065+
sendMessage("10ticket付与しました", MessageType.PLAYER, player)
1066+
}
10831067

1084-
"[ Roller ]" -> {
1085-
OpenGUI.openWeaponSelect(player, "Weapon", "Roller", false)
1086-
}
1068+
"[ Tutorial ]" -> {
1069+
val list = Sclat.tutorialServers!!.getConfig()!!.getStringList("server-list")
1070+
BungeeCordMgr.playerSendServer(player, list.get(Random().nextInt(list.size)))
1071+
getPlayerData(player)!!
1072+
.setServerName(
1073+
Sclat.conf!!
1074+
.servers!!
1075+
.getString("Tutorial.DisplayName"),
1076+
)
1077+
}
10871078

1088-
"[ Charger ]" -> {
1089-
OpenGUI.openWeaponSelect(player, "Weapon", "Charger", false)
1090-
}
1079+
"[ Instructions ]" -> {
1080+
player.performCommand("torisetu")
1081+
}
10911082

1092-
"[ PatchNote ]" -> {
1093-
val component = TextComponent()
1094-
component.text = "[パッチノートを見るにはここをクリック]"
1095-
component.color = net.md_5.bungee.api.ChatColor.AQUA
1096-
component.clickEvent =
1097-
ClickEvent(
1098-
ClickEvent.Action.OPEN_URL,
1099-
"https://be4rjp.github.io/Sclat-PatchNote/note/v102b/note.html",
1100-
)
1101-
player.spigot().sendMessage(component)
1083+
"[ PatchNote ]" -> {
1084+
val component = TextComponent()
1085+
component.text = "[パッチノートを見るにはここをクリック]"
1086+
component.color = net.md_5.bungee.api.ChatColor.AQUA
1087+
component.clickEvent =
1088+
ClickEvent(
1089+
ClickEvent.Action.OPEN_URL,
1090+
"https://be4rjp.github.io/Sclat-PatchNote/note/v102b/note.html",
1091+
)
1092+
player.spigot().sendMessage(component)
1093+
}
11021094
}
11031095
}
11041096
}
@@ -1229,4 +1221,26 @@ class GameMgr : Listener {
12291221

12301222
if (data.weaponClass != null) PlayerStatusMgr.setEquiptClass(player, data.weaponClass!!.className)
12311223
}
1224+
1225+
companion object {
1226+
// ignore: Bucket, Camping
1227+
val weaponTypes: Set<String> =
1228+
listOf(
1229+
"Shooter",
1230+
"Blaster",
1231+
"Burst",
1232+
"Roller",
1233+
"Slosher",
1234+
"Kasa",
1235+
"Hude",
1236+
"Spinner",
1237+
"Charger",
1238+
"Maneu",
1239+
"Hound",
1240+
"Swapper",
1241+
"Funnel",
1242+
"Reeler",
1243+
"Buckler",
1244+
).map { s -> "[ $s ]" }.toSet()
1245+
}
12321246
}

0 commit comments

Comments
 (0)