test_class.declarator: wintertodtPlugin
test_class.modifier: @Inject
test_class.original_string: @Inject
  	WintertodtPlugin wintertodtPlugin;
test_class.type: WintertodtPlugin
test_class.var_name: wintertodtPlugin
test_class.declarator: config
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	WintertodtConfig config;
test_class.type: WintertodtConfig
test_class.var_name: config
test_class.declarator: wintertodtOverlay
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	WintertodtOverlay wintertodtOverlay;
test_class.type: WintertodtOverlay
test_class.var_name: wintertodtOverlay
test_class.declarator: overlayManager
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	OverlayManager overlayManager;
test_class.type: OverlayManager
test_class.var_name: overlayManager
test_class.declarator: chatMessageManager
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	ChatMessageManager chatMessageManager;
test_class.type: ChatMessageManager
test_class.var_name: chatMessageManager
test_class.declarator: notifier
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	Notifier notifier;
test_class.type: Notifier
test_class.var_name: notifier
test_class.declarator: client
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	Client client;
test_class.type: Client
test_class.var_name: client
test_class.file: runelite-client/src/test/java/net/runelite/client/plugins/wintertodt/WintertodtPluginTest.java
test_class.identifier: WintertodtPluginTest
test_case.body: @Test
  	public void matchStartingNotification_shouldNotifyOnce()
  	{
  		when(config.roundNotification()).thenReturn(5);
  
  		when(client.getVar(Varbits.WINTERTODT_TIMER)).thenReturn(0);
  		wintertodtPlugin.onVarbitChanged(new VarbitChanged());
  		when(client.getVar(Varbits.WINTERTODT_TIMER)).thenReturn(10);
  		wintertodtPlugin.onVarbitChanged(new VarbitChanged());
  		when(client.getVar(Varbits.WINTERTODT_TIMER)).thenReturn(8);
  		wintertodtPlugin.onVarbitChanged(new VarbitChanged());
  		when(client.getVar(Varbits.WINTERTODT_TIMER)).thenReturn(6);
  		wintertodtPlugin.onVarbitChanged(new VarbitChanged());
  		when(client.getVar(Varbits.WINTERTODT_TIMER)).thenReturn(5);
  		wintertodtPlugin.onVarbitChanged(new VarbitChanged());
  		when(client.getVar(Varbits.WINTERTODT_TIMER)).thenReturn(4);
  		wintertodtPlugin.onVarbitChanged(new VarbitChanged());
  
  		verify(notifier, times(1)).notify("Wintertodt round is about to start");
  	}
test_case.class_method_signature: WintertodtPluginTest.matchStartingNotification_shouldNotifyOnce()
test_case.full_signature: @Test public void matchStartingNotification_shouldNotifyOnce()
test_case.identifier: matchStartingNotification_shouldNotifyOnce
test_case.invocations: thenReturn when roundNotification thenReturn when getVar onVarbitChanged thenReturn when getVar onVarbitChanged thenReturn when getVar onVarbitChanged thenReturn when getVar onVarbitChanged thenReturn when getVar onVarbitChanged thenReturn when getVar onVarbitChanged notify verify times
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void matchStartingNotification_shouldNotifyOnce()
focal_class.declarator: WINTERTODT_REGION = 6462
focal_class.modifier: private static final
focal_class.original_string: private static final int WINTERTODT_REGION = 6462;
focal_class.type: int
focal_class.var_name: WINTERTODT_REGION
focal_class.declarator: notifier
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private Notifier notifier;
focal_class.type: Notifier
focal_class.var_name: notifier
focal_class.declarator: client
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private Client client;
focal_class.type: Client
focal_class.var_name: client
focal_class.declarator: overlayManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private OverlayManager overlayManager;
focal_class.type: OverlayManager
focal_class.var_name: overlayManager
focal_class.declarator: overlay
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private WintertodtOverlay overlay;
focal_class.type: WintertodtOverlay
focal_class.var_name: overlay
focal_class.declarator: config
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private WintertodtConfig config;
focal_class.type: WintertodtConfig
focal_class.var_name: config
focal_class.declarator: chatMessageManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ChatMessageManager chatMessageManager;
focal_class.type: ChatMessageManager
focal_class.var_name: chatMessageManager
focal_class.declarator: currentActivity = WintertodtActivity.IDLE
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private WintertodtActivity currentActivity = WintertodtActivity.IDLE;
focal_class.type: WintertodtActivity
focal_class.var_name: currentActivity
focal_class.declarator: inventoryScore
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private int inventoryScore;
focal_class.type: int
focal_class.var_name: inventoryScore
focal_class.declarator: totalPotentialinventoryScore
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private int totalPotentialinventoryScore;
focal_class.type: int
focal_class.var_name: totalPotentialinventoryScore
focal_class.declarator: numLogs
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private int numLogs;
focal_class.type: int
focal_class.var_name: numLogs
focal_class.declarator: numKindling
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private int numKindling;
focal_class.type: int
focal_class.var_name: numKindling
focal_class.declarator: isInWintertodt
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private boolean isInWintertodt;
focal_class.type: boolean
focal_class.var_name: isInWintertodt
focal_class.declarator: lastActionTime
focal_class.modifier: private
focal_class.original_string: private Instant lastActionTime;
focal_class.type: Instant
focal_class.var_name: lastActionTime
focal_class.declarator: previousTimerValue
focal_class.modifier: private
focal_class.original_string: private int previousTimerValue;
focal_class.type: int
focal_class.var_name: previousTimerValue
focal_class.file: runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java
focal_class.identifier: WintertodtPlugin
focal_class.class_method_signature: WintertodtPlugin.getConfig(ConfigManager configManager)
focal_class.full_signature: @Provides WintertodtConfig getConfig(ConfigManager configManager)
focal_class.identifier: getConfig
focal_class.modifiers: @Provides
focal_class.parameters: (ConfigManager configManager)
focal_class.return: WintertodtConfig
focal_class.signature: WintertodtConfig getConfig(ConfigManager configManager)
focal_class.class_method_signature: WintertodtPlugin.startUp()
focal_class.full_signature: @Override protected void startUp()
focal_class.identifier: startUp
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void startUp()
focal_class.class_method_signature: WintertodtPlugin.shutDown()
focal_class.full_signature: @Override protected void shutDown()
focal_class.identifier: shutDown
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void shutDown()
focal_class.class_method_signature: WintertodtPlugin.reset()
focal_class.full_signature: private void reset()
focal_class.identifier: reset
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void reset()
focal_class.class_method_signature: WintertodtPlugin.isInWintertodtRegion()
focal_class.full_signature: private boolean isInWintertodtRegion()
focal_class.identifier: isInWintertodtRegion
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isInWintertodtRegion()
focal_class.class_method_signature: WintertodtPlugin.onGameTick(GameTick gameTick)
focal_class.full_signature: @Subscribe public void onGameTick(GameTick gameTick)
focal_class.identifier: onGameTick
focal_class.modifiers: @Subscribe public
focal_class.parameters: (GameTick gameTick)
focal_class.return: void
focal_class.signature: void onGameTick(GameTick gameTick)
focal_class.class_method_signature: WintertodtPlugin.onVarbitChanged(VarbitChanged varbitChanged)
focal_class.full_signature: @Subscribe public void onVarbitChanged(VarbitChanged varbitChanged)
focal_class.identifier: onVarbitChanged
focal_class.modifiers: @Subscribe public
focal_class.parameters: (VarbitChanged varbitChanged)
focal_class.return: void
focal_class.signature: void onVarbitChanged(VarbitChanged varbitChanged)
focal_class.class_method_signature: WintertodtPlugin.checkActionTimeout()
focal_class.full_signature: private void checkActionTimeout()
focal_class.identifier: checkActionTimeout
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void checkActionTimeout()
focal_class.class_method_signature: WintertodtPlugin.onChatMessage(ChatMessage chatMessage)
focal_class.full_signature: @Subscribe public void onChatMessage(ChatMessage chatMessage)
focal_class.identifier: onChatMessage
focal_class.modifiers: @Subscribe public
focal_class.parameters: (ChatMessage chatMessage)
focal_class.return: void
focal_class.signature: void onChatMessage(ChatMessage chatMessage)
focal_class.class_method_signature: WintertodtPlugin.notifyInterrupted(WintertodtInterruptType interruptType, boolean wasActivityInterrupted)
focal_class.full_signature: private void notifyInterrupted(WintertodtInterruptType interruptType, boolean wasActivityInterrupted)
focal_class.identifier: notifyInterrupted
focal_class.modifiers: private
focal_class.parameters: (WintertodtInterruptType interruptType, boolean wasActivityInterrupted)
focal_class.return: void
focal_class.signature: void notifyInterrupted(WintertodtInterruptType interruptType, boolean wasActivityInterrupted)
focal_class.class_method_signature: WintertodtPlugin.onAnimationChanged(final AnimationChanged event)
focal_class.full_signature: @Subscribe public void onAnimationChanged(final AnimationChanged event)
focal_class.identifier: onAnimationChanged
focal_class.modifiers: @Subscribe public
focal_class.parameters: (final AnimationChanged event)
focal_class.return: void
focal_class.signature: void onAnimationChanged(final AnimationChanged event)
focal_class.class_method_signature: WintertodtPlugin.onItemContainerChanged(ItemContainerChanged event)
focal_class.full_signature: @Subscribe public void onItemContainerChanged(ItemContainerChanged event)
focal_class.identifier: onItemContainerChanged
focal_class.modifiers: @Subscribe public
focal_class.parameters: (ItemContainerChanged event)
focal_class.return: void
focal_class.signature: void onItemContainerChanged(ItemContainerChanged event)
focal_class.class_method_signature: WintertodtPlugin.setActivity(WintertodtActivity action)
focal_class.full_signature: private void setActivity(WintertodtActivity action)
focal_class.identifier: setActivity
focal_class.modifiers: private
focal_class.parameters: (WintertodtActivity action)
focal_class.return: void
focal_class.signature: void setActivity(WintertodtActivity action)
focal_class.class_method_signature: WintertodtPlugin.getPoints(int id)
focal_class.full_signature: private static int getPoints(int id)
focal_class.identifier: getPoints
focal_class.modifiers: private static
focal_class.parameters: (int id)
focal_class.return: int
focal_class.signature: int getPoints(int id)
focal_class.class_method_signature: WintertodtPlugin.getPotentialPoints(int id)
focal_class.full_signature: private static int getPotentialPoints(int id)
focal_class.identifier: getPotentialPoints
focal_class.modifiers: private static
focal_class.parameters: (int id)
focal_class.return: int
focal_class.signature: int getPotentialPoints(int id)
focal_class.superclass: extends Plugin
focal_method.body: @Subscribe
  	public void onVarbitChanged(VarbitChanged varbitChanged)
  	{
  		int timerValue = client.getVar(Varbits.WINTERTODT_TIMER);
  		if (timerValue != previousTimerValue)
  		{
  			int timeToNotify = config.roundNotification();
  			if (timeToNotify > 0)
  			{
  				int timeInSeconds = timerValue * 30 / 50;
  				int prevTimeInSeconds = previousTimerValue * 30 / 50;
  
  				log.debug("Seconds left until round start: {}", timeInSeconds);
  
  				if (prevTimeInSeconds > timeToNotify && timeInSeconds <= timeToNotify)
  				{
  					notifier.notify("Wintertodt round is about to start");
  				}
  			}
  
  			previousTimerValue = timerValue;
  		}
  	}
focal_method.class_method_signature: WintertodtPlugin.onVarbitChanged(VarbitChanged varbitChanged)
focal_method.full_signature: @Subscribe public void onVarbitChanged(VarbitChanged varbitChanged)
focal_method.identifier: onVarbitChanged
focal_method.invocations: getVar roundNotification debug notify
focal_method.modifiers: @Subscribe public
focal_method.parameters: (VarbitChanged varbitChanged)
focal_method.return: void
focal_method.signature: void onVarbitChanged(VarbitChanged varbitChanged)