Faction create event is no longer cancellable, and is called AFTER the faction is made. This allows people to hook into the event and manipulating the Faction without having a delay. And if the event was ever cancelled before, it was silent.
This commit is contained in:
parent
819cb542cd
commit
2291554e1e
@ -55,13 +55,6 @@ public class CmdCreate extends FCommand {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// trigger the faction creation event (cancellable)
|
|
||||||
FactionCreateEvent createEvent = new FactionCreateEvent(me, tag);
|
|
||||||
Bukkit.getServer().getPluginManager().callEvent(createEvent);
|
|
||||||
if (createEvent.isCancelled()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// then make 'em pay (if applicable)
|
// then make 'em pay (if applicable)
|
||||||
if (!payForCommand(Conf.econCostCreate, TL.COMMAND_CREATE_TOCREATE, TL.COMMAND_CREATE_FORCREATE)) {
|
if (!payForCommand(Conf.econCostCreate, TL.COMMAND_CREATE_TOCREATE, TL.COMMAND_CREATE_FORCREATE)) {
|
||||||
return;
|
return;
|
||||||
@ -87,6 +80,10 @@ public class CmdCreate extends FCommand {
|
|||||||
fme.setRole(Role.ADMIN);
|
fme.setRole(Role.ADMIN);
|
||||||
fme.setFaction(faction);
|
fme.setFaction(faction);
|
||||||
|
|
||||||
|
// trigger the faction creation event
|
||||||
|
FactionCreateEvent createEvent = new FactionCreateEvent(me, tag, faction);
|
||||||
|
Bukkit.getServer().getPluginManager().callEvent(createEvent);
|
||||||
|
|
||||||
for (FPlayer follower : FPlayers.getInstance().getOnlinePlayers()) {
|
for (FPlayer follower : FPlayers.getInstance().getOnlinePlayers()) {
|
||||||
follower.msg(TL.COMMAND_CREATE_CREATED, fme.describeTo(follower, true), faction.getTag(follower));
|
follower.msg(TL.COMMAND_CREATE_CREATED, fme.describeTo(follower, true), faction.getTag(follower));
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package com.massivecraft.factions.event;
|
|||||||
|
|
||||||
import com.massivecraft.factions.FPlayer;
|
import com.massivecraft.factions.FPlayer;
|
||||||
import com.massivecraft.factions.FPlayers;
|
import com.massivecraft.factions.FPlayers;
|
||||||
|
import com.massivecraft.factions.Faction;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.Cancellable;
|
import org.bukkit.event.Cancellable;
|
||||||
import org.bukkit.event.Event;
|
import org.bukkit.event.Event;
|
||||||
@ -10,28 +11,34 @@ import org.bukkit.event.HandlerList;
|
|||||||
/**
|
/**
|
||||||
* Event called when a Faction is created.
|
* Event called when a Faction is created.
|
||||||
*/
|
*/
|
||||||
public class FactionCreateEvent extends Event implements Cancellable {
|
public class FactionCreateEvent extends Event {
|
||||||
|
|
||||||
private static final HandlerList handlers = new HandlerList();
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
|
||||||
private String factionTag;
|
private final String factionTag;
|
||||||
private Player sender;
|
private final Player sender;
|
||||||
private boolean cancelled;
|
private final Faction faction;
|
||||||
|
|
||||||
public FactionCreateEvent(Player sender, String tag) {
|
public FactionCreateEvent(Player sender, String tag, Faction faction) {
|
||||||
this.factionTag = tag;
|
this.factionTag = tag;
|
||||||
this.sender = sender;
|
this.sender = sender;
|
||||||
this.cancelled = false;
|
this.faction = faction;
|
||||||
}
|
}
|
||||||
|
|
||||||
public FPlayer getFPlayer() {
|
public FPlayer getFPlayer() {
|
||||||
return FPlayers.getInstance().getByPlayer(sender);
|
return FPlayers.getInstance().getByPlayer(sender);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public String getFactionTag() {
|
public String getFactionTag() {
|
||||||
return factionTag;
|
return factionTag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Faction getFaction() {
|
||||||
|
return this.faction;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public HandlerList getHandlers() {
|
public HandlerList getHandlers() {
|
||||||
return handlers;
|
return handlers;
|
||||||
}
|
}
|
||||||
@ -40,13 +47,4 @@ public class FactionCreateEvent extends Event implements Cancellable {
|
|||||||
return handlers;
|
return handlers;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isCancelled() {
|
|
||||||
return cancelled;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setCancelled(boolean c) {
|
|
||||||
this.cancelled = c;
|
|
||||||
}
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user