feat: update to 1.21
This commit is contained in:
parent
6e796febe4
commit
bd41cacdb9
9 changed files with 64 additions and 29 deletions
.kotlin/sessions
build.gradle.ktssrc/main
|
@ -20,7 +20,9 @@ dependencies {
|
||||||
paperweight.paperDevBundle("1.21-R0.1-SNAPSHOT")
|
paperweight.paperDevBundle("1.21-R0.1-SNAPSHOT")
|
||||||
|
|
||||||
// Game Libraries
|
// Game Libraries
|
||||||
implementation("xyz.xenondevs.invui:invui:1.33")
|
compileOnly("xyz.xenondevs.invui:invui:1.33")
|
||||||
|
compileOnly("xyz.xenondevs.invui:invui-kotlin:1.33")
|
||||||
|
|
||||||
implementation("ru.brikster:glyphs-api:1.1.0")
|
implementation("ru.brikster:glyphs-api:1.1.0")
|
||||||
implementation("ru.brikster:glyphs-resources:1.1.0")
|
implementation("ru.brikster:glyphs-resources:1.1.0")
|
||||||
implementation("team.unnamed:creative-api:1.7.2")
|
implementation("team.unnamed:creative-api:1.7.2")
|
||||||
|
@ -38,10 +40,6 @@ kotlin {
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
assemble {
|
|
||||||
dependsOn(reobfJar)
|
|
||||||
}
|
|
||||||
|
|
||||||
runServer {
|
runServer {
|
||||||
minecraftVersion("1.21")
|
minecraftVersion("1.21")
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package xyz.ineanto.dragon
|
||||||
|
|
||||||
import com.google.common.cache.Cache
|
import com.google.common.cache.Cache
|
||||||
import com.google.common.cache.CacheBuilder
|
import com.google.common.cache.CacheBuilder
|
||||||
|
import io.papermc.paper.plugin.lifecycle.event.types.LifecycleEvents
|
||||||
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
|
||||||
|
@ -17,13 +18,13 @@ import xyz.ineanto.dragon.event.end.BlockPlaceListener
|
||||||
import xyz.ineanto.dragon.event.end.EnderDragonListener
|
import xyz.ineanto.dragon.event.end.EnderDragonListener
|
||||||
import xyz.ineanto.dragon.event.waiting.WaitingListener
|
import xyz.ineanto.dragon.event.waiting.WaitingListener
|
||||||
import xyz.ineanto.dragon.player.PlayerManager
|
import xyz.ineanto.dragon.player.PlayerManager
|
||||||
import xyz.ineanto.dragon.schematic.SchematicLoader
|
|
||||||
import xyz.ineanto.dragon.scoreboard.ScoreboardTeams
|
import xyz.ineanto.dragon.scoreboard.ScoreboardTeams
|
||||||
import xyz.ineanto.dragon.tasks.GracePeriodTask
|
import xyz.ineanto.dragon.tasks.GracePeriodTask
|
||||||
import xyz.ineanto.dragon.tasks.TimerTask
|
import xyz.ineanto.dragon.tasks.TimerTask
|
||||||
import xyz.ineanto.dragon.teams.Team
|
import xyz.ineanto.dragon.teams.Team
|
||||||
import xyz.ineanto.dragon.teams.TeamManager
|
import xyz.ineanto.dragon.teams.TeamManager
|
||||||
import xyz.ineanto.dragon.world.WorldManager
|
import xyz.ineanto.dragon.world.WorldManager
|
||||||
|
import xyz.xenondevs.invui.InvUI
|
||||||
import java.time.Duration
|
import java.time.Duration
|
||||||
import java.time.Instant
|
import java.time.Instant
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
@ -58,8 +59,6 @@ class RunnerDragon : JavaPlugin() {
|
||||||
var TIMER_TASK: BukkitTask? = null
|
var TIMER_TASK: BukkitTask? = null
|
||||||
|
|
||||||
var GRACE_PERIOD_TASK: BukkitTask? = null
|
var GRACE_PERIOD_TASK: BukkitTask? = null
|
||||||
|
|
||||||
lateinit var LOBBY_SCHEMATIC: SchematicLoader
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lateinit var teamManager: TeamManager
|
lateinit var teamManager: TeamManager
|
||||||
|
@ -68,8 +67,10 @@ class RunnerDragon : JavaPlugin() {
|
||||||
|
|
||||||
private lateinit var scoreboardTeams: ScoreboardTeams
|
private lateinit var scoreboardTeams: ScoreboardTeams
|
||||||
|
|
||||||
|
@Suppress("UnstableApiUsage")
|
||||||
override fun onEnable() {
|
override fun onEnable() {
|
||||||
instance = this
|
instance = this
|
||||||
|
InvUI.getInstance().setPlugin(this)
|
||||||
|
|
||||||
playerManager = PlayerManager()
|
playerManager = PlayerManager()
|
||||||
teamManager = TeamManager(this)
|
teamManager = TeamManager(this)
|
||||||
|
@ -84,7 +85,11 @@ class RunnerDragon : JavaPlugin() {
|
||||||
server.pluginManager.registerEvents(BlockPlaceListener(), this)
|
server.pluginManager.registerEvents(BlockPlaceListener(), this)
|
||||||
server.pluginManager.registerEvents(EntityDeathListener(), this)
|
server.pluginManager.registerEvents(EntityDeathListener(), this)
|
||||||
server.pluginManager.registerEvents(EntityDamageListener(), this)
|
server.pluginManager.registerEvents(EntityDamageListener(), this)
|
||||||
getCommand("rd")!!.setExecutor(MainCommand())
|
|
||||||
|
lifecycleManager.registerEventHandler(LifecycleEvents.COMMANDS) { event ->
|
||||||
|
val commands = event.registrar()
|
||||||
|
commands.register("rd", MainCommand())
|
||||||
|
}
|
||||||
|
|
||||||
worldManager = WorldManager(this)
|
worldManager = WorldManager(this)
|
||||||
worldManager.init()
|
worldManager.init()
|
||||||
|
|
23
src/main/kotlin/xyz/ineanto/dragon/RunnerDragonLoader.kt
Normal file
23
src/main/kotlin/xyz/ineanto/dragon/RunnerDragonLoader.kt
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
package xyz.ineanto.dragon
|
||||||
|
|
||||||
|
import io.papermc.paper.plugin.loader.PluginClasspathBuilder
|
||||||
|
import io.papermc.paper.plugin.loader.PluginLoader
|
||||||
|
import io.papermc.paper.plugin.loader.library.impl.MavenLibraryResolver
|
||||||
|
import org.eclipse.aether.artifact.DefaultArtifact
|
||||||
|
import org.eclipse.aether.graph.Dependency
|
||||||
|
import org.eclipse.aether.repository.RemoteRepository
|
||||||
|
|
||||||
|
class RunnerDragonLoader : PluginLoader {
|
||||||
|
override fun classloader(classpathBuilder: PluginClasspathBuilder) {
|
||||||
|
val resolver = MavenLibraryResolver()
|
||||||
|
|
||||||
|
resolver.addRepository(
|
||||||
|
RemoteRepository.Builder("xenondevs", "default", "https://repo.xenondevs.xyz/releases/").build()
|
||||||
|
)
|
||||||
|
|
||||||
|
resolver.addDependency(Dependency(DefaultArtifact("xyz.xenondevs.invui:invui:pom:1.33"), null))
|
||||||
|
resolver.addDependency(Dependency(DefaultArtifact("xyz.xenondevs.invui:invui-kotlin:pom:1.33"), null))
|
||||||
|
|
||||||
|
classpathBuilder.addLibrary(resolver)
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,29 +1,32 @@
|
||||||
package xyz.ineanto.dragon.commands
|
package xyz.ineanto.dragon.commands
|
||||||
|
|
||||||
|
import io.papermc.paper.command.brigadier.BasicCommand
|
||||||
|
import io.papermc.paper.command.brigadier.CommandSourceStack
|
||||||
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 org.bukkit.Bukkit
|
import org.bukkit.Bukkit
|
||||||
import org.bukkit.command.Command
|
|
||||||
import org.bukkit.command.CommandExecutor
|
|
||||||
import org.bukkit.command.CommandSender
|
|
||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
import xyz.ineanto.dragon.RunnerDragon
|
import xyz.ineanto.dragon.RunnerDragon
|
||||||
|
|
||||||
class MainCommand : CommandExecutor {
|
@Suppress("UnstableApiUsage")
|
||||||
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<String>): Boolean {
|
class MainCommand : BasicCommand {
|
||||||
if (sender is Player) {
|
override fun execute(
|
||||||
val player: Player = sender
|
stack: CommandSourceStack,
|
||||||
|
args: Array<out String>
|
||||||
|
) {
|
||||||
|
if (stack.sender is Player) {
|
||||||
|
val player: Player = stack.sender as Player
|
||||||
val dragonPlayer = RunnerDragon.instance.playerManager.getPlayer(player.uniqueId)
|
val dragonPlayer = RunnerDragon.instance.playerManager.getPlayer(player.uniqueId)
|
||||||
|
|
||||||
if (player.isOp.not()) {
|
if (player.isOp.not()) {
|
||||||
dragonPlayer.sendMessage(Component.text("Erreur: Status d'opérateur requis."))
|
dragonPlayer.sendMessage(Component.text("Erreur: Statut d'opérateur requis."))
|
||||||
return true
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.isEmpty()) {
|
if (args.isEmpty()) {
|
||||||
dragonPlayer.sendMessage(Component.text("Argument manquant: /rd (teams/game/say)"))
|
dragonPlayer.sendMessage(Component.text("Argument manquant: /rd (teams/game/say)"))
|
||||||
return true
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
when (args[0]) {
|
when (args[0]) {
|
||||||
|
@ -38,7 +41,6 @@ class MainCommand : CommandExecutor {
|
||||||
.append(Component.text("Veuillez préciser un message.", NamedTextColor.RED))
|
.append(Component.text("Veuillez préciser un message.", NamedTextColor.RED))
|
||||||
.build()
|
.build()
|
||||||
)
|
)
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val announcementComponent = Component.text()
|
val announcementComponent = Component.text()
|
||||||
|
@ -51,6 +53,5 @@ class MainCommand : CommandExecutor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -19,7 +19,7 @@ class TeamsSubCommand {
|
||||||
.text()
|
.text()
|
||||||
.append(Component.text("-", NamedTextColor.DARK_GRAY))
|
.append(Component.text("-", NamedTextColor.DARK_GRAY))
|
||||||
.appendSpace()
|
.appendSpace()
|
||||||
.append(Component.text("Status:", NamedTextColor.GOLD))
|
.append(Component.text("État:", NamedTextColor.GOLD))
|
||||||
.appendSpace()
|
.appendSpace()
|
||||||
|
|
||||||
if (RunnerDragon.TEAM_LOCK) {
|
if (RunnerDragon.TEAM_LOCK) {
|
||||||
|
|
|
@ -3,11 +3,17 @@ package xyz.ineanto.dragon.event
|
||||||
import org.bukkit.event.EventHandler
|
import org.bukkit.event.EventHandler
|
||||||
import org.bukkit.event.Listener
|
import org.bukkit.event.Listener
|
||||||
import org.bukkit.event.player.PlayerRespawnEvent
|
import org.bukkit.event.player.PlayerRespawnEvent
|
||||||
|
import xyz.ineanto.dragon.GameState
|
||||||
|
import xyz.ineanto.dragon.RunnerDragon
|
||||||
import xyz.ineanto.dragon.world.WorldManager
|
import xyz.ineanto.dragon.world.WorldManager
|
||||||
|
|
||||||
class PlayerRespawnListener : Listener {
|
class PlayerRespawnListener : Listener {
|
||||||
@EventHandler
|
@EventHandler
|
||||||
fun onRespawn(event: PlayerRespawnEvent) {
|
fun onRespawn(event: PlayerRespawnEvent) {
|
||||||
event.respawnLocation = WorldManager.GAME_WORLD.spawnLocation
|
if (RunnerDragon.STATE == GameState.WAITING) {
|
||||||
|
event.respawnLocation = WorldManager.LIMBO_WORLD.spawnLocation
|
||||||
|
} else {
|
||||||
|
event.respawnLocation = WorldManager.GAME_WORLD.spawnLocation
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -25,16 +25,16 @@ class WorldManager(private val instance: RunnerDragon) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun init(): Boolean {
|
fun init(): Boolean {
|
||||||
val limboFolder = File(GAME_WORLD_NAME)
|
val limboFolder = File(LIMBO_WORLD_NAME)
|
||||||
|
|
||||||
if (!limboFolder.exists()) {
|
if (!limboFolder.exists()) {
|
||||||
// Limbo is the world where players are
|
// Limbo is the world where players are
|
||||||
// held (hostage) before the game starts.
|
// held (hostage) before the game starts.
|
||||||
instance.logger.severe("Limbo world doesn't exist! Generating an emergency spawn...")
|
instance.logger.severe("Limbo world doesn't exist! Generating an emergency spawn...")
|
||||||
LIMBO_WORLD = createWorld(LIMBO_WORLD_NAME, World.Environment.NETHER, false)
|
LIMBO_WORLD = createWorld(LIMBO_WORLD_NAME, World.Environment.NETHER, false)
|
||||||
}
|
} else {
|
||||||
else {
|
// Load the Limbo world
|
||||||
LIMBO_WORLD = Bukkit.getWorld(LIMBO_WORLD_NAME)!!
|
LIMBO_WORLD = Bukkit.createWorld(WorldCreator(LIMBO_WORLD_NAME))!!
|
||||||
}
|
}
|
||||||
|
|
||||||
LIMBO_SPAWN = LIMBO_WORLD.spawnLocation
|
LIMBO_SPAWN = LIMBO_WORLD.spawnLocation
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
name: RunnerDragon
|
name: RunnerDragon
|
||||||
|
version: '1.1'
|
||||||
|
api-version: '1.21'
|
||||||
main: xyz.ineanto.dragon.RunnerDragon
|
main: xyz.ineanto.dragon.RunnerDragon
|
||||||
version: 1.1
|
loader: xyz.ineanto.dragon.RunnerDragonLoader
|
||||||
api-version: "1.21"
|
|
||||||
commands:
|
commands:
|
||||||
rd:
|
rd:
|
||||||
permission: "runnerdragon.admin"
|
permission: "runnerdragon.admin"
|
Loading…
Add table
Add a link
Reference in a new issue