API Reference¶
Complete reference for all SigmaTools API methods.
SigmaToolsAPI Interface¶
Tool Identification¶
boolean isSigmaTool(ItemStack item)¶
Checks if an item is a SigmaTool.
Parameters: - item - The item to check
Returns: - true if the item is a SigmaTool - false otherwise
Example:
Optional<String> getToolType(ItemStack item)¶
Gets the tool type of a SigmaTool item.
Parameters: - item - The SigmaTool item
Returns: - Optional<String> containing the tool type: "pickaxe", "axe", "bucket", or "hoe" - Optional.empty() if the item is not a SigmaTool
Example:
Optional<String> toolType = api.getToolType(itemStack);
if (toolType.isPresent()) {
String type = toolType.get();
// type is "pickaxe", "axe", "bucket", or "hoe"
}
Optional<String> getToolId(ItemStack item)¶
Gets the tool ID of a SigmaTool item (currently same as tool type).
Parameters: - item - The SigmaTool item
Returns: - Optional<String> containing the tool ID - Optional.empty() if the item is not a SigmaTool
Example:
Usage and Protection¶
boolean canUseHere(Player player, Location location)¶
Checks if a player can use tools at a location (protection check).
Parameters: - player - The player - location - The location to check
Returns: - true if the player can use tools at the location - false if protected or otherwise restricted
Example:
Economy¶
String getActiveCurrency()¶
Gets the active economy currency.
Returns: - "vault" if using Vault economy - "coins" if using CoinsEngine - Default currency if economy is disabled
Example:
EconomyResult getBalance(Player player)¶
Gets a player's economy balance.
Parameters: - player - The player
Returns: - EconomyResult with balance information
Example:
EconomyResult result = api.getBalance(player);
if (result.success()) {
double balance = result.balanceAfter();
String currency = result.currency();
}
EconomyResult deduct(Player player, double amount)¶
Deducts currency from a player.
Parameters: - player - The player - amount - Amount to deduct
Returns: - EconomyResult indicating success or failure
Example:
EconomyResult result = api.deduct(player, 10.0);
if (result.success()) {
// Deduction successful
double newBalance = result.balanceAfter();
} else {
// Insufficient funds
String message = result.message(); // "insufficient"
}
EconomyResult reward(Player player, double amount)¶
Gives currency to a player.
Parameters: - player - The player - amount - Amount to give
Returns: - EconomyResult indicating success or failure
Example:
EconomyResult result = api.reward(player, 5.0);
if (result.success()) {
// Reward given
double newBalance = result.balanceAfter();
}
Introspection¶
Set<String> getAvailableToolTypes()¶
Gets all available tool types.
Returns: - Set<String> containing available tool types: ["pickaxe", "axe", "bucket", "hoe"]
Example:
Set<String> toolTypes = api.getAvailableToolTypes();
for (String type : toolTypes) {
// Process each tool type
}
Map<String, Object> getToolConfig(String toolType)¶
Gets tool configuration.
Parameters: - toolType - Tool type: "pickaxe", "axe", "bucket", or "hoe"
Returns: - Map<String, Object> containing tool configuration - Empty map if tool type is invalid
Example:
Map<String, Object> config = api.getToolConfig("pickaxe");
Object enabled = config.get("enabled");
Map<String, Object> cooldown = (Map<String, Object>) config.get("cooldown");
Integer maxCharges = (Integer) cooldown.get("max-charges");
String getVersion()¶
Gets SigmaTools version.
Returns: - Version string (e.g., "1.0.3")
Example:
EconomyResult Class¶
Immutable result for economy operations.
Methods¶
boolean success()¶
Returns whether the operation was successful.
double amount()¶
Returns the amount involved in the operation.
double balanceBefore()¶
Returns the balance before the operation.
double balanceAfter()¶
Returns the balance after the operation.
String currency()¶
Returns the currency used.
String message()¶
Returns a message describing the result: - "ok" - Success - "insufficient" - Insufficient funds - "economy unavailable" - Economy plugin not available - "failed" - Operation failed
Example¶
EconomyResult result = api.deduct(player, 10.0);
if (result.success()) {
getLogger().info("Deducted " + result.amount() + " " + result.currency());
getLogger().info("Balance: " + result.balanceBefore() + " -> " + result.balanceAfter());
} else {
getLogger().warning("Failed: " + result.message());
}
Error Handling¶
The API methods handle errors gracefully:
- Null parameters - Methods return safe defaults (empty Optional, false, etc.)
- Invalid tool types - Returns empty Optional or empty map
- Economy unavailable - Returns EconomyResult with
success() = false - Plugin not loaded -
Bukkit.getServicesManager().load()returnsnull
Always check for null API instances and handle Optional returns properly.
Next Steps¶
- API Overview - Getting started with the API
- Events Documentation - Event details
- Examples - Code examples