slayer plugin: do not show task infobox on login

Co-authored-by: Jasper Ketelaar <Jasperketelaar@kpnmail.nl>
Co-authored-by: Jordan Atwood <nightfirecat@protonmail.com>
This commit is contained in:
Adam
2019-09-03 23:06:56 -04:00
committed by Adam
parent 030cbf6bfa
commit f6eac304c3
2 changed files with 33 additions and 5 deletions

View File

@@ -228,7 +228,7 @@ public class SlayerPlugin extends Plugin
streak = config.streak();
setExpeditiousChargeCount(config.expeditious());
setSlaughterChargeCount(config.slaughter());
clientThread.invoke(() -> setTask(config.taskName(), config.amount(), config.initialAmount(), config.taskLocation()));
clientThread.invoke(() -> setTask(config.taskName(), config.amount(), config.initialAmount(), config.taskLocation(), false));
}
}
@@ -277,7 +277,7 @@ public class SlayerPlugin extends Plugin
streak = config.streak();
setExpeditiousChargeCount(config.expeditious());
setSlaughterChargeCount(config.slaughter());
setTask(config.taskName(), config.amount(), config.initialAmount(), config.taskLocation());
setTask(config.taskName(), config.amount(), config.initialAmount(), config.taskLocation(), false);
loginFlag = false;
}
break;
@@ -559,7 +559,7 @@ public class SlayerPlugin extends Plugin
@Subscribe
private void onConfigChanged(ConfigChanged event)
{
if (!event.getGroup().equals("slayer"))
if (!event.getGroup().equals("slayer") || !event.getKey().equals("infobox"))
{
return;
}
@@ -674,6 +674,11 @@ public class SlayerPlugin extends Plugin
}
private void setTask(String name, int amt, int initAmt, String location)
{
setTask(name, amt, initAmt, location, true);
}
private void setTask(String name, int amt, int initAmt, String location, boolean addCounter)
{
taskName = name;
amount = amt;
@@ -681,8 +686,12 @@ public class SlayerPlugin extends Plugin
taskLocation = location;
save();
removeCounter();
addCounter();
infoTimer = Instant.now();
if (addCounter)
{
infoTimer = Instant.now();
addCounter();
}
Task task = Task.getTask(name);
rebuildTargetNames(task);

View File

@@ -33,12 +33,14 @@ import javax.inject.Inject;
import net.runelite.api.ChatMessageType;
import static net.runelite.api.ChatMessageType.GAMEMESSAGE;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.MessageNode;
import net.runelite.api.Player;
import net.runelite.api.Skill;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ExperienceChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
@@ -703,4 +705,21 @@ public class SlayerPluginTest
assertEquals(34, slayerPlugin.getAmount());
}
@Test
public void infoboxNotAddedOnLogin()
{
when(slayerConfig.taskName()).thenReturn(Task.BLOODVELD.getName());
when(slayerConfig.showInfobox()).thenReturn(true);
GameStateChanged loggingIn = new GameStateChanged();
loggingIn.setGameState(GameState.LOGGING_IN);
slayerPlugin.onGameStateChanged(loggingIn);
GameStateChanged loggedIn = new GameStateChanged();
loggedIn.setGameState(GameState.LOGGED_IN);
slayerPlugin.onGameStateChanged(loggedIn);
verify(infoBoxManager, never()).addInfoBox(any());
}
}