Update To BentoBox 1.1

Use new approach to hooking addons into game-mode.
This commit is contained in:
BONNe 2019-01-23 20:19:18 +02:00
parent 53da2d67c7
commit ca32c53510
2 changed files with 16 additions and 52 deletions

14
pom.xml
View File

@ -100,19 +100,7 @@
<dependency>
<groupId>world.bentobox</groupId>
<artifactId>bentobox</artifactId>
<version>1.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>world.bentobox</groupId>
<artifactId>bskyblock</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>world.bentobox</groupId>
<artifactId>acidisland</artifactId>
<version>1.0</version>
<version>1.1</version>
<scope>provided</scope>
</dependency>
<dependency>

View File

@ -2,7 +2,6 @@ package world.bentobox.challenges;
import org.bukkit.Bukkit;
import world.bentobox.acidisland.AcidIsland;
import world.bentobox.bentobox.api.configuration.Config;
import world.bentobox.challenges.commands.ChallengesCommand;
import world.bentobox.challenges.commands.admin.Challenges;
@ -75,45 +74,22 @@ public class ChallengesAddon extends Addon {
// Challenge import setup
this.importManager = new ChallengesImportManager(this);
// Integrate into AcidIsland.
if (this.settings.getDisabledGameModes().isEmpty() ||
!this.settings.getDisabledGameModes().contains("AcidIsland"))
this.getPlugin().getAddonsManager().getGameModeAddons().forEach(gameModeAddon -> {
if (!this.settings.getDisabledGameModes().contains(gameModeAddon.getDescription().getName()))
{
this.getPlugin().getAddonsManager().getAddonByName("AcidIsland").ifPresent(
addon -> {
AcidIsland acidIsland = (AcidIsland) addon;
new Challenges(this,
this.getPlugin().getCommandsManager().getCommand(
acidIsland.getSettings().getAdminCommand()));
new ChallengesCommand(this,
this.getPlugin().getCommandsManager().getCommand(
acidIsland.getSettings().getIslandCommand()));
if (gameModeAddon.getPlayerCommand().isPresent())
{
new ChallengesCommand(this, gameModeAddon.getPlayerCommand().get());
this.hooked = true;
});
}
// Integrate into BSkyBlock.
if (this.settings.getDisabledGameModes().isEmpty() ||
!this.settings.getDisabledGameModes().contains("BSkyBlock"))
if (gameModeAddon.getAdminCommand().isPresent())
{
this.getPlugin().getAddonsManager().getAddonByName("BSkyBlock").ifPresent(
addon -> {
// BSkyBlock skyBlock = (BSkyBlock) addon;
// SkyBlock addon cannot change commands ;(
new Challenges(this,
this.getPlugin().getCommandsManager().getCommand("bsbadmin"));
new ChallengesCommand(this,
this.getPlugin().getCommandsManager().getCommand("island"));
new Challenges(this, gameModeAddon.getAdminCommand().get());
this.hooked = true;
});
}
}
});
if (this.hooked) {
// Try to find Level addon and if it does not exist, display a warning