updated patrickfreed's custom event system
Patrick's Custom Event System Changes:
----------------------------------------
  * FPlayerLeaveEvent now fires for all faction players in cmdDisband()
  * FPlayerLeaveEvent removed from cmdJoin()
  * FPlayerJoinEvent now only fires when the faction is different in cmdLeade
  * Added FactionRenameEvent, firing on cmdTag()
  * Added FactionRelationEvent, firing on FRelationCommand extensions
  * Fixed FPlayerJoinEvent to fire after tag is set in cmdCreate()
  * Added getFactionId() to FactionCreateEvent
TODO:
-------
  * cmdLeader() might need a FPlayerLeaveEvent for the same reason it needs
    a FPlayerJoinEvent?
On branch CustomFactionEvents
	modified:   src/com/massivecraft/factions/cmd/CmdCreate.java
	modified:   src/com/massivecraft/factions/cmd/CmdDisband.java
	modified:   src/com/massivecraft/factions/cmd/CmdJoin.java
	modified:   src/com/massivecraft/factions/cmd/CmdKick.java
	modified:   src/com/massivecraft/factions/cmd/CmdLeader.java
	modified:   src/com/massivecraft/factions/cmd/CmdTag.java
	modified:   src/com/massivecraft/factions/cmd/FRelationCommand.java
	modified:   src/com/massivecraft/factions/event/FPlayerLeaveEvent.java
	modified:   src/com/massivecraft/factions/event/FactionCreateEvent.java
	new file:   src/com/massivecraft/factions/event/FactionRelationEvent.java
	new file:   src/com/massivecraft/factions/event/FactionRenameEvent.java
	modified:   src/com/massivecraft/factions/event/LandClaimEvent.java
			
			
This commit is contained in:
		@@ -57,10 +57,10 @@ public class CmdCreate extends FCommand
 | 
			
		||||
			sendMessage(tagValidationErrors);
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		FactionCreateEvent createEvent = new FactionCreateEvent(tag, me);
 | 
			
		||||
		Bukkit.getServer().getPluginManager().callEvent(createEvent);
 | 
			
		||||
 | 
			
		||||
		// trigger the faction creation event (cancellable)
 | 
			
		||||
		FactionCreateEvent createEvent = new FactionCreateEvent(me, tag);
 | 
			
		||||
		Bukkit.getServer().getPluginManager().callEvent(createEvent);
 | 
			
		||||
		if(createEvent.isCancelled()) return;
 | 
			
		||||
		
 | 
			
		||||
		// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
 | 
			
		||||
@@ -75,10 +75,15 @@ public class CmdCreate extends FCommand
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		FPlayerJoinEvent joinEvent = new FPlayerJoinEvent(FPlayers.i.get(me),faction,FPlayerJoinEvent.PlayerJoinReason.CREATE);
 | 
			
		||||
		Bukkit.getServer().getPluginManager().callEvent(joinEvent); 
 | 
			
		||||
		
 | 
			
		||||
		faction.setTag(tag);
 | 
			
		||||
		// finish setting up the Faction
 | 
			
		||||
    faction.setTag(tag);
 | 
			
		||||
 | 
			
		||||
    // trigger the faction join event for the creator
 | 
			
		||||
    FPlayerJoinEvent joinEvent = new FPlayerJoinEvent(FPlayers.i.get(me),faction,FPlayerJoinEvent.PlayerJoinReason.CREATE);
 | 
			
		||||
    Bukkit.getServer().getPluginManager().callEvent(joinEvent);
 | 
			
		||||
    // join event cannot be cancelled or you'll have an empty faction
 | 
			
		||||
 | 
			
		||||
    // finish setting up the FPlayer
 | 
			
		||||
		fme.setRole(Rel.LEADER);
 | 
			
		||||
		fme.setFaction(faction);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,91 +1,96 @@
 | 
			
		||||
package com.massivecraft.factions.cmd;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
 | 
			
		||||
import com.massivecraft.factions.Conf;
 | 
			
		||||
import com.massivecraft.factions.event.FPlayerLeaveEvent;
 | 
			
		||||
import com.massivecraft.factions.event.FactionDisbandEvent;
 | 
			
		||||
import com.massivecraft.factions.integration.Econ;
 | 
			
		||||
import com.massivecraft.factions.FPlayers;
 | 
			
		||||
import com.massivecraft.factions.Faction;
 | 
			
		||||
import com.massivecraft.factions.P;
 | 
			
		||||
import com.massivecraft.factions.FPlayer;
 | 
			
		||||
import com.massivecraft.factions.integration.SpoutFeatures;
 | 
			
		||||
import com.massivecraft.factions.struct.FFlag;
 | 
			
		||||
import com.massivecraft.factions.struct.FPerm;
 | 
			
		||||
import com.massivecraft.factions.struct.Permission;
 | 
			
		||||
 | 
			
		||||
public class CmdDisband extends FCommand
 | 
			
		||||
{
 | 
			
		||||
	public CmdDisband()
 | 
			
		||||
	{
 | 
			
		||||
		super();
 | 
			
		||||
		this.aliases.add("disband");
 | 
			
		||||
		
 | 
			
		||||
		//this.requiredArgs.add("");
 | 
			
		||||
		this.optionalArgs.put("faction", "your");
 | 
			
		||||
		
 | 
			
		||||
		this.permission = Permission.DISBAND.node;
 | 
			
		||||
		this.disableOnLock = true;
 | 
			
		||||
		
 | 
			
		||||
		senderMustBePlayer = false;
 | 
			
		||||
		senderMustBeMember = false;
 | 
			
		||||
		senderMustBeOfficer = false;
 | 
			
		||||
		senderMustBeLeader = false;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	@Override
 | 
			
		||||
	public void perform()
 | 
			
		||||
	{
 | 
			
		||||
		// The faction, default to your own.. but null if console sender.
 | 
			
		||||
		Faction faction = this.argAsFaction(0, fme == null ? null : myFaction);
 | 
			
		||||
		if (faction == null) return;
 | 
			
		||||
		
 | 
			
		||||
		if ( ! FPerm.DISBAND.has(sender, faction, true)) return;
 | 
			
		||||
 | 
			
		||||
		if (faction.getFlag(FFlag.PERMANENT))
 | 
			
		||||
		{
 | 
			
		||||
			msg("<i>This faction is designated as permanent, so you cannot disband it.");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		FactionDisbandEvent disbandEvent = new FactionDisbandEvent(me, faction.getId());
 | 
			
		||||
		Bukkit.getServer().getPluginManager().callEvent(disbandEvent);
 | 
			
		||||
		if(disbandEvent.isCancelled()) return;
 | 
			
		||||
		
 | 
			
		||||
		// Inform all players
 | 
			
		||||
		for (FPlayer fplayer : FPlayers.i.getOnline())
 | 
			
		||||
		{
 | 
			
		||||
			String who = senderIsConsole ? "A server admin" : fme.describeTo(fplayer);
 | 
			
		||||
			if (fplayer.getFaction() == faction)
 | 
			
		||||
			{
 | 
			
		||||
				Bukkit.getServer().getPluginManager().callEvent(new FPlayerLeaveEvent(fplayer,faction, FPlayerLeaveEvent.PlayerLeaveReason.DISBAND));
 | 
			
		||||
				fplayer.msg("<h>%s<i> disbanded your faction.", who);
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				fplayer.msg("<h>%s<i> disbanded the faction %s.", who, faction.getTag(fplayer));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if (Conf.logFactionDisband)
 | 
			
		||||
			P.p.log("The faction "+faction.getTag()+" ("+faction.getId()+") was disbanded by "+(senderIsConsole ? "console command" : fme.getName())+".");
 | 
			
		||||
 | 
			
		||||
		if (Econ.shouldBeUsed() && ! senderIsConsole)
 | 
			
		||||
		{
 | 
			
		||||
			//Give all the faction's money to the disbander
 | 
			
		||||
			double amount = Econ.getBalance(faction.getAccountId());
 | 
			
		||||
			Econ.transferMoney(fme, faction, fme, amount, false);
 | 
			
		||||
			
 | 
			
		||||
			if (amount > 0.0)
 | 
			
		||||
			{
 | 
			
		||||
				String amountString = Econ.moneyString(amount);
 | 
			
		||||
				msg("<i>You have been given the disbanded faction's bank, totaling %s.", amountString);
 | 
			
		||||
				P.p.log(fme.getName() + " has been given bank holdings of "+amountString+" from disbanding "+faction.getTag()+".");
 | 
			
		||||
			}
 | 
			
		||||
		}		
 | 
			
		||||
		
 | 
			
		||||
		faction.detach();
 | 
			
		||||
 | 
			
		||||
		SpoutFeatures.updateAppearances();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
package com.massivecraft.factions.cmd;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
 | 
			
		||||
import com.massivecraft.factions.Conf;
 | 
			
		||||
import com.massivecraft.factions.event.FPlayerLeaveEvent;
 | 
			
		||||
import com.massivecraft.factions.event.FactionDisbandEvent;
 | 
			
		||||
import com.massivecraft.factions.integration.Econ;
 | 
			
		||||
import com.massivecraft.factions.FPlayers;
 | 
			
		||||
import com.massivecraft.factions.Faction;
 | 
			
		||||
import com.massivecraft.factions.P;
 | 
			
		||||
import com.massivecraft.factions.FPlayer;
 | 
			
		||||
import com.massivecraft.factions.integration.SpoutFeatures;
 | 
			
		||||
import com.massivecraft.factions.struct.FFlag;
 | 
			
		||||
import com.massivecraft.factions.struct.FPerm;
 | 
			
		||||
import com.massivecraft.factions.struct.Permission;
 | 
			
		||||
 | 
			
		||||
public class CmdDisband extends FCommand
 | 
			
		||||
{
 | 
			
		||||
	public CmdDisband()
 | 
			
		||||
	{
 | 
			
		||||
		super();
 | 
			
		||||
		this.aliases.add("disband");
 | 
			
		||||
		
 | 
			
		||||
		//this.requiredArgs.add("");
 | 
			
		||||
		this.optionalArgs.put("faction", "your");
 | 
			
		||||
		
 | 
			
		||||
		this.permission = Permission.DISBAND.node;
 | 
			
		||||
		this.disableOnLock = true;
 | 
			
		||||
		
 | 
			
		||||
		senderMustBePlayer = false;
 | 
			
		||||
		senderMustBeMember = false;
 | 
			
		||||
		senderMustBeOfficer = false;
 | 
			
		||||
		senderMustBeLeader = false;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	@Override
 | 
			
		||||
	public void perform()
 | 
			
		||||
	{
 | 
			
		||||
		// The faction, default to your own.. but null if console sender.
 | 
			
		||||
		Faction faction = this.argAsFaction(0, fme == null ? null : myFaction);
 | 
			
		||||
		if (faction == null) return;
 | 
			
		||||
		
 | 
			
		||||
		if ( ! FPerm.DISBAND.has(sender, faction, true)) return;
 | 
			
		||||
 | 
			
		||||
		if (faction.getFlag(FFlag.PERMANENT))
 | 
			
		||||
		{
 | 
			
		||||
			msg("<i>This faction is designated as permanent, so you cannot disband it.");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		FactionDisbandEvent disbandEvent = new FactionDisbandEvent(me, faction.getId());
 | 
			
		||||
		Bukkit.getServer().getPluginManager().callEvent(disbandEvent);
 | 
			
		||||
		if(disbandEvent.isCancelled()) return;
 | 
			
		||||
 | 
			
		||||
		// Send FPlayerLeaveEvent for each player in the faction
 | 
			
		||||
		for ( FPlayer fplayer : faction.getFPlayers() )
 | 
			
		||||
	  {
 | 
			
		||||
      Bukkit.getServer().getPluginManager().callEvent(new FPlayerLeaveEvent(fplayer, faction, FPlayerLeaveEvent.PlayerLeaveReason.DISBAND));
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Inform all players
 | 
			
		||||
		for (FPlayer fplayer : FPlayers.i.getOnline())
 | 
			
		||||
		{
 | 
			
		||||
			String who = senderIsConsole ? "A server admin" : fme.describeTo(fplayer);
 | 
			
		||||
			if (fplayer.getFaction() == faction)
 | 
			
		||||
			{
 | 
			
		||||
				fplayer.msg("<h>%s<i> disbanded your faction.", who);
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				fplayer.msg("<h>%s<i> disbanded the faction %s.", who, faction.getTag(fplayer));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if (Conf.logFactionDisband)
 | 
			
		||||
			P.p.log("The faction "+faction.getTag()+" ("+faction.getId()+") was disbanded by "+(senderIsConsole ? "console command" : fme.getName())+".");
 | 
			
		||||
 | 
			
		||||
		if (Econ.shouldBeUsed() && ! senderIsConsole)
 | 
			
		||||
		{
 | 
			
		||||
			//Give all the faction's money to the disbander
 | 
			
		||||
			double amount = Econ.getBalance(faction.getAccountId());
 | 
			
		||||
			Econ.transferMoney(fme, faction, fme, amount, false);
 | 
			
		||||
			
 | 
			
		||||
			if (amount > 0.0)
 | 
			
		||||
			{
 | 
			
		||||
				String amountString = Econ.moneyString(amount);
 | 
			
		||||
				msg("<i>You have been given the disbanded faction's bank, totaling %s.", amountString);
 | 
			
		||||
				P.p.log(fme.getName() + " has been given bank holdings of "+amountString+" from disbanding "+faction.getTag()+".");
 | 
			
		||||
			}
 | 
			
		||||
		}		
 | 
			
		||||
		
 | 
			
		||||
		faction.detach();
 | 
			
		||||
 | 
			
		||||
		SpoutFeatures.updateAppearances();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -8,9 +8,7 @@ import com.massivecraft.factions.Faction;
 | 
			
		||||
import com.massivecraft.factions.FPlayer;
 | 
			
		||||
import com.massivecraft.factions.P;
 | 
			
		||||
import com.massivecraft.factions.event.FPlayerJoinEvent;
 | 
			
		||||
import com.massivecraft.factions.event.FPlayerLeaveEvent;
 | 
			
		||||
import com.massivecraft.factions.struct.Permission;
 | 
			
		||||
import com.massivecraft.factions.zcore.persist.EM;
 | 
			
		||||
 | 
			
		||||
public class CmdJoin extends FCommand
 | 
			
		||||
{
 | 
			
		||||
@@ -82,14 +80,8 @@ public class CmdJoin extends FCommand
 | 
			
		||||
		if (samePlayer && ! payForCommand(Conf.econCostJoin, "to join a faction", "for joining a faction")) return;
 | 
			
		||||
 | 
			
		||||
		fme.msg("<i>%s successfully joined %s.", fplayer.describeTo(fme, true), faction.getTag(fme));
 | 
			
		||||
		
 | 
			
		||||
		if(!EM.detached(myFaction))
 | 
			
		||||
		{
 | 
			
		||||
			FPlayerLeaveEvent leaveEvent = new FPlayerLeaveEvent(FPlayers.i.get(me),faction,FPlayerLeaveEvent.PlayerLeaveReason.JOINOTHER);
 | 
			
		||||
			Bukkit.getServer().getPluginManager().callEvent(leaveEvent);
 | 
			
		||||
			if (leaveEvent.isCancelled()) return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		// trigger the join event (cancellable)
 | 
			
		||||
		FPlayerJoinEvent joinEvent = new FPlayerJoinEvent(FPlayers.i.get(me),faction,FPlayerJoinEvent.PlayerJoinReason.COMMAND);
 | 
			
		||||
		Bukkit.getServer().getPluginManager().callEvent(joinEvent);
 | 
			
		||||
		if (joinEvent.isCancelled()) return;
 | 
			
		||||
 
 | 
			
		||||
@@ -63,6 +63,7 @@ public class CmdKick extends FCommand
 | 
			
		||||
		// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
 | 
			
		||||
		if ( ! payForCommand(Conf.econCostKick, "to kick someone from the faction", "for kicking someone from the faction")) return;
 | 
			
		||||
 | 
			
		||||
		// trigger the leave event (cancellable) [reason:kicked]
 | 
			
		||||
		FPlayerLeaveEvent event = new FPlayerLeaveEvent(you, you.getFaction(), FPlayerLeaveEvent.PlayerLeaveReason.KICKED);
 | 
			
		||||
		Bukkit.getServer().getPluginManager().callEvent(event);
 | 
			
		||||
		if (event.isCancelled()) return;
 | 
			
		||||
 
 | 
			
		||||
@@ -66,11 +66,16 @@ public class CmdLeader extends FCommand
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		FPlayerJoinEvent event = new FPlayerJoinEvent(FPlayers.i.get(me),targetFaction,FPlayerJoinEvent.PlayerJoinReason.LEADER);
 | 
			
		||||
		Bukkit.getServer().getPluginManager().callEvent(event);
 | 
			
		||||
		if (event.isCancelled()) return;
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		// only perform a FPlayerJoinEvent when newLeader isn't actually in the faction
 | 
			
		||||
		// (only possibly triggered by console)
 | 
			
		||||
		if (newLeader.getFaction() != targetFaction)
 | 
			
		||||
	  {
 | 
			
		||||
		  FPlayerJoinEvent event = new FPlayerJoinEvent(FPlayers.i.get(me),targetFaction,FPlayerJoinEvent.PlayerJoinReason.LEADER);
 | 
			
		||||
		  Bukkit.getServer().getPluginManager().callEvent(event);
 | 
			
		||||
		  if (event.isCancelled()) return;
 | 
			
		||||
	  }
 | 
			
		||||
 | 
			
		||||
		// if target player is currently leader, demote and replace him
 | 
			
		||||
		if (targetFactionCurrentLeader == newLeader)
 | 
			
		||||
		{
 | 
			
		||||
 
 | 
			
		||||
@@ -2,9 +2,12 @@ package com.massivecraft.factions.cmd;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
 | 
			
		||||
import com.massivecraft.factions.Conf;
 | 
			
		||||
import com.massivecraft.factions.Faction;
 | 
			
		||||
import com.massivecraft.factions.Factions;
 | 
			
		||||
import com.massivecraft.factions.event.FactionRenameEvent;
 | 
			
		||||
import com.massivecraft.factions.integration.SpoutFeatures;
 | 
			
		||||
import com.massivecraft.factions.struct.Permission;
 | 
			
		||||
import com.massivecraft.factions.util.MiscUtil;
 | 
			
		||||
@@ -39,7 +42,7 @@ public class CmdTag extends FCommand
 | 
			
		||||
			msg("<b>That tag is already taken");
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		ArrayList<String> errors = new ArrayList<String>();
 | 
			
		||||
		errors.addAll(Factions.validateTag(tag));
 | 
			
		||||
		if (errors.size() > 0)
 | 
			
		||||
@@ -48,12 +51,17 @@ public class CmdTag extends FCommand
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
    // trigger the faction rename event (cancellable)
 | 
			
		||||
    FactionRenameEvent renameEvent = new FactionRenameEvent(fme, tag);
 | 
			
		||||
    Bukkit.getServer().getPluginManager().callEvent(renameEvent);
 | 
			
		||||
    if(renameEvent.isCancelled()) return;
 | 
			
		||||
 | 
			
		||||
		// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
 | 
			
		||||
		if ( ! payForCommand(Conf.econCostTag, "to change the faction tag", "for changing the faction tag")) return;
 | 
			
		||||
		
 | 
			
		||||
		String oldtag = myFaction.getTag();
 | 
			
		||||
 | 
			
		||||
    String oldtag = myFaction.getTag();
 | 
			
		||||
		myFaction.setTag(tag);
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		// Inform
 | 
			
		||||
		myFaction.msg("%s<i> changed your faction tag to %s", fme.describeTo(myFaction, true), myFaction.getTag(myFaction));
 | 
			
		||||
		for (Faction faction : Factions.i.get())
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,10 @@
 | 
			
		||||
package com.massivecraft.factions.cmd;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
 | 
			
		||||
import com.massivecraft.factions.Conf;
 | 
			
		||||
import com.massivecraft.factions.Faction;
 | 
			
		||||
import com.massivecraft.factions.event.FactionRelationEvent;
 | 
			
		||||
import com.massivecraft.factions.integration.SpoutFeatures;
 | 
			
		||||
import com.massivecraft.factions.struct.FFlag;
 | 
			
		||||
import com.massivecraft.factions.struct.Permission;
 | 
			
		||||
@@ -47,13 +50,22 @@ public abstract class FRelationCommand extends FCommand
 | 
			
		||||
		// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
 | 
			
		||||
		if ( ! payForCommand(targetRelation.getRelationCost(), "to change a relation wish", "for changing a relation wish")) return;
 | 
			
		||||
 | 
			
		||||
		// try to set the new relation
 | 
			
		||||
		Rel oldRelation = myFaction.getRelationTo(them, true);
 | 
			
		||||
		myFaction.setRelationWish(them, targetRelation);
 | 
			
		||||
		Rel currentRelation = myFaction.getRelationTo(them, true);
 | 
			
		||||
 | 
			
		||||
		// if the relation change was successful
 | 
			
		||||
		if (targetRelation == currentRelation)
 | 
			
		||||
		{
 | 
			
		||||
      // trigger the faction relation event
 | 
			
		||||
      FactionRelationEvent relationEvent = new FactionRelationEvent(myFaction, them, oldRelation, currentRelation);
 | 
			
		||||
      Bukkit.getServer().getPluginManager().callEvent(relationEvent);
 | 
			
		||||
 | 
			
		||||
			them.msg("%s<i> is now %s.", myFaction.describeTo(them, true), targetRelation.getDescFactionOne());
 | 
			
		||||
			myFaction.msg("%s<i> is now %s.", them.describeTo(myFaction, true), targetRelation.getDescFactionOne());
 | 
			
		||||
		}
 | 
			
		||||
		// inform the other faction of your request
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
			them.msg("%s<i> wishes to be %s.", myFaction.describeTo(them, true), targetRelation.getColor()+targetRelation.getDescFactionOne());
 | 
			
		||||
@@ -62,6 +74,7 @@ public abstract class FRelationCommand extends FCommand
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		// TODO: The ally case should work!!
 | 
			
		||||
		//   * this might have to be bumped up to make that happen, & allow ALLY,NEUTRAL only
 | 
			
		||||
		if ( targetRelation != Rel.TRUCE && them.getFlag(FFlag.PEACEFUL))
 | 
			
		||||
		{
 | 
			
		||||
			them.msg("<i>This will have no effect while your faction is peaceful.");
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ public class FPlayerLeaveEvent extends Event implements Cancellable
 | 
			
		||||
	Faction Faction;
 | 
			
		||||
	boolean cancelled = false;
 | 
			
		||||
 | 
			
		||||
	public enum PlayerLeaveReason 
 | 
			
		||||
	public enum PlayerLeaveReason
 | 
			
		||||
	{
 | 
			
		||||
		KICKED, DISBAND, RESET, JOINOTHER, LEAVE
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@ import org.bukkit.event.HandlerList;
 | 
			
		||||
 | 
			
		||||
import com.massivecraft.factions.FPlayer;
 | 
			
		||||
import com.massivecraft.factions.FPlayers;
 | 
			
		||||
import com.massivecraft.factions.Factions;
 | 
			
		||||
 | 
			
		||||
public class FactionCreateEvent extends Event implements Cancellable
 | 
			
		||||
{
 | 
			
		||||
@@ -16,7 +17,7 @@ public class FactionCreateEvent extends Event implements Cancellable
 | 
			
		||||
	private Player sender;
 | 
			
		||||
	private boolean cancelled;
 | 
			
		||||
	
 | 
			
		||||
    public FactionCreateEvent(String tag, Player sender) 
 | 
			
		||||
    public FactionCreateEvent(Player sender, String tag) 
 | 
			
		||||
    {
 | 
			
		||||
       this.factionTag = tag;
 | 
			
		||||
       this.sender = sender;
 | 
			
		||||
@@ -28,11 +29,16 @@ public class FactionCreateEvent extends Event implements Cancellable
 | 
			
		||||
    	return FPlayers.i.get(sender);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public String getFactionId()
 | 
			
		||||
    {
 | 
			
		||||
      return Factions.i.getNextId();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getFactionTag()
 | 
			
		||||
    {
 | 
			
		||||
    	return factionTag;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    public HandlerList getHandlers() 
 | 
			
		||||
    {
 | 
			
		||||
        return handlers;
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,56 @@
 | 
			
		||||
package com.massivecraft.factions.event;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.event.Event;
 | 
			
		||||
import org.bukkit.event.HandlerList;
 | 
			
		||||
 | 
			
		||||
import com.massivecraft.factions.struct.Rel;
 | 
			
		||||
import com.massivecraft.factions.Faction;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
public class FactionRelationEvent extends Event {
 | 
			
		||||
  private static final HandlerList handlers = new HandlerList();
 | 
			
		||||
 | 
			
		||||
  private Faction fsender;
 | 
			
		||||
  private Faction ftarget;
 | 
			
		||||
  private Rel foldrel;
 | 
			
		||||
  private Rel frel;
 | 
			
		||||
 | 
			
		||||
  public FactionRelationEvent(Faction sender, Faction target, Rel oldrel, Rel rel)
 | 
			
		||||
  {
 | 
			
		||||
    fsender = sender;
 | 
			
		||||
    ftarget = target;
 | 
			
		||||
    foldrel = oldrel;
 | 
			
		||||
    frel = rel;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public HandlerList getHandlers() 
 | 
			
		||||
  {
 | 
			
		||||
    return handlers;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public static HandlerList getHandlerList() 
 | 
			
		||||
  {
 | 
			
		||||
    return handlers;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public Rel getOldRelation() 
 | 
			
		||||
  {
 | 
			
		||||
    return foldrel;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public Rel getRelation() 
 | 
			
		||||
  {
 | 
			
		||||
    return frel;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public Faction getFaction()
 | 
			
		||||
  {
 | 
			
		||||
    return fsender;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public Faction getTargetFaction()
 | 
			
		||||
  {
 | 
			
		||||
    return ftarget;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										73
									
								
								src/com/massivecraft/factions/event/FactionRenameEvent.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								src/com/massivecraft/factions/event/FactionRenameEvent.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
package com.massivecraft.factions.event;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
import org.bukkit.event.Cancellable;
 | 
			
		||||
import org.bukkit.event.Event;
 | 
			
		||||
import org.bukkit.event.HandlerList;
 | 
			
		||||
 | 
			
		||||
import com.massivecraft.factions.FPlayer;
 | 
			
		||||
import com.massivecraft.factions.Faction;
 | 
			
		||||
 | 
			
		||||
public class FactionRenameEvent extends Event implements Cancellable {
 | 
			
		||||
  private static final HandlerList handlers = new HandlerList();
 | 
			
		||||
 | 
			
		||||
  private boolean cancelled;
 | 
			
		||||
  private FPlayer fplayer;
 | 
			
		||||
  private Faction faction;
 | 
			
		||||
  private String tag;
 | 
			
		||||
 | 
			
		||||
  public FactionRenameEvent(FPlayer sender, String newTag) 
 | 
			
		||||
  {
 | 
			
		||||
     fplayer = sender;
 | 
			
		||||
     faction = sender.getFaction();
 | 
			
		||||
     tag = newTag;
 | 
			
		||||
     this.cancelled = false;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public Faction getFaction()
 | 
			
		||||
  {
 | 
			
		||||
      return(faction);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public FPlayer getFPlayer()
 | 
			
		||||
  {
 | 
			
		||||
    return(fplayer);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public Player getPlayer()
 | 
			
		||||
  {
 | 
			
		||||
      return(fplayer.getPlayer());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public String getOldFactionTag()
 | 
			
		||||
  {
 | 
			
		||||
    return(faction.getTag());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public String getFactionTag()
 | 
			
		||||
  {
 | 
			
		||||
    return(tag);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public HandlerList getHandlers() 
 | 
			
		||||
  {
 | 
			
		||||
      return handlers;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public static HandlerList getHandlerList() 
 | 
			
		||||
  {
 | 
			
		||||
      return handlers;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Override
 | 
			
		||||
  public boolean isCancelled() 
 | 
			
		||||
  {
 | 
			
		||||
      return cancelled;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Override
 | 
			
		||||
  public void setCancelled(boolean c) 
 | 
			
		||||
  {
 | 
			
		||||
      this.cancelled = c;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -18,12 +18,12 @@ public class LandClaimEvent extends Event implements Cancellable
 | 
			
		||||
	private FLocation location;
 | 
			
		||||
	private String factionId, playerId;
 | 
			
		||||
 | 
			
		||||
	public LandClaimEvent(FLocation loc, String id, String pid)
 | 
			
		||||
	public LandClaimEvent(FLocation loc, String fid, String pid)
 | 
			
		||||
	{
 | 
			
		||||
		cancelled = false;
 | 
			
		||||
		location = loc;
 | 
			
		||||
		factionId = id;
 | 
			
		||||
		playerId = pid;
 | 
			
		||||
		this.factionId = fid;
 | 
			
		||||
		this.playerId = pid;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public HandlerList getHandlers() 
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user