diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..4344443
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,9 @@
+- [ ] Démarrage en forme de Title
+- [ ] Système de bounties pour les nazes (objectifs à complèter)
+- [ ] Système de palier par équipe (qui en est où par rapport au dragon)
+
+
+```kotlin
+val advancement = Advancement.Builder.advancement().save({}, "runnerdragon:test").toBukkit()
+Player.getAdvancementProgress(advancement)
+```
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
index 7414120..96e8e7f 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,7 +1,7 @@
plugins {
- kotlin("jvm") version "1.9.22"
+ kotlin("jvm") version "1.9.24"
id("com.github.johnrengelman.shadow") version "7.1.2"
- id("xyz.jpenilla.run-paper") version "2.2.2"
+ id("io.papermc.paperweight.userdev") version "1.7.1"
}
group = "xyz.ineanto.dragon"
@@ -18,15 +18,15 @@ repositories {
dependencies {
// Spigot
- compileOnly("io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT")
+ paperweight.paperDevBundle("1.20.6-R0.1-SNAPSHOT")
// WorldEdit
compileOnly("com.sk89q.worldedit:worldedit-core:7.3.0-SNAPSHOT")
compileOnly("com.sk89q.worldedit:worldedit-bukkit:7.3.0-SNAPSHOT")
// Stdlib
- implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.22")
+ implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.24")
// InvUI
- implementation("xyz.xenondevs.invui:invui:1.24")
+ implementation("xyz.xenondevs.invui:invui:1.30")
// Commons IO
implementation("commons-io:commons-io:2.11.0")
}
@@ -36,11 +36,7 @@ kotlin {
}
tasks {
- runServer {
- downloadPlugins {
- url("https://ci.enginehub.org/repository/download/bt10/23091:id/worldedit-bukkit-7.2.19-SNAPSHOT-dist.jar?branch=version/7.2.x&guest=1")
- }
-
- minecraftVersion("1.20.4")
+ assemble {
+ dependsOn(reobfJar)
}
}
\ No newline at end of file
diff --git a/src/main/kotlin/xyz/ineanto/dragon/RunnerDragon.kt b/src/main/kotlin/xyz/ineanto/dragon/RunnerDragon.kt
index 1b58a73..7bd6208 100644
--- a/src/main/kotlin/xyz/ineanto/dragon/RunnerDragon.kt
+++ b/src/main/kotlin/xyz/ineanto/dragon/RunnerDragon.kt
@@ -81,14 +81,17 @@ class RunnerDragon : JavaPlugin() {
val previousWorldFolder = File("runnerdragon")
val previousEndFolder = File("world_the_end")
val previousNetherFolder = File("world_nether")
+
if (previousWorldFolder.exists()) {
logger.warning("Ancien monde détecté! Suppression...")
FileUtils.deleteDirectory(previousWorldFolder)
}
+
if (previousEndFolder.exists()) {
logger.warning("Ancien End détecté! Suppression...")
PreviousWorldUtils.resetEnd()
}
+
if (previousNetherFolder.exists()) {
logger.warning("Ancien Nether détecté! Suppression...")
PreviousWorldUtils.resetNether()
@@ -182,6 +185,7 @@ class RunnerDragon : JavaPlugin() {
playerManager.getPlayers().forEach { (_, player) ->
player.setTeam(Team.DEFAULT_TEAM)
+ player.player.gameMode = GameMode.ADVENTURE
player.updateDisplayName()
player.updateHeaderFooter()
player.setTeamItem(true)
diff --git a/src/main/kotlin/xyz/ineanto/dragon/event/waiting/WaitingListener.kt b/src/main/kotlin/xyz/ineanto/dragon/event/waiting/WaitingListener.kt
index 35d2896..7386221 100644
--- a/src/main/kotlin/xyz/ineanto/dragon/event/waiting/WaitingListener.kt
+++ b/src/main/kotlin/xyz/ineanto/dragon/event/waiting/WaitingListener.kt
@@ -10,6 +10,8 @@ import org.bukkit.event.block.BlockBreakEvent
import org.bukkit.event.block.BlockPlaceEvent
import org.bukkit.event.entity.EntityDamageEvent
import org.bukkit.event.entity.FoodLevelChangeEvent
+import org.bukkit.event.inventory.InventoryClickEvent
+import org.bukkit.event.player.PlayerDropItemEvent
import org.bukkit.event.player.PlayerInteractAtEntityEvent
import org.bukkit.event.player.PlayerInteractEvent
import xyz.ineanto.dragon.GameState
@@ -60,6 +62,33 @@ class WaitingListener : Listener {
}
}
+ @EventHandler
+ fun onItemDrop(event: PlayerDropItemEvent) {
+ if (RunnerDragon.STATE == GameState.WAITING && event.player.gameMode == GameMode.ADVENTURE) {
+ if (event.itemDrop.itemStack.itemMeta?.displayName() == Component.text(
+ "Choisir une équipe",
+ NamedTextColor.GOLD
+ )
+ ) {
+ event.isCancelled = true
+ }
+ }
+ }
+
+ @EventHandler
+ fun onInventoryClick(event: InventoryClickEvent) {
+ if (RunnerDragon.STATE == GameState.WAITING && event.whoClicked.gameMode == GameMode.ADVENTURE) {
+ if (event.currentItem?.itemMeta?.displayName() == Component.text(
+ "Choisir une équipe",
+ NamedTextColor.GOLD
+ )
+ ) {
+ CandleInventory(event.whoClicked as Player)
+ }
+ event.isCancelled = true
+ }
+ }
+
@EventHandler
fun onItemInteract(event: PlayerInteractAtEntityEvent) {
if (RunnerDragon.STATE == GameState.WAITING && event.player.gameMode == GameMode.ADVENTURE) {
diff --git a/src/main/kotlin/xyz/ineanto/dragon/player/DragonPlayer.kt b/src/main/kotlin/xyz/ineanto/dragon/player/DragonPlayer.kt
index cf2edfa..9b9f736 100644
--- a/src/main/kotlin/xyz/ineanto/dragon/player/DragonPlayer.kt
+++ b/src/main/kotlin/xyz/ineanto/dragon/player/DragonPlayer.kt
@@ -106,11 +106,7 @@ class DragonPlayer(uuid: UUID) {
}
fun updateDisplayName() {
- // TODO (Ineanto, 6/26/23): Update nick
- /**
- * NickAPI.nick(player, "${getTeam()!!.teamColor.chatColor}${player.name}")
- * NickAPI.refreshPlayer(player)
- */
+
}
private fun formatDuration(totalSeconds: Int): String {