Events
SigmaTools fires three events under com.sigmatools.api.events, all cancellable via isCancelled()/setCancelled(boolean).
| Event | Fields | When it fires |
|---|---|---|
SigmaToolUseEvent | getPlayer(), getToolType(), getAffectedBlocks() (Set<Block>), getPlannedCost()/setPlannedCost(double), getPlannedReward()/setPlannedReward(double) | When a tool is used, before cost/reward are applied |
SigmaToolEconomyDeductEvent | getPlayer(), getToolType(), getCurrency(), getAmount()/setAmount(double) | When economy is about to be deducted |
SigmaToolEconomyRewardEvent | getPlayer(), getToolType(), getCurrency(), getAmount()/setAmount(double) | When an economy reward is about to be given |
public class MyPlugin extends JavaPlugin implements Listener {
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onToolUse(SigmaToolUseEvent event) {
Player player = event.getPlayer();
if (player.hasPermission("myplugin.vip")) {
event.setPlannedCost(event.getPlannedCost() * 0.5);
event.setPlannedReward(event.getPlannedReward() * 2.0);
}
// event.setCancelled(true); // prevents tool usage
}
@EventHandler
public void onEconomyDeduct(SigmaToolEconomyDeductEvent event) {
if (event.getPlayer().hasPermission("myplugin.discount")) {
event.setAmount(event.getAmount() * 0.8); // 20% discount
}
}
@EventHandler
public void onEconomyReward(SigmaToolEconomyRewardEvent event) {
if (event.getPlayer().hasPermission("myplugin.vip")) {
event.setAmount(event.getAmount() * 2.0);
}
}
}
Standard Bukkit @EventHandler(priority = EventPriority.HIGH) priorities apply (default NORMAL).