1
0
Fork 0

fix: more fixes and adjustements

This commit is contained in:
ineanto 2024-01-02 19:26:41 +01:00
parent fd6e76ad8f
commit 046f0ed9dc
8 changed files with 147 additions and 23 deletions

View file

@ -41,8 +41,10 @@ class RunnerDragon : JavaPlugin() {
val TITLE = MiniMessage.miniMessage()
.deserialize("<gradient:#8045ff:#cd59ff><b>Runner</b></gradient><gradient:#e9f1b0:#ffbd80>Dragon</gradient>")
val PREFIX = MiniMessage.miniMessage()
.deserialize("<gradient:#235ddd:#6e4bf9><b>Met@</b></gradient><gradient:#04e9e3:#93e2c8>Gaming</gradient>")
val PREFIX = Component.text()
.append(TITLE)
.appendSpace()
.append(Component.text("/", NamedTextColor.DARK_GRAY, TextDecoration.BOLD))
val LAST_BED_INTERACT: Cache<UUID, Instant> = CacheBuilder.newBuilder()
.expireAfterWrite(Duration.ofSeconds(10))
@ -76,7 +78,7 @@ class RunnerDragon : JavaPlugin() {
override fun onEnable() {
instance = this
val previousWorldFolder = File("outerlands")
val previousWorldFolder = File("runnerdragon")
val previousEndFolder = File("world_the_end")
val previousNetherFolder = File("world_nether")
if (previousWorldFolder.exists()) {
@ -92,7 +94,7 @@ class RunnerDragon : JavaPlugin() {
PreviousWorldUtils.resetNether()
}
val creator = WorldCreator("outerlands")
val creator = WorldCreator("runnerdragon")
creator.environment(World.Environment.NORMAL)
creator.generateStructures(true)
creator.type(WorldType.NORMAL)
@ -138,6 +140,7 @@ class RunnerDragon : JavaPlugin() {
val resetComponent: Component = Component
.text()
.append(PREFIX)
.appendSpace()
.append(Component.text("Mise à zéro du jeu !", NamedTextColor.GOLD))
.build()
@ -190,6 +193,7 @@ class RunnerDragon : JavaPlugin() {
val launchComponent: Component = Component
.text()
.append(PREFIX)
.appendSpace()
.append(Component.text("Lancement de la partie !", NamedTextColor.GOLD))
.build()

View file

@ -31,7 +31,7 @@ class MainCommand : CommandExecutor {
"teams" -> TeamsSubCommand().run(dragonPlayer, args.drop(1).toTypedArray())
"say" -> {
if (args.drop(1).isEmpty()) {
player.sendMessage(
dragonPlayer.sendMessage(
Component
.text()
.append(RunnerDragon.PREFIX)

View file

@ -1,6 +1,7 @@
package xyz.ineanto.dragon.event
import net.md_5.bungee.api.ChatColor
import net.kyori.adventure.text.Component
import net.kyori.adventure.text.minimessage.MiniMessage
import org.bukkit.Bukkit
import org.bukkit.Sound
import org.bukkit.event.EventHandler
@ -17,7 +18,17 @@ class DimensionEntranceListener : Listener {
when (event.cause) {
PlayerTeleportEvent.TeleportCause.NETHER_PORTAL -> if (RunnerDragon.NETHER_PORTAL_ENTERED.not()) {
RunnerDragon.NETHER_PORTAL_ENTERED = true
Bukkit.broadcastMessage("${RunnerDragon.PREFIX} ${ChatColor.GOLD}Le portail du Nether a été franchi pour la première fois !")
val dimensionComponent = Component.text()
.append(RunnerDragon.PREFIX)
.appendSpace()
.append(
MiniMessage.miniMessage()
.deserialize("<gradient:#7a59ff:#da8aff>Le portail du Nether a été franchi pour la première fois !</gradient>")
)
.build()
Bukkit.broadcast(dimensionComponent)
Bukkit.getOnlinePlayers().forEach {
it.playSound(it.location, Sound.ENTITY_VILLAGER_CELEBRATE, 1f, 0.3f)
}
@ -27,7 +38,17 @@ class DimensionEntranceListener : Listener {
event.player.teleport(RunnerDragon.WORLD_END.spawnLocation)
if (RunnerDragon.END_PORTAL_ENTERED.not()) {
RunnerDragon.END_PORTAL_ENTERED = true
Bukkit.broadcastMessage("${RunnerDragon.PREFIX} ${ChatColor.GOLD}Le portail de l'End a été franchi pour la première fois !")
val dimensionComponent = Component.text()
.append(RunnerDragon.PREFIX)
.appendSpace()
.append(
MiniMessage.miniMessage()
.deserialize("<gradient:#ffea4d:#ffa46b>Le portail de l'End a été franchi pour la première fois !</gradient>")
)
.build()
Bukkit.broadcast(dimensionComponent)
Bukkit.getOnlinePlayers().forEach {
it.playSound(it.location, Sound.ENTITY_VILLAGER_CELEBRATE, 1f, 0.3f)
}

View file

@ -1,7 +1,10 @@
package xyz.ineanto.dragon.event.end
import net.kyori.adventure.text.Component
import net.kyori.adventure.text.format.NamedTextColor
import net.kyori.adventure.text.format.TextDecoration
import net.kyori.adventure.text.minimessage.MiniMessage
import org.bukkit.Bukkit
import org.bukkit.ChatColor
import org.bukkit.Sound
import org.bukkit.World.Environment
import org.bukkit.entity.EnderDragon
@ -37,7 +40,6 @@ class EnderDragonListener : Listener {
if (entity is Projectile) {
player = entity.shooter as Player
} else if (entity is Player) {
Bukkit.broadcastMessage("Last damage dealt by ${entity.name}")
player = entity
}
}
@ -53,8 +55,38 @@ class EnderDragonListener : Listener {
it.playSound(it.location, Sound.ENTITY_ENDER_DRAGON_DEATH, 1f, 0.5f)
}
}
Bukkit.broadcastMessage("${RunnerDragon.PREFIX} ${ChatColor.GOLD}${ChatColor.BOLD}VICTOIRE !")
Bukkit.broadcastMessage("${RunnerDragon.PREFIX} ${ChatColor.GOLD}${ChatColor.BOLD}LE DRAGON A ÉTÉ TUÉ PAR L'ÉQUIPE ${team?.displayName}${ChatColor.GOLD}${ChatColor.BOLD}!")
val victoryComponent: Component = Component.text()
.append(RunnerDragon.PREFIX)
.appendSpace()
.append(
MiniMessage.miniMessage().deserialize("<gradient:#ff8b26:#ff6193><b>VICTOIRE !</b></gradient>")
)
.build()
val teamComponent = Component.text()
.append(RunnerDragon.PREFIX)
.appendSpace()
.append(
Component.text(
"Le dragon a été tué par l'équipe :",
NamedTextColor.WHITE
)
)
.appendSpace()
team?.let {
teamComponent.append(team.displayName)
} ?: {
teamComponent.append(Component.text("???", NamedTextColor.RED, TextDecoration.OBFUSCATED))
}
teamComponent.appendSpace()
teamComponent.append(Component.text("!", NamedTextColor.WHITE, TextDecoration.BOLD))
Bukkit.broadcast(victoryComponent)
Bukkit.broadcast(teamComponent.build())
}
SecondFight.start(dragon)

View file

@ -3,6 +3,7 @@ package xyz.ineanto.dragon.player
import net.kyori.adventure.text.Component
import net.kyori.adventure.text.format.NamedTextColor
import net.kyori.adventure.text.format.TextDecoration
import net.kyori.adventure.text.minimessage.MiniMessage
import org.bukkit.Bukkit
import org.bukkit.GameMode
import org.bukkit.Material
@ -23,10 +24,13 @@ class DragonPlayer(uuid: UUID) {
}
fun updateHeaderFooter() {
val header = RunnerDragon.TITLE
val header = Component.text()
.append(RunnerDragon.TITLE)
.appendNewline()
.append(Component.text("Met@", NamedTextColor.DARK_PURPLE))
.append(Component.text("Gaming", NamedTextColor.DARK_AQUA))
.append(
MiniMessage.miniMessage()
.deserialize("<gradient:#235ddd:#6e4bf9><b>Met@</b></gradient><gradient:#04e9e3:#93e2c8>Gaming</gradient>")
)
.appendNewline()
.append(Component.text("Temps:", NamedTextColor.GOLD))
.appendSpace()
@ -38,6 +42,7 @@ class DragonPlayer(uuid: UUID) {
.appendSpace()
.append(Component.text("(c'est horrible)", NamedTextColor.GRAY, TextDecoration.ITALIC))
.appendNewline()
.build()
val footer = Component
.text()
@ -51,6 +56,7 @@ class DragonPlayer(uuid: UUID) {
.append(Component.text("Concept:", NamedTextColor.GOLD, TextDecoration.ITALIC))
.appendSpace()
.append(Component.text("Linkxss", NamedTextColor.BLUE))
.build()
player.sendPlayerListHeader(header)
player.sendPlayerListFooter(footer)

View file

@ -4,6 +4,7 @@ import org.bukkit.Bukkit
import org.bukkit.scoreboard.Scoreboard
import org.bukkit.scoreboard.Team
import xyz.ineanto.dragon.RunnerDragon
import xyz.ineanto.dragon.player.DragonPlayer
/**
* TeamScoreboard
@ -29,7 +30,14 @@ class ScoreboardTeams {
}
}
fun addPlayer() {
fun addPlayer(player: DragonPlayer) {
player.getTeam()?.let {
val team = scoreboard!!.getTeam(it.teamColor.displayName)
team?.addPlayer(player.player)
}
}
fun removePlayer() {
}

View file

@ -1,7 +1,8 @@
package xyz.ineanto.dragon.tasks
import net.kyori.adventure.text.Component
import net.kyori.adventure.text.format.NamedTextColor
import org.bukkit.Bukkit
import org.bukkit.ChatColor
import org.bukkit.scheduler.BukkitRunnable
import xyz.ineanto.dragon.GameState
import xyz.ineanto.dragon.RunnerDragon
@ -11,12 +12,52 @@ class GracePeriodTask : BukkitRunnable() {
override fun run() {
counter--
val base = "${ChatColor.GOLD}Activation du PVP dans"
val pvpComponent: Component = Component
.text()
.append(RunnerDragon.PREFIX)
.appendSpace()
.append(Component.text("Activation du PVP dans", NamedTextColor.GOLD))
.build()
when (counter) {
600 -> Bukkit.broadcastMessage("${RunnerDragon.PREFIX} $base ${ChatColor.AQUA}10 ${ChatColor.GOLD}minutes.")
600 -> {
val timeComponent = Component.text()
.append(pvpComponent)
.appendSpace()
.append(Component.text("10", NamedTextColor.AQUA))
.appendSpace()
.append(Component.text("minutes.", NamedTextColor.GOLD))
.build()
Bukkit.broadcast(timeComponent)
}
580 -> RunnerDragon.instance.switchState(GameState.GRACE_PERIOD)
300 -> Bukkit.broadcastMessage("${RunnerDragon.PREFIX} $base ${ChatColor.AQUA}5 ${ChatColor.GOLD}minutes.")
in 1..5, 60 -> Bukkit.broadcastMessage("${RunnerDragon.PREFIX} $base ${ChatColor.AQUA}$counter ${ChatColor.GOLD}secondes.")
300 -> {
val timeComponent = Component.text()
.append(pvpComponent)
.appendSpace()
.append(Component.text("5", NamedTextColor.AQUA))
.appendSpace()
.append(Component.text("minutes.", NamedTextColor.GOLD))
.build()
Bukkit.broadcast(timeComponent)
}
in 1..5, 60 -> {
val timeComponent = Component.text()
.append(pvpComponent)
.appendSpace()
.append(Component.text(counter, NamedTextColor.AQUA))
.appendSpace()
.append(Component.text("minutes.", NamedTextColor.GOLD))
.build()
Bukkit.broadcast(timeComponent)
}
0 -> RunnerDragon.instance.switchState(GameState.GAME)
}
}

View file

@ -1,7 +1,8 @@
package xyz.ineanto.dragon.tasks
import net.kyori.adventure.text.Component
import net.kyori.adventure.text.format.NamedTextColor
import org.bukkit.Bukkit
import org.bukkit.ChatColor
import org.bukkit.scheduler.BukkitRunnable
import xyz.ineanto.dragon.GameState
import xyz.ineanto.dragon.RunnerDragon
@ -12,8 +13,19 @@ class StartGameTask : BukkitRunnable() {
override fun run() {
counter--
val counterComponent: Component = Component
.text()
.append(RunnerDragon.PREFIX)
.appendSpace()
.append(Component.text("Départ dans", NamedTextColor.GOLD))
.appendSpace()
.append(Component.text(counter, NamedTextColor.AQUA))
.appendSpace()
.append(Component.text("secondes.", NamedTextColor.GOLD))
.build()
when (counter) {
in 1..5, 10 -> Bukkit.broadcastMessage("${RunnerDragon.PREFIX} ${ChatColor.GOLD}Départ dans ${ChatColor.AQUA}$counter ${ChatColor.GOLD}secondes.")
in 1..5, 10 -> Bukkit.broadcast(counterComponent)
0 -> RunnerDragon.instance.switchState(GameState.LAUNCH)
}
}