diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java b/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java index 1a432301ae..9de63d76ec 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorph.java @@ -26,12 +26,14 @@ package net.runelite.client.plugins.tmorph; import com.google.inject.Provides; import javax.inject.Inject; import javax.inject.Singleton; +import net.runelite.api.Actor; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.Player; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameTick; +import net.runelite.api.events.SpotAnimationChanged; import net.runelite.api.kit.KitType; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; @@ -61,65 +63,68 @@ public class TMorph extends Plugin private EventBus eventBus; private boolean mageSwap; - private boolean rangeSwap; private boolean meleeSwap; + private boolean rangeSwap; + private int animation; + private int bodyMage; + private int bodyMelee; + private int bodyRange; + private int bootsMage; + private int bootsMelee; + private int bootsRange; + private int capeMage; + private int capeMelee; + private int capeRange; private int globalAnimSwap; - private int animationSwap; - private int animationTarget; - private int MainhandMage; - private int targetMainhandMage; - private int OffhandMage; - private int targetOffhandMage; - private int HelmetMage; - private int targetHelmetMage; - private int CapeMage; - private int targetCapeMage; - private int NeckMage; - private int targetNeckMage; - private int BodyMage; + private int globalGraphicSwap; + private int glovesMage; + private int glovesMelee; + private int glovesRange; + private int graphic; + private int helmetMage; + private int helmetMelee; + private int helmetRange; + private int legsMage; + private int legsMelee; + private int legsRange; + private int mainhandMage; + private int mainhandMelee; + private int mainhandRange; + private int neckMage; + private int neckMelee; + private int neckRange; + private int offhandMage; + private int offhandMelee; + private int offhandRange; + private int targetAnimation; private int targetBodyMage; - private int LegsMage; - private int targetLegsMage; - private int BootsMage; - private int targetBootsMage; - private int GlovesMage; - private int targetGlovesMage; - private int MainhandRange; - private int targetMainhandRange; - private int OffhandRange; - private int targetOffhandRange; - private int HelmetRange; - private int targetHelmetRange; - private int CapeRange; - private int targetCapeRange; - private int NeckRange; - private int targetNeckRange; - private int BodyRange; - private int targetBodyRange; - private int LegsRange; - private int targetLegsRange; - private int BootsRange; - private int targetBootsRange; - private int GlovesRange; - private int targetGlovesRange; - private int MainhandMelee; - private int targetMainhandMelee; - private int OffhandMelee; - private int targetOffhandMelee; - private int HelmetMelee; - private int targetHelmetMelee; - private int CapeMelee; - private int targetCapeMelee; - private int NeckMelee; - private int targetNeckMelee; - private int BodyMelee; private int targetBodyMelee; - private int LegsMelee; - private int targetLegsMelee; - private int BootsMelee; + private int targetBodyRange; + private int targetBootsMage; private int targetBootsMelee; - private int GlovesMelee; + private int targetBootsRange; + private int targetCapeMage; + private int targetCapeMelee; + private int targetCapeRange; + private int targetGlovesMage; private int targetGlovesMelee; + private int targetGlovesRange; + private int targetGraphic; + private int targetHelmetMage; + private int targetHelmetMelee; + private int targetHelmetRange; + private int targetLegsMage; + private int targetLegsMelee; + private int targetLegsRange; + private int targetMainhandMage; + private int targetMainhandMelee; + private int targetMainhandRange; + private int targetNeckMage; + private int targetNeckMelee; + private int targetNeckRange; + private int targetOffhandMage; + private int targetOffhandMelee; + private int targetOffhandRange; @Provides TMorphConfig provideConfig(ConfigManager configManager) @@ -145,6 +150,7 @@ public class TMorph extends Plugin eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged); eventBus.subscribe(AnimationChanged.class, this, this::onAnimationChanged); eventBus.subscribe(GameTick.class, this, this::onGameTick); + eventBus.subscribe(SpotAnimationChanged.class, this, this::onSpotAnimationChanged); } private void onConfigChanged(ConfigChanged event) @@ -155,20 +161,46 @@ public class TMorph extends Plugin } } - private void onAnimationChanged(AnimationChanged event) + private void onSpotAnimationChanged(SpotAnimationChanged event) { - if (this.animationTarget <= 0 && this.animationSwap <= 0 && this.globalAnimSwap > 0) + final Actor actor = event.getActor(); + + if (actor.getSpotAnimation() == -1) { - if (event.getActor().getAnimation() != -1) + return; + } + + if (this.graphic <= 0 && this.targetGraphic <= 0 && this.globalGraphicSwap > 0) + { + actor.setSpotAnimation(this.globalGraphicSwap); + } + if (this.graphic > 0 && this.targetGraphic > 0) + { + if (actor.getSpotAnimation() == this.targetGraphic) { - event.getActor().setAnimation(this.globalAnimSwap); + actor.setSpotAnimation(this.graphic); } } - if (this.animationTarget > 0 && this.animationSwap > 0) + } + + private void onAnimationChanged(AnimationChanged event) + { + final Actor actor = event.getActor(); + + if (actor.getAnimation() != -1) { - if (event.getActor().getAnimation() == this.animationTarget) + return; + } + + if (this.targetAnimation <= 0 && this.animation <= 0 && this.globalAnimSwap > 0) + { + actor.setAnimation(this.globalAnimSwap); + } + if (this.targetAnimation > 0 && this.animation > 0) + { + if (actor.getAnimation() == this.targetAnimation) { - event.getActor().setAnimation(this.animationSwap); + actor.setAnimation(this.animation); } } } @@ -179,6 +211,7 @@ public class TMorph extends Plugin { return; } + updateEquip(); } @@ -215,279 +248,279 @@ public class TMorph extends Plugin if (this.mageSwap) { - if (this.MainhandMage > 0) + if (this.mainhandMage > 0) { if (this.targetMainhandMage > 0) { if (mainhandID == this.targetMainhandMage) { - player.getPlayerAppearance().getEquipmentIds()[KitType.WEAPON.getIndex()] = this.MainhandMage + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.WEAPON.getIndex()] = this.mainhandMage + 512; } } } - if (this.OffhandMage > 0) + if (this.offhandMage > 0) { if (this.targetOffhandMage > 0) { if (offhandID == this.targetOffhandMage) { - player.getPlayerAppearance().getEquipmentIds()[KitType.SHIELD.getIndex()] = this.OffhandMage + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.SHIELD.getIndex()] = this.offhandMage + 512; } } } - if (this.HelmetMage > 0) + if (this.helmetMage > 0) { if (this.targetHelmetMage > 0) { if (helmetID == this.targetHelmetMage) { - player.getPlayerAppearance().getEquipmentIds()[KitType.HELMET.getIndex()] = this.HelmetMage + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.HELMET.getIndex()] = this.helmetMage + 512; } } } - if (this.CapeMage > 0) + if (this.capeMage > 0) { if (this.targetCapeMage > 0) { if (capeID == this.targetCapeMage) { - player.getPlayerAppearance().getEquipmentIds()[KitType.CAPE.getIndex()] = this.CapeMage + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.CAPE.getIndex()] = this.capeMage + 512; } } } - if (this.NeckMage > 0) + if (this.neckMage > 0) { if (this.targetNeckMage > 0) { if (neckID == this.targetNeckMage) { - player.getPlayerAppearance().getEquipmentIds()[KitType.AMULET.getIndex()] = this.NeckMage + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.AMULET.getIndex()] = this.neckMage + 512; } } } - if (this.BodyMage > 0) + if (this.bodyMage > 0) { if (this.targetBodyMage > 0) { if (bodyID == this.targetBodyMage) { - player.getPlayerAppearance().getEquipmentIds()[KitType.TORSO.getIndex()] = this.BodyMage + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.TORSO.getIndex()] = this.bodyMage + 512; } } } - if (this.LegsMage > 0) + if (this.legsMage > 0) { if (this.targetLegsMage > 0) { if (legsID == this.targetLegsMage) { - player.getPlayerAppearance().getEquipmentIds()[KitType.LEGS.getIndex()] = this.LegsMage + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.LEGS.getIndex()] = this.legsMage + 512; } } } - if (this.BootsMage > 0) + if (this.bootsMage > 0) { if (this.targetBootsMage > 0) { if (bootsID == this.targetBootsMage) { - player.getPlayerAppearance().getEquipmentIds()[KitType.BOOTS.getIndex()] = this.BootsMage + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.BOOTS.getIndex()] = this.bootsMage + 512; } } } - if (this.GlovesMage > 0) + if (this.glovesMage > 0) { if (this.targetGlovesMage > 0) { if (glovesID == this.targetGlovesMage) { - player.getPlayerAppearance().getEquipmentIds()[KitType.HANDS.getIndex()] = this.GlovesMage + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.HANDS.getIndex()] = this.glovesMage + 512; } } } } if (this.rangeSwap) { - if (this.MainhandRange > 0) + if (this.mainhandRange > 0) { if (this.targetMainhandRange > 0) { if (mainhandID == this.targetMainhandRange) { - player.getPlayerAppearance().getEquipmentIds()[KitType.WEAPON.getIndex()] = this.MainhandRange + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.WEAPON.getIndex()] = this.mainhandRange + 512; } } } - if (this.OffhandRange > 0) + if (this.offhandRange > 0) { if (this.targetOffhandRange > 0) { if (offhandID == this.targetOffhandRange) { - player.getPlayerAppearance().getEquipmentIds()[KitType.SHIELD.getIndex()] = this.OffhandRange + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.SHIELD.getIndex()] = this.offhandRange + 512; } } } - if (this.HelmetRange > 0) + if (this.helmetRange > 0) { if (this.targetHelmetRange > 0) { if (helmetID == this.targetHelmetRange) { - player.getPlayerAppearance().getEquipmentIds()[KitType.HELMET.getIndex()] = this.HelmetRange + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.HELMET.getIndex()] = this.helmetRange + 512; } } } - if (this.CapeRange > 0) + if (this.capeRange > 0) { if (this.targetCapeRange > 0) { if (capeID == this.targetCapeRange) { - player.getPlayerAppearance().getEquipmentIds()[KitType.CAPE.getIndex()] = this.CapeRange + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.CAPE.getIndex()] = this.capeRange + 512; } } } - if (this.NeckRange > 0) + if (this.neckRange > 0) { if (this.targetNeckRange > 0) { if (neckID == this.targetNeckRange) { - player.getPlayerAppearance().getEquipmentIds()[KitType.AMULET.getIndex()] = this.NeckRange + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.AMULET.getIndex()] = this.neckRange + 512; } } } - if (this.BodyRange > 0) + if (this.bodyRange > 0) { if (this.targetBodyRange > 0) { if (bodyID == this.targetBodyRange) { - player.getPlayerAppearance().getEquipmentIds()[KitType.TORSO.getIndex()] = this.BodyRange + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.TORSO.getIndex()] = this.bodyRange + 512; } } } - if (this.LegsRange > 0) + if (this.legsRange > 0) { if (this.targetLegsRange > 0) { if (legsID == this.targetLegsRange) { - player.getPlayerAppearance().getEquipmentIds()[KitType.LEGS.getIndex()] = this.LegsRange + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.LEGS.getIndex()] = this.legsRange + 512; } } } - if (this.BootsRange > 0) + if (this.bootsRange > 0) { if (this.targetBootsRange > 0) { if (bootsID == this.targetBootsRange) { - player.getPlayerAppearance().getEquipmentIds()[KitType.BOOTS.getIndex()] = this.BootsRange + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.BOOTS.getIndex()] = this.bootsRange + 512; } } } - if (this.GlovesRange > 0) + if (this.glovesRange > 0) { if (this.targetGlovesRange > 0) { if (glovesID == this.targetGlovesRange) { - player.getPlayerAppearance().getEquipmentIds()[KitType.HANDS.getIndex()] = this.GlovesRange + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.HANDS.getIndex()] = this.glovesRange + 512; } } } } if (this.meleeSwap) { - if (this.MainhandMelee > 0) + if (this.mainhandMelee > 0) { if (this.targetMainhandMelee > 0) { if (mainhandID == this.targetMainhandMelee) { - player.getPlayerAppearance().getEquipmentIds()[KitType.WEAPON.getIndex()] = this.MainhandMelee + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.WEAPON.getIndex()] = this.mainhandMelee + 512; } } } - if (this.OffhandMelee > 0) + if (this.offhandMelee > 0) { if (this.targetOffhandMelee > 0) { if (offhandID == this.targetOffhandMelee) { - player.getPlayerAppearance().getEquipmentIds()[KitType.SHIELD.getIndex()] = this.OffhandMelee + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.SHIELD.getIndex()] = this.offhandMelee + 512; } } } - if (this.HelmetMelee > 0) + if (this.helmetMelee > 0) { if (this.targetHelmetMelee > 0) { if (helmetID == this.targetHelmetMelee) { - player.getPlayerAppearance().getEquipmentIds()[KitType.HELMET.getIndex()] = this.HelmetMelee + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.HELMET.getIndex()] = this.helmetMelee + 512; } } } - if (this.CapeMelee > 0) + if (this.capeMelee > 0) { if (this.targetCapeMelee > 0) { if (capeID == this.targetCapeMelee) { - player.getPlayerAppearance().getEquipmentIds()[KitType.CAPE.getIndex()] = this.CapeMelee + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.CAPE.getIndex()] = this.capeMelee + 512; } } } - if (this.NeckMelee > 0) + if (this.neckMelee > 0) { if (this.targetNeckMelee > 0) { if (neckID == this.targetNeckMelee) { - player.getPlayerAppearance().getEquipmentIds()[KitType.AMULET.getIndex()] = this.NeckMelee + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.AMULET.getIndex()] = this.neckMelee + 512; } } } - if (this.BodyMelee > 0) + if (this.bodyMelee > 0) { if (this.targetBodyMelee > 0) { if (bodyID == this.targetBodyMelee) { - player.getPlayerAppearance().getEquipmentIds()[KitType.TORSO.getIndex()] = this.BodyMelee + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.TORSO.getIndex()] = this.bodyMelee + 512; } } } - if (this.LegsMelee > 0) + if (this.legsMelee > 0) { if (this.targetLegsMelee > 0) { if (legsID == this.targetLegsMelee) { - player.getPlayerAppearance().getEquipmentIds()[KitType.LEGS.getIndex()] = this.LegsMelee + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.LEGS.getIndex()] = this.legsMelee + 512; } } } - if (this.BootsMelee > 0) + if (this.bootsMelee > 0) { if (this.targetBootsMelee > 0) { if (bootsID == this.targetBootsMelee) { - player.getPlayerAppearance().getEquipmentIds()[KitType.BOOTS.getIndex()] = this.BootsMelee + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.BOOTS.getIndex()] = this.bootsMelee + 512; } } } - if (this.GlovesMelee > 0) + if (this.glovesMelee > 0) { if (this.targetGlovesMelee > 0) { if (glovesID == this.targetGlovesMelee) { - player.getPlayerAppearance().getEquipmentIds()[KitType.HANDS.getIndex()] = this.GlovesMelee + 512; + player.getPlayerAppearance().getEquipmentIds()[KitType.HANDS.getIndex()] = this.glovesMelee + 512; } } } @@ -497,65 +530,68 @@ public class TMorph extends Plugin private void updateConfig() { - this.mageSwap = config.mageSwap(); - this.rangeSwap = config.rangeSwap(); - this.meleeSwap = config.meleeSwap(); + this.animation = config.animationSwap(); + this.bodyMage = config.BodyMage(); + this.bodyMelee = config.BodyMelee(); + this.bodyRange = config.BodyRange(); + this.bootsMage = config.BootsMage(); + this.bootsMelee = config.BootsMelee(); + this.bootsRange = config.BootsRange(); + this.capeMage = config.CapeMage(); + this.capeMelee = config.CapeMelee(); + this.capeRange = config.CapeRange(); this.globalAnimSwap = config.globalAnimSwap(); - this.animationSwap = config.animationSwap(); - this.animationTarget = config.animationTarget(); - this.MainhandMage = config.MainhandMage(); - this.targetMainhandMage = config.targetMainhandMage(); - this.OffhandMage = config.OffhandMage(); - this.targetOffhandMage = config.targetOffhandMage(); - this.HelmetMage = config.HelmetMage(); - this.targetHelmetMage = config.targetHelmetMage(); - this.CapeMage = config.CapeMage(); - this.targetCapeMage = config.targetCapeMage(); - this.NeckMage = config.NeckMage(); - this.targetNeckMage = config.targetNeckMage(); - this.BodyMage = config.BodyMage(); + this.globalGraphicSwap = config.globalGraphicSwap(); + this.glovesMage = config.GlovesMage(); + this.glovesMelee = config.GlovesMelee(); + this.glovesRange = config.GlovesRange(); + this.graphic = config.graphicSwap(); + this.helmetMage = config.HelmetMage(); + this.helmetMelee = config.HelmetMelee(); + this.helmetRange = config.HelmetRange(); + this.legsMage = config.LegsMage(); + this.legsMelee = config.LegsMelee(); + this.legsRange = config.LegsRange(); + this.mageSwap = config.mageSwap(); + this.mainhandMage = config.MainhandMage(); + this.mainhandMelee = config.MainhandMelee(); + this.mainhandRange = config.MainhandRange(); + this.meleeSwap = config.meleeSwap(); + this.neckMage = config.NeckMage(); + this.neckMelee = config.NeckMelee(); + this.neckRange = config.NeckRange(); + this.offhandMage = config.OffhandMage(); + this.offhandMelee = config.OffhandMelee(); + this.offhandRange = config.OffhandRange(); + this.rangeSwap = config.rangeSwap(); + this.targetAnimation = config.animationTarget(); this.targetBodyMage = config.targetBodyMage(); - this.LegsMage = config.LegsMage(); - this.targetLegsMage = config.targetLegsMage(); - this.BootsMage = config.BootsMage(); - this.targetBootsMage = config.targetBootsMage(); - this.GlovesMage = config.GlovesMage(); - this.targetGlovesMage = config.targetGlovesMage(); - this.MainhandRange = config.MainhandRange(); - this.targetMainhandRange = config.targetMainhandRange(); - this.OffhandRange = config.OffhandRange(); - this.targetOffhandRange = config.targetOffhandRange(); - this.HelmetRange = config.HelmetRange(); - this.targetHelmetRange = config.targetHelmetRange(); - this.CapeRange = config.CapeRange(); - this.targetCapeRange = config.targetCapeRange(); - this.NeckRange = config.NeckRange(); - this.targetNeckRange = config.targetNeckRange(); - this.BodyRange = config.BodyRange(); - this.targetBodyRange = config.targetBodyRange(); - this.LegsRange = config.LegsRange(); - this.targetLegsRange = config.targetLegsRange(); - this.BootsRange = config.BootsRange(); - this.targetBootsRange = config.targetBootsRange(); - this.GlovesRange = config.GlovesRange(); - this.targetGlovesRange = config.targetGlovesRange(); - this.MainhandMelee = config.MainhandMelee(); - this.targetMainhandMelee = config.targetMainhandMelee(); - this.OffhandMelee = config.OffhandMelee(); - this.targetOffhandMelee = config.targetOffhandMelee(); - this.HelmetMelee = config.HelmetMelee(); - this.targetHelmetMelee = config.targetHelmetMelee(); - this.CapeMelee = config.CapeMelee(); - this.targetCapeMelee = config.targetCapeMelee(); - this.NeckMelee = config.NeckMelee(); - this.targetNeckMelee = config.targetNeckMelee(); - this.BodyMelee = config.BodyMelee(); this.targetBodyMelee = config.targetBodyMelee(); - this.LegsMelee = config.LegsMelee(); - this.targetLegsMelee = config.targetLegsMelee(); - this.BootsMelee = config.BootsMelee(); + this.targetBodyRange = config.targetBodyRange(); + this.targetBootsMage = config.targetBootsMage(); this.targetBootsMelee = config.targetBootsMelee(); - this.GlovesMelee = config.GlovesMelee(); + this.targetBootsRange = config.targetBootsRange(); + this.targetCapeMage = config.targetCapeMage(); + this.targetCapeMelee = config.targetCapeMelee(); + this.targetCapeRange = config.targetCapeRange(); + this.targetGlovesMage = config.targetGlovesMage(); this.targetGlovesMelee = config.targetGlovesMelee(); + this.targetGlovesRange = config.targetGlovesRange(); + this.targetGraphic = config.graphicTarget(); + this.targetHelmetMage = config.targetHelmetMage(); + this.targetHelmetMelee = config.targetHelmetMelee(); + this.targetHelmetRange = config.targetHelmetRange(); + this.targetLegsMage = config.targetLegsMage(); + this.targetLegsMelee = config.targetLegsMelee(); + this.targetLegsRange = config.targetLegsRange(); + this.targetMainhandMage = config.targetMainhandMage(); + this.targetMainhandMelee = config.targetMainhandMelee(); + this.targetMainhandRange = config.targetMainhandRange(); + this.targetNeckMage = config.targetNeckMage(); + this.targetNeckMelee = config.targetNeckMelee(); + this.targetNeckRange = config.targetNeckRange(); + this.targetOffhandMage = config.targetOffhandMage(); + this.targetOffhandMelee = config.targetOffhandMelee(); + this.targetOffhandRange = config.targetOffhandRange(); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorphConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorphConfig.java index 0a98083407..a06b6da96b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorphConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tmorph/TMorphConfig.java @@ -96,7 +96,6 @@ public interface TMorphConfig extends Config keyName = "globalAnimSwap", name = "Global Animation Swap", description = "DO NOT USE WITH ANIMATION SWAP BELOW", - group = "Experimental Functions", hidden = true, unhide = "experimentalFunctions" @@ -132,6 +131,45 @@ public interface TMorphConfig extends Config return 0; } + @ConfigItem( + keyName = "globalGraphicSwap", + name = "Global Graphic Swap", + description = "DO NOT USE WITH GRAPHIC SWAP BELOW", + group = "Experimental Functions", + hidden = true, + unhide = "experimentalFunctions" + ) + default int globalGraphicSwap() + { + return 0; + } + + @ConfigItem( + keyName = "graphicSwap", + name = "Graphic Swap", + description = "ID", + group = "Experimental Functions", + hidden = true, + unhide = "experimentalFunctions" + ) + default int graphicSwap() + { + return 0; + } + + @ConfigItem( + keyName = "graphicTarget", + name = "Graphic Target", + description = "ID", + group = "Experimental Functions", + hidden = true, + unhide = "experimentalFunctions" + ) + default int graphicTarget() + { + return 0; + } + //////////////////Mage