mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-12-28 03:57:39 +01:00
Added WebManager
This commit is contained in:
parent
3fb60480ff
commit
7e0ea8d945
@ -36,6 +36,7 @@ import world.bentobox.bentobox.managers.PlaceholdersManager;
|
|||||||
import world.bentobox.bentobox.managers.PlayersManager;
|
import world.bentobox.bentobox.managers.PlayersManager;
|
||||||
import world.bentobox.bentobox.managers.RanksManager;
|
import world.bentobox.bentobox.managers.RanksManager;
|
||||||
import world.bentobox.bentobox.managers.SchemsManager;
|
import world.bentobox.bentobox.managers.SchemsManager;
|
||||||
|
import world.bentobox.bentobox.managers.WebManager;
|
||||||
import world.bentobox.bentobox.util.heads.HeadGetter;
|
import world.bentobox.bentobox.util.heads.HeadGetter;
|
||||||
import world.bentobox.bentobox.versions.ServerCompatibility;
|
import world.bentobox.bentobox.versions.ServerCompatibility;
|
||||||
|
|
||||||
@ -61,6 +62,7 @@ public class BentoBox extends JavaPlugin {
|
|||||||
private HooksManager hooksManager;
|
private HooksManager hooksManager;
|
||||||
private PlaceholdersManager placeholdersManager;
|
private PlaceholdersManager placeholdersManager;
|
||||||
private IslandDeletionManager islandDeletionManager;
|
private IslandDeletionManager islandDeletionManager;
|
||||||
|
private WebManager webManager;
|
||||||
|
|
||||||
// Settings
|
// Settings
|
||||||
private Settings settings;
|
private Settings settings;
|
||||||
@ -177,6 +179,9 @@ public class BentoBox extends JavaPlugin {
|
|||||||
hooksManager.registerHook(new MultiverseCoreHook());
|
hooksManager.registerHook(new MultiverseCoreHook());
|
||||||
islandWorldManager.registerWorldsToMultiverse();
|
islandWorldManager.registerWorldsToMultiverse();
|
||||||
|
|
||||||
|
webManager = new WebManager(this);
|
||||||
|
webManager.requestGitHubData();
|
||||||
|
|
||||||
// Show banner
|
// Show banner
|
||||||
User.getInstance(Bukkit.getConsoleSender()).sendMessage("successfully-loaded",
|
User.getInstance(Bukkit.getConsoleSender()).sendMessage("successfully-loaded",
|
||||||
TextVariables.VERSION, instance.getDescription().getVersion(),
|
TextVariables.VERSION, instance.getDescription().getVersion(),
|
||||||
|
@ -0,0 +1,46 @@
|
|||||||
|
package world.bentobox.bentobox.managers;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.eclipse.jdt.annotation.NonNull;
|
||||||
|
import world.bentobox.bentobox.BentoBox;
|
||||||
|
import world.bentobox.bentobox.api.addons.Addon;
|
||||||
|
import world.bentobox.bentobox.api.github.GitHubConnector;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles web-related stuff.
|
||||||
|
* Should be instantiated after all addons are loaded.
|
||||||
|
* @author Poslovitch
|
||||||
|
* @since 1.3.0
|
||||||
|
*/
|
||||||
|
public class WebManager {
|
||||||
|
|
||||||
|
private @NonNull BentoBox plugin;
|
||||||
|
private @NonNull GitHubConnector bentoBoxGitHubConnector;
|
||||||
|
private @NonNull Map<@NonNull Addon, @NonNull GitHubConnector> gitHubConnectors = new LinkedHashMap<>();
|
||||||
|
|
||||||
|
public WebManager(@NonNull BentoBox plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
this.bentoBoxGitHubConnector = new GitHubConnector("BentoBoxWorld/BentoBox");
|
||||||
|
setupAddonsGitHubConnectors();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setups the {@code GitHubConnector} instances for each addons.
|
||||||
|
*/
|
||||||
|
private void setupAddonsGitHubConnectors() {
|
||||||
|
plugin.getAddonsManager().getEnabledAddons().stream()
|
||||||
|
.filter(addon -> !addon.getDescription().getRepository().isEmpty())
|
||||||
|
.forEach(addon -> gitHubConnectors.put(addon, new GitHubConnector(addon.getDescription().getRepository())));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Connects all the {@link GitHubConnector} to GitHub to retrieve data.
|
||||||
|
*/
|
||||||
|
public void requestGitHubData() {
|
||||||
|
Bukkit.getScheduler().runTask(plugin, () -> bentoBoxGitHubConnector.connect());
|
||||||
|
gitHubConnectors.values().forEach(gitHubConnector -> Bukkit.getScheduler().runTask(plugin, gitHubConnector::connect));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user