feat: 1.20 update
This commit is contained in:
parent
47b9690261
commit
f795dcd68f
15 changed files with 104 additions and 79 deletions
2
.idea/kotlinc.xml
generated
2
.idea/kotlinc.xml
generated
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="KotlinJpsPluginSettings">
|
<component name="KotlinJpsPluginSettings">
|
||||||
<option name="version" value="1.8.10" />
|
<option name="version" value="1.8.21" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
8
.idea/misc.xml
generated
8
.idea/misc.xml
generated
|
@ -1,6 +1,14 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
|
<component name="EntryPointsManager">
|
||||||
|
<list size="1">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="org.bukkit.event.EventHandler" />
|
||||||
|
</list>
|
||||||
|
</component>
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
<component name="FrameworkDetectionExcludesConfiguration">
|
||||||
|
<file type="web" url="file://$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="18" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="18" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import io.github.patrick.gradle.remapper.RemapTask
|
import io.github.patrick.gradle.remapper.RemapTask
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm") version "1.8.10"
|
kotlin("jvm") version "1.8.21"
|
||||||
id("com.github.johnrengelman.shadow") version "7.1.2"
|
id("com.github.johnrengelman.shadow") version "7.1.2"
|
||||||
id("io.github.patrick.remapper") version "1.4.0"
|
id("io.github.patrick.remapper") version "1.4.0"
|
||||||
}
|
}
|
||||||
|
@ -16,28 +16,29 @@ repositories {
|
||||||
maven("https://oss.sonatype.org/content/repositories/central")
|
maven("https://oss.sonatype.org/content/repositories/central")
|
||||||
maven("https://maven.enginehub.org/repo")
|
maven("https://maven.enginehub.org/repo")
|
||||||
maven("https://repo.xenondevs.xyz/releases")
|
maven("https://repo.xenondevs.xyz/releases")
|
||||||
maven("https://haoshoku.xyz:1234/repository/public/")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// Stdlib
|
// Stdlib
|
||||||
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.8.10")
|
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.8.10")
|
||||||
// InvUI
|
// InvUI
|
||||||
implementation("de.studiocode.invui:InvUI:0.10.2")
|
implementation("xyz.xenondevs.invui:invui:1.11")
|
||||||
// NickAPI
|
// Commons IO
|
||||||
compileOnly("xyz.haoshoku.nick:nickapi:6.3.3-SNAPSHOT")
|
implementation("commons-io:commons-io:2.11.0")
|
||||||
// Spigot
|
// Spigot
|
||||||
compileOnly("org.spigotmc:spigot:1.19.3-R0.1-SNAPSHOT:remapped-mojang")
|
compileOnly("org.spigotmc:spigot-api:1.20.1-R0.1-SNAPSHOT")
|
||||||
// WorldEdit
|
// WorldEdit
|
||||||
compileOnly("com.sk89q.worldedit:worldedit-core:7.2.0-SNAPSHOT")
|
compileOnly("com.sk89q.worldedit:worldedit-core:7.3.0-SNAPSHOT")
|
||||||
compileOnly("com.sk89q.worldedit:worldedit-bukkit:7.2.0-SNAPSHOT")
|
compileOnly("com.sk89q.worldedit:worldedit-bukkit:7.3.0-SNAPSHOT")
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlin { jvmToolchain(17) }
|
kotlin {
|
||||||
|
jvmToolchain(17)
|
||||||
|
}
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
remap {
|
remap {
|
||||||
version.set("1.19.3")
|
version.set("1.20.1")
|
||||||
action.set(RemapTask.Action.MOJANG_TO_SPIGOT)
|
action.set(RemapTask.Action.MOJANG_TO_SPIGOT)
|
||||||
inputTask.set(shadowJar)
|
inputTask.set(shadowJar)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1 @@
|
||||||
|
rootProject.name = "RunnerDragon"
|
||||||
rootProject.name = "Dragon"
|
|
||||||
|
|
|
@ -4,6 +4,5 @@ enum class GameState {
|
||||||
WAITING,
|
WAITING,
|
||||||
LAUNCH,
|
LAUNCH,
|
||||||
GRACE_PERIOD,
|
GRACE_PERIOD,
|
||||||
GAME,
|
GAME
|
||||||
DRAGON
|
|
||||||
}
|
}
|
|
@ -13,10 +13,12 @@ class EntityDamageListener : Listener {
|
||||||
fun onEntityDamage(event: EntityDamageEvent) {
|
fun onEntityDamage(event: EntityDamageEvent) {
|
||||||
if (event.entity is Player) {
|
if (event.entity is Player) {
|
||||||
val player = (event.entity as Player)
|
val player = (event.entity as Player)
|
||||||
|
if (RunnerDragon.STATE == GameState.GRACE_PERIOD && event.cause == EntityDamageEvent.DamageCause.ENTITY_ATTACK) {
|
||||||
if (player.gameMode == GameMode.SURVIVAL) {
|
if (player.gameMode == GameMode.SURVIVAL) {
|
||||||
if ((RunnerDragon.STATE == GameState.GRACE_PERIOD || RunnerDragon.STATE == GameState.DRAGON) && event.cause == EntityDamageEvent.DamageCause.ENTITY_ATTACK) {
|
|
||||||
event.isCancelled = true
|
event.isCancelled = true
|
||||||
|
}
|
||||||
} else if (RunnerDragon.STATE == GameState.LAUNCH || RunnerDragon.STATE == GameState.WAITING) {
|
} else if (RunnerDragon.STATE == GameState.LAUNCH || RunnerDragon.STATE == GameState.WAITING) {
|
||||||
|
if (player.gameMode == GameMode.ADVENTURE || player.gameMode == GameMode.SURVIVAL) {
|
||||||
event.isCancelled = true
|
event.isCancelled = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ import org.bukkit.event.player.PlayerJoinEvent
|
||||||
import xyz.atnrch.dragon.GameState
|
import xyz.atnrch.dragon.GameState
|
||||||
import xyz.atnrch.dragon.RunnerDragon
|
import xyz.atnrch.dragon.RunnerDragon
|
||||||
import xyz.atnrch.dragon.player.DragonPlayer
|
import xyz.atnrch.dragon.player.DragonPlayer
|
||||||
import xyz.haoshoku.nick.api.NickAPI
|
|
||||||
|
|
||||||
class PlayerJoinListener : Listener {
|
class PlayerJoinListener : Listener {
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
@ -16,16 +15,21 @@ class PlayerJoinListener : Listener {
|
||||||
val player = event.player
|
val player = event.player
|
||||||
val dragonPlayer: DragonPlayer = RunnerDragon.instance.playerManager.addPlayer(player.uniqueId)
|
val dragonPlayer: DragonPlayer = RunnerDragon.instance.playerManager.addPlayer(player.uniqueId)
|
||||||
|
|
||||||
NickAPI.resetNick(player)
|
// TODO (Ineanto, 6/26/23): Set nick
|
||||||
NickAPI.resetUniqueId(player)
|
|
||||||
NickAPI.resetGameProfileName(player)
|
/**
|
||||||
NickAPI.resetSkin(player)
|
* NickAPI.resetNick(player)
|
||||||
NickAPI.setUniqueId(player, player.uniqueId)
|
* NickAPI.resetUniqueId(player)
|
||||||
|
* NickAPI.resetGameProfileName(player)
|
||||||
|
* NickAPI.resetSkin(player)
|
||||||
|
* NickAPI.setUniqueId(player, player.uniqueId)
|
||||||
|
*/
|
||||||
|
|
||||||
event.joinMessage = "(${ChatColor.GREEN}+${ChatColor.WHITE}) ${player.name}"
|
event.joinMessage = "(${ChatColor.GREEN}+${ChatColor.WHITE}) ${player.name}"
|
||||||
if (RunnerDragon.STATE == GameState.WAITING) {
|
if (RunnerDragon.STATE == GameState.WAITING) {
|
||||||
dragonPlayer.sendMessage("Bienvenue !")
|
dragonPlayer.sendMessage("Bienvenue !")
|
||||||
dragonPlayer.instantiatePlayer()
|
dragonPlayer.instantiatePlayer()
|
||||||
|
dragonPlayer.player.gameMode = GameMode.ADVENTURE
|
||||||
dragonPlayer.setTeamItem(true)
|
dragonPlayer.setTeamItem(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,27 +20,25 @@ class EnderDragonListener : Listener {
|
||||||
fun onEnderDragonDeath(event: EntityDeathEvent) {
|
fun onEnderDragonDeath(event: EntityDeathEvent) {
|
||||||
if (event.entity is EnderDragon) {
|
if (event.entity is EnderDragon) {
|
||||||
val dragon = event.entity as EnderDragon
|
val dragon = event.entity as EnderDragon
|
||||||
val damageEvent = dragon.lastDamageCause ?: return
|
val lastDamageCause = dragon.lastDamageCause ?: return
|
||||||
|
val entity: Entity = lastDamageCause.entity
|
||||||
|
|
||||||
var player: Player? = null
|
var player: Player? = null
|
||||||
when (damageEvent.cause) {
|
when (lastDamageCause.cause) {
|
||||||
EntityDamageEvent.DamageCause.BLOCK_EXPLOSION -> {
|
EntityDamageEvent.DamageCause.BLOCK_EXPLOSION -> {
|
||||||
val first: Optional<UUID> = RunnerDragon.LAST_BED_INTERACT.asMap().entries.stream()
|
val first: Optional<UUID> = RunnerDragon.LAST_BED_INTERACT.asMap().entries.stream()
|
||||||
.sorted { a, b -> b.value.compareTo(a.value) }
|
.sorted { a, b -> b.value.compareTo(a.value) }
|
||||||
.map { it.key }
|
.map { it.key }
|
||||||
.findFirst()
|
.findFirst()
|
||||||
if (first.isEmpty) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
player = Bukkit.getPlayer(first.get()) ?: return
|
player = Bukkit.getPlayer(first.get()) ?: return
|
||||||
}
|
}
|
||||||
|
|
||||||
EntityDamageEvent.DamageCause.ENTITY_ATTACK, EntityDamageEvent.DamageCause.PROJECTILE -> {
|
EntityDamageEvent.DamageCause.ENTITY_ATTACK, EntityDamageEvent.DamageCause.ENTITY_SWEEP_ATTACK, EntityDamageEvent.DamageCause.PROJECTILE -> {
|
||||||
val damager: Entity = damageEvent.entity
|
if (entity is Projectile) {
|
||||||
if (damager is Projectile) {
|
player = entity.shooter as Player
|
||||||
player = damager.shooter as Player
|
} else if (entity is Player) {
|
||||||
} else if (damager is Player) {
|
Bukkit.broadcastMessage("Last damage dealt by ${entity.name}")
|
||||||
player = damager
|
player = entity
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +49,7 @@ class EnderDragonListener : Listener {
|
||||||
val team = dragonPlayer?.getTeam()
|
val team = dragonPlayer?.getTeam()
|
||||||
if (dragon.dragonBattle?.hasBeenPreviouslyKilled()?.not() == true) {
|
if (dragon.dragonBattle?.hasBeenPreviouslyKilled()?.not() == true) {
|
||||||
Bukkit.getOnlinePlayers().forEach {
|
Bukkit.getOnlinePlayers().forEach {
|
||||||
if (it.location.world!!.environment.equals(Environment.THE_END).not()) {
|
if ((it.location.world!!.environment == Environment.THE_END).not()) {
|
||||||
it.playSound(it.location, Sound.ENTITY_ENDER_DRAGON_DEATH, 1f, 0.5f)
|
it.playSound(it.location, Sound.ENTITY_ENDER_DRAGON_DEATH, 1f, 0.5f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,7 +57,7 @@ class EnderDragonListener : Listener {
|
||||||
Bukkit.broadcastMessage("${RunnerDragon.TITLE_MSG} ${ChatColor.GOLD}${ChatColor.BOLD}LE DRAGON A ÉTÉ TUÉ PAR L'ÉQUIPE ${team?.displayName}${ChatColor.GOLD}${ChatColor.BOLD}!")
|
Bukkit.broadcastMessage("${RunnerDragon.TITLE_MSG} ${ChatColor.GOLD}${ChatColor.BOLD}LE DRAGON A ÉTÉ TUÉ PAR L'ÉQUIPE ${team?.displayName}${ChatColor.GOLD}${ChatColor.BOLD}!")
|
||||||
}
|
}
|
||||||
|
|
||||||
SecondFight.start(dragon, dragonPlayer)
|
SecondFight.start(dragon)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -8,25 +8,31 @@ import org.bukkit.entity.EnderDragon
|
||||||
import org.bukkit.potion.PotionEffect
|
import org.bukkit.potion.PotionEffect
|
||||||
import org.bukkit.potion.PotionEffectType
|
import org.bukkit.potion.PotionEffectType
|
||||||
import xyz.atnrch.dragon.RunnerDragon
|
import xyz.atnrch.dragon.RunnerDragon
|
||||||
import xyz.atnrch.dragon.player.DragonPlayer
|
|
||||||
|
|
||||||
class SecondFight {
|
class SecondFight {
|
||||||
companion object {
|
companion object {
|
||||||
fun start(dragon: EnderDragon, dragonPlayer: DragonPlayer?) {
|
fun start(dragon: EnderDragon) {
|
||||||
|
Bukkit.getScheduler().scheduleSyncDelayedTask(
|
||||||
|
RunnerDragon.instance, {
|
||||||
|
Bukkit.broadcastMessage("${RunnerDragon.TITLE_MSG} ${ChatColor.MAGIC}??ZFjZI19112::!d!zq?")
|
||||||
for (i in 0..2) {
|
for (i in 0..2) {
|
||||||
Bukkit.broadcastMessage("${RunnerDragon.TITLE_MSG} ${ChatColor.BOLD}${ChatColor.RED}???")
|
Bukkit.broadcastMessage("${RunnerDragon.TITLE_MSG} ${ChatColor.BOLD}${ChatColor.RED}???")
|
||||||
}
|
}
|
||||||
|
|
||||||
Bukkit.getOnlinePlayers().forEach {
|
Bukkit.getOnlinePlayers().forEach {
|
||||||
if (it.location.world!!.environment != World.Environment.THE_END) {
|
|
||||||
it.teleport(dragonPlayer!!.player.location)
|
|
||||||
}
|
|
||||||
it.addPotionEffect(PotionEffect(PotionEffectType.BLINDNESS, 5, 1))
|
it.addPotionEffect(PotionEffect(PotionEffectType.BLINDNESS, 5, 1))
|
||||||
it.playSound(it.location, Sound.ENTITY_LIGHTNING_BOLT_IMPACT, 1f, 0.5f)
|
it.playSound(it.location, Sound.ENTITY_LIGHTNING_BOLT_IMPACT, 1f, 0.5f)
|
||||||
|
if (it.location.world!!.environment != World.Environment.THE_END) {
|
||||||
|
it.teleport(RunnerDragon.WORLD_END.spawnLocation)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dragon.dragonBattle!!.initiateRespawn()
|
Bukkit.broadcastMessage("${RunnerDragon.TITLE_MSG} ${ChatColor.BOLD}${ChatColor.RED}")
|
||||||
|
|
||||||
dragon.dragonBattle!!.resetCrystals()
|
dragon.dragonBattle!!.resetCrystals()
|
||||||
|
dragon.dragonBattle!!.initiateRespawn()
|
||||||
|
}, 20L * 5
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import org.bukkit.event.block.BlockBreakEvent
|
||||||
import org.bukkit.event.block.BlockPlaceEvent
|
import org.bukkit.event.block.BlockPlaceEvent
|
||||||
import org.bukkit.event.entity.EntityDamageEvent
|
import org.bukkit.event.entity.EntityDamageEvent
|
||||||
import org.bukkit.event.entity.FoodLevelChangeEvent
|
import org.bukkit.event.entity.FoodLevelChangeEvent
|
||||||
|
import org.bukkit.event.player.PlayerInteractAtEntityEvent
|
||||||
import org.bukkit.event.player.PlayerInteractEvent
|
import org.bukkit.event.player.PlayerInteractEvent
|
||||||
import xyz.atnrch.dragon.GameState
|
import xyz.atnrch.dragon.GameState
|
||||||
import xyz.atnrch.dragon.RunnerDragon
|
import xyz.atnrch.dragon.RunnerDragon
|
||||||
|
@ -18,7 +19,7 @@ class WaitingListener : Listener {
|
||||||
@EventHandler
|
@EventHandler
|
||||||
fun onBlockBreak(event: BlockPlaceEvent) {
|
fun onBlockBreak(event: BlockPlaceEvent) {
|
||||||
val player = event.player
|
val player = event.player
|
||||||
if (RunnerDragon.STATE == GameState.WAITING && player.gameMode == GameMode.SURVIVAL) {
|
if (RunnerDragon.STATE == GameState.WAITING && player.gameMode == GameMode.ADVENTURE) {
|
||||||
event.isCancelled = true
|
event.isCancelled = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +27,7 @@ class WaitingListener : Listener {
|
||||||
@EventHandler
|
@EventHandler
|
||||||
fun onBlockBreak(event: BlockBreakEvent) {
|
fun onBlockBreak(event: BlockBreakEvent) {
|
||||||
val player = event.player
|
val player = event.player
|
||||||
if (RunnerDragon.STATE == GameState.WAITING && player.gameMode == GameMode.SURVIVAL) {
|
if (RunnerDragon.STATE == GameState.WAITING && player.gameMode == GameMode.ADVENTURE) {
|
||||||
event.isCancelled = true
|
event.isCancelled = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +36,7 @@ class WaitingListener : Listener {
|
||||||
fun onEntityDamage(event: EntityDamageEvent) {
|
fun onEntityDamage(event: EntityDamageEvent) {
|
||||||
if (event.entity is Player) {
|
if (event.entity is Player) {
|
||||||
val player = (event.entity as Player)
|
val player = (event.entity as Player)
|
||||||
if (RunnerDragon.STATE == GameState.WAITING && player.gameMode == GameMode.SURVIVAL) {
|
if (RunnerDragon.STATE == GameState.WAITING && player.gameMode == GameMode.ADVENTURE) {
|
||||||
event.isCancelled = true
|
event.isCancelled = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,18 +44,25 @@ class WaitingListener : Listener {
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
fun onFoodLevelChange(event: FoodLevelChangeEvent) {
|
fun onFoodLevelChange(event: FoodLevelChangeEvent) {
|
||||||
if (RunnerDragon.STATE == GameState.WAITING && event.entity.gameMode == GameMode.SURVIVAL) {
|
if (RunnerDragon.STATE == GameState.WAITING && event.entity.gameMode == GameMode.ADVENTURE) {
|
||||||
event.isCancelled = true
|
event.isCancelled = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
fun onItemInteract(event: PlayerInteractEvent) {
|
fun onItemInteract(event: PlayerInteractEvent) {
|
||||||
if (RunnerDragon.STATE == GameState.WAITING && event.player.gameMode == GameMode.SURVIVAL) {
|
if (RunnerDragon.STATE == GameState.WAITING && event.player.gameMode == GameMode.ADVENTURE) {
|
||||||
if (event.item?.itemMeta?.displayName == "${ChatColor.GOLD}Choisir une équipe") {
|
if (event.item?.itemMeta?.displayName == "${ChatColor.GOLD}Choisir une équipe") {
|
||||||
CandleInventory(event.player)
|
CandleInventory(event.player)
|
||||||
}
|
}
|
||||||
event.isCancelled = true
|
event.isCancelled = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
fun onItemInteract(event: PlayerInteractAtEntityEvent) {
|
||||||
|
if (RunnerDragon.STATE == GameState.WAITING && event.player.gameMode == GameMode.ADVENTURE) {
|
||||||
|
event.isCancelled = true
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,25 +1,24 @@
|
||||||
package xyz.atnrch.dragon.inventory
|
package xyz.atnrch.dragon.inventory
|
||||||
|
|
||||||
import de.studiocode.invui.gui.GUI
|
|
||||||
import de.studiocode.invui.gui.builder.GUIBuilder
|
|
||||||
import de.studiocode.invui.gui.builder.guitype.GUIType
|
|
||||||
import de.studiocode.invui.item.Item
|
|
||||||
import de.studiocode.invui.item.builder.ItemBuilder
|
|
||||||
import de.studiocode.invui.item.impl.SimpleItem
|
|
||||||
import de.studiocode.invui.window.impl.single.SimpleWindow
|
|
||||||
import org.bukkit.Material
|
import org.bukkit.Material
|
||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
import xyz.atnrch.dragon.RunnerDragon
|
import xyz.atnrch.dragon.RunnerDragon
|
||||||
|
import xyz.xenondevs.invui.gui.Gui
|
||||||
|
import xyz.xenondevs.invui.item.Item
|
||||||
|
import xyz.xenondevs.invui.item.builder.ItemBuilder
|
||||||
|
import xyz.xenondevs.invui.item.impl.SimpleItem
|
||||||
|
import xyz.xenondevs.invui.window.Window
|
||||||
|
|
||||||
class CandleInventory(val player: Player) {
|
class CandleInventory(val player: Player) {
|
||||||
private var gui: GUI
|
private var gui: Gui
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val items = arrayListOf<Item>()
|
val items = arrayListOf<Item>()
|
||||||
RunnerDragon.instance.teamManager.getTeams().forEach {
|
RunnerDragon.instance.teamManager.getTeams().forEach {
|
||||||
items.add(CandleItem(it))
|
items.add(CandleItem(it))
|
||||||
}
|
}
|
||||||
gui = GUIBuilder(GUIType.NORMAL)
|
|
||||||
|
gui = Gui.normal()
|
||||||
.setStructure(
|
.setStructure(
|
||||||
"# # # # # # # # #",
|
"# # # # # # # # #",
|
||||||
"# x x x x x x x #",
|
"# x x x x x x x #",
|
||||||
|
@ -29,6 +28,6 @@ class CandleInventory(val player: Player) {
|
||||||
.addIngredient('#', SimpleItem(ItemBuilder(Material.BLACK_STAINED_GLASS_PANE)))
|
.addIngredient('#', SimpleItem(ItemBuilder(Material.BLACK_STAINED_GLASS_PANE)))
|
||||||
.build()
|
.build()
|
||||||
items.forEach { item -> gui.addItems(item) }
|
items.forEach { item -> gui.addItems(item) }
|
||||||
SimpleWindow(player, "RunnerDragon", gui).show()
|
Window.single().setTitle("RunnerDragon").setGui(gui).open(player)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
package xyz.atnrch.dragon.inventory
|
package xyz.atnrch.dragon.inventory
|
||||||
|
|
||||||
import de.studiocode.invui.item.ItemProvider
|
|
||||||
import de.studiocode.invui.item.builder.ItemBuilder
|
|
||||||
import de.studiocode.invui.item.impl.BaseItem
|
|
||||||
import org.bukkit.ChatColor
|
import org.bukkit.ChatColor
|
||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
import org.bukkit.event.inventory.ClickType
|
import org.bukkit.event.inventory.ClickType
|
||||||
|
@ -10,8 +7,11 @@ import org.bukkit.event.inventory.InventoryClickEvent
|
||||||
import xyz.atnrch.dragon.RunnerDragon
|
import xyz.atnrch.dragon.RunnerDragon
|
||||||
import xyz.atnrch.dragon.teams.CandleColor
|
import xyz.atnrch.dragon.teams.CandleColor
|
||||||
import xyz.atnrch.dragon.teams.Team
|
import xyz.atnrch.dragon.teams.Team
|
||||||
|
import xyz.xenondevs.invui.item.ItemProvider
|
||||||
|
import xyz.xenondevs.invui.item.builder.ItemBuilder
|
||||||
|
import xyz.xenondevs.invui.item.impl.AbstractItem
|
||||||
|
|
||||||
class CandleItem(private val team: Team) : BaseItem() {
|
class CandleItem(private val team: Team) : AbstractItem() {
|
||||||
|
|
||||||
override fun getItemProvider(): ItemProvider {
|
override fun getItemProvider(): ItemProvider {
|
||||||
val material = CandleColor.getFromTeamColor(team.teamColor)
|
val material = CandleColor.getFromTeamColor(team.teamColor)
|
||||||
|
|
|
@ -7,7 +7,6 @@ import org.bukkit.Material
|
||||||
import org.bukkit.inventory.ItemStack
|
import org.bukkit.inventory.ItemStack
|
||||||
import xyz.atnrch.dragon.RunnerDragon
|
import xyz.atnrch.dragon.RunnerDragon
|
||||||
import xyz.atnrch.dragon.teams.Team
|
import xyz.atnrch.dragon.teams.Team
|
||||||
import xyz.haoshoku.nick.api.NickAPI
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,7 +14,7 @@ class DragonPlayer(uuid: UUID) {
|
||||||
val player = Bukkit.getPlayer(uuid)!!
|
val player = Bukkit.getPlayer(uuid)!!
|
||||||
|
|
||||||
fun instantiatePlayer() {
|
fun instantiatePlayer() {
|
||||||
RunnerDragon.instance.worldManager.teleportAtSpawn(player) // really useful?
|
RunnerDragon.instance.worldManager.teleportAtSpawn(player)
|
||||||
updateHeaderFooter()
|
updateHeaderFooter()
|
||||||
impulse101()
|
impulse101()
|
||||||
setTeam(Team.DEFAULT_TEAM)
|
setTeam(Team.DEFAULT_TEAM)
|
||||||
|
@ -74,8 +73,11 @@ class DragonPlayer(uuid: UUID) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateDisplayName() {
|
fun updateDisplayName() {
|
||||||
NickAPI.nick(player, "${getTeam()!!.teamColor.chatColor}${player.name}")
|
// TODO (Ineanto, 6/26/23): Update nick
|
||||||
NickAPI.refreshPlayer(player)
|
/**
|
||||||
|
* NickAPI.nick(player, "${getTeam()!!.teamColor.chatColor}${player.name}")
|
||||||
|
* NickAPI.refreshPlayer(player)
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun formatDuration(totalSeconds: Int): String {
|
private fun formatDuration(totalSeconds: Int): String {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import java.util.*
|
||||||
class TeamManager(
|
class TeamManager(
|
||||||
private val instance: RunnerDragon,
|
private val instance: RunnerDragon,
|
||||||
private val teams: ArrayList<Team> = arrayListOf(),
|
private val teams: ArrayList<Team> = arrayListOf(),
|
||||||
private val convert: HashMap<ChatColor, Team> = hashMapOf(),
|
private val convert: EnumMap<ChatColor, Team> = EnumMap(ChatColor::class.java),
|
||||||
private val players: HashMap<UUID, Team> = hashMapOf()
|
private val players: HashMap<UUID, Team> = hashMapOf()
|
||||||
) {
|
) {
|
||||||
fun createTeams(size: Int) {
|
fun createTeams(size: Int) {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
name: RunnerDragon
|
name: RunnerDragon
|
||||||
main: xyz.atnrch.dragon.RunnerDragon
|
main: xyz.atnrch.dragon.RunnerDragon
|
||||||
version: 1.0
|
version: 1.0-SNAPSHOT
|
||||||
api-version: 1.19
|
api-version: "1.20"
|
||||||
depend: [NickAPI, WorldEdit]
|
depend: [WorldEdit]
|
||||||
commands:
|
commands:
|
||||||
rd:
|
rd:
|
||||||
description: "Contrôle RunnerDragon."
|
description: "Contrôle RunnerDragon."
|
Loading…
Add table
Add a link
Reference in a new issue