diff options
author | hannibal2 <24389977+hannibal002@users.noreply.github.com> | 2024-03-06 23:51:02 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-06 23:51:02 +0100 |
commit | 0a95a791eb57a546fb5421594abae740faf1dfdb (patch) | |
tree | 82bfc13c544a60d496bab081b66ddd73e07d62a3 /src/main/java/at/hannibal2/skyhanni/features/fame | |
parent | 28430fe85115334fb06fb7e3cc36da819f08dace (diff) | |
download | skyhanni-0a95a791eb57a546fb5421594abae740faf1dfdb.tar.gz skyhanni-0a95a791eb57a546fb5421594abae740faf1dfdb.tar.bz2 skyhanni-0a95a791eb57a546fb5421594abae740faf1dfdb.zip |
Internal Changes: Many small code cleanups (#1101)
Co-authored-by: Thunderblade73 <85900443+Thunderblade73@users.noreply.github.com>
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/fame')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt index 37c92d5c0..786719391 100644 --- a/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt +++ b/src/main/java/at/hannibal2/skyhanni/features/fame/CityProjectFeatures.kt @@ -13,14 +13,19 @@ import at.hannibal2.skyhanni.utils.ChatUtils import at.hannibal2.skyhanni.utils.CollectionUtils.addAsSingletonList import at.hannibal2.skyhanni.utils.ItemUtils import at.hannibal2.skyhanni.utils.ItemUtils.getLore +import at.hannibal2.skyhanni.utils.ItemUtils.itemName import at.hannibal2.skyhanni.utils.ItemUtils.name import at.hannibal2.skyhanni.utils.LorenzColor import at.hannibal2.skyhanni.utils.LorenzUtils +import at.hannibal2.skyhanni.utils.NEUInternalName import at.hannibal2.skyhanni.utils.NEUItems +import at.hannibal2.skyhanni.utils.NEUItems.getItemStack +import at.hannibal2.skyhanni.utils.NEUItems.getPrice import at.hannibal2.skyhanni.utils.NumberUtil import at.hannibal2.skyhanni.utils.NumberUtil.addSeparators import at.hannibal2.skyhanni.utils.RenderUtils.highlight import at.hannibal2.skyhanni.utils.RenderUtils.renderStringsAndItems +import at.hannibal2.skyhanni.utils.SimpleTimeMark import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher import at.hannibal2.skyhanni.utils.StringUtils.matches import at.hannibal2.skyhanni.utils.TimeUtils @@ -100,10 +105,9 @@ class CityProjectFeatures { if (config.showMaterials) { // internal name -> amount - val materials = mutableMapOf<String, Int>() + val materials = mutableMapOf<NEUInternalName, Int>() for ((_, item) in event.inventoryItems) { - val itemName = item.name ?: continue - if (itemName != "§eContribute this component!") continue + if (item.name != "§eContribute this component!") continue fetchMaterials(item, materials) } @@ -111,9 +115,9 @@ class CityProjectFeatures { } if (config.showReady) { - var nextTime = Long.MAX_VALUE + var nextTime = SimpleTimeMark.farFuture() + val now = SimpleTimeMark.now() for ((_, item) in event.inventoryItems) { - val itemName = item.name ?: continue val lore = item.getLore() val completed = lore.lastOrNull()?.let { completedPattern.matches(it) } ?: false @@ -122,17 +126,17 @@ class CityProjectFeatures { contributeAgainPattern.matchMatcher(line) { val rawTime = group("time") if (rawTime.contains("Soon!")) return@matchMatcher - val duration = TimeUtils.getMillis(rawTime) - val endTime = System.currentTimeMillis() + duration + val duration = TimeUtils.getDuration(rawTime) + val endTime = now + duration if (endTime < nextTime) { nextTime = endTime } } } - if (itemName != "§eContribute this component!") continue - nextTime = System.currentTimeMillis() + if (item.name != "§eContribute this component!") continue + nextTime = now } - ProfileStorageData.playerSpecific?.nextCityProjectParticipationTime = nextTime + ProfileStorageData.playerSpecific?.nextCityProjectParticipationTime = nextTime.toMillis() } } @@ -143,7 +147,7 @@ class CityProjectFeatures { return true } - private fun buildList(materials: MutableMap<String, Int>) = buildList<List<Any>> { + private fun buildList(materials: MutableMap<NEUInternalName, Int>) = buildList<List<Any>> { addAsSingletonList("§7City Project Materials") if (materials.isEmpty()) { @@ -152,8 +156,8 @@ class CityProjectFeatures { } for ((internalName, amount) in materials) { - val stack = NEUItems.getItemStack(internalName) - val name = stack.name ?: continue + val stack = internalName.getItemStack() + val name = internalName.itemName val list = mutableListOf<Any>() list.add(" §7- ") list.add(stack) @@ -166,14 +170,14 @@ class CityProjectFeatures { } }) { inInventory && !NEUItems.neuHasFocus() }) - val price = NEUItems.getPrice(internalName) * amount + val price = internalName.getPrice(false) * amount val format = NumberUtil.format(price) list.add(" §7(§6$format§7)") add(list) } } - private fun fetchMaterials(item: ItemStack, materials: MutableMap<String, Int>) { + private fun fetchMaterials(item: ItemStack, materials: MutableMap<NEUInternalName, Int>) { var next = false val lore = item.getLore() val completed = lore.lastOrNull()?.let { completedPattern.matches(it) } ?: false @@ -188,7 +192,7 @@ class CityProjectFeatures { if (line.contains("Bits")) break val (name, amount) = ItemUtils.readItemAmount(line) ?: continue - val internalName = NEUItems.getRawInternalName(name) + val internalName = NEUInternalName.fromItemName(name) val old = materials.getOrPut(internalName) { 0 } materials[internalName] = old + amount } |