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")
|
||||
|
||||
// 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-resources:1.1.0")
|
||||
implementation("team.unnamed:creative-api:1.7.2")
|
||||
|
@ -38,10 +40,6 @@ kotlin {
|
|||
}
|
||||
|
||||
tasks {
|
||||
assemble {
|
||||
dependsOn(reobfJar)
|
||||
}
|
||||
|
||||
runServer {
|
||||
minecraftVersion("1.21")
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package xyz.ineanto.dragon
|
|||
|
||||
import com.google.common.cache.Cache
|
||||
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.format.NamedTextColor
|
||||
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.waiting.WaitingListener
|
||||
import xyz.ineanto.dragon.player.PlayerManager
|
||||
import xyz.ineanto.dragon.schematic.SchematicLoader
|
||||
import xyz.ineanto.dragon.scoreboard.ScoreboardTeams
|
||||
import xyz.ineanto.dragon.tasks.GracePeriodTask
|
||||
import xyz.ineanto.dragon.tasks.TimerTask
|
||||
import xyz.ineanto.dragon.teams.Team
|
||||
import xyz.ineanto.dragon.teams.TeamManager
|
||||
import xyz.ineanto.dragon.world.WorldManager
|
||||
import xyz.xenondevs.invui.InvUI
|
||||
import java.time.Duration
|
||||
import java.time.Instant
|
||||
import java.util.*
|
||||
|
@ -58,8 +59,6 @@ class RunnerDragon : JavaPlugin() {
|
|||
var TIMER_TASK: BukkitTask? = null
|
||||
|
||||
var GRACE_PERIOD_TASK: BukkitTask? = null
|
||||
|
||||
lateinit var LOBBY_SCHEMATIC: SchematicLoader
|
||||
}
|
||||
|
||||
lateinit var teamManager: TeamManager
|
||||
|
@ -68,8 +67,10 @@ class RunnerDragon : JavaPlugin() {
|
|||
|
||||
private lateinit var scoreboardTeams: ScoreboardTeams
|
||||
|
||||
@Suppress("UnstableApiUsage")
|
||||
override fun onEnable() {
|
||||
instance = this
|
||||
InvUI.getInstance().setPlugin(this)
|
||||
|
||||
playerManager = PlayerManager()
|
||||
teamManager = TeamManager(this)
|
||||
|
@ -84,7 +85,11 @@ class RunnerDragon : JavaPlugin() {
|
|||
server.pluginManager.registerEvents(BlockPlaceListener(), this)
|
||||
server.pluginManager.registerEvents(EntityDeathListener(), 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.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
|
||||
|
||||
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.format.NamedTextColor
|
||||
import net.kyori.adventure.text.format.TextDecoration
|
||||
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 xyz.ineanto.dragon.RunnerDragon
|
||||
|
||||
class MainCommand : CommandExecutor {
|
||||
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<String>): Boolean {
|
||||
if (sender is Player) {
|
||||
val player: Player = sender
|
||||
@Suppress("UnstableApiUsage")
|
||||
class MainCommand : BasicCommand {
|
||||
override fun execute(
|
||||
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)
|
||||
|
||||
if (player.isOp.not()) {
|
||||
dragonPlayer.sendMessage(Component.text("Erreur: Status d'opérateur requis."))
|
||||
return true
|
||||
dragonPlayer.sendMessage(Component.text("Erreur: Statut d'opérateur requis."))
|
||||
return
|
||||
}
|
||||
|
||||
if (args.isEmpty()) {
|
||||
dragonPlayer.sendMessage(Component.text("Argument manquant: /rd (teams/game/say)"))
|
||||
return true
|
||||
return
|
||||
}
|
||||
|
||||
when (args[0]) {
|
||||
|
@ -38,7 +41,6 @@ class MainCommand : CommandExecutor {
|
|||
.append(Component.text("Veuillez préciser un message.", NamedTextColor.RED))
|
||||
.build()
|
||||
)
|
||||
return true
|
||||
}
|
||||
|
||||
val announcementComponent = Component.text()
|
||||
|
@ -51,6 +53,5 @@ class MainCommand : CommandExecutor {
|
|||
}
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
|
@ -19,7 +19,7 @@ class TeamsSubCommand {
|
|||
.text()
|
||||
.append(Component.text("-", NamedTextColor.DARK_GRAY))
|
||||
.appendSpace()
|
||||
.append(Component.text("Status:", NamedTextColor.GOLD))
|
||||
.append(Component.text("État:", NamedTextColor.GOLD))
|
||||
.appendSpace()
|
||||
|
||||
if (RunnerDragon.TEAM_LOCK) {
|
||||
|
|
|
@ -3,11 +3,17 @@ package xyz.ineanto.dragon.event
|
|||
import org.bukkit.event.EventHandler
|
||||
import org.bukkit.event.Listener
|
||||
import org.bukkit.event.player.PlayerRespawnEvent
|
||||
import xyz.ineanto.dragon.GameState
|
||||
import xyz.ineanto.dragon.RunnerDragon
|
||||
import xyz.ineanto.dragon.world.WorldManager
|
||||
|
||||
class PlayerRespawnListener : Listener {
|
||||
@EventHandler
|
||||
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 {
|
||||
val limboFolder = File(GAME_WORLD_NAME)
|
||||
val limboFolder = File(LIMBO_WORLD_NAME)
|
||||
|
||||
if (!limboFolder.exists()) {
|
||||
// Limbo is the world where players are
|
||||
// held (hostage) before the game starts.
|
||||
instance.logger.severe("Limbo world doesn't exist! Generating an emergency spawn...")
|
||||
LIMBO_WORLD = createWorld(LIMBO_WORLD_NAME, World.Environment.NETHER, false)
|
||||
}
|
||||
else {
|
||||
LIMBO_WORLD = Bukkit.getWorld(LIMBO_WORLD_NAME)!!
|
||||
} else {
|
||||
// Load the Limbo world
|
||||
LIMBO_WORLD = Bukkit.createWorld(WorldCreator(LIMBO_WORLD_NAME))!!
|
||||
}
|
||||
|
||||
LIMBO_SPAWN = LIMBO_WORLD.spawnLocation
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
name: RunnerDragon
|
||||
version: '1.1'
|
||||
api-version: '1.21'
|
||||
main: xyz.ineanto.dragon.RunnerDragon
|
||||
version: 1.1
|
||||
api-version: "1.21"
|
||||
loader: xyz.ineanto.dragon.RunnerDragonLoader
|
||||
|
||||
commands:
|
||||
rd:
|
||||
permission: "runnerdragon.admin"
|
Loading…
Add table
Add a link
Reference in a new issue