Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package dev.betrix.superSmashMobsBrawl.abilities

import org.bukkit.entity.Player

class ChickenMissileAbility(player: Player) : BrawlAbility("chicken_missile", player) {

override fun activate() {
super.activate()

TODO("Implement Chicken Missile Ability")
}
}


Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package dev.betrix.superSmashMobsBrawl.abilities

import org.bukkit.entity.Player

class EggBlasterAbility(player: Player) : BrawlAbility("egg_blaster", player) {}



Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ object BrawlDisguiseFactory {
"creeper" to ::CreeperDisguise,
"skeleton" to ::SkeletonDisguise,
"cow" to ::CowDisguise,
"chicken" to ::ChickenDisguise,
"enderman" to ::EndermanDisguise,
"mooshroom" to ::MooshroomDisguise,
"mushroom_cow" to ::MooshroomDisguise,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package dev.betrix.superSmashMobsBrawl.disguises

import dev.betrix.superSmashMobsBrawl.models.Hitbox
import me.libraryaddict.disguise.disguisetypes.DisguiseType
import me.libraryaddict.disguise.disguisetypes.MobDisguise
import org.bukkit.entity.Player

class ChickenDisguise(player: Player) : BrawlDisguise(player) {
override val disguise = MobDisguise(DisguiseType.CHICKEN)
override val hitbox = Hitbox(0.4, 0.7)
}



Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ open class BrawlKit(val id: String, val player: Player) : KoinComponent {
"milk_spiral" -> MilkSpiralAbility(player)
"blink" -> BlinkAbility(player)
"block_toss" -> BlockTossAbility(player)
"egg_blaster" -> EggBlasterAbility(player)
"chicken_missile" -> ChickenMissileAbility(player)
else -> {
logger.severe(
"No ability found with id ${it.id} reference on kit ${kitData.id}"
Expand All @@ -86,6 +88,7 @@ open class BrawlKit(val id: String, val player: Player) : KoinComponent {
"barrage" -> BarragePassive(player)
"stampede" -> StampedePassive(player)
"potion_effect" -> PotionEffectPassive(player)
"flap" -> FlapPassive(player)
else -> {
logger.severe(
"No passive found with id ${it.id} reference on kit ${kitData.id}"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package dev.betrix.superSmashMobsBrawl.passives

import org.bukkit.entity.Player

class FlapPassive(player: Player) : BrawlPassive("flap", player) {
override fun setup() {}
}



Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import org.bukkit.entity.Player

class RegenerationPassive(player: Player) : BrawlPassive("regeneration", player) {

private val healAmount = 1.0
private val healIntervalTicks = 60L
private val healAmount: Double = (metadata.double("healAmount") ?: 1.0)
private val healIntervalTicks: Long = ((metadata.long("healIntervalTicks") ?: 60L)).coerceAtLeast(1L)

override fun setup() {
val regenTask =
Expand Down
31 changes: 30 additions & 1 deletion plugin/src/main/resources/data/abilities.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,33 @@ abilities:
maxDamage: 9.0
damage: 8.0
knockbackMultiplier: 2.5
blockRotationStepSpeedTicks: 4
blockRotationStepSpeedTicks: 4

- id: egg_blaster
cooldown: 2.0
itemSlot: 0
type: projectile
usage: right_click
hotbarItem: iron_sword
displayItem: egg
metadata:
eggPairs: 8
eggDamage: 1.0
slownessLevel: 1
slownessDuration: 40
cooldownTicks: 40

- id: chicken_missile
cooldown: 8.0
itemSlot: 1
type: projectile
usage: right_click
hotbarItem: iron_axe
displayItem: chicken_spawn_egg
metadata:
missileDamage: 3.0
missileKnockback: 1.5
aoeRadius: 2.5
cooldownTicks: 160
earlyDeathTimeMin: 20
earlyDeathTimeMax: 60
2 changes: 2 additions & 0 deletions plugin/src/main/resources/data/disguises.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ disguises:

- id: cow

- id: chicken

- id: enderman
22 changes: 22 additions & 0 deletions plugin/src/main/resources/data/kits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,4 +115,26 @@ kits:
helmet: chainmail_helmet
chestplate: chainmail_chestplate
leggings: chainmail_leggings
boots: chainmail_boots

# Chicken
- id: chicken
meleeDamage: 9.0 # 4.5 hearts
armor: 2.5
knockbackMultiplier: 2.0
disguiseId: "chicken"
selectionSound: "entity.chicken.ambient"
displayItem: "feather"
passives:
- id: flap
- id: regeneration
overrides:
metadata:
healAmount: 0.2
healIntervalTicks: 20
abilities:
- id: egg_blaster
- id: chicken_missile
armorItems:
chestplate: chainmail_chestplate
boots: chainmail_boots
9 changes: 9 additions & 0 deletions plugin/src/main/resources/data/lang/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ kits:
description: "He got bones"
cow:
name: "Cow"
chicken:
name: "Chicken"
description: "High mobility flier with eggs and a peck of explosives"
enderman:
name: "Enderman"
abilities:
Expand Down Expand Up @@ -37,6 +40,12 @@ abilities:
milk_spiral:
name: "Milk Spiral"
description: ""
egg_blaster:
name: "Egg Blaster"
description: "Hold to fire rapid eggs that slow foes"
chicken_missile:
name: "Chicken Missile"
description: "Launch a baby chick that explodes on impact"
maps:
blue_forest:
name: "Blue Forest"
Expand Down
10 changes: 10 additions & 0 deletions plugin/src/main/resources/data/passives.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,16 @@ passives:
healAmount: 1.0
healIntervalTicks: 60

- id: flap
displayItem: feather
userFacing: true
metadata:
maxFlaps: 8
energyPerFlap: 12.5
maxEnergy: 100.0
energyRegenRate: 4.0
flapStrengthMultiplier: 0.95

- id: arrow_recharge
displayItem: bundle
userFacing: true
Expand Down
Loading