Add current pet highlighter
This commit is contained in:
@@ -21,6 +21,7 @@ import moe.nea.firmament.features.fixes.CompatibliltyFeatures
|
||||
import moe.nea.firmament.features.fixes.Fixes
|
||||
import moe.nea.firmament.features.inventory.CraftingOverlay
|
||||
import moe.nea.firmament.features.inventory.ItemRarityCosmetics
|
||||
import moe.nea.firmament.features.inventory.PetFeatures
|
||||
import moe.nea.firmament.features.inventory.PriceData
|
||||
import moe.nea.firmament.features.inventory.SaveCursorPosition
|
||||
import moe.nea.firmament.features.inventory.SlotLocking
|
||||
@@ -67,6 +68,7 @@ object FeatureManager : DataHolder<FeatureManager.Config>(serializer(), "feature
|
||||
loadFeature(CompatibliltyFeatures)
|
||||
loadFeature(AnniversaryFeatures)
|
||||
loadFeature(QuickCommands)
|
||||
loadFeature(PetFeatures)
|
||||
loadFeature(SaveCursorPosition)
|
||||
loadFeature(CustomSkyBlockTextures)
|
||||
loadFeature(PriceData)
|
||||
|
||||
40
src/main/kotlin/features/inventory/PetFeatures.kt
Normal file
40
src/main/kotlin/features/inventory/PetFeatures.kt
Normal file
@@ -0,0 +1,40 @@
|
||||
package moe.nea.firmament.features.inventory
|
||||
|
||||
import net.minecraft.util.Identifier
|
||||
import moe.nea.firmament.annotations.Subscribe
|
||||
import moe.nea.firmament.events.SlotRenderEvents
|
||||
import moe.nea.firmament.features.FirmamentFeature
|
||||
import moe.nea.firmament.gui.config.ManagedConfig
|
||||
import moe.nea.firmament.util.MC
|
||||
import moe.nea.firmament.util.petData
|
||||
import moe.nea.firmament.util.unformattedString
|
||||
import moe.nea.firmament.util.useMatch
|
||||
|
||||
object PetFeatures : FirmamentFeature {
|
||||
override val identifier: String
|
||||
get() = "pets"
|
||||
|
||||
override val config: ManagedConfig?
|
||||
get() = TConfig
|
||||
|
||||
object TConfig : ManagedConfig(identifier) {
|
||||
val highlightEquippedPet by toggle("highlight-pet") { true }
|
||||
}
|
||||
|
||||
val petMenuTitle = "Pets(?: \\([0-9]+/[0-9]+\\))?".toPattern()
|
||||
|
||||
@Subscribe
|
||||
fun onSlotRender(event: SlotRenderEvents.Before) {
|
||||
if (!TConfig.highlightEquippedPet) return
|
||||
val stack = event.slot.stack
|
||||
if (stack.petData?.active == true)
|
||||
petMenuTitle.useMatch(MC.screenName ?: return) {
|
||||
event.context.drawSprite(
|
||||
event.slot.x, event.slot.y, 0, 16, 16,
|
||||
MC.guiAtlasManager.getSprite(Identifier.of("firmament:selected_pet_background"))
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user