GauntletPlugin: Resource fix (#2168)

* Fix double resource counter and resource counter starting at 1

* Checkstyle cause ya boi a brainlet

* Moved onstatschanged to switch

* brainlet move added breaks
This commit is contained in:
Dozer
2020-01-02 04:25:43 -06:00
committed by Kyle
parent 4915fd627b
commit 78a92baaa1

View File

@@ -51,7 +51,6 @@ import net.runelite.api.ObjectID;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.Projectile; import net.runelite.api.Projectile;
import net.runelite.api.ProjectileID; import net.runelite.api.ProjectileID;
import net.runelite.api.Skill;
import net.runelite.api.SoundEffectID; import net.runelite.api.SoundEffectID;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.AnimationChanged;
@@ -63,6 +62,7 @@ import net.runelite.api.events.MenuOptionClicked;
import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.NpcSpawned;
import net.runelite.api.events.ProjectileSpawned; import net.runelite.api.events.ProjectileSpawned;
import net.runelite.api.events.StatChanged;
import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.VarbitChanged;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
@@ -72,7 +72,6 @@ import net.runelite.client.events.ConfigChanged;
import net.runelite.client.events.NpcLootReceived; import net.runelite.client.events.NpcLootReceived;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
import net.runelite.client.game.SkillIconManager; import net.runelite.client.game.SkillIconManager;
import net.runelite.client.game.XpDropEvent;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
@@ -206,6 +205,11 @@ public class GauntletPlugin extends Plugin
private int herbGathered; private int herbGathered;
private int currentFarmingAction = -1; private int currentFarmingAction = -1;
private boolean countersVisible = false; private boolean countersVisible = false;
private int miningXp = 0;
private int farmingXp = 0;
private int woodcuttingXp = 0;
private int fishingXp = 0;
private boolean inGauntlet = false;
@Provides @Provides
GauntletConfig getConfig(ConfigManager configManager) GauntletConfig getConfig(ConfigManager configManager)
@@ -272,11 +276,13 @@ public class GauntletPlugin extends Plugin
woodGathered = 0; woodGathered = 0;
clothGathered = 0; clothGathered = 0;
herbGathered = 0; herbGathered = 0;
if (oreCounter != null) updateCounters();
} }
private void updateCounters() private void updateCounters()
{ {
oreCounter.setCount(oresGathered); oreCounter.setCount(oresGathered);
woodCounter.setCount(woodGathered); woodCounter.setCount(woodGathered);
clothCounter.setCount(clothGathered); clothCounter.setCount(clothGathered);
fishCounter.setCount(fishGathered); fishCounter.setCount(fishGathered);
@@ -334,31 +340,48 @@ public class GauntletPlugin extends Plugin
updateCounters(); updateCounters();
} }
@Subscribe @Subscribe
private void onXpDropEvent(XpDropEvent experienceChanged) private void onStatsChanged(StatChanged event)
{ {
if (experienceChanged.getSkill().compareTo(Skill.MINING) == 0) switch (event.getSkill())
{ {
oresGathered++; case MINING:
} if (miningXp != event.getXp())
if (experienceChanged.getSkill().compareTo(Skill.WOODCUTTING) == 0)
{
woodGathered++;
}
if (experienceChanged.getSkill().compareTo(Skill.FARMING) == 0)
{
if (currentFarmingAction == GATHERING_HERB)
{ {
herbGathered++; oresGathered++;
miningXp = event.getXp();
} }
else if (currentFarmingAction == GATHERING_CLOTH) break;
{ case FISHING:
clothGathered++; if (fishingXp != event.getXp())
} {
} fishGathered++;
if (experienceChanged.getSkill().compareTo(Skill.FISHING) == 0) fishingXp = event.getXp();
{ }
fishGathered++; break;
case WOODCUTTING:
if (woodcuttingXp != event.getXp())
{
woodGathered++;
woodcuttingXp = event.getXp();
}
break;
case FARMING:
if (farmingXp != event.getXp())
{
if (currentFarmingAction == GATHERING_HERB)
{
herbGathered++;
farmingXp = event.getXp();
}
else if (currentFarmingAction == GATHERING_CLOTH)
{
clothGathered++;
farmingXp = event.getXp();
}
}
break;
} }
updateCounters(); updateCounters();
} }
@@ -585,6 +608,11 @@ public class GauntletPlugin extends Plugin
@Subscribe @Subscribe
private void onVarbitChanged(VarbitChanged event) private void onVarbitChanged(VarbitChanged event)
{ {
if (client.getVar(Varbits.GAUNTLET_ENTERED) == 1 && !inGauntlet)
{
resetGatheringCounters();
inGauntlet = true;
}
if (this.completeStartup) if (this.completeStartup)
{ {
timer.checkStates(true); timer.checkStates(true);
@@ -596,6 +624,7 @@ public class GauntletPlugin extends Plugin
else else
{ {
removeCounters(); removeCounters();
inGauntlet = false;
} }
} }