Skip to content

Commit

Permalink
👍 Change the characters to be displayed from hard-coded to language f…
Browse files Browse the repository at this point in the history
…iles.
  • Loading branch information
Nlkomaru committed Jan 24, 2022
1 parent 7eaa92c commit 0a36ddd
Show file tree
Hide file tree
Showing 17 changed files with 482 additions and 163 deletions.
14 changes: 8 additions & 6 deletions src/main/kotlin/dev/nikomaru/raceassist/RaceAssist.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package dev.nikomaru.raceassist

import co.aikar.commands.PaperCommandManager
import com.github.shynixn.mccoroutine.SuspendingJavaPlugin
import com.github.shynixn.mccoroutine.registerSuspendingEvents
import dev.nikomaru.raceassist.api.VaultAPI
import dev.nikomaru.raceassist.bet.commands.OpenBetGuiCommand
Expand All @@ -30,19 +31,20 @@ import dev.nikomaru.raceassist.race.commands.RaceCommand
import dev.nikomaru.raceassist.race.event.SetCentralPointEvent
import dev.nikomaru.raceassist.race.event.SetInsideCircuitEvent
import dev.nikomaru.raceassist.race.event.SetOutsideCircuitEvent
import dev.nikomaru.raceassist.utils.Lang
import org.bukkit.Bukkit
import org.bukkit.configuration.file.YamlConfiguration
import org.bukkit.plugin.java.JavaPlugin
import org.jetbrains.exposed.sql.SchemaUtils
import org.jetbrains.exposed.sql.selectAll
import org.jetbrains.exposed.sql.transactions.transaction
import java.io.File

class RaceAssist : JavaPlugin() {
class RaceAssist : SuspendingJavaPlugin() {

override fun onEnable() {
override suspend fun onEnableAsync() {
// Plugin startup logic
plugin = this
Lang.load()
saveDefaultConfig()
Config.config = YamlConfiguration.loadConfiguration(File(dataFolder, "config.yml"))
Config.load()
Expand All @@ -52,23 +54,23 @@ class RaceAssist : JavaPlugin() {
registerEvents()

if (!VaultAPI.setupEconomy()) {
plugin!!.logger.info("No economy plugin found. Disabling Vault")
plugin!!.logger.info(Lang.getText("no-economy-plugin-found-disabling-vault"))
server.pluginManager.disablePlugin(this)
return
}
}

private fun settingDatabase() {
org.jetbrains.exposed.sql.Database.connect(
"jdbc:sqlite:${plugin!!.dataFolder}${File.separator}RaceAssist.db",
url = "jdbc:sqlite:${plugin!!.dataFolder}${File.separator}RaceAssist.db",
driver = "org.sqlite.JDBC"
)
transaction {
SchemaUtils.create(CircuitPoint, PlayerList, RaceList, BetList, TempBetData, BetSetting)
}
}

override fun onDisable() {
override suspend fun onDisableAsync() {
// Plugin shutdown logic
}

Expand Down
43 changes: 33 additions & 10 deletions src/main/kotlin/dev/nikomaru/raceassist/bet/GuiComponent.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,14 @@
package dev.nikomaru.raceassist.bet

import dev.nikomaru.raceassist.files.Config.betUnit
import dev.nikomaru.raceassist.utils.Lang
import net.kyori.adventure.text.Component.text
import net.kyori.adventure.text.TextComponent
import net.kyori.adventure.text.format.TextColor
import org.bukkit.Material
import org.bukkit.inventory.ItemStack
import org.bukkit.inventory.meta.ItemMeta
import java.text.MessageFormat

object GuiComponent {

Expand All @@ -33,79 +35,100 @@ object GuiComponent {
fun onceUp(): ItemStack {
val onceUp = ItemStack(Material.PINK_STAINED_GLASS_PANE)
val onceUpMeta: ItemMeta = onceUp.itemMeta
onceUpMeta.displayName(text("1単位 ${betUnit}円 賭ける").color(TextColor.fromHexString("#f08080")))
onceUpMeta.displayName(text(MessageFormat.format(Lang.getText("to-bet-one-unit"), betUnit)).color(TextColor.fromHexString("#f08080")))
onceUp.itemMeta = onceUpMeta
return onceUp
}

fun onceDown(): ItemStack {
val onceDown = ItemStack(Material.LIGHT_BLUE_STAINED_GLASS_PANE)
val onceDownMeta: ItemMeta = onceDown.itemMeta
onceDownMeta.displayName(text("1単位 ${betUnit}円 下げる").color(TextColor.fromHexString("#add8e6")))
onceDownMeta.displayName(
text(
MessageFormat.format(
Lang.getText("to-cancel-bet-one-unit"),
betUnit
)
).color(TextColor.fromHexString("#add8e6"))
)
onceDown.itemMeta = onceDownMeta
return onceDown
}

fun tenTimesUp(): ItemStack {
val tenTimesUp = ItemStack(Material.RED_STAINED_GLASS_PANE)
val tenTimesUpMeta: ItemMeta = tenTimesUp.itemMeta
tenTimesUpMeta.displayName(text("10単位 ${betUnit * 10}円 賭ける").color(TextColor.fromHexString("#ff0000")))
tenTimesUpMeta.displayName(
text(
MessageFormat.format(
Lang.getText("to-bet-ten-unit"),
betUnit * 10
)
).color(TextColor.fromHexString("#ff0000"))
)
tenTimesUp.itemMeta = tenTimesUpMeta
return tenTimesUp
}

fun tenTimesDown(): ItemStack {
val tenTimesDown = ItemStack(Material.BLUE_STAINED_GLASS_PANE)
val tenTimesDownMeta: ItemMeta = tenTimesDown.itemMeta
tenTimesDownMeta.displayName(text("10単位 ${betUnit * 10}円 下げる").color(TextColor.fromHexString("#0000cd")))
tenTimesDownMeta.displayName(
text(
MessageFormat.format(
Lang.getText("to-cancel-bet-ten-unit"),
betUnit * 10
)
).color(TextColor.fromHexString("#0000cd"))
)
tenTimesDown.itemMeta = tenTimesDownMeta
return tenTimesDown
}

fun accept(): ItemStack {
val accept = ItemStack(Material.GREEN_WOOL)
val acceptMeta: ItemMeta = accept.itemMeta
acceptMeta.displayName(text("決定する").color(TextColor.fromHexString("#228b22")))
acceptMeta.displayName(text(Lang.getText("gui-decide")).color(TextColor.fromHexString("#228b22")))
accept.itemMeta = acceptMeta
return accept
}

fun deny(): ItemStack {
val deny = ItemStack(Material.RED_WOOL)
val denyMeta: ItemMeta = deny.itemMeta
denyMeta.displayName(text("キャンセルする").color(TextColor.fromHexString("#ff0000")))
denyMeta.displayName(text(Lang.getText("gui-cancel")).color(TextColor.fromHexString("#ff0000")))
deny.itemMeta = denyMeta
return deny
}

fun reset(): ItemStack {
val reset = ItemStack(Material.WHITE_WOOL)
val resetMeta: ItemMeta = reset.itemMeta
resetMeta.displayName(text("リセットする").color(TextColor.fromHexString("#ffffff")))
resetMeta.displayName(text(Lang.getText("gui-reset")).color(TextColor.fromHexString("#ffffff")))
reset.itemMeta = resetMeta
return reset
}

fun noBet(): ItemStack {
val noBet = ItemStack(Material.BARRIER)
val noBetMeta: ItemMeta = noBet.itemMeta
noBetMeta.displayName(text("誰にも賭けられていません").color(TextColor.fromHexString("#ff0000")))
noBetMeta.displayName(text(Lang.getText("gui-no-one-betting")).color(TextColor.fromHexString("#ff0000")))
noBet.itemMeta = noBetMeta
return noBet
}

fun noUnderNotice(): ItemStack {
val noUnderNotice = ItemStack(Material.BARRIER)
val noUnderNoticeMeta: ItemMeta = noUnderNotice.itemMeta
noUnderNoticeMeta.displayName(text("これ以上金額を減らすことはできません", TextColor.fromHexString("#ff0000")))
noUnderNoticeMeta.displayName(text(Lang.getText("cannot-decrease-more-money"), TextColor.fromHexString("#ff0000")))
noUnderNotice.itemMeta = noUnderNoticeMeta
return noUnderNotice
}

fun noHaveMoney(): ItemStack {
val noHaveMoney = ItemStack(Material.BARRIER)
val noHaveMoneyMeta: ItemMeta = noHaveMoney.itemMeta
noHaveMoneyMeta.displayName(text("あなたにはお金がありません", TextColor.fromHexString("#ff0000")))
noHaveMoneyMeta.displayName(text(Lang.getText("no-have-money"), TextColor.fromHexString("#ff0000")))
noHaveMoney.itemMeta = noHaveMoneyMeta
return noHaveMoney
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import dev.nikomaru.raceassist.bet.gui.BetChestGui
import dev.nikomaru.raceassist.bet.gui.BetChestGui.Companion.AllPlayers
import dev.nikomaru.raceassist.database.BetSetting
import dev.nikomaru.raceassist.database.TempBetData
import dev.nikomaru.raceassist.utils.Lang
import org.bukkit.entity.Player
import org.jetbrains.exposed.sql.and
import org.jetbrains.exposed.sql.deleteWhere
Expand All @@ -39,13 +40,13 @@ class OpenBetGuiCommand : BaseCommand() {
@CommandCompletion("@RaceID")
fun openVending(player: Player, @Single raceID: String) {
if (!raceExist(raceID)) {
player.sendMessage("${raceID}のレースは存在しません")
player.sendMessage(Lang.getText("no-exist-this-raceid-race"))
return
}
val vending = BetChestGui()
val canBet = transaction { BetSetting.select { BetSetting.raceID eq raceID }.first()[BetSetting.canBet] }
if (!canBet) {
player.sendMessage("このレースは現在ベットできません。")
player.sendMessage(Lang.getText("now-cannot-bet-race"))
return
}

Expand Down
Loading

0 comments on commit 0a36ddd

Please sign in to comment.