Skip to content

Commit 871f1cc

Browse files
committed
chore: temp commit
1 parent 18bba9d commit 871f1cc

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package be4rjp.sclat.entity
2+
3+
import be4rjp.sclat.api.GlowingAPI
4+
import be4rjp.sclat.data.DataMgr.setKasaDataWithARmorStand
5+
import org.bukkit.Location
6+
import org.bukkit.Material
7+
import org.bukkit.entity.ArmorStand
8+
import org.bukkit.entity.EntityType
9+
import org.bukkit.entity.Player
10+
import org.bukkit.inventory.ItemStack
11+
import org.bukkit.util.EulerAngle
12+
import org.bukkit.util.Vector
13+
14+
class KasaEntity(
15+
private val player: Player,
16+
private val teamColor: String,
17+
) {
18+
var damage: Double = 0.0
19+
private val armorStandList: MutableList<ArmorStand> = mutableListOf()
20+
21+
fun initialize(
22+
location: Location,
23+
offset: Vector,
24+
) {
25+
val spawnLocation = location.clone().add(offset)
26+
27+
val as1 = spawnArmorStand(spawnLocation.clone().add(0.0, 2.8, 0.0), EulerAngle(Math.toRadians(-45.0), 0.0, Math.toRadians(-40.0)))
28+
val as2 = spawnArmorStand(spawnLocation.clone().add(0.0, 2.8, 0.0), EulerAngle(Math.toRadians(-45.0), 0.0, Math.toRadians(40.0)))
29+
val as3 = spawnArmorStand(spawnLocation.clone().add(0.0, 2.5, 0.0), EulerAngle(0.0, 0.0, 0.0))
30+
31+
armorStandList.addAll(listOf(as1, as2, as3))
32+
33+
for (armorStand in armorStandList) {
34+
armorStand.customName = "Kasa"
35+
setKasaDataWithARmorStand(armorStand, null)
36+
GlowingAPI.setGlowing(armorStand, player, false)
37+
}
38+
39+
equipArmorStands()
40+
}
41+
42+
private fun spawnArmorStand(
43+
location: Location,
44+
headPose: EulerAngle,
45+
): ArmorStand {
46+
val armorStand = player.world.spawnEntity(location, EntityType.ARMOR_STAND) as ArmorStand
47+
armorStand.isSmall = true
48+
armorStand.setBasePlate(false)
49+
armorStand.isVisible = false
50+
armorStand.setGravity(false)
51+
armorStand.headPose = headPose
52+
return armorStand
53+
}
54+
55+
private fun equipArmorStands() {
56+
for (armorStand in armorStandList) {
57+
val item = ItemStack(Material.getMaterial("${teamColor}_PANE")!!)
58+
armorStand.equipment?.helmet = item
59+
}
60+
}
61+
62+
fun cleanup() {
63+
for (armorStand in armorStandList) {
64+
armorStand.remove()
65+
}
66+
armorStandList.clear()
67+
}
68+
}

0 commit comments

Comments
 (0)