Skip to content

Commit 4425eeb

Browse files
committed
added none ability
1 parent 032c47b commit 4425eeb

File tree

4 files changed

+24
-20
lines changed

4 files changed

+24
-20
lines changed

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

+20-16
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
package dev.sterner.api.item
22

3+
import dev.sterner.common.item.tool.ichor.IchoriumTerraformer
4+
import dev.sterner.registry.VoidBoundTags
35
import net.minecraft.nbt.CompoundTag
6+
import net.minecraft.tags.TagKey
47
import net.minecraft.util.StringRepresentable
58
import net.minecraft.world.entity.EquipmentSlot
69
import net.minecraft.world.item.*
710

811
import kotlin.reflect.KClass
912

10-
enum class ItemAbility(private val equipmentSlot: EquipmentSlot?, private val clazz: KClass<out Item>?): StringRepresentable {
11-
NONE(null, null),//TODO implement
12-
AUTOSMELT(null, DiggerItem::class),//Fully implemented
13-
MINING_3X3(null, DiggerItem::class),//TODO implement
14-
MINING_5X5(null, DiggerItem::class),//TODO implement
15-
VAMPIRISM(null, SwordItem::class),//TODO implement
16-
QUICKDRAW(null, ProjectileWeaponItem::class),//TODO implement
17-
DISPERSED_STRIKE(null, SwordItem::class),//TODO implement
18-
SLOW_FALL(EquipmentSlot.FEET, null);//TODO implement
13+
enum class ItemAbility: StringRepresentable {
14+
NONE,//TODO implement
15+
AUTOSMELT,//Fully implemented
16+
MINING_3X3,//Fully implemented
17+
MINING_5X5,//Fully implemented
18+
VAMPIRISM,//TODO implement
19+
OPENER;//TODO implement
1920

2021
override fun getSerializedName(): String {
2122
return this.name.lowercase()
@@ -34,14 +35,17 @@ enum class ItemAbility(private val equipmentSlot: EquipmentSlot?, private val cl
3435

3536
fun getAvailableAbilitiesFromItem(item: Item): Set<ItemAbility> {
3637
val list = mutableSetOf<ItemAbility>()
37-
for (ability in entries) {
38-
// Check if the item matches the clazz or the equipmentSlot
39-
if (ability.equipmentSlot == null && ability.clazz?.isInstance(item) == true) {
40-
list.add(ability)
41-
} else if (ability.equipmentSlot != null && item is ArmorItem && item.equipmentSlot == ability.equipmentSlot) {
42-
list.add(ability)
43-
}
38+
list.add(NONE)
39+
if (item is IchoriumTerraformer) {
40+
list.add(AUTOSMELT)
41+
list.add(MINING_3X3)
42+
list.add(MINING_5X5)
4443
}
44+
if (item is IchoriumTerraformer) {
45+
list.add(VAMPIRISM)
46+
list.add(OPENER)
47+
}
48+
4549
return list
4650
}
4751
}

Diff for: src/main/kotlin/dev/sterner/common/components/VoidBoundRevelationComponent.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class VoidBoundRevelationComponent(private val player: Player) : AutoSyncedCompo
1717

1818
var thoughtsQueue: MutableMap<Component, ThoughtData> = mutableMapOf()
1919

20-
var unlockedItemAbilities = mutableSetOf<ItemAbility>()
20+
var unlockedItemAbilities = mutableSetOf(ItemAbility.NONE)
2121

2222
fun addUnlockedItemAbility(ability: ItemAbility) {
2323
unlockedItemAbilities.add(ability)
@@ -151,6 +151,7 @@ class VoidBoundRevelationComponent(private val player: Player) : AutoSyncedCompo
151151
}
152152

153153
unlockedItemAbilities.clear()
154+
unlockedItemAbilities.add(ItemAbility.NONE)
154155
val unlockedList = tag.getList("UnlockedItems", 10)
155156
for (i in 0 until unlockedList.size) {
156157
val item = unlockedList.getCompound(i)

Diff for: src/main/resources/assets/voidbound/lang/en_us.json

+2-3
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,9 @@
5757
"itemGroup.voidbound": "Void Bound",
5858

5959
"voidbound.ability.vampirism": "Vampirism",
60-
"voidbound.ability.dispersed_strike": "Dispersed Strike",
60+
"voidbound.ability.opener": "Opener",
61+
"voidbound.ability.none": "None",
6162
"voidbound.ability.autosmelt": "Autosmelt",
62-
"voidbound.ability.quickdraw": "Quickdraw",
63-
"voidbound.ability.slow_fall": "Slow fall",
6463
"voidbound.ability.mining_3x3": "3x3 Mining",
6564
"voidbound.ability.mining_5x5": "5x5 Mining",
6665

846 Bytes
Loading

0 commit comments

Comments
 (0)