cml plugin: fix request throttling
Also update xp threshold to 10k xp
This commit is contained in:
@@ -31,7 +31,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.Player;
|
import net.runelite.api.Player;
|
||||||
import net.runelite.api.Skill;
|
|
||||||
import net.runelite.api.events.GameStateChanged;
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.api.events.GameTick;
|
import net.runelite.api.events.GameTick;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
@@ -57,7 +56,7 @@ public class CrystalMathLabs extends Plugin
|
|||||||
/**
|
/**
|
||||||
* Amount of EXP that must be gained for an update to be submitted.
|
* Amount of EXP that must be gained for an update to be submitted.
|
||||||
*/
|
*/
|
||||||
private static final int XP_THRESHOLD = 1000;
|
private static final int XP_THRESHOLD = 10000;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
@@ -66,6 +65,12 @@ public class CrystalMathLabs extends Plugin
|
|||||||
private boolean fetchXp;
|
private boolean fetchXp;
|
||||||
private long lastXp;
|
private long lastXp;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void startUp()
|
||||||
|
{
|
||||||
|
fetchXp = true;
|
||||||
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void onGameStateChanged(GameStateChanged gameStateChanged)
|
public void onGameStateChanged(GameStateChanged gameStateChanged)
|
||||||
{
|
{
|
||||||
@@ -75,7 +80,7 @@ public class CrystalMathLabs extends Plugin
|
|||||||
if (!Objects.equals(client.getUsername(), lastUsername))
|
if (!Objects.equals(client.getUsername(), lastUsername))
|
||||||
{
|
{
|
||||||
lastUsername = client.getUsername();
|
lastUsername = client.getUsername();
|
||||||
lastXp = getTotalXp();
|
fetchXp = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (state == GameState.LOGIN_SCREEN)
|
else if (state == GameState.LOGIN_SCREEN)
|
||||||
@@ -86,12 +91,13 @@ public class CrystalMathLabs extends Plugin
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
long totalXp = getTotalXp();
|
long totalXp = client.getOverallExperience();
|
||||||
// Don't submit update unless xp threshold is reached
|
// Don't submit update unless xp threshold is reached
|
||||||
if (Math.abs(totalXp - lastXp) > XP_THRESHOLD)
|
if (Math.abs(totalXp - lastXp) > XP_THRESHOLD)
|
||||||
{
|
{
|
||||||
log.debug("Submitting update for {}", local.getName());
|
log.debug("Submitting update for {}", local.getName());
|
||||||
sendUpdateRequest(local.getName());
|
sendUpdateRequest(local.getName());
|
||||||
|
lastXp = totalXp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -101,21 +107,11 @@ public class CrystalMathLabs extends Plugin
|
|||||||
{
|
{
|
||||||
if (fetchXp)
|
if (fetchXp)
|
||||||
{
|
{
|
||||||
lastXp = getTotalXp();
|
lastXp = client.getOverallExperience();
|
||||||
fetchXp = false;
|
fetchXp = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private long getTotalXp()
|
|
||||||
{
|
|
||||||
long total = 0;
|
|
||||||
for (Skill skill : Skill.values())
|
|
||||||
{
|
|
||||||
total += client.getSkillExperience(skill);
|
|
||||||
}
|
|
||||||
return total;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void sendUpdateRequest(String username)
|
private void sendUpdateRequest(String username)
|
||||||
{
|
{
|
||||||
String reformedUsername = username.replace(" ", "_");
|
String reformedUsername = username.replace(" ", "_");
|
||||||
|
|||||||
Reference in New Issue
Block a user