fix: more fixes and adjustements
This commit is contained in:
parent
fd6e76ad8f
commit
046f0ed9dc
8 changed files with 147 additions and 23 deletions
|
@ -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()
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue