aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt15
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/Mayors.kt6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/mob/MobDebug.kt18
-rw-r--r--src/main/java/at/hannibal2/skyhanni/events/RenderEntityOutlineEvent.kt9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/commands/tabcomplete/PlayerTabComplete.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/cosmetics/ArrowTrail.kt6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonAPI.kt15
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonsRaceGuide.kt18
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/event/diana/MythologicalCreatureTracker.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/event/lobby/waypoints/EventWaypoint.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/event/lobby/waypoints/christmas/PresentWaypoints.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/fishing/tracker/SeaCreatureTracker.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestAPI.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/visitor/HighlightVisitorsOutsideOfGarden.kt6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/garden/visitor/VisitorListener.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/inventory/SackDisplay.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/inventory/SkyblockGuideHighlightFeature.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/solver/FossilSolver.kt8
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/minion/MinionXp.kt14
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/limbo/LimboPlaytime.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigFeatures.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigOptionGui.kt6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/nether/MatriarchHelper.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/CrimsonIsleReputationHelper.kt19
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/rift/area/colosseum/BlobbercystsHighlight.kt9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/rift/area/westvillage/VerminTracker.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/CruxTalismanDisplay.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/VampireSlayerFeatures.kt211
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerDaggerHelper.kt6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/slayer/enderman/EndermanSlayerFeatures.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/summonings/SummoningMobManager.kt43
-rw-r--r--src/main/java/at/hannibal2/skyhanni/test/PacketTest.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/test/command/TrackSoundsCommand.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/ComponentMatcherUtils.kt6
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/KSerializable.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/json/FeatureTogglesByDefaultAdapter.kt10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt26
46 files changed, 276 insertions, 289 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt b/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt
index be947b18c..58882e1f5 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt
+++ b/src/main/java/at/hannibal2/skyhanni/config/ConfigUpdaterMigrator.kt
@@ -33,9 +33,11 @@ object ConfigUpdaterMigrator {
) : LorenzEvent() {
init {
- dynamicPrefix.entries.filter { it.value.isEmpty() }.forEach {
- logger.log("Dynamic prefix ${it.key} does not resolve to anything.")
- }
+ dynamicPrefix.entries
+ .filter { it.value.isEmpty() }
+ .forEach {
+ logger.log("Dynamic prefix ${it.key} does not resolve to anything.")
+ }
}
fun transform(since: Int, path: String, transform: (JsonElement) -> JsonElement = { it }) {
@@ -91,9 +93,8 @@ object ConfigUpdaterMigrator {
private fun merge(originalObject: JsonObject, overrideObject: JsonObject): Int {
var count = 0
- overrideObject.entrySet().forEach {
- val element = originalObject[it.key]
- val newElement = it.value
+ for ((key, newElement) in overrideObject.entrySet()) {
+ val element = originalObject[key]
if (element is JsonObject && newElement is JsonObject) {
count += merge(element, newElement)
} else {
@@ -101,7 +102,7 @@ object ConfigUpdaterMigrator {
logger.log("Encountered destructive merge. Erasing $element in favour of $newElement.")
count++
}
- originalObject.add(it.key, newElement)
+ originalObject.add(key, newElement)
}
}
return count
diff --git a/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt b/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt
index 94dc84efc..f922ce497 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt
@@ -227,7 +227,7 @@ object HypixelData {
val obj: JsonObject = gson.fromJson(group(), JsonObject::class.java)
if (obj.has("server")) {
locrawData = obj
- locraw.keys.forEach { key ->
+ for (key in locraw.keys) {
locraw[key] = obj[key]?.asString ?: ""
}
inLimbo = locraw["server"] == "limbo"
diff --git a/src/main/java/at/hannibal2/skyhanni/data/Mayors.kt b/src/main/java/at/hannibal2/skyhanni/data/Mayors.kt
index ccf74aec2..7ff74aeda 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/Mayors.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/Mayors.kt
@@ -77,9 +77,9 @@ enum class Mayor(
fun Mayor.setAssumeMayor(perks: List<Perk>) {
perks.forEach { it.isActive = false }
activePerks.clear()
- perks.filter { perks.contains(it) }.forEach {
- it.isActive = true
- activePerks.add(it)
+ for (perk in perks.filter { perks.contains(it) }) {
+ perk.isActive = true
+ activePerks.add(perk)
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt
index a2235608e..b5d31185a 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt
@@ -275,11 +275,7 @@ object SackAPI {
val sacksData = event.readConstant<NeuSacksJson>("sacks").sacks
val uniqueSackItems = mutableSetOf<NEUInternalName>()
- sacksData.values.forEach { sackInfo ->
- sackInfo.contents.forEach { content ->
- uniqueSackItems.add(content)
- }
- }
+ sacksData.values.flatMap { it.contents }.forEach { uniqueSackItems.add(it) }
sackListInternalNames = uniqueSackItems.map { it.asString() }.toSet()
sackListNames = uniqueSackItems.map { it.itemNameWithoutColor.removeNonAscii().trim().uppercase() }.toSet()
diff --git a/src/main/java/at/hannibal2/skyhanni/data/mob/MobDebug.kt b/src/main/java/at/hannibal2/skyhanni/data/mob/MobDebug.kt
index 03f6d64b6..69b0b85a8 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/mob/MobDebug.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/mob/MobDebug.kt
@@ -32,17 +32,19 @@ object MobDebug {
private fun Mob.isNotInvisible() = !this.isInvisible() || (config.showInvisible && this == lastRayHit)
- private fun MobData.MobSet.highlight(event: LorenzRenderWorldEvent, color: (Mob) -> (LorenzColor)) =
- this.filter { it.isNotInvisible() }.forEach {
- event.drawFilledBoundingBox_nea(it.boundingBox.expandBlock(), color.invoke(it).toColor(), 0.3f)
+ private fun MobData.MobSet.highlight(event: LorenzRenderWorldEvent, color: (Mob) -> (LorenzColor)) {
+ for (mob in filter { it.isNotInvisible() }) {
+ event.drawFilledBoundingBox_nea(mob.boundingBox.expandBlock(), color.invoke(mob).toColor(), 0.3f)
}
+ }
- private fun MobData.MobSet.showName(event: LorenzRenderWorldEvent) =
- this.filter { it.canBeSeen() && it.isNotInvisible() }.map { it.boundingBox.getTopCenter() to it.name }.forEach {
- event.drawString(
- it.first.add(y = 0.5), "§5" + it.second, seeThroughBlocks = true
- )
+ private fun MobData.MobSet.showName(event: LorenzRenderWorldEvent) {
+ val map = filter { it.canBeSeen() && it.isNotInvisible() }
+ .map { it.boundingBox.getTopCenter() to it.name }
+ for ((location, text) in map) {
+ event.drawString(location.add(y = 0.5), "§5$text", seeThroughBlocks = true)
}
+ }
@SubscribeEvent
fun onWorldRenderDebug(event: LorenzRenderWorldEvent) {
diff --git a/src/main/java/at/hannibal2/skyhanni/events/RenderEntityOutlineEvent.kt b/src/main/java/at/hannibal2/skyhanni/events/RenderEntityOutlineEvent.kt
index 85c3211fd..f64dfa27e 100644
--- a/src/main/java/at/hannibal2/skyhanni/events/RenderEntityOutlineEvent.kt
+++ b/src/main/java/at/hannibal2/skyhanni/events/RenderEntityOutlineEvent.kt
@@ -4,7 +4,6 @@ import net.minecraft.client.Minecraft
import net.minecraft.entity.Entity
import net.minecraft.entity.item.EntityArmorStand
import net.minecraft.entity.item.EntityItemFrame
-import java.util.function.Consumer
class RenderEntityOutlineEvent(theType: Type?, potentialEntities: HashSet<Entity>?) :
LorenzEvent() {
@@ -97,11 +96,11 @@ class RenderEntityOutlineEvent(theType: Type?, potentialEntities: HashSet<Entity
// Only render outlines around non-null entities within the camera frustum
entitiesToChooseFrom = HashSet(entities.size)
// Only consider entities that aren't invisible armorstands to increase FPS significantly
- entities.forEach(Consumer<Entity> { e: Entity? ->
- if (e != null && !(e is EntityArmorStand && e.isInvisible()) && e !is EntityItemFrame) {
- entitiesToChooseFrom!!.add(e)
+ for (entity in entities) {
+ if (!(entity is EntityArmorStand && entity.isInvisible()) && entity !is EntityItemFrame) {
+ entitiesToChooseFrom!!.add(entity)
}
- })
+ }
entitiesToOutline = HashMap(entitiesToChooseFrom!!.size)
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt
index a3054af48..8632f9d03 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt
@@ -328,7 +328,9 @@ object DamageIndicatorManager {
fun onTick(event: LorenzTickEvent) {
if (!isEnabled()) return
data = data.editCopy {
- EntityUtils.getEntities<EntityLivingBase>().mapNotNull(::checkEntity).forEach { this put it }
+ EntityUtils.getEntities<EntityLivingBase>()
+ .mapNotNull(::checkEntity)
+ .forEach { this put it }
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt
index dcc5b01df..2cac59010 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/combat/endernodetracker/EnderNodeTracker.kt
@@ -171,7 +171,7 @@ object EnderNodeTracker {
if (!ProfileStorageData.loaded) return emptyMap()
val newProfit = mutableMapOf<EnderNode, Double>()
- storage.lootCount.forEach { (item, amount) ->
+ for ((item, amount) in storage.lootCount) {
val price = if (isEnderArmor(item)) {
10_000.0
} else {
diff --git a/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt b/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt
index 6b96024ed..59b652f66 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/commands/PartyChatCommands.kt
@@ -205,9 +205,7 @@ object PartyChatCommands {
}
}
} else {
- blacklist.forEach {
- message += "\n§e$it"
- }
+ blacklist.forEach { message += "\n§e$it" }
}
ChatUtils.chat(message)
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/commands/tabcomplete/PlayerTabComplete.kt b/src/main/java/at/hannibal2/skyhanni/features/commands/tabcomplete/PlayerTabComplete.kt
index e199a47fd..bf4428211 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/commands/tabcomplete/PlayerTabComplete.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/commands/tabcomplete/PlayerTabComplete.kt
@@ -57,7 +57,8 @@ object PlayerTabComplete {
return buildList {
if (config.friends && PlayerCategory.FRIENDS !in ignored) {
- FriendAPI.getAllFriends().filter { it.bestFriend || !config.onlyBestFriends }
+ FriendAPI.getAllFriends()
+ .filter { it.bestFriend || !config.onlyBestFriends }
.forEach { add(it.name) }
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/cosmetics/ArrowTrail.kt b/src/main/java/at/hannibal2/skyhanni/features/cosmetics/ArrowTrail.kt
index 0f4d267f7..304ee21f8 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/cosmetics/ArrowTrail.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/cosmetics/ArrowTrail.kt
@@ -41,9 +41,9 @@ object ArrowTrail {
listAllArrow.removeIf { it.deathTime.isInPast() }
listYourArrow.removeIf { it.deathTime.isInPast() }
- EntityUtils.getEntities<EntityArrow>().forEach {
- val line = Line(it.getPrevLorenzVec(), it.getLorenzVec(), deathTime)
- if (it.shootingEntity == Minecraft.getMinecraft().thePlayer) {
+ for (arrow in EntityUtils.getEntities<EntityArrow>()) {
+ val line = Line(arrow.getPrevLorenzVec(), arrow.getLorenzVec(), deathTime)
+ if (arrow.shootingEntity == Minecraft.getMinecraft().thePlayer) {
listYourArrow.add(line)
} else {
listAllArrow.add(line)
diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt
index 801b4f800..ff6c277bb 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/CroesusChestTracker.kt
@@ -102,9 +102,7 @@ object CroesusChestTracker {
pageSetup(event)
if (croesusEmpty) {
- croesusChests?.forEach {
- it.setValuesNull()
- }
+ croesusChests?.forEach { it.setValuesNull() }
return
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonAPI.kt
index 8b852f1cc..e79abbe7c 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonAPI.kt
@@ -171,10 +171,10 @@ object DungeonAPI {
it.contains(LorenzUtils.getPlayerName())
}?.removeColor() ?: ""
- DungeonClass.entries.forEach {
- if (playerTeam.contains("(${it.scoreboardName} ")) {
+ for (dungeonClass in DungeonClass.entries) {
+ if (playerTeam.contains("(${dungeonClass.scoreboardName} ")) {
val level = playerTeam.split(" ").last().trimEnd(')').romanToDecimalIfNecessary()
- playerClass = it
+ playerClass = dungeonClass
playerClassLevel = level
}
}
@@ -184,15 +184,14 @@ object DungeonAPI {
@SubscribeEvent
fun onTabUpdate(event: TablistFooterUpdateEvent) {
if (!inDungeon()) return
- val tabList = event.footer.split("\n")
- tabList.forEach {
- if (noBlessingPattern.matches(it)) {
+ for (line in event.footer.split("\n")) {
+ if (noBlessingPattern.matches(line)) {
DungeonBlessings.reset()
return
}
- val matcher = blessingPattern.matcher(it)
+ val matcher = blessingPattern.matcher(line)
if (matcher.find()) {
- val type = matcher.group("type") ?: return@forEach
+ val type = matcher.group("type") ?: continue
val amount = matcher.group("amount").romanToDecimalIfNecessary()
if (DungeonBlessings.valueOf(type.uppercase()).power != amount) {
DungeonBlessings.valueOf(type.uppercase()).power = amount
diff --git a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonsRaceGuide.kt b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonsRaceGuide.kt
index 1a543749d..34d0621cd 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonsRaceGuide.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/dungeon/DungeonsRaceGuide.kt
@@ -39,9 +39,9 @@ object DungeonsRaceGuide {
@SubscribeEvent
fun onRepoReload(event: RepositoryReloadEvent) {
val data = event.getConstant<DungeonHubRacesJson>("DungeonHubRaces")
- data.data.forEach {
- val nothingNoReturn = it.value["nothing:no_return"]
- parkourHelpers[it.key] = ParkourHelper(
+ for ((key, map) in data.data) {
+ val nothingNoReturn = map["nothing:no_return"]
+ parkourHelpers[key] = ParkourHelper(
nothingNoReturn?.locations ?: listOf(),
nothingNoReturn?.shortCuts ?: listOf(),
platformSize = 1.0,
@@ -67,17 +67,15 @@ object DungeonsRaceGuide {
currentRace = group("race").replace(" ", "_").lowercase()
}
if (currentRace == null) {
- parkourHelpers.forEach {
- it.value.reset()
- }
+ parkourHelpers.forEach { it.value.reset() }
}
}
private fun updateConfig() {
- parkourHelpers.forEach {
- it.value.rainbowColor = config.rainbowColor.get()
- it.value.monochromeColor = config.monochromeColor.get().toChromaColor()
- it.value.lookAhead = config.lookAhead.get() + 1
+ parkourHelpers.values.forEach {
+ it.rainbowColor = config.rainbowColor.get()
+ it.monochromeColor = config.monochromeColor.get().toChromaColor()
+ it.lookAhead = config.lookAhead.get() + 1
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/diana/MythologicalCreatureTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/event/diana/MythologicalCreatureTracker.kt
index abac5accd..68b70a77a 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/event/diana/MythologicalCreatureTracker.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/event/diana/MythologicalCreatureTracker.kt
@@ -81,7 +81,7 @@ object MythologicalCreatureTracker {
@SubscribeEvent
fun onChat(event: LorenzChatEvent) {
- MythologicalCreatureType.entries.forEach { creatureType ->
+ for (creatureType in MythologicalCreatureType.entries) {
if (creatureType.pattern.matches(event.message)) {
BurrowAPI.lastBurrowRelatedChatMessage = SimpleTimeMark.now()
tracker.modify {
@@ -102,8 +102,7 @@ object MythologicalCreatureTracker {
private fun drawDisplay(data: Data): List<List<Any>> = buildList {
addAsSingletonList("§7Mythological Creature Tracker:")
val total = data.count.sumAllValues()
- data.count.entries.sortedByDescending { it.value }.forEach { (creatureType, amount) ->
-
+ for ((creatureType, amount) in data.count.entries.sortedByDescending { it.value }) {
val percentageSuffix = if (config.showPercentage.get()) {
val percentage = LorenzUtils.formatPercentage(amount.toDouble() / total)
" §7$percentage"
diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/lobby/waypoints/EventWaypoint.kt b/src/main/java/at/hannibal2/skyhanni/features/event/lobby/waypoints/EventWaypoint.kt
index 411e08e5e..24c97e45d 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/event/lobby/waypoints/EventWaypoint.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/event/lobby/waypoints/EventWaypoint.kt
@@ -11,7 +11,7 @@ data class EventWaypoint(
fun loadEventWaypoints(waypoints: Map<String, List<EventWaypointData>>): Map<String, MutableSet<EventWaypoint>> {
return buildMap {
- waypoints.forEach { lobby ->
+ for (lobby in waypoints) {
val set = mutableSetOf<EventWaypoint>()
lobby.value.forEach { waypoint -> set.add(EventWaypoint(waypoint.name, waypoint.position)) }
this[lobby.key] = set
diff --git a/src/main/java/at/hannibal2/skyhanni/features/event/lobby/waypoints/christmas/PresentWaypoints.kt b/src/main/java/at/hannibal2/skyhanni/features/event/lobby/waypoints/christmas/PresentWaypoints.kt
index 26eb2ae1e..64c4171a3 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/event/lobby/waypoints/christmas/PresentWaypoints.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/event/lobby/waypoints/christmas/PresentWaypoints.kt
@@ -108,8 +108,8 @@ object PresentWaypoints {
waypoints: Set<EventWaypoint>, shouldDraw: Boolean, color: LorenzColor, prefix: String,
) {
if (!shouldDraw) return
- waypoints.forEach { waypoint ->
- if (!waypoint.shouldShow()) return@forEach
+ for (waypoint in waypoints) {
+ if (!waypoint.shouldShow()) continue
this.drawWaypointFilled(waypoint.position, color.toColor())
this.drawDynamicText(waypoint.position, "$prefix${waypoint.name}", 1.5)
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/fishing/tracker/SeaCreatureTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/fishing/tracker/SeaCreatureTracker.kt
index 39b372c9b..d241b6a19 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/fishing/tracker/SeaCreatureTracker.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/fishing/tracker/SeaCreatureTracker.kt
@@ -77,7 +77,7 @@ object SeaCreatureTracker {
val realAmount = data.amount.filter { filter(it.key) }
val total = realAmount.sumAllValues()
- realAmount.entries.sortedByDescending { it.value }.forEach { (name, amount) ->
+ for ((name, amount) in realAmount.entries.sortedByDescending { it.value }) {
val displayName = SeaCreatureManager.allFishingMobs[name]?.displayName ?: run {
ErrorManager.logErrorStateWithData(
"Sea Creature Tracker can not display a name correctly",
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt
index 9a24fec89..882c4daff 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/FarmingFortuneDisplay.kt
@@ -319,7 +319,7 @@ object FarmingFortuneDisplay {
fun getAbilityFortune(internalName: NEUInternalName, lore: List<String>): Double {
var pieces = 0
- lore.forEach { line ->
+ for (line in lore) {
if (internalName.contains("LOTUS")) {
lotusAbilityPattern.matchMatcher(line) {
return group("bonus").toDouble()
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestAPI.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestAPI.kt
index 0d3cadfac..2ac40e252 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/pests/PestAPI.kt
@@ -203,14 +203,14 @@ object PestAPI {
val plotList = group("plots").removeColor().split(", ").map { it.toInt() }
if (plotList.sorted() == getInfestedPlots().map { it.id }.sorted()) return
- GardenPlotAPI.plots.forEach {
- if (plotList.contains(it.id)) {
- if (!it.isPestCountInaccurate && it.pests == 0) {
- it.isPestCountInaccurate = true
+ for (plot in GardenPlotAPI.plots) {
+ if (plotList.contains(plot.id)) {
+ if (!plot.isPestCountInaccurate && plot.pests == 0) {
+ plot.isPestCountInaccurate = true
}
} else {
- it.pests = 0
- it.isPestCountInaccurate = false
+ plot.pests = 0
+ plot.isPestCountInaccurate = false
}
}
updatePests()
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/HighlightVisitorsOutsideOfGarden.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/HighlightVisitorsOutsideOfGarden.kt
index 54adcebad..88ea75b57 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/HighlightVisitorsOutsideOfGarden.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/HighlightVisitorsOutsideOfGarden.kt
@@ -69,13 +69,11 @@ object HighlightVisitorsOutsideOfGarden {
@SubscribeEvent
fun onSecondPassed(event: SecondPassedEvent) {
if (!config.highlightVisitors) return
+ val color = LorenzColor.DARK_RED.toColor().withAlpha(50)
EntityUtils.getEntities<EntityLivingBase>()
.filter { it !is EntityArmorStand && isVisitor(it) }
.forEach {
- RenderLivingEntityHelper.setEntityColor(
- it,
- LorenzColor.DARK_RED.toColor().withAlpha(50)
- ) { config.highlightVisitors }
+ RenderLivingEntityHelper.setEntityColor(it, color) { config.highlightVisitors }
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/VisitorListener.kt b/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/VisitorListener.kt
index 31f8db263..2914aa1c3 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/VisitorListener.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/garden/visitor/VisitorListener.kt
@@ -77,8 +77,8 @@ object VisitorListener {
val visitorsInTab = VisitorAPI.visitorsInTabList(event.tabList)
if (LorenzUtils.lastWorldSwitch.passedSince() > 2.seconds) {
- VisitorAPI.getVisitors().forEach {
- val name = it.visitorName
+ for (visitor in VisitorAPI.getVisitors()) {
+ val name = visitor.visitorName
val removed = name !in visitorsInTab
if (removed) {
logger.log("Removed old visitor: '$name'")
diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/SackDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/SackDisplay.kt
index b43a95b08..6fb1caaa2 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/inventory/SackDisplay.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/SackDisplay.kt
@@ -174,7 +174,7 @@ object SackDisplay {
else -> sackItems.sortedByDescending { it.second.stored }
}.toMap().toMutableMap()
- sortedPairs.toList().forEach { (k, v) ->
+ for ((k, v) in sortedPairs.toList()) {
if (v.stored == 0 && !config.showEmpty) {
sortedPairs.remove(k)
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/SkyblockGuideHighlightFeature.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/SkyblockGuideHighlightFeature.kt
index 0b3a2830e..c34b08125 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/inventory/SkyblockGuideHighlightFeature.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/SkyblockGuideHighlightFeature.kt
@@ -100,7 +100,8 @@ class SkyblockGuideHighlightFeature private constructor(
if (!isEnabled()) return
if (activeObject == null) return
- event.gui.inventorySlots.inventorySlots.filter { missing.contains(it.slotNumber) }
+ event.gui.inventorySlots.inventorySlots
+ .filter { missing.contains(it.slotNumber) }
.forEach { it highlight LorenzColor.RED }
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/solver/FossilSolver.kt b/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/solver/FossilSolver.kt
index 7af22d701..f3687e23e 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/solver/FossilSolver.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/mining/fossilexcavator/solver/FossilSolver.kt
@@ -100,9 +100,9 @@ object FossilSolver {
}
}
- possibleClickPositions.filter { it.key in foundPositions }.forEach {
- possibleClickPositions.remove(it.key)
- }
+ possibleClickPositions
+ .filter { it.key in foundPositions }.keys
+ .forEach { possibleClickPositions.remove(it) }
val bestPosition = possibleClickPositions.maxByOrNull { it.value } ?: run {
if (fossilLocations.isNotEmpty()) {
@@ -125,7 +125,7 @@ object FossilSolver {
private fun isValidFossilPosition(
fossil: FossilShape,
invalidPositions: Set<FossilTile>,
- foundPositions: Set<FossilTile>
+ foundPositions: Set<FossilTile>,
): Boolean {
if (fossil.tiles.any { !isValidPosition(it, invalidPositions) }) {
return false
diff --git a/src/main/java/at/hannibal2/skyhanni/features/minion/MinionXp.kt b/src/main/java/at/hannibal2/skyhanni/features/minion/MinionXp.kt
index 9cf785503..a0545dc1c 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/minion/MinionXp.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/minion/MinionXp.kt
@@ -82,7 +82,7 @@ object MinionXp {
}
return if (storage != null) {
- storage.xpList.forEach { (type, amount) ->
+ for ((type, amount) in storage.xpList) {
xpTotal.compute(type) { _, currentAmount -> (currentAmount ?: 0.0) + amount }
}
false
@@ -96,12 +96,14 @@ object MinionXp {
private fun handleItems(inventoryItems: Map<Int, ItemStack>, isMinion: Boolean): EnumMap<SkillType, Double> {
val xpTotal = EnumMap<SkillType, Double>(SkillType::class.java)
- inventoryItems.filter {
- it.value.getLore().isNotEmpty() && (!isMinion || it.key in listWithMissingName.flatten())
- }.forEach { (_, itemStack) ->
- val item = toPrimitiveItemStack(itemStack)
+ val list = inventoryItems.filter {
+ it.value.getLore().isNotEmpty() &&
+ (!isMinion || it.key in listWithMissingName.flatten())
+ }.values
+ .map { toPrimitiveItemStack(it) }
+ for (item in list) {
val name = item.internalName
- val xp = xpInfoMap[name] ?: return@forEach
+ val xp = xpInfoMap[name] ?: continue
// TODO add wisdom and temporary skill exp (Events) to calculation
val baseXp = xp.amount * item.amount
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/limbo/LimboPlaytime.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/limbo/LimboPlaytime.kt
index 57e355ecd..0996701f2 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/limbo/LimboPlaytime.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/limbo/LimboPlaytime.kt
@@ -148,15 +148,15 @@ object LimboPlaytime {
val firstList = mutableListOf<String>()
val lastList = mutableListOf<String>()
var hasPassed = false
- toolTip.forEach {
- if (!(hoursPattern.matches(it) || minutesPattern.matches(it)) && !hasPassed) {
- firstList.add(it)
+ for (line in toolTip) {
+ if (!(hoursPattern.matches(line) || minutesPattern.matches(line)) && !hasPassed) {
+ firstList.add(line)
} else hasPassed = true
}
hasPassed = false
- toolTip.forEach {
- if (!(hoursPattern.matches(it) || minutesPattern.matches(it)) && hasPassed) {
- lastList.add(it)
+ for (line in toolTip) {
+ if (!(hoursPattern.matches(line) || minutesPattern.matches(line)) && hasPassed) {
+ lastList.add(line)
} else hasPassed = true
}
toolTip.clear()
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigFeatures.kt
index 8a594259e..ab61b400d 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigFeatures.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigFeatures.kt
@@ -96,7 +96,7 @@ object DefaultConfigFeatures {
resetSuggestionState: MutableMap<Category, ResetSuggestionState>,
orderedOptions: Map<Category, List<FeatureToggleableOption>>,
) {
- orderedOptions.forEach { (cat, options) ->
+ for ((cat, options) in orderedOptions) {
for (option in options) {
val resetState = option.toggleOverride ?: resetSuggestionState[cat]!!
if (resetState == ResetSuggestionState.LEAVE_DEFAULTS) continue
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigOptionGui.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigOptionGui.kt
index 12503c29d..a68978cae 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigOptionGui.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/massconfiguration/DefaultConfigOptionGui.kt
@@ -104,19 +104,19 @@ class DefaultConfigOptionGui(
mc.displayGuiScreen(null)
}
button("Turn all on", listOf()) {
- resetSuggestionState.entries.forEach { entry ->
+ for (entry in resetSuggestionState.entries) {
entry.setValue(ResetSuggestionState.TURN_ALL_ON)
orderedOptions[entry.key]!!.forEach { it.toggleOverride = null }
}
}
button("Turn all off", listOf()) {
- resetSuggestionState.entries.forEach { entry ->
+ for (entry in resetSuggestionState.entries) {
entry.setValue(ResetSuggestionState.TURN_ALL_OFF)
orderedOptions[entry.key]!!.forEach { it.toggleOverride = null }
}
}
button("Leave all untouched", listOf()) {
- resetSuggestionState.entries.forEach { entry ->
+ for (entry in resetSuggestionState.entries) {
entry.setValue(ResetSuggestionState.LEAVE_DEFAULTS)
orderedOptions[entry.key]!!.forEach { it.toggleOverride = null }
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt
index a407aa149..652ce2693 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/trevor/TrevorFeatures.kt
@@ -172,7 +172,7 @@ object TrevorFeatures {
}
clickOptionPattern.findMatcher(event.message) {
- event.chatComponent.siblings.forEach { sibling ->
+ for (sibling in event.chatComponent.siblings) {
if (sibling.chatStyle.chatClickEvent != null && sibling.chatStyle.chatClickEvent.value.contains("YES")) {
lastChatPromptTime = SimpleTimeMark.now()
lastChatPrompt = sibling.chatStyle.chatClickEvent.value.substringAfter(" ")
diff --git a/src/main/java/at/hannibal2/skyhanni/features/nether/MatriarchHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/nether/MatriarchHelper.kt
index da0ef76eb..1d74e0b96 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/nether/MatriarchHelper.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/nether/MatriarchHelper.kt
@@ -61,8 +61,8 @@ object MatriarchHelper {
if (config.line) {
val color = config.lineColor.toChromaColor()
var prePoint = event.exactPlayerEyeLocation()
- pearlList.forEach {
- val point = it.baseEntity.getLorenzVec().add(y = 1.2)
+ for (mob in pearlList) {
+ val point = mob.baseEntity.getLorenzVec().add(y = 1.2)
event.draw3DLine(prePoint, point, color, 10, true)
prePoint = point
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/CrimsonIsleReputationHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/CrimsonIsleReputationHelper.kt
index 2408ef1c9..803cedb78 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/CrimsonIsleReputationHelper.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/CrimsonIsleReputationHelper.kt
@@ -98,17 +98,16 @@ class CrimsonIsleReputationHelper(skyHanniMod: SkyHanniMod) {
}
if (event.repeatSeconds(3)) {
- TabListData.getTabList()
- .filter { it.contains("Reputation:") }
- .forEach {
- factionType = if (it.contains("Mage")) {
- FactionType.MAGE
- } else if (it.contains("Barbarian")) {
- FactionType.BARBARIAN
- } else {
- FactionType.NONE
- }
+ val list = TabListData.getTabList().filter { it.contains("Reputation:") }
+ for (line in list) {
+ factionType = if (line.contains("Mage")) {
+ FactionType.MAGE
+ } else if (line.contains("Barbarian")) {
+ FactionType.BARBARIAN
+ } else {
+ FactionType.NONE
}
+ }
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/area/colosseum/BlobbercystsHighlight.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/area/colosseum/BlobbercystsHighlight.kt
index 900d207a7..02cd3a24e 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/rift/area/colosseum/BlobbercystsHighlight.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/rift/area/colosseum/BlobbercystsHighlight.kt
@@ -26,10 +26,11 @@ object BlobbercystsHighlight {
fun onTick(event: LorenzTickEvent) {
if (!isEnabled()) return
if (!event.isMod(5)) return
- EntityUtils.getEntities<EntityOtherPlayerMP>().forEach {
- if (it.name == BLOBBER_NAME) {
- RenderLivingEntityHelper.setEntityColorWithNoHurtTime(it, Color.RED.withAlpha(80)) { isEnabled() }
- entityList.add(it)
+ val color = Color.RED.withAlpha(80)
+ for (player in EntityUtils.getEntities<EntityOtherPlayerMP>()) {
+ if (player.name == BLOBBER_NAME) {
+ RenderLivingEntityHelper.setEntityColorWithNoHurtTime(player, color) { isEnabled() }
+ entityList.add(player)
}
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/area/westvillage/VerminTracker.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/area/westvillage/VerminTracker.kt
index e5b5d9586..8377e5c76 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/rift/area/westvillage/VerminTracker.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/rift/area/westvillage/VerminTracker.kt
@@ -87,7 +87,7 @@ object VerminTracker {
@SubscribeEvent
fun onChat(event: LorenzChatEvent) {
- VerminType.entries.forEach { verminType ->
+ for (verminType in VerminType.entries) {
if (verminType.pattern.matches(event.message)) {
tracker.modify { it.count.addOrPut(verminType, 1) }
@@ -152,7 +152,7 @@ object VerminTracker {
private fun drawDisplay(data: Data): List<List<Any>> = buildList {
addAsSingletonList("§7Vermin Tracker:")
- data.count.entries.sortedBy { it.key.order }.forEach { (vermin, amount) ->
+ for ((vermin, amount) in data.count.entries.sortedBy { it.key.order }) {
val verminName = vermin.vermin
addAsSingletonList(" §7- §e${amount.addSeparators()} $verminName")
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/CruxTalismanDisplay.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/CruxTalismanDisplay.kt
index a5fa44386..ccdb19fc5 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/CruxTalismanDisplay.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/CruxTalismanDisplay.kt
@@ -62,21 +62,21 @@ object CruxTalismanDisplay {
if (displayLine.isNotEmpty()) {
addAsSingletonList("§7Crux Talisman Progress: ${if (maxed) "§a§lMAXED!" else "§a$percentValue%"}")
if (!maxed) {
- displayLine.forEach {
+ for (line in displayLine) {
percent += if (config.compactWhenMaxed) {
- if (!it.maxed) {
- "(?<progress>\\d+)/\\d+".toRegex().find(it.progress.removeColor())?.groupValues?.get(1)
+ if (!line.maxed) {
+ "(?<progress>\\d+)/\\d+".toRegex().find(line.progress.removeColor())?.groupValues?.get(1)
?.toInt() ?: 0
} else 100
} else {
- if (it.progress.contains("MAXED"))
+ if (line.progress.contains("MAXED"))
100
else {
- "(?<progress>\\d+)/\\d+".toRegex().find(it.progress.removeColor())?.groupValues?.get(1)
+ "(?<progress>\\d+)/\\d+".toRegex().find(line.progress.removeColor())?.groupValues?.get(1)
?.toInt() ?: 0
}
}
- addAsSingletonList(" ${it.tier} ${it.name}: ${it.progress}")
+ addAsSingletonList(" ${line.tier} ${line.name}: ${line.progress}")
}
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/VampireSlayerFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/VampireSlayerFeatures.kt
index 994c371c2..f60517e4c 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/slayer/VampireSlayerFeatures.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/VampireSlayerFeatures.kt
@@ -56,8 +56,10 @@ object VampireSlayerFeatures {
private val entityList = mutableListOf<EntityLivingBase>()
private val taggedEntityList = mutableListOf<Int>()
private var standList = mapOf<EntityArmorStand, EntityOtherPlayerMP>()
+
// Nicked support
- private val username get() = EntityUtils.getEntities<EntityPlayerSP>().firstOrNull()?.name ?: error("own player is null")
+ private val username
+ get() = EntityUtils.getEntities<EntityPlayerSP>().firstOrNull()?.name ?: error("own player is null")
private val bloodIchorTexture =
"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzAzNDA5MjNhNmRlNDgyNWExNzY4MTNkMTMzNTAzZWZmMTg2ZGIwODk2ZTMyYjY3MDQ5MjhjMmEyYmY2ODQyMiJ9fX0="
private val killerSpringTexture =
@@ -70,15 +72,14 @@ object VampireSlayerFeatures {
if (!event.isMod(5)) return
val start = LocationUtils.playerLocation()
if (configOwnBoss.highlight || configOtherBoss.highlight || configCoopBoss.highlight) {
- EntityUtils.getEntities<EntityOtherPlayerMP>().forEach {
- val vec = it.position.toLorenzVec()
- val distance = start.distance(vec)
+ for (player in EntityUtils.getEntities<EntityOtherPlayerMP>()) {
+ val distance = start.distance(player.position.toLorenzVec())
if (distance <= 15)
- it.process()
+ player.process()
}
}
if (configBloodIchor.highlight || configKillerSpring.highlight) {
- EntityUtils.getEntities<EntityArmorStand>().forEach { stand ->
+ for (stand in EntityUtils.getEntities<EntityArmorStand>()) {
val vec = stand.position.toLorenzVec()
val distance = start.distance(vec)
val isIchor = stand.hasSkullTexture(bloodIchorTexture)
@@ -105,44 +106,42 @@ object VampireSlayerFeatures {
if (name != "Bloodfiend ") return
if (configOwnBoss.twinClawsTitle || configOtherBoss.twinClawsTitle || configCoopBoss.twinClawsTitle) {
- getAllNameTagsInRadiusWith("TWINCLAWS").forEach { stand ->
- if (".*(?:§(?:\\d|\\w))+TWINCLAWS (?:§(?:\\w|\\d))+[0-9.,]+s.*".toRegex().matches(stand.name)) {
- val coopList = configCoopBoss.coopMembers.split(",").toList()
- val containUser = getAllNameTagsInRadiusWith("Spawned by").any {
- it.name.contains(username)
- }
- val containCoop = getAllNameTagsInRadiusWith("Spawned by").any {
- coopList.isNotEmpty() && configCoopBoss.highlight && coopList.any { it2 ->
- var contain = false
- if (".*§(?:\\d|\\w)+Spawned by: §(?:\\d|\\w)(\\w*).*".toRegex().matches(it.name)) {
- val name = ".*§(?:\\d|\\w)+Spawned by: §(?:\\d|\\w)(\\w*)".toRegex()
- .find(it.name)?.groupValues?.get(1)
- contain = it2 == name
- }
- contain
+ for (stand in getAllNameTagsInRadiusWith("TWINCLAWS")) {
+ if (!".*(?:§(?:\\d|\\w))+TWINCLAWS (?:§(?:\\w|\\d))+[0-9.,]+s.*".toRegex().matches(stand.name)) continue
+ val coopList = configCoopBoss.coopMembers.split(",").toList()
+ val containUser = getAllNameTagsInRadiusWith("Spawned by").any {
+ it.name.contains(username)
+ }
+ val containCoop = getAllNameTagsInRadiusWith("Spawned by").any {
+ coopList.isNotEmpty() && configCoopBoss.highlight && coopList.any { it2 ->
+ var contain = false
+ if (".*§(?:\\d|\\w)+Spawned by: §(?:\\d|\\w)(\\w*).*".toRegex().matches(it.name)) {
+ val name = ".*§(?:\\d|\\w)+Spawned by: §(?:\\d|\\w)(\\w*)".toRegex()
+ .find(it.name)?.groupValues?.get(1)
+ contain = it2 == name
}
+ contain
}
- val shouldSendTitle =
- if (containUser && configOwnBoss.twinClawsTitle) true
- else if (containCoop && configCoopBoss.twinClawsTitle) true
- else taggedEntityList.contains(this.entityId) && configOtherBoss.twinClawsTitle
+ }
+ val shouldSendTitle =
+ if (containUser && configOwnBoss.twinClawsTitle) true
+ else if (containCoop && configCoopBoss.twinClawsTitle) true
+ else taggedEntityList.contains(this.entityId) && configOtherBoss.twinClawsTitle
- if (shouldSendTitle) {
- DelayedRun.runDelayed(config.twinclawsDelay.milliseconds) {
- if (nextClawSend < System.currentTimeMillis()) {
- LorenzUtils.sendTitle(
- "§6§lTWINCLAWS",
- (1750 - config.twinclawsDelay).milliseconds,
- 2.6
- )
- nextClawSend = System.currentTimeMillis() + 5_000
- }
- }
+ if (!shouldSendTitle) continue
+ DelayedRun.runDelayed(config.twinclawsDelay.milliseconds) {
+ if (nextClawSend < System.currentTimeMillis()) {
+ LorenzUtils.sendTitle(
+ "§6§lTWINCLAWS",
+ (1750 - config.twinclawsDelay).milliseconds,
+ 2.6
+ )
+ nextClawSend = System.currentTimeMillis() + 5_000
}
}
}
}
- getAllNameTagsInRadiusWith("Spawned by").forEach {
+ for (it in getAllNameTagsInRadiusWith("Spawned by")) {
val coopList = configCoopBoss.coopMembers.split(",").toList()
val containUser = it.name.contains(username)
val containCoop = coopList.isNotEmpty() && coopList.any { it2 ->
@@ -204,17 +203,18 @@ object VampireSlayerFeatures {
if (event.clickedEntity !is EntityOtherPlayerMP) return
if (!event.clickedEntity.isNPC()) return
val coopList = configCoopBoss.coopMembers.split(",").toList()
- event.clickedEntity.getAllNameTagsInRadiusWith("Spawned by").forEach {
+ val regexA = ".*§(?:\\d|\\w)+Spawned by: §(?:\\d|\\w)(\\w*).*".toRegex()
+ val regexB = ".*§(?:\\d|\\w)+Spawned by: §(?:\\d|\\w)(\\w*)".toRegex()
+ for (armorStand in event.clickedEntity.getAllNameTagsInRadiusWith("Spawned by")) {
val containCoop = coopList.isNotEmpty() && coopList.any { it2 ->
var contain = false
- if (".*§(?:\\d|\\w)+Spawned by: §(?:\\d|\\w)(\\w*).*".toRegex().matches(it.name)) {
- val name =
- ".*§(?:\\d|\\w)+Spawned by: §(?:\\d|\\w)(\\w*)".toRegex().find(it.name)?.groupValues?.get(1)
+ if (regexA.matches(armorStand.name)) {
+ val name = regexB.find(armorStand.name)?.groupValues?.get(1)
contain = it2 == name
}
contain
}
- if (it.name.contains(username) || containCoop) return
+ if (armorStand.name.contains(username) || containCoop) return
if (!taggedEntityList.contains(event.clickedEntity.entityId)) {
taggedEntityList.add(event.clickedEntity.entityId)
}
@@ -257,72 +257,68 @@ object VampireSlayerFeatures {
val start = LocationUtils.playerLocation()
if (config.drawLine) {
- Minecraft.getMinecraft().theWorld.loadedEntityList.filterIsInstance<EntityOtherPlayerMP>().forEach {
- if (it.isHighlighted()) {
- val vec = event.exactLocation(it)
- val distance = start.distance(vec)
- if (distance <= 15) {
- event.draw3DLine(
- event.exactPlayerEyeLocation(),
- vec.add(y = 1.54),
- config.lineColor.toChromaColor(),
- config.lineWidth,
- true
- )
- }
- }
+ for (it in Minecraft.getMinecraft().theWorld.loadedEntityList.filterIsInstance<EntityOtherPlayerMP>()) {
+ if (!it.isHighlighted()) continue
+ val vec = event.exactLocation(it)
+ val distance = start.distance(vec)
+ if (distance > 15) continue
+ event.draw3DLine(
+ event.exactPlayerEyeLocation(),
+ vec.add(y = 1.54),
+ config.lineColor.toChromaColor(),
+ config.lineWidth,
+ true
+ )
}
}
- if (configBloodIchor.highlight || configKillerSpring.highlight) {
- Minecraft.getMinecraft().theWorld.loadedEntityList.filterIsInstance<EntityArmorStand>().forEach { stand ->
- val vec = stand.position.toLorenzVec()
- val distance = start.distance(vec)
- val isIchor = stand.hasSkullTexture(bloodIchorTexture)
- val isSpring = stand.hasSkullTexture(killerSpringTexture)
- if ((isIchor && config.bloodIchor.highlight) || (isSpring && config.killerSpring.highlight)) {
- val color = (if (isIchor) configBloodIchor.color else configKillerSpring.color)
- .toChromaColor().withAlpha(config.withAlpha)
- if (distance <= 15) {
- RenderLivingEntityHelper.setEntityColor(
- stand,
- color
- ) { isEnabled() }
+ if (!configBloodIchor.highlight && !configKillerSpring.highlight) return
+ for (stand in Minecraft.getMinecraft().theWorld.loadedEntityList.filterIsInstance<EntityArmorStand>()) {
+ val vec = stand.position.toLorenzVec()
+ val distance = start.distance(vec)
+ val isIchor = stand.hasSkullTexture(bloodIchorTexture)
+ val isSpring = stand.hasSkullTexture(killerSpringTexture)
+ if (!(isIchor && config.bloodIchor.highlight) && !(isSpring && config.killerSpring.highlight)) continue
+ val color = (if (isIchor) configBloodIchor.color else configKillerSpring.color)
+ .toChromaColor().withAlpha(config.withAlpha)
+ if (distance <= 15) {
+ RenderLivingEntityHelper.setEntityColor(
+ stand,
+ color
+ ) { isEnabled() }
- val linesColorStart =
- (if (isIchor) configBloodIchor.linesColor else configKillerSpring.linesColor).toChromaColor()
- val text = if (isIchor) "§4Ichor" else "§4Spring"
- event.drawColor(
- stand.position.toLorenzVec().add(y = 2.0),
- LorenzColor.DARK_RED,
- alpha = 1f
- )
- event.drawDynamicText(
- stand.position.toLorenzVec().add(0.5, 2.5, 0.5),
- text,
- 1.5,
- ignoreBlocks = false
- )
- for ((player, stand2) in standList) {
- if ((configBloodIchor.showLines && isIchor) || (configKillerSpring.showLines && isSpring))
- event.draw3DLine(
- event.exactLocation(player).add(y = 1.5),
- event.exactLocation(stand2).add(y = 1.5),
- // stand2.position.toLorenzVec().add(0.0, 1.5, 0.0),
- linesColorStart,
- 3,
- true
- )
- }
- }
- if (configBloodIchor.renderBeam && isIchor && stand.isEntityAlive) {
- event.drawWaypointFilled(
- event.exactLocation(stand).add(0, y = -2, 0),
- configBloodIchor.color.toChromaColor(),
- beacon = true
+ val linesColorStart =
+ (if (isIchor) configBloodIchor.linesColor else configKillerSpring.linesColor).toChromaColor()
+ val text = if (isIchor) "§4Ichor" else "§4Spring"
+ event.drawColor(
+ stand.position.toLorenzVec().add(y = 2.0),
+ LorenzColor.DARK_RED,
+ alpha = 1f
+ )
+ event.drawDynamicText(
+ stand.position.toLorenzVec().add(0.5, 2.5, 0.5),
+ text,
+ 1.5,
+ ignoreBlocks = false
+ )
+ for ((player, stand2) in standList) {
+ if ((configBloodIchor.showLines && isIchor) || (configKillerSpring.showLines && isSpring))
+ event.draw3DLine(
+ event.exactLocation(player).add(y = 1.5),
+ event.exactLocation(stand2).add(y = 1.5),
+ // stand2.position.toLorenzVec().add(0.0, 1.5, 0.0),
+ linesColorStart,
+ 3,
+ true
)
- }
}
}
+ if (configBloodIchor.renderBeam && isIchor && stand.isEntityAlive) {
+ event.drawWaypointFilled(
+ event.exactLocation(stand).add(0, y = -2, 0),
+ configBloodIchor.color.toChromaColor(),
+ beacon = true
+ )
+ }
}
}
@@ -337,12 +333,11 @@ object VampireSlayerFeatures {
fun onReceiveParticle(event: ReceiveParticleEvent) {
if (!isEnabled()) return
val loc = event.location
- EntityUtils.getEntitiesNearby<EntityOtherPlayerMP>(loc, 3.0).forEach {
- if (it.isHighlighted() && event.type == EnumParticleTypes.ENCHANTMENT_TABLE) {
- EntityUtils.getEntitiesNearby<EntityArmorStand>(event.location, 3.0).forEach { stand ->
- if (stand.hasSkullTexture(killerSpringTexture) || stand.hasSkullTexture(bloodIchorTexture)) {
- standList = standList.editCopy { this[stand] = it }
- }
+ for (player in EntityUtils.getEntitiesNearby<EntityOtherPlayerMP>(loc, 3.0)) {
+ if (!player.isHighlighted() || event.type != EnumParticleTypes.ENCHANTMENT_TABLE) continue
+ for (stand in EntityUtils.getEntitiesNearby<EntityArmorStand>(event.location, 3.0)) {
+ if (stand.hasSkullTexture(killerSpringTexture) || stand.hasSkullTexture(bloodIchorTexture)) {
+ standList = standList.editCopy { this[stand] = player }
}
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerDaggerHelper.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerDaggerHelper.kt
index a07868d0e..8a5b5f727 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerDaggerHelper.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/blaze/BlazeSlayerDaggerHelper.kt
@@ -186,9 +186,9 @@ object BlazeSlayerDaggerHelper {
for (shield in HellionShield.entries) {
if (shield.formattedName + "§r" == event.title) {
- Dagger.entries.filter { shield in it.shields }.forEach {
- it.shields.forEach { shield -> shield.active = false }
- it.updated = true
+ for (dagger in Dagger.entries.filter { shield in it.shields }) {
+ dagger.shields.forEach { it.active = false }
+ dagger.updated = true
}
shield.active = true
event.cancel()
diff --git a/src/main/java/at/hannibal2/skyhanni/features/slayer/enderman/EndermanSlayerFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/slayer/enderman/EndermanSlayerFeatures.kt
index 1643f0f9a..c59747c09 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/slayer/enderman/EndermanSlayerFeatures.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/slayer/enderman/EndermanSlayerFeatures.kt
@@ -106,8 +106,9 @@ object EndermanSlayerFeatures {
if (beaconConfig.highlightBeacon) {
endermenWithBeacons.removeIf { it.isDead || !hasBeaconInHand(it) }
- endermenWithBeacons.map { it.getLorenzVec().add(-0.5, 0.2, -0.5) }
- .forEach { event.drawColor(it, beaconConfig.beaconColor.toChromaColor(), alpha = 0.5f) }
+ for (location in endermenWithBeacons.map { it.getLorenzVec().add(-0.5, 0.2, -0.5) }) {
+ event.drawColor(location, beaconConfig.beaconColor.toChromaColor(), alpha = 0.5f)
+ }
}
for ((location, time) in sittingBeacon) {
diff --git a/src/main/java/at/hannibal2/skyhanni/features/summonings/SummoningMobManager.kt b/src/main/java/at/hannibal2/skyhanni/features/summonings/SummoningMobManager.kt
index 8bea95eb4..8194e7b6d 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/summonings/SummoningMobManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/summonings/SummoningMobManager.kt
@@ -98,33 +98,32 @@ object SummoningMobManager {
}
if (searchArmorStands) {
- EntityUtils.getEntities<EntityArmorStand>().filter { it !in summoningMobNametags }
- .forEach {
- val name = it.displayName.unformattedText
- healthPattern.matchMatcher(name) {
- val playerName = LorenzUtils.getPlayerName()
- if (name.contains(playerName)) {
- summoningMobNametags.add(it)
- if (summoningMobNametags.size == summoningsSpawned) {
- searchArmorStands = false
- }
+ for (it in EntityUtils.getEntities<EntityArmorStand>().filter { it !in summoningMobNametags }) {
+ val name = it.displayName.unformattedText
+ healthPattern.matchMatcher(name) {
+ val playerName = LorenzUtils.getPlayerName()
+ if (name.contains(playerName)) {
+ summoningMobNametags.add(it)
+ if (summoningMobNametags.size == summoningsSpawned) {
+ searchArmorStands = false
}
}
}
+ }
}
- if (searchMobs) {
- val playerLocation = LocationUtils.playerLocation()
- EntityUtils.getEntities<EntityLiving>().filter {
- it !in summoningMobs.keys && it.getLorenzVec()
- .distance(playerLocation) < 10 && it.ticksExisted < 2
- }.forEach {
- summoningMobs[it] = SummoningMob(System.currentTimeMillis(), name = "Mob")
- it.setColor(LorenzColor.GREEN)
- updateData()
- if (summoningMobs.size == summoningsSpawned) {
- searchMobs = false
- }
+ if (!searchMobs) return
+ val playerLocation = LocationUtils.playerLocation()
+ val list = EntityUtils.getEntities<EntityLiving>().filter {
+ it !in summoningMobs.keys && it.getLorenzVec()
+ .distance(playerLocation) < 10 && it.ticksExisted < 2
+ }
+ for (entity in list) {
+ summoningMobs[entity] = SummoningMob(System.currentTimeMillis(), name = "Mob")
+ entity.setColor(LorenzColor.GREEN)
+ updateData()
+ if (summoningMobs.size == summoningsSpawned) {
+ searchMobs = false
}
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/test/PacketTest.kt b/src/main/java/at/hannibal2/skyhanni/test/PacketTest.kt
index 033f71999..99dd9fcbf 100644
--- a/src/main/java/at/hannibal2/skyhanni/test/PacketTest.kt
+++ b/src/main/java/at/hannibal2/skyhanni/test/PacketTest.kt
@@ -59,9 +59,7 @@ object PacketTest {
private fun sendEntityPacketData(id: Int) {
ChatUtils.chat("Packet Entity Data: $id")
- entityMap[id]?.forEach {
- it.print()
- }
+ entityMap[id]?.forEach { it.print() }
println("End of Data")
}
diff --git a/src/main/java/at/hannibal2/skyhanni/test/command/TrackSoundsCommand.kt b/src/main/java/at/hannibal2/skyhanni/test/command/TrackSoundsCommand.kt
index b5913c210..fdbb7c285 100644
--- a/src/main/java/at/hannibal2/skyhanni/test/command/TrackSoundsCommand.kt
+++ b/src/main/java/at/hannibal2/skyhanni/test/command/TrackSoundsCommand.kt
@@ -104,7 +104,7 @@ object TrackSoundsCommand {
@SubscribeEvent
fun onWorldRender(event: LorenzRenderWorldEvent) {
if (cutOffTime.isInPast()) return
- worldSounds.forEach { (key, value) ->
+ for ((key, value) in worldSounds) {
if (value.size != 1) {
event.drawDynamicText(key, "§e${value.size} sounds", 0.8)
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/ComponentMatcherUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/ComponentMatcherUtils.kt
index 9faa3cd74..f332cc05e 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/ComponentMatcherUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/ComponentMatcherUtils.kt
@@ -249,9 +249,9 @@ class ComponentSpan internal constructor(
fun intoComponent(): IChatComponent {
val parent = ChatComponentText("")
parent.chatStyle = ChatStyle()
- sampleSlicedComponents().forEach {
- val copy = ChatComponentText(it.first.unformattedTextForChat.substring(it.second, it.third))
- copy.chatStyle = it.first.chatStyle.createDeepCopy()
+ for ((component, start, end) in sampleSlicedComponents()) {
+ val copy = ChatComponentText(component.unformattedTextForChat.substring(start, end))
+ copy.chatStyle = component.chatStyle.createDeepCopy()
parent.appendSibling(copy)
}
return parent
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/KSerializable.kt b/src/main/java/at/hannibal2/skyhanni/utils/KSerializable.kt
index 5b80dc8b3..ad90ff863 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/KSerializable.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/KSerializable.kt
@@ -68,13 +68,13 @@ class KotlinTypeAdapterFactory : TypeAdapterFactory {
return
}
out.beginObject()
- parameterInfos.forEach { (name, paramInfo) ->
+ for ((name, paramInfo) in parameterInfos) {
out.name(name)
paramInfo.adapter.write(out, paramInfo.field.get(value))
}
if (extraDataParam != null) {
val extraData = extraDataParam.second.get(value)
- extraData.forEach { (extraName, extraValue) ->
+ for ((extraName, extraValue) in extraData) {
out.name(extraName)
jsonElementAdapter.write(out, extraValue)
}
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt
index 3d67f9de6..e322b5ae3 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/LocationUtils.kt
@@ -79,7 +79,7 @@ object LocationUtils {
var maxY = this.maxY
var maxZ = this.maxZ
- aabbs.forEach { aabb ->
+ for (aabb in aabbs) {
if (aabb.minX < minX) minX = aabb.minX
if (aabb.minY < minY) minY = aabb.minY
if (aabb.minZ < minZ) minZ = aabb.minZ
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/json/FeatureTogglesByDefaultAdapter.kt b/src/main/java/at/hannibal2/skyhanni/utils/json/FeatureTogglesByDefaultAdapter.kt
index bcc9c2edf..67dc2420c 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/json/FeatureTogglesByDefaultAdapter.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/json/FeatureTogglesByDefaultAdapter.kt
@@ -38,13 +38,13 @@ object FeatureTogglesByDefaultAdapter : TypeAdapterFactory {
val obj = clazz.newInstance()
// Overwrite the default with true (or false) for feature toggles
- clazz.fields.forEach {
- val featureToggle = it.getAnnotation(FeatureToggle::class.java)
- val adapt = gson.getAdapter(TypeToken.get(getType(type, it)))
+ for (field in clazz.fields) {
+ val featureToggle = field.getAnnotation(FeatureToggle::class.java)
+ val adapt = gson.getAdapter(TypeToken.get(getType(type, field)))
if (featureToggle != null)
- it.set(obj, adapt.read(JsonTreeReader(JsonPrimitive(featureToggle.trueIsEnabled))))
+ field.set(obj, adapt.read(JsonTreeReader(JsonPrimitive(featureToggle.trueIsEnabled))))
if (adapt is Adapter) {
- it.set(obj, adapt.read(JsonTreeReader(JsonObject())))
+ field.set(obj, adapt.read(JsonTreeReader(JsonObject())))
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
index 870a3a2f2..6079f79d5 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/renderables/Renderable.kt
@@ -501,8 +501,8 @@ interface Renderable {
val emptySpaceY = if (useEmptySpace) 0 else yPadding
override fun render(posX: Int, posY: Int) {
- content.forEachIndexed { rowIndex, row ->
- row.forEachIndexed { index, renderable ->
+ for ((rowIndex, row) in content.withIndex()) {
+ for ((index, renderable) in row.withIndex()) {
GlStateManager.pushMatrix()
GlStateManager.translate(xOffsets[index].toFloat(), yOffsets[rowIndex].toFloat(), 0F)
renderable?.renderXYAligned(
@@ -747,20 +747,20 @@ interface Renderable {
var renderY = 0
var virtualY = 0
var found = false
- list.forEach {
- if ((virtualY..virtualY + it.height) in scroll.asInt()..end) {
- it.renderXAligned(posX, posY + renderY, width)
- GlStateManager.translate(0f, it.height.toFloat(), 0f)
- renderY += it.height
+ for (renderable in list) {
+ if ((virtualY..virtualY + renderable.height) in scroll.asInt()..end) {
+ renderable.renderXAligned(posX, posY + renderY, width)
+ GlStateManager.translate(0f, renderable.height.toFloat(), 0f)
+ renderY += renderable.height
found = true
} else if (found) {
found = false
- if (renderY + it.height <= height) {
- it.renderXAligned(posX, posY + renderY, width)
+ if (renderY + renderable.height <= height) {
+ renderable.renderXAligned(posX, posY + renderY, width)
}
- return@forEach
+ continue
}
- virtualY += it.height
+ virtualY += renderable.height
}
GlStateManager.translate(0f, -renderY.toFloat(), 0f)
}
@@ -807,7 +807,7 @@ interface Renderable {
var renderY = 0
if (hasHeader) {
- content[0].forEachIndexed { index, renderable ->
+ for ((index, renderable) in content[0].withIndex()) {
GlStateManager.translate(xOffsets[index].toFloat(), 0f, 0f)
renderable?.renderXYAligned(
posX + xOffsets[index],
@@ -834,7 +834,7 @@ interface Renderable {
}
for (rowIndex in range2) {
- content[rowIndex].forEachIndexed { index, renderable ->
+ for ((index, renderable) in content[rowIndex].withIndex()) {
GlStateManager.translate(xOffsets[index].toFloat(), 0f, 0f)
renderable?.renderXYAligned(
posX + xOffsets[index],