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> <dependency>
<groupId>world.bentobox</groupId> <groupId>world.bentobox</groupId>
<artifactId>bentobox</artifactId> <artifactId>bentobox</artifactId>
<version>1.1-SNAPSHOT</version> <version>1.1</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>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

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