Skip to content

Commit

Permalink
Add direct access to vaultHook and Level addon.
Browse files Browse the repository at this point in the history
  • Loading branch information
BONNe committed Jan 24, 2019
1 parent e68c5b2 commit 2734c70
Showing 1 changed file with 55 additions and 5 deletions.
60 changes: 55 additions & 5 deletions src/main/java/world/bentobox/challenges/ChallengesAddon.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@

import org.bukkit.Bukkit;

import java.util.Optional;

import world.bentobox.bentobox.api.configuration.Config;
import world.bentobox.bentobox.hooks.VaultHook;
import world.bentobox.challenges.commands.ChallengesCommand;
import world.bentobox.challenges.commands.admin.Challenges;
import world.bentobox.challenges.listeners.ResetListener;
import world.bentobox.challenges.listeners.SaveListener;
import world.bentobox.bentobox.api.addons.Addon;
import world.bentobox.level.Level;


/**
* Add-on to BSkyBlock that enables challenges
Expand All @@ -29,10 +34,20 @@ public class ChallengesAddon extends Addon {
private boolean hooked;

/**
* This indicate if economy plugin exists.
* This boolean indicate if economy is enabled.
*/
private boolean economyProvided;

/**
* VaultHook that process economy.
*/
private VaultHook vaultHook;

/**
* Level addon.
*/
private Level levelAddon;

/**
* This indicate if level addon exists.
*/
Expand Down Expand Up @@ -103,17 +118,31 @@ public void onEnable() {
if (this.hooked) {
// Try to find Level addon and if it does not exist, display a warning

this.levelProvided = this.getAddonByName("Level").isPresent();
Optional<Addon> level = this.getAddonByName("Level");

if (!this.levelProvided) {
if (!level.isPresent())
{
this.logWarning("Level add-on not found so level challenges will not work!");
this.levelAddon = null;
}
else
{
this.levelProvided = true;
this.levelAddon = (Level) level.get();
}

this.economyProvided = this.getPlugin().getVault().isPresent() && this.getPlugin().getVault().get().hook();
Optional<VaultHook> vault = this.getPlugin().getVault();

if (!this.economyProvided) {
if (!vault.isPresent() || !vault.get().hook())
{
this.vaultHook = null;
this.logWarning("Economy plugin not found so money options will not work!");
}
else
{
this.economyProvided = true;
this.vaultHook = vault.get();
}

// Register the reset listener
this.registerListener(new ResetListener(this));
Expand Down Expand Up @@ -215,6 +244,17 @@ public boolean isEconomyProvided()
}


/**
* Returns VaultHook. Used to get easier access to Economy. NEVER USE WITHOUT isEconomyProvided or null
* check.
* @return VaultHook or null.
*/
public VaultHook getEconomyProvider()
{
return vaultHook;
}


/**
*
* @return levelProvided variable.
Expand All @@ -223,4 +263,14 @@ public boolean isLevelProvided()
{
return levelProvided;
}


/**
* This method returns Level addon. Used to easier access to Level. NEVER USE WITHOUT isLevelProvided or null
* @return LevelAddon or null.
*/
public Level getLevelAddon()
{
return levelAddon;
}
}

0 comments on commit 2734c70

Please sign in to comment.