Skip to content

Commit e85b42a

Browse files
committed
itemability
1 parent cf44777 commit e85b42a

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

Diff for: src/main/kotlin/dev/sterner/api/item/ItemAbility.kt

+3-2
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ enum class ItemAbility(private val equipmentSlot: EquipmentSlot?, private val cl
2020
fun getAbilityFromItem(item: Item): List<ItemAbility> {
2121
val list = mutableListOf<ItemAbility>()
2222
for (ability in entries) {
23-
if (ability.equipmentSlot == equipmentSlot) {
23+
// Check if the item matches the clazz or the equipmentSlot
24+
if (ability.equipmentSlot == null && ability.clazz?.isInstance(item) == true) {
2425
list.add(ability)
25-
} else if (ability.clazz?.isInstance(item) == true) {
26+
} else if (ability.equipmentSlot != null && item is ArmorItem && item.equipmentSlot == ability.equipmentSlot) {
2627
list.add(ability)
2728
}
2829
}

Diff for: src/main/kotlin/dev/sterner/api/item/ItemAbilityWithLevel.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ data class ItemAbilityWithLevel(val itemAbility: ItemAbility, val level: Int) {
66

77
fun writeNbt(): CompoundTag {
88
val compoundTag = CompoundTag()
9-
compoundTag.putString("itemAbility", itemAbility.name)
10-
compoundTag.putInt("level", level)
9+
compoundTag.putString("ItemAbility", itemAbility.name)
10+
compoundTag.putInt("Level", level)
1111
return compoundTag
1212
}
1313

1414
companion object {
1515
fun readNbt(nbt: CompoundTag): ItemAbilityWithLevel {
16-
val ability = ItemAbility.valueOf(nbt.getString("itemAbility"))
17-
val level = nbt.getInt("level")
16+
val ability = ItemAbility.valueOf(nbt.getString("ItemAbility"))
17+
val level = nbt.getInt("Level")
1818

1919
return ItemAbilityWithLevel(ability, level)
2020
}

Diff for: src/main/kotlin/dev/sterner/api/item/UpgradableAbilityItem.kt

+8-4
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,20 @@ interface UpgradableAbilityItem {
1616
listTag.add(ab)
1717
}
1818
val tag = CompoundTag()
19-
tag.put("abilities", listTag)
19+
tag.put("Abilities", listTag)
2020
return tag
2121
}
2222

2323
fun readNbt(tag: CompoundTag): List<ItemAbilityWithLevel> {
24-
val tagList = tag.getList("abilities", 10)
24+
val tagList = tag.getList("Abilities", 10)
2525
val list = mutableListOf<ItemAbilityWithLevel>()
26-
for (ability in tagList) {
2726

28-
val a = ItemAbilityWithLevel.readNbt()
27+
for (i in 0 until tagList.size) {
28+
val abilityTag = tagList.getCompound(i)
29+
val ability = ItemAbilityWithLevel.readNbt(abilityTag)
30+
list.add(ability)
2931
}
32+
33+
return list
3034
}
3135
}

0 commit comments

Comments
 (0)