Fix start errors
This commit is contained in:
@@ -43,8 +43,8 @@ dependencies {
|
||||
|
||||
compileOnly("org.popcraft:chunky-common:1.3.38")
|
||||
|
||||
implementation("club.mcscrims:core:1.4.3.1")
|
||||
implementation("club.mcscrims:spigot:1.4.3.1")
|
||||
implementation("club.mcscrims:core:1.4.3.2")
|
||||
implementation("club.mcscrims:spigot:1.4.3.2")
|
||||
|
||||
compileOnly("io.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOT")
|
||||
paperweight.paperDevBundle("1.21.1-R0.1-SNAPSHOT")
|
||||
|
||||
@@ -36,6 +36,7 @@ import net.kyori.adventure.text.Component
|
||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer
|
||||
import net.luckperms.api.LuckPerms
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.entity.Player
|
||||
import org.bukkit.plugin.java.JavaPlugin
|
||||
|
||||
class SpeedHG : JavaPlugin() {
|
||||
@@ -83,16 +84,16 @@ class SpeedHG : JavaPlugin() {
|
||||
{
|
||||
instance = this
|
||||
|
||||
loadConfigurations()
|
||||
setupDatabase()
|
||||
networkManager = SpigotNetworkManager.getInstance()!!
|
||||
|
||||
worldManager = WorldManager( this )
|
||||
worldManager.deleteWorld()
|
||||
}
|
||||
|
||||
override fun onEnable()
|
||||
{
|
||||
loadConfigurations()
|
||||
setupDatabase()
|
||||
networkManager = SpigotNetworkManager.getInstance()!!
|
||||
|
||||
worldManager.setupWorld()
|
||||
|
||||
chatFormatter = ChatFormatter.create(
|
||||
@@ -150,6 +151,18 @@ class SpeedHG : JavaPlugin() {
|
||||
getCommand("kits")?.setExecutor(KitsCommand( this, kitInventoryManager ))
|
||||
}
|
||||
|
||||
fun getAlivePlayers(): List<Player>
|
||||
{
|
||||
val alivePlayers = mutableListOf<Player>()
|
||||
|
||||
runBlocking {
|
||||
val players = playerRepository.findAlivePlayers( server.name )
|
||||
alivePlayers.addAll(players.map { Bukkit.getPlayer( it.uuid )!! })
|
||||
}
|
||||
|
||||
return alivePlayers
|
||||
}
|
||||
|
||||
/*
|
||||
* LUCKPERMS >>
|
||||
*/
|
||||
|
||||
@@ -20,7 +20,7 @@ class KitsCommand(
|
||||
): Boolean {
|
||||
if ( sender !is Player )
|
||||
{
|
||||
sender.sendMessage("§cOnly players can use this command.")
|
||||
plugin.chatManager.sendSenderMessage( sender, "default.only_players" )
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package club.mcscrims.speedhg.config
|
||||
|
||||
import club.mcscrims.core.config.ConfigData
|
||||
import club.mcscrims.core.config.DurationEntry
|
||||
import club.mcscrims.core.config.DurationType
|
||||
import club.mcscrims.core.config.annotations.ConfigClass
|
||||
@@ -56,7 +55,7 @@ data class PluginConfig(
|
||||
data class GameConfig(
|
||||
val name: String = "SpeedHG",
|
||||
val variantName: String = "Solo - Single Kit",
|
||||
val minimumPlayers: Int = 8,
|
||||
val minimumPlayers: Int = 2,
|
||||
val competitiveGame: Boolean = false,
|
||||
val competitiveCommands: List<String> = emptyList(),
|
||||
val playerStates: Map<String, StateConfig> = getPlayerStates(),
|
||||
@@ -78,7 +77,7 @@ data class PluginConfig(
|
||||
playerState: String
|
||||
): DurationEntry
|
||||
{
|
||||
return SpeedHG.instance.pluginConfig.parseDuration( "game.playerStates.$playerState.duration" )
|
||||
return (getPlayerStates()[ playerState ]?.duration as DurationEntry )
|
||||
}
|
||||
|
||||
data class StateConfig(
|
||||
|
||||
@@ -6,6 +6,7 @@ import club.mcscrims.spigot.scheduler.SchedulerManager
|
||||
import club.mcscrims.spigot.scheduler.TaskRegistration
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.entity.Player
|
||||
import org.bukkit.scheduler.BukkitTask
|
||||
|
||||
abstract class GameState(
|
||||
val name: String,
|
||||
@@ -15,7 +16,7 @@ abstract class GameState(
|
||||
protected val durationSeconds: Int? = null
|
||||
) {
|
||||
|
||||
private var tickTask: TaskRegistration? = null
|
||||
private var tickTask: BukkitTask? = null
|
||||
private var remainingSeconds: Int = durationSeconds ?: 0
|
||||
private var isActive: Boolean = false
|
||||
|
||||
@@ -25,7 +26,7 @@ abstract class GameState(
|
||||
isActive = true
|
||||
remainingSeconds = durationSeconds ?: 0
|
||||
|
||||
if ( durationSeconds != null && durationSeconds > 0 )
|
||||
if ( durationSeconds != null )
|
||||
startTicking()
|
||||
}
|
||||
|
||||
@@ -42,12 +43,11 @@ abstract class GameState(
|
||||
|
||||
private fun startTicking()
|
||||
{
|
||||
tickTask = schedulerManager.runRepeating( 20L, 20L )
|
||||
{
|
||||
tickTask = Bukkit.getScheduler().runTaskTimer( plugin, { ->
|
||||
if ( !isActive )
|
||||
{
|
||||
stopTicking()
|
||||
return@runRepeating
|
||||
return@runTaskTimer
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -62,7 +62,7 @@ abstract class GameState(
|
||||
if (plugin.pluginConfig.data.getDuration( name ).type == DurationType.INCREASING )
|
||||
{
|
||||
remainingSeconds++
|
||||
return@runRepeating
|
||||
return@runTaskTimer
|
||||
}
|
||||
|
||||
remainingSeconds--
|
||||
@@ -75,7 +75,7 @@ abstract class GameState(
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
}
|
||||
}, 20L, 20L )
|
||||
}
|
||||
|
||||
private fun stopTicking() {
|
||||
|
||||
@@ -30,7 +30,7 @@ class FeastState(
|
||||
private val random = Random()
|
||||
|
||||
internal var feastLocation: Location
|
||||
internal lateinit var feastBox: BoundingBox
|
||||
internal var feastBox: BoundingBox
|
||||
internal var feastHeight: Int = 1
|
||||
|
||||
init
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.bukkit.entity.Player
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent
|
||||
import org.bukkit.event.player.PlayerInteractEvent
|
||||
import org.bukkit.event.player.PlayerMoveEvent
|
||||
import org.bukkit.inventory.ItemStack
|
||||
|
||||
abstract class AbstractKit(
|
||||
val id: String,
|
||||
@@ -23,6 +24,7 @@ abstract class AbstractKit(
|
||||
) {
|
||||
|
||||
lateinit var config: Map<String, Double>
|
||||
val items = mutableListOf<ItemStack>()
|
||||
|
||||
abstract fun onSelect( player: Player )
|
||||
|
||||
@@ -93,7 +95,7 @@ abstract class AbstractKit(
|
||||
}
|
||||
|
||||
enum class PlayStyle {
|
||||
OFFENSIVE, DEFENSIVE, NULL
|
||||
OFFENSIVE, DEFENSIVE
|
||||
}
|
||||
|
||||
enum class KitMetaData {
|
||||
|
||||
@@ -70,6 +70,7 @@ class KitManager(
|
||||
Component::class.java,
|
||||
List::class.java,
|
||||
Material::class.java,
|
||||
PlayStyle::class.java,
|
||||
SpeedHG::class.java,
|
||||
AbilityContext::class.java,
|
||||
GameManager::class.java
|
||||
@@ -80,7 +81,7 @@ class KitManager(
|
||||
displayName,
|
||||
description,
|
||||
icon,
|
||||
PlayStyle.NULL,
|
||||
PlayStyle.DEFENSIVE,
|
||||
plugin,
|
||||
plugin.abilityContext,
|
||||
plugin.gameManager
|
||||
|
||||
@@ -46,11 +46,12 @@ class AnchorKit(
|
||||
player: Player
|
||||
) {
|
||||
anvilItem = ItemBuilder( plugin, Material.ANVIL )
|
||||
.name(plugin.chatFormatter.format( "kits.anchor.items.anvil.${playStyle.name.lowercase()}" ).content())
|
||||
.name(plugin.messageConfig.data.getKitItemNames( "anchor", "anvil" )!![ playStyle.name.lowercase() ]!!)
|
||||
.unbreakable( true )
|
||||
.hideAttributes()
|
||||
.build()
|
||||
|
||||
items.add( anvilItem )
|
||||
player.inventory.setItem( 0, anvilItem )
|
||||
}
|
||||
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
package club.mcscrims.speedhg.kit.impl
|
||||
|
||||
import club.mcscrims.speedhg.SpeedHG
|
||||
import club.mcscrims.speedhg.SpeedHG.Companion.content
|
||||
import club.mcscrims.speedhg.ability.AbilityContext
|
||||
import club.mcscrims.speedhg.game.GameManager
|
||||
import club.mcscrims.speedhg.kit.AbstractKit
|
||||
import club.mcscrims.speedhg.kit.KitMetaData
|
||||
import club.mcscrims.speedhg.kit.PlayStyle
|
||||
import club.mcscrims.spigot.item.ItemBuilder
|
||||
import club.mcscrims.spigot.util.GroundDetector
|
||||
import net.kyori.adventure.text.Component
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.GameMode
|
||||
import org.bukkit.Material
|
||||
import org.bukkit.Particle
|
||||
import org.bukkit.entity.EnderPearl
|
||||
import org.bukkit.entity.EntityType
|
||||
import org.bukkit.entity.Player
|
||||
import org.bukkit.event.block.Action
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent
|
||||
@@ -17,6 +22,12 @@ import org.bukkit.event.player.PlayerInteractEvent
|
||||
import org.bukkit.event.player.PlayerMoveEvent
|
||||
import org.bukkit.inventory.ItemStack
|
||||
import org.bukkit.metadata.FixedMetadataValue
|
||||
import org.bukkit.potion.PotionEffect
|
||||
import org.bukkit.potion.PotionEffectType
|
||||
import org.bukkit.scheduler.BukkitRunnable
|
||||
import org.bukkit.util.Vector
|
||||
import kotlin.math.max
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
class BlackPantherKit(
|
||||
id: String,
|
||||
@@ -46,33 +57,33 @@ class BlackPantherKit(
|
||||
PlayStyle.DEFENSIVE ->
|
||||
{
|
||||
blackDye = ItemBuilder( plugin, Material.BLACK_DYE )
|
||||
.name(plugin.chatFormatter.format( "kits.anchor.items.blackDye.${playStyle.name.lowercase()}" ).content())
|
||||
.name(plugin.messageConfig.data.getKitItemNames( "blackpanther", "blackDye" )!![ "null" ]!!)
|
||||
.unbreakable( true )
|
||||
.hideAttributes()
|
||||
.build()
|
||||
|
||||
items.add( blackDye )
|
||||
player.inventory.setItem( 0, blackDye )
|
||||
}
|
||||
|
||||
PlayStyle.OFFENSIVE ->
|
||||
{
|
||||
blackDye = ItemBuilder( plugin, Material.BLACK_DYE )
|
||||
.name(plugin.chatFormatter.format( "kits.anchor.items.blackDye.${playStyle.name.lowercase()}" ).content())
|
||||
.name(plugin.messageConfig.data.getKitItemNames( "blackpanther", "blackDye" )!![ playStyle.name.lowercase() ]!!)
|
||||
.unbreakable( true )
|
||||
.hideAttributes()
|
||||
.build()
|
||||
|
||||
blazePowder = ItemBuilder( plugin, Material.BLAZE_POWDER )
|
||||
.name(plugin.chatFormatter.format( "kits.anchor.items.blazePowder" ).content())
|
||||
.name(plugin.messageConfig.data.getKitItemNames( "blackpanther", "blazePowder" )!![ playStyle.name.lowercase() ]!!)
|
||||
.unbreakable( true )
|
||||
.hideAttributes()
|
||||
.build()
|
||||
|
||||
items.addAll(listOf( blackDye, blazePowder ))
|
||||
player.inventory.setItem( 0, blackDye )
|
||||
player.inventory.setItem( 1, blazePowder )
|
||||
}
|
||||
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,11 +138,11 @@ class BlackPantherKit(
|
||||
|
||||
if ( playStyle == PlayStyle.DEFENSIVE )
|
||||
{
|
||||
|
||||
launchAndDash( player )
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
push( player )
|
||||
}
|
||||
|
||||
Material.BLAZE_POWDER ->
|
||||
@@ -153,6 +164,101 @@ class BlackPantherKit(
|
||||
|
||||
override fun onMove( player: Player, event: PlayerMoveEvent ) {}
|
||||
|
||||
private fun push(
|
||||
player: Player
|
||||
) {
|
||||
plugin.getAlivePlayers().stream()
|
||||
.filter { it != player }
|
||||
.filter { it.location.distance( player.location ) <= defaultRadius }
|
||||
.forEach { nearby ->
|
||||
val pushDirection = nearby.location.toVector().subtract( player.location.toVector() ).normalize()
|
||||
pushDirection.multiply( 1.0 )
|
||||
pushDirection.setY( 0.5 )
|
||||
nearby.velocity = pushDirection
|
||||
|
||||
val enderPearl = player.world.spawnEntity( player.location, EntityType.ENDER_PEARL ) as EnderPearl
|
||||
enderPearl.velocity = pushDirection
|
||||
enderPearl.setMetadata( KitMetaData.IS_BLACK_PANTHER.getKey(), FixedMetadataValue( plugin, true ))
|
||||
|
||||
object : BukkitRunnable()
|
||||
{
|
||||
|
||||
override fun run()
|
||||
{
|
||||
if (GroundDetector.isOnGround( nearby ))
|
||||
{
|
||||
this.cancel()
|
||||
return
|
||||
}
|
||||
|
||||
nearby.world.spawnParticle( Particle.END_ROD, nearby.location, 5, 0.2, 0.2, 0.2 )
|
||||
}
|
||||
|
||||
}.runTaskTimer( plugin, 0L, 2L )
|
||||
}
|
||||
}
|
||||
|
||||
private fun launchAndDash(
|
||||
player: Player,
|
||||
upwardVelocity: Double = 2.2,
|
||||
waitTicks: Long = 60L,
|
||||
dashSpeed: Double = 2.8,
|
||||
horizontalOnly: Boolean = true,
|
||||
yBoost: Double = 0.2,
|
||||
noFallDamageMillis: Double = 1.0
|
||||
) {
|
||||
if ( !player.isOnline ) return
|
||||
if ( player.isInsideVehicle ) player.leaveVehicle()
|
||||
if ( player.gameMode == GameMode.SPECTATOR ) return
|
||||
|
||||
player.velocity = Vector( 0.0, upwardVelocity, 0.0 )
|
||||
player.fallDistance = 0f
|
||||
|
||||
if ( noFallDamageMillis > 0 )
|
||||
player.addPotionEffect(PotionEffect( PotionEffectType.RESISTANCE, ( noFallDamageMillis * 20 ).toInt(), 999, false, false, false ))
|
||||
|
||||
Bukkit.getScheduler().runTaskLater( plugin, { ->
|
||||
val p = Bukkit.getPlayer( player.uniqueId ) ?: return@runTaskLater
|
||||
if ( !p.isOnline ) return@runTaskLater
|
||||
|
||||
var dir = p.eyeLocation.direction
|
||||
if ( horizontalOnly ) dir = Vector( dir.x, 0.0, dir.z )
|
||||
dir = if ( dir.lengthSquared() < 1e-6 ) Vector( 0, 0, 0 ) else dir.normalize()
|
||||
|
||||
val dash = dir.multiply( dashSpeed ).add(Vector( 0.0, yBoost, 0.0 ))
|
||||
p.velocity = dash
|
||||
}, max( 0L, waitTicks ))
|
||||
|
||||
object : BukkitRunnable()
|
||||
{
|
||||
|
||||
override fun run()
|
||||
{
|
||||
if (GroundDetector.isOnGround( player ))
|
||||
{
|
||||
player.world.createExplosion(
|
||||
player.location,
|
||||
explosionMultiplier.roundToInt().toFloat(),
|
||||
false, true
|
||||
)
|
||||
|
||||
val alivePlayers = plugin.getAlivePlayers().stream()
|
||||
.filter { it != player }
|
||||
.filter { it.location.distance( player.location ) <= defaultRadius }
|
||||
.toList()
|
||||
|
||||
alivePlayers.forEach { nearby ->
|
||||
nearby.damage( 6.0, player )
|
||||
}
|
||||
|
||||
plugin.chatManager.sendMessage( player, "kits.blackPanther.messages.wakandaForever.hit", "{hit}" to alivePlayers.size.toString() )
|
||||
this.cancel()
|
||||
}
|
||||
}
|
||||
|
||||
}.runTaskTimer( plugin, max( 0L, waitTicks ) + 5L, 5L )
|
||||
}
|
||||
|
||||
private fun extraDamage(
|
||||
player: Player
|
||||
) {
|
||||
|
||||
@@ -42,11 +42,12 @@ class BlitzcrankKit(
|
||||
player: Player
|
||||
) {
|
||||
hotsItem = ItemBuilder( plugin, Material.HEART_OF_THE_SEA )
|
||||
.name(plugin.chatFormatter.format( "kits.blitzcrank.items.hots" ).content())
|
||||
.name(plugin.messageConfig.data.getKitItemNames( "blitzcrank", "hots" )!![ playStyle.name.lowercase() ]!!)
|
||||
.unbreakable( true )
|
||||
.hideAttributes()
|
||||
.build()
|
||||
|
||||
items.add( hotsItem )
|
||||
player.inventory.setItem( 0, hotsItem )
|
||||
|
||||
when( playStyle )
|
||||
@@ -54,26 +55,26 @@ class BlitzcrankKit(
|
||||
PlayStyle.DEFENSIVE ->
|
||||
{
|
||||
fishingRodItem = ItemBuilder( plugin, Material.FISHING_ROD )
|
||||
.name(plugin.chatFormatter.format( "kits.blitzcrank.items.fishing_rod" ).content())
|
||||
.name(plugin.messageConfig.data.getKitItemNames( "blitzcrank", "fishingrod" )!![ playStyle.name.lowercase() ]!!)
|
||||
.unbreakable( true )
|
||||
.hideAttributes()
|
||||
.build()
|
||||
|
||||
items.add( fishingRodItem )
|
||||
player.inventory.setItem( 1, fishingRodItem )
|
||||
}
|
||||
|
||||
PlayStyle.OFFENSIVE ->
|
||||
{
|
||||
pufferfishItem = ItemBuilder( plugin, Material.PUFFERFISH )
|
||||
.name(plugin.chatFormatter.format( "kits.blitzcrank.items.pufferfish" ).content())
|
||||
.name(plugin.messageConfig.data.getKitItemNames( "blitzcrank", "pufferfish" )!![ playStyle.name.lowercase() ]!!)
|
||||
.unbreakable( true )
|
||||
.hideAttributes()
|
||||
.build()
|
||||
|
||||
items.add( pufferfishItem )
|
||||
player.inventory.setItem( 1, pufferfishItem )
|
||||
}
|
||||
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,7 +204,7 @@ class BlitzcrankKit(
|
||||
target.velocity = hookDirection
|
||||
|
||||
plugin.chatManager.sendMessage( player, "kits.blitzcrank.messages.hook.player", "{player}" to target.getDisplayName )
|
||||
plugin.chatManager.sendMessage( player, "kits.blitzcrank.messages.hook.target" )
|
||||
plugin.chatManager.sendMessage( target, "kits.blitzcrank.messages.hook.target" )
|
||||
}
|
||||
|
||||
private fun stunNearby(
|
||||
|
||||
@@ -202,7 +202,16 @@ class GameStateListener(
|
||||
return
|
||||
}
|
||||
|
||||
TODO( "Kit & perk items" )
|
||||
val kit = plugin.kitManager.getSelectedKit( player )
|
||||
?: return
|
||||
|
||||
val items = kit.items.ifEmpty { return }
|
||||
|
||||
if (items.contains( event.itemDrop.itemStack ))
|
||||
{
|
||||
event.isCancelled = true
|
||||
player.playSound( player, Sound.BLOCK_NOTE_BLOCK_BASS, 1f, 1f )
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
||||
@@ -11,7 +11,7 @@ class RecraftInspector(
|
||||
|
||||
private val beforeState = plugin.pluginConfig.data.game.recraftNerf[ "before_state" ] as String
|
||||
private val recraftNerfEnabled = plugin.pluginConfig.data.game.recraftNerf[ "enabled" ] as Boolean
|
||||
private val maxRecraftAmount = plugin.pluginConfig.data.game.recraftNerf[ "max_amount" ] as Int
|
||||
private val maxRecraftAmount = plugin.pluginConfig.data.game.recraftNerf[ "max_amount" ] as Double
|
||||
|
||||
fun startRunnable()
|
||||
{
|
||||
|
||||
@@ -12,7 +12,7 @@ class WorldManager(
|
||||
private val plugin: SpeedHG
|
||||
) {
|
||||
|
||||
private lateinit var worldName: String
|
||||
private var worldName = "world"
|
||||
private lateinit var world: World
|
||||
|
||||
fun highestLocationWithRadius(
|
||||
@@ -113,21 +113,21 @@ class WorldManager(
|
||||
|
||||
// CHUNKY >>
|
||||
|
||||
plugin.logger.info("Setting up world... [Stage [3]: CHUNKY]")
|
||||
val chunky = Bukkit.getServicesManager().load( ChunkyAPI::class.java )
|
||||
|
||||
if ( chunky == null || chunky.version() != 0 )
|
||||
{
|
||||
plugin.isReady = true
|
||||
return
|
||||
}
|
||||
|
||||
val radius = world.worldBorder.size / 2
|
||||
|
||||
chunky.startTask( worldName, "square", 0.0, 0.0, radius, radius, "concentric" )
|
||||
chunky.onGenerationComplete { plugin.isReady = true }
|
||||
|
||||
plugin.server.dispatchCommand( Bukkit.getConsoleSender(), "chunky silent" )
|
||||
// plugin.logger.info("Setting up world... [Stage [3]: CHUNKY]")
|
||||
// val chunky = Bukkit.getServicesManager().load( ChunkyAPI::class.java )
|
||||
//
|
||||
// if ( chunky == null || chunky.version() != 0 )
|
||||
// {
|
||||
// plugin.isReady = true
|
||||
// return
|
||||
// }
|
||||
//
|
||||
// val radius = world.worldBorder.size / 2
|
||||
//
|
||||
// chunky.startTask( worldName, "square", 0.0, 0.0, radius, radius, "concentric" )
|
||||
// chunky.onGenerationComplete { plugin.isReady = true }
|
||||
//
|
||||
// plugin.server.dispatchCommand( Bukkit.getConsoleSender(), "chunky silent" )
|
||||
|
||||
// FINISH >>
|
||||
|
||||
@@ -150,7 +150,9 @@ class WorldManager(
|
||||
fun getWorld(): World?
|
||||
{
|
||||
return if ( !::world.isInitialized )
|
||||
try {
|
||||
setWorld( plugin.pluginConfig.data.world.name )
|
||||
} catch ( _: Exception ) { null }
|
||||
else this.world
|
||||
}
|
||||
|
||||
|
||||
@@ -57,25 +57,25 @@ game:
|
||||
playerStates:
|
||||
waiting:
|
||||
scoreboard: 'Waiting - %time%'
|
||||
duration: FIXED:-1
|
||||
duration: "FIXED:-1"
|
||||
preStart:
|
||||
scoreboard: 'Waiting - %time%'
|
||||
duration: FIXED:300
|
||||
duration: "FIXED:300"
|
||||
immunity:
|
||||
scoreboard: 'Playing - %time%'
|
||||
duration: FIXED:90
|
||||
duration: "FIXED:90"
|
||||
battle:
|
||||
scoreboard: 'Playing - %time%'
|
||||
duration: INCREASING
|
||||
duration: "INCREASING"
|
||||
feast:
|
||||
scoreboard: 'Playing - %time%'
|
||||
duration: FIXED:300
|
||||
duration: "FIXED:300"
|
||||
deathmatch:
|
||||
scoreboard: 'Playing - %time%'
|
||||
duration: INCREASING
|
||||
duration: "INCREASING"
|
||||
end:
|
||||
scoreboard: 'Ending - %time%'
|
||||
duration: FIXED:60
|
||||
duration: "FIXED:60"
|
||||
|
||||
recraftNerf:
|
||||
enabled: false
|
||||
|
||||
@@ -3,6 +3,11 @@ version: '1.0.0'
|
||||
main: club.mcscrims.speedhg.SpeedHG
|
||||
api-version: '1.21'
|
||||
|
||||
depend:
|
||||
- "WorldEdit"
|
||||
- "Apollo-Bukkit"
|
||||
- "McScrims-CoreSystem"
|
||||
|
||||
commands:
|
||||
kits:
|
||||
description: Open the kit selection menu
|
||||
|
||||
Reference in New Issue
Block a user