diff --git a/src/main/java/com/massivecraft/factions/cmd/money/CmdMoneyBalance.java b/src/main/java/com/massivecraft/factions/cmd/money/CmdMoneyBalance.java index 7eff6d05..1a80d1a9 100644 --- a/src/main/java/com/massivecraft/factions/cmd/money/CmdMoneyBalance.java +++ b/src/main/java/com/massivecraft/factions/cmd/money/CmdMoneyBalance.java @@ -13,6 +13,7 @@ public CmdMoneyBalance() { super(); this.aliases.add("b"); this.aliases.add("balance"); + this.aliases.add("bal"); //this.requiredArgs.add(""); this.optionalArgs.put("faction", "yours"); diff --git a/src/main/java/com/massivecraft/factions/cmd/strikes/CmdStrikeGive.java b/src/main/java/com/massivecraft/factions/cmd/strikes/CmdStrikeGive.java index bb582e4d..79e99a68 100644 --- a/src/main/java/com/massivecraft/factions/cmd/strikes/CmdStrikeGive.java +++ b/src/main/java/com/massivecraft/factions/cmd/strikes/CmdStrikeGive.java @@ -7,6 +7,7 @@ import com.massivecraft.factions.cmd.CommandContext; import com.massivecraft.factions.cmd.CommandRequirements; import com.massivecraft.factions.cmd.FCommand; +import com.massivecraft.factions.event.FactionStrikeAddEvent; import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.util.TL; import com.massivecraft.factions.util.TextUtil; @@ -41,7 +42,11 @@ public void perform(CommandContext context) { } String trim = stringBuilder.toString().trim(); - toStrike.addStrike(trim, System.currentTimeMillis()); + long now = System.currentTimeMillis(); + FactionStrikeAddEvent event = new FactionStrikeAddEvent(toStrike, context.fPlayer, trim, now); + Bukkit.getPluginManager().callEvent(event); + if(!event.isCancelled()) + toStrike.addStrike(event.getReason(), event.getTime()); if(FactionsPlugin.getInstance().getConfigManager().getMainConfig().commands().strike().broadcastStrikes()){ for(Player player : Bukkit.getOnlinePlayers()){ diff --git a/src/main/java/com/massivecraft/factions/event/FactionStrikeAddEvent.java b/src/main/java/com/massivecraft/factions/event/FactionStrikeAddEvent.java new file mode 100644 index 00000000..f1f4fcb7 --- /dev/null +++ b/src/main/java/com/massivecraft/factions/event/FactionStrikeAddEvent.java @@ -0,0 +1,77 @@ +package com.massivecraft.factions.event; + +import com.massivecraft.factions.FPlayer; +import com.massivecraft.factions.Faction; +import org.bukkit.event.Cancellable; +import org.bukkit.event.HandlerList; + +/** + * Event called when a Faction gets striked + */ +public class FactionStrikeAddEvent extends FactionEvent implements Cancellable +{ + private static final HandlerList handlers = new HandlerList(); + + private final Faction faction; + private final FPlayer playerIssued; + private String reason; + private long time; + private boolean cancelled = false; + + public FactionStrikeAddEvent(Faction faction, FPlayer playerIssued, String reason, long time) + { + super(faction); + this.faction = faction; + this.playerIssued = playerIssued; + this.reason = reason; + this.time = time; + } + + public FPlayer getPlayerWhoIssued() + { + return playerIssued; + } + + public String getReason() + { + return reason; + } + + public long getTime() + { + return time; + } + + public void setTime(long time) + { + this.time = time; + } + + public void setReason(String reason) + { + this.reason = reason; + } + + @Override + public boolean isCancelled() + { + return cancelled; + } + + @Override + public void setCancelled(boolean cancelled) + { + this.cancelled = cancelled; + } + + @Override + public HandlerList getHandlers() + { + return handlers; + } + + public static HandlerList getHandlerList() + { + return handlers; + } +} \ No newline at end of file