Masks API
Overview
Getting Started
1
import me.fergs.phantomdungeons.modules.masks.api.MaskAPI;
// Get the singleton instance
MaskAPI maskAPI = MaskAPI.get();2
public class MyPlugin extends JavaPlugin {
private MaskAPI maskAPI;
@Override
public void onEnable() {
try {
this.maskAPI = MaskAPI.get();
getLogger().info("Hooked into masks!");
} catch (IllegalStateException e) {
getLogger().warning("Masks module not loaded!");
}
}
public MaskAPI getMaskAPI() {
return maskAPI;
}
}3
if (!MaskAPI.isAvailable()) {
getLogger().warning("Masks API not available!");
return;
}
MaskAPI api = MaskAPI.get();Core Operations
1
final boolean exists = maskAPI.hasMask("shadow-mask");
final int total = maskAPI.getMaskCount();
final Set<String> ids = maskAPI.getMaskIds();
final Collection<MaskConfig> all = maskAPI.getAllMasks();
final MaskConfig config = maskAPI.getMask("shadow-mask");2
UUID playerId = player.getUniqueId();
String equippedId = maskAPI.getEquippedMaskId(playerId);
MaskConfig equipped = maskAPI.getEquippedMask(playerId);3
// Respects permission needed
boolean equipped = maskAPI.equipMask(player, "shadow-mask");
// Bypasses permission + permission needed (if present)
boolean forced = maskAPI.equipMaskForced(player, "shadow-mask");
// Remove the current mask
maskAPI.unequipMask(player);4
UUID playerId = player.getUniqueId();
boolean wasNewUnlock = maskAPI.unlockMask(playerId, "shadow-mask");
boolean unlocked = maskAPI.isUnlocked(playerId, "shadow-mask");
Collection<String> unlockedIds = maskAPI.getUnlockedMaskIds(playerId);5
ItemStack redeemItem = maskAPI.createMaskRedeemItem("shadow-mask", 1);
if (redeemItem != null) {
player.getInventory().addItem(redeemItem);
}
boolean isRedeem = maskAPI.isMaskRedeemItem(redeemItem);
String redeemMaskId = maskAPI.getRedeemMaskId(redeemItem);6
boolean opened = maskAPI.openMaskMenu(player);
if (!opened) {
player.sendMessage("oops");
}Buff Access
1
UUID id = player.getUniqueId();
double damageBuff = maskAPI.getDamageBuff(id);
double attackSpeedBuff = maskAPI.getAttackSpeedBuff(id);
double soulsBuff = maskAPI.getEconomyBuff(id, "souls");
double moneyBuff = maskAPI.getEconomyBuff(id, "money");
double infernoProcBuff = maskAPI.getEnchantProcBuff(id, "inferno");2
UUID id = player.getUniqueId();
double damage = maskAPI.getEquippedBuff(id, "damage");
double attackSpeed = maskAPI.getEquippedBuff(id, "attack-speed");
double souls = maskAPI.getEquippedBuff(id, "economy-souls");
double miningSpeed = maskAPI.getEquippedBuff(id, "mining-speed");3
Map<String, Double> buffs = maskAPI.getCustomBuffs(player.getUniqueId());
if (buffs.isEmpty()) {
return;
}
double miningSpeed = buffs.getOrDefault("mining-speed", 0.0);
double xpRate = buffs.getOrDefault("xp-rate", 0.0);4
double baseReward = 100.0;
double buff = maskAPI.getEquippedBuff(player.getUniqueId(), "xp-rate");
double finalReward = buff > 0.0
? baseReward * (1.0 + buff)
: baseReward;Config Reading
1
2
Events API
FAQ
Last updated