use of net.md_5.bungee.api.scheduler.TaskScheduler in project Bukkit_Bungee_PluginLib by GeorgH93.
the class TestObjects method initMockedPlugin.
public static void initMockedPlugin() {
File mockedFile = mock(File.class);
when(mockedFile.getParentFile()).thenReturn(new File(""));
when(mockedFile.getName()).thenReturn("FileName");
TaskScheduler mockedTaskScheduler = mock(TaskScheduler.class);
when(mockedTaskScheduler.runAsync(any(Plugin.class), any(Runnable.class))).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
((Runnable) invocationOnMock.getArguments()[1]).run();
return null;
}
});
ProxyServer mockedProxyServer = mock(ProxyServer.class);
when(mockedProxyServer.getPluginsFolder()).thenReturn(new File(""));
when(mockedProxyServer.getScheduler()).thenReturn(mockedTaskScheduler);
PluginDescription mockedPluginDescription = mock(PluginDescription.class);
when(mockedPluginDescription.getName()).thenReturn("TestPlugin");
when(mockedPluginDescription.getVersion()).thenReturn("1.0");
when(mockedPluginDescription.getFile()).thenReturn(mockedFile);
mockedPlugin = mock(Plugin.class);
when(mockedPlugin.getProxy()).thenReturn(mockedProxyServer);
when(mockedPlugin.getDescription()).thenReturn(mockedPluginDescription);
when(mockedPlugin.getLogger()).thenReturn(Logger.getLogger("TestLogger"));
}
use of net.md_5.bungee.api.scheduler.TaskScheduler in project Parties by AlessioDP.
the class BungeeMetrics method startSubmitting.
private void startSubmitting() {
// We use a timer cause want to be independent from the server tps
final Timer timer = new Timer(true);
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// The data collection (e.g. for custom graphs) is done sync
// Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;)
TaskScheduler scheduler = plugin.getProxy().getScheduler();
scheduler.schedule(plugin, new Runnable() {
@Override
public void run() {
submitData();
}
}, 0L, TimeUnit.SECONDS);
}
}, 1000 * 60 * 2, 1000 * 60 * 30);
// Submit the data every 30 minutes, first time after 2 minutes to give other plugins enough time to start
// WARNING: Changing the frequency has no effect but your plugin WILL be blocked/deleted!
// WARNING: Just don't do it!
}
Aggregations