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

View file

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

View file

@ -1,6 +1,7 @@
package xyz.ineanto.dragon.event 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.Bukkit
import org.bukkit.Sound import org.bukkit.Sound
import org.bukkit.event.EventHandler import org.bukkit.event.EventHandler
@ -17,7 +18,17 @@ class DimensionEntranceListener : Listener {
when (event.cause) { when (event.cause) {
PlayerTeleportEvent.TeleportCause.NETHER_PORTAL -> if (RunnerDragon.NETHER_PORTAL_ENTERED.not()) { PlayerTeleportEvent.TeleportCause.NETHER_PORTAL -> if (RunnerDragon.NETHER_PORTAL_ENTERED.not()) {
RunnerDragon.NETHER_PORTAL_ENTERED = true 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 { Bukkit.getOnlinePlayers().forEach {
it.playSound(it.location, Sound.ENTITY_VILLAGER_CELEBRATE, 1f, 0.3f) 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) event.player.teleport(RunnerDragon.WORLD_END.spawnLocation)
if (RunnerDragon.END_PORTAL_ENTERED.not()) { if (RunnerDragon.END_PORTAL_ENTERED.not()) {
RunnerDragon.END_PORTAL_ENTERED = true 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 { Bukkit.getOnlinePlayers().forEach {
it.playSound(it.location, Sound.ENTITY_VILLAGER_CELEBRATE, 1f, 0.3f) it.playSound(it.location, Sound.ENTITY_VILLAGER_CELEBRATE, 1f, 0.3f)
} }

View file

@ -1,7 +1,10 @@
package xyz.ineanto.dragon.event.end 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.Bukkit
import org.bukkit.ChatColor
import org.bukkit.Sound import org.bukkit.Sound
import org.bukkit.World.Environment import org.bukkit.World.Environment
import org.bukkit.entity.EnderDragon import org.bukkit.entity.EnderDragon
@ -37,7 +40,6 @@ class EnderDragonListener : Listener {
if (entity is Projectile) { if (entity is Projectile) {
player = entity.shooter as Player player = entity.shooter as Player
} else if (entity is Player) { } else if (entity is Player) {
Bukkit.broadcastMessage("Last damage dealt by ${entity.name}")
player = entity player = entity
} }
} }
@ -53,8 +55,38 @@ class EnderDragonListener : Listener {
it.playSound(it.location, Sound.ENTITY_ENDER_DRAGON_DEATH, 1f, 0.5f) 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) 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.Component
import net.kyori.adventure.text.format.NamedTextColor import net.kyori.adventure.text.format.NamedTextColor
import net.kyori.adventure.text.format.TextDecoration import net.kyori.adventure.text.format.TextDecoration
import net.kyori.adventure.text.minimessage.MiniMessage
import org.bukkit.Bukkit import org.bukkit.Bukkit
import org.bukkit.GameMode import org.bukkit.GameMode
import org.bukkit.Material import org.bukkit.Material
@ -23,10 +24,13 @@ class DragonPlayer(uuid: UUID) {
} }
fun updateHeaderFooter() { fun updateHeaderFooter() {
val header = RunnerDragon.TITLE val header = Component.text()
.append(RunnerDragon.TITLE)
.appendNewline() .appendNewline()
.append(Component.text("Met@", NamedTextColor.DARK_PURPLE)) .append(
.append(Component.text("Gaming", NamedTextColor.DARK_AQUA)) MiniMessage.miniMessage()
.deserialize("<gradient:#235ddd:#6e4bf9><b>Met@</b></gradient><gradient:#04e9e3:#93e2c8>Gaming</gradient>")
)
.appendNewline() .appendNewline()
.append(Component.text("Temps:", NamedTextColor.GOLD)) .append(Component.text("Temps:", NamedTextColor.GOLD))
.appendSpace() .appendSpace()
@ -38,6 +42,7 @@ class DragonPlayer(uuid: UUID) {
.appendSpace() .appendSpace()
.append(Component.text("(c'est horrible)", NamedTextColor.GRAY, TextDecoration.ITALIC)) .append(Component.text("(c'est horrible)", NamedTextColor.GRAY, TextDecoration.ITALIC))
.appendNewline() .appendNewline()
.build()
val footer = Component val footer = Component
.text() .text()
@ -51,6 +56,7 @@ class DragonPlayer(uuid: UUID) {
.append(Component.text("Concept:", NamedTextColor.GOLD, TextDecoration.ITALIC)) .append(Component.text("Concept:", NamedTextColor.GOLD, TextDecoration.ITALIC))
.appendSpace() .appendSpace()
.append(Component.text("Linkxss", NamedTextColor.BLUE)) .append(Component.text("Linkxss", NamedTextColor.BLUE))
.build()
player.sendPlayerListHeader(header) player.sendPlayerListHeader(header)
player.sendPlayerListFooter(footer) player.sendPlayerListFooter(footer)

View file

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

View file

@ -1,7 +1,8 @@
package xyz.ineanto.dragon.tasks 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.Bukkit
import org.bukkit.ChatColor
import org.bukkit.scheduler.BukkitRunnable import org.bukkit.scheduler.BukkitRunnable
import xyz.ineanto.dragon.GameState import xyz.ineanto.dragon.GameState
import xyz.ineanto.dragon.RunnerDragon import xyz.ineanto.dragon.RunnerDragon
@ -11,12 +12,52 @@ class GracePeriodTask : BukkitRunnable() {
override fun run() { override fun run() {
counter-- 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) { 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) 580 -> RunnerDragon.instance.switchState(GameState.GRACE_PERIOD)
300 -> Bukkit.broadcastMessage("${RunnerDragon.PREFIX} $base ${ChatColor.AQUA}5 ${ChatColor.GOLD}minutes.") 300 -> {
in 1..5, 60 -> Bukkit.broadcastMessage("${RunnerDragon.PREFIX} $base ${ChatColor.AQUA}$counter ${ChatColor.GOLD}secondes.") 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) 0 -> RunnerDragon.instance.switchState(GameState.GAME)
} }
} }

View file

@ -1,7 +1,8 @@
package xyz.ineanto.dragon.tasks 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.Bukkit
import org.bukkit.ChatColor
import org.bukkit.scheduler.BukkitRunnable import org.bukkit.scheduler.BukkitRunnable
import xyz.ineanto.dragon.GameState import xyz.ineanto.dragon.GameState
import xyz.ineanto.dragon.RunnerDragon import xyz.ineanto.dragon.RunnerDragon
@ -12,8 +13,19 @@ class StartGameTask : BukkitRunnable() {
override fun run() { override fun run() {
counter-- 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) { 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) 0 -> RunnerDragon.instance.switchState(GameState.LAUNCH)
} }
} }