Major messaround with the internal events and payForCommand logic. Not done just yet though.
This commit is contained in:
parent
d3488311de
commit
61baf70ed1
@ -26,7 +26,6 @@ permissions:
|
|||||||
factions.claim.radius: {description: claim land in a large radius}
|
factions.claim.radius: {description: claim land in a large radius}
|
||||||
factions.config: {description: change a conf.json setting}
|
factions.config: {description: change a conf.json setting}
|
||||||
factions.create: {description: create a new faction}
|
factions.create: {description: create a new faction}
|
||||||
factions.deinvite: {description: remove a pending invitation}
|
|
||||||
factions.demote: {description: demote lesser members in your faction}
|
factions.demote: {description: demote lesser members in your faction}
|
||||||
factions.description: {description: change the faction description}
|
factions.description: {description: change the faction description}
|
||||||
factions.disband: {description: disband a faction}
|
factions.disband: {description: disband a faction}
|
||||||
@ -34,7 +33,7 @@ permissions:
|
|||||||
factions.flag.set: {description: set faction flags}
|
factions.flag.set: {description: set faction flags}
|
||||||
factions.help: {description: display a help page}
|
factions.help: {description: display a help page}
|
||||||
factions.home: {description: teleport to the faction home}
|
factions.home: {description: teleport to the faction home}
|
||||||
factions.invite: {description: invite a player to your faction}
|
factions.invite: {description: set if a player is invited}
|
||||||
factions.join: {description: join a faction}
|
factions.join: {description: join a faction}
|
||||||
factions.join.any: {description: join any faction, bypassing invitation process for closed factions}
|
factions.join.any: {description: join any faction, bypassing invitation process for closed factions}
|
||||||
factions.join.others: {description: specify another player in the join command, to move them to the specified faction}
|
factions.join.others: {description: specify another player in the join command, to move them to the specified faction}
|
||||||
@ -134,7 +133,6 @@ permissions:
|
|||||||
factions.cape.*: true
|
factions.cape.*: true
|
||||||
factions.claim: true
|
factions.claim: true
|
||||||
factions.claim.radius: true
|
factions.claim.radius: true
|
||||||
factions.deinvite: true
|
|
||||||
factions.demote: true
|
factions.demote: true
|
||||||
factions.description: true
|
factions.description: true
|
||||||
factions.disband: true
|
factions.disband: true
|
||||||
|
@ -283,9 +283,10 @@ public class ConfServer extends SimpleConfig
|
|||||||
public static double econCostLeave = 0.0;
|
public static double econCostLeave = 0.0;
|
||||||
public static double econCostKick = 0.0;
|
public static double econCostKick = 0.0;
|
||||||
public static double econCostInvite = 0.0;
|
public static double econCostInvite = 0.0;
|
||||||
|
public static double econCostDeinvite = 0.0;
|
||||||
public static double econCostHome = 0.0;
|
public static double econCostHome = 0.0;
|
||||||
public static double econCostTag = 0.0;
|
public static double econCostTag = 0.0;
|
||||||
public static double econCostDesc = 0.0;
|
public static double econCostDescription = 0.0;
|
||||||
public static double econCostTitle = 0.0;
|
public static double econCostTitle = 0.0;
|
||||||
public static double econCostOpen = 0.0;
|
public static double econCostOpen = 0.0;
|
||||||
public static double econCostAlly = 0.0;
|
public static double econCostAlly = 0.0;
|
||||||
|
@ -3,13 +3,12 @@ package com.massivecraft.factions;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import com.massivecraft.factions.event.FPlayerLeaveEvent;
|
import com.massivecraft.factions.event.FactionsEventLeave;
|
||||||
import com.massivecraft.factions.event.LandClaimEvent;
|
import com.massivecraft.factions.event.FactionsEventLandClaim;
|
||||||
import com.massivecraft.factions.iface.EconomyParticipator;
|
import com.massivecraft.factions.iface.EconomyParticipator;
|
||||||
import com.massivecraft.factions.iface.RelationParticipator;
|
import com.massivecraft.factions.iface.RelationParticipator;
|
||||||
import com.massivecraft.factions.integration.Econ;
|
import com.massivecraft.factions.integration.Econ;
|
||||||
@ -700,8 +699,8 @@ public class FPlayer extends SenderEntity<FPlayer> implements EconomyParticipato
|
|||||||
// if economy is enabled and they're not on the bypass list, make sure they can pay
|
// if economy is enabled and they're not on the bypass list, make sure they can pay
|
||||||
if (makePay && ! Econ.hasAtLeast(this, ConfServer.econCostLeave, "to leave your faction.")) return;
|
if (makePay && ! Econ.hasAtLeast(this, ConfServer.econCostLeave, "to leave your faction.")) return;
|
||||||
|
|
||||||
FPlayerLeaveEvent leaveEvent = new FPlayerLeaveEvent(this,myFaction,FPlayerLeaveEvent.PlayerLeaveReason.LEAVE);
|
FactionsEventLeave leaveEvent = new FactionsEventLeave(sender, this, myFaction, FactionsEventLeave.PlayerLeaveReason.LEAVE);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(leaveEvent);
|
leaveEvent.run();
|
||||||
if (leaveEvent.isCancelled()) return;
|
if (leaveEvent.isCancelled()) return;
|
||||||
|
|
||||||
// then make 'em pay (if applicable)
|
// then make 'em pay (if applicable)
|
||||||
@ -858,8 +857,8 @@ public class FPlayer extends SenderEntity<FPlayer> implements EconomyParticipato
|
|||||||
if ( ! Econ.hasAtLeast(payee, cost, "to claim this land")) return false;
|
if ( ! Econ.hasAtLeast(payee, cost, "to claim this land")) return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
LandClaimEvent claimEvent = new LandClaimEvent(flocation, forFaction, this);
|
FactionsEventLandClaim claimEvent = new FactionsEventLandClaim(sender, forFaction, flocation);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(claimEvent);
|
claimEvent.run();
|
||||||
if (claimEvent.isCancelled()) return false;
|
if (claimEvent.isCancelled()) return false;
|
||||||
|
|
||||||
// then make 'em pay (if applicable)
|
// then make 'em pay (if applicable)
|
||||||
|
@ -354,39 +354,28 @@ public class Faction extends Entity<Faction> implements EconomyParticipator
|
|||||||
return this.isInvited(fplayer.getId());
|
return this.isInvited(fplayer.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean invite(String playerId)
|
public boolean setInvited(String playerId, boolean invited)
|
||||||
{
|
{
|
||||||
TreeSet<String> invitedPlayerIds = this.getInvitedPlayerIds();
|
TreeSet<String> invitedPlayerIds = this.getInvitedPlayerIds();
|
||||||
if (invitedPlayerIds.add(playerId.toLowerCase()))
|
boolean ret;
|
||||||
|
if (invited)
|
||||||
{
|
{
|
||||||
this.setInvitedPlayerIds(invitedPlayerIds);
|
ret = invitedPlayerIds.add(playerId.toLowerCase());
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
return false;
|
else
|
||||||
}
|
|
||||||
|
|
||||||
public void invite(FPlayer fplayer)
|
|
||||||
{
|
|
||||||
this.invite(fplayer.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean deinvite(String playerId)
|
|
||||||
{
|
|
||||||
TreeSet<String> invitedPlayerIds = this.getInvitedPlayerIds();
|
|
||||||
if (invitedPlayerIds.remove(playerId.toLowerCase()))
|
|
||||||
{
|
{
|
||||||
this.setInvitedPlayerIds(invitedPlayerIds);
|
ret = invitedPlayerIds.remove(playerId.toLowerCase());
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
return false;
|
this.setInvitedPlayerIds(invitedPlayerIds);
|
||||||
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deinvite(FPlayer fplayer)
|
public void setInvited(FPlayer fplayer, boolean invited)
|
||||||
{
|
{
|
||||||
this.deinvite(fplayer.getId());
|
this.setInvited(fplayer.getId(), invited);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELD: relationWish
|
// FIELD: relationWish
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -26,7 +26,6 @@ import com.massivecraft.factions.integration.Worldguard;
|
|||||||
import com.massivecraft.factions.integration.herochat.HerochatFeatures;
|
import com.massivecraft.factions.integration.herochat.HerochatFeatures;
|
||||||
import com.massivecraft.factions.listeners.FactionsListenerChat;
|
import com.massivecraft.factions.listeners.FactionsListenerChat;
|
||||||
import com.massivecraft.factions.listeners.FactionsListenerEcon;
|
import com.massivecraft.factions.listeners.FactionsListenerEcon;
|
||||||
import com.massivecraft.factions.listeners.TodoFactionsEntityListener;
|
|
||||||
import com.massivecraft.factions.listeners.FactionsListenerExploit;
|
import com.massivecraft.factions.listeners.FactionsListenerExploit;
|
||||||
import com.massivecraft.factions.listeners.FactionsListenerMain;
|
import com.massivecraft.factions.listeners.FactionsListenerMain;
|
||||||
import com.massivecraft.factions.listeners.TodoFactionsPlayerListener;
|
import com.massivecraft.factions.listeners.TodoFactionsPlayerListener;
|
||||||
@ -57,7 +56,6 @@ public class Factions extends MPlugin
|
|||||||
|
|
||||||
// Listeners
|
// Listeners
|
||||||
public TodoFactionsPlayerListener playerListener;
|
public TodoFactionsPlayerListener playerListener;
|
||||||
public TodoFactionsEntityListener entityListener;
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// OVERRIDE
|
// OVERRIDE
|
||||||
@ -90,13 +88,10 @@ public class Factions extends MPlugin
|
|||||||
// Right now only a few situations are handled through this listener.
|
// Right now only a few situations are handled through this listener.
|
||||||
FactionsListenerEcon.get().setup();
|
FactionsListenerEcon.get().setup();
|
||||||
|
|
||||||
// TODO: Get rid of these
|
// TODO: Get rid of this one
|
||||||
this.playerListener = new TodoFactionsPlayerListener();
|
this.playerListener = new TodoFactionsPlayerListener();
|
||||||
getServer().getPluginManager().registerEvents(this.playerListener, this);
|
getServer().getPluginManager().registerEvents(this.playerListener, this);
|
||||||
|
|
||||||
this.entityListener = new TodoFactionsEntityListener();
|
|
||||||
getServer().getPluginManager().registerEvents(this.entityListener, this);
|
|
||||||
|
|
||||||
// Schedule recurring non-tps-dependent tasks
|
// Schedule recurring non-tps-dependent tasks
|
||||||
AutoLeaveTask.get().schedule(this);
|
AutoLeaveTask.get().schedule(this);
|
||||||
EconLandRewardTask.get().schedule(this);
|
EconLandRewardTask.get().schedule(this);
|
||||||
|
@ -23,7 +23,6 @@ public enum Perm
|
|||||||
CLAIM_RADIUS("claim.radius"),
|
CLAIM_RADIUS("claim.radius"),
|
||||||
CONFIG("config"),
|
CONFIG("config"),
|
||||||
CREATE("create"),
|
CREATE("create"),
|
||||||
DEINVITE("deinvite"),
|
|
||||||
DEMOTE("demote"),
|
DEMOTE("demote"),
|
||||||
DESCRIPTION("description"),
|
DESCRIPTION("description"),
|
||||||
DISBAND("disband"),
|
DISBAND("disband"),
|
||||||
|
@ -17,7 +17,6 @@ public class CmdFactions extends FCommand
|
|||||||
public CmdFactionsCape cmdFactionsCape = new CmdFactionsCape();
|
public CmdFactionsCape cmdFactionsCape = new CmdFactionsCape();
|
||||||
public CmdFactionsClaim cmdFactionsClaim = new CmdFactionsClaim();
|
public CmdFactionsClaim cmdFactionsClaim = new CmdFactionsClaim();
|
||||||
public CmdFactionsCreate cmdFactionsCreate = new CmdFactionsCreate();
|
public CmdFactionsCreate cmdFactionsCreate = new CmdFactionsCreate();
|
||||||
public CmdFactionsDeinvite cmdFactionsDeinvite = new CmdFactionsDeinvite();
|
|
||||||
public CmdFactionsDemote cmdFactionsDemote = new CmdFactionsDemote();
|
public CmdFactionsDemote cmdFactionsDemote = new CmdFactionsDemote();
|
||||||
public CmdFactionsDescription cmdFactionsDescription = new CmdFactionsDescription();
|
public CmdFactionsDescription cmdFactionsDescription = new CmdFactionsDescription();
|
||||||
public CmdFactionsDisband cmdFactionsDisband = new CmdFactionsDisband();
|
public CmdFactionsDisband cmdFactionsDisband = new CmdFactionsDisband();
|
||||||
@ -77,7 +76,6 @@ public class CmdFactions extends FCommand
|
|||||||
this.addSubCommand(this.cmdFactionsPerm);
|
this.addSubCommand(this.cmdFactionsPerm);
|
||||||
this.addSubCommand(this.cmdFactionsFlag);
|
this.addSubCommand(this.cmdFactionsFlag);
|
||||||
this.addSubCommand(this.cmdFactionsInvite);
|
this.addSubCommand(this.cmdFactionsInvite);
|
||||||
this.addSubCommand(this.cmdFactionsDeinvite);
|
|
||||||
this.addSubCommand(this.cmdFactionsOpen);
|
this.addSubCommand(this.cmdFactionsOpen);
|
||||||
this.addSubCommand(this.cmdFactionsMoney);
|
this.addSubCommand(this.cmdFactionsMoney);
|
||||||
this.addSubCommand(this.cmdFactionsClaim);
|
this.addSubCommand(this.cmdFactionsClaim);
|
||||||
|
@ -12,8 +12,8 @@ import com.massivecraft.factions.FactionColl;
|
|||||||
import com.massivecraft.factions.Factions;
|
import com.massivecraft.factions.Factions;
|
||||||
import com.massivecraft.factions.Perm;
|
import com.massivecraft.factions.Perm;
|
||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
import com.massivecraft.factions.event.FPlayerJoinEvent;
|
import com.massivecraft.factions.event.FactionsEventJoin;
|
||||||
import com.massivecraft.factions.event.FactionCreateEvent;
|
import com.massivecraft.factions.event.FactionsEventCreate;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
|
|
||||||
public class CmdFactionsCreate extends FCommand
|
public class CmdFactionsCreate extends FCommand
|
||||||
@ -54,29 +54,19 @@ public class CmdFactionsCreate extends FCommand
|
|||||||
// trigger the faction creation event (cancellable)
|
// trigger the faction creation event (cancellable)
|
||||||
String factionId = FactionColl.get().getIdStrategy().generate(FactionColl.get());
|
String factionId = FactionColl.get().getIdStrategy().generate(FactionColl.get());
|
||||||
|
|
||||||
FactionCreateEvent createEvent = new FactionCreateEvent(sender, tag, factionId);
|
FactionsEventCreate createEvent = new FactionsEventCreate(sender, tag, factionId);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(createEvent);
|
Bukkit.getServer().getPluginManager().callEvent(createEvent);
|
||||||
if(createEvent.isCancelled()) return;
|
if (createEvent.isCancelled()) return;
|
||||||
|
|
||||||
// then make 'em pay (if applicable)
|
|
||||||
if (!payForCommand(ConfServer.econCostCreate)) return;
|
|
||||||
|
|
||||||
Faction faction = FactionColl.get().create(factionId);
|
Faction faction = FactionColl.get().create(factionId);
|
||||||
|
|
||||||
// TODO: Why would this even happen??? Auto increment clash??
|
|
||||||
if (faction == null)
|
|
||||||
{
|
|
||||||
msg("<b>There was an internal error while trying to create your faction. Please try again.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// finish setting up the Faction
|
// finish setting up the Faction
|
||||||
faction.setTag(tag);
|
faction.setTag(tag);
|
||||||
|
|
||||||
// trigger the faction join event for the creator
|
// trigger the faction join event for the creator
|
||||||
FPlayerJoinEvent joinEvent = new FPlayerJoinEvent(FPlayerColl.get().get(sender),faction,FPlayerJoinEvent.PlayerJoinReason.CREATE);
|
FactionsEventJoin joinEvent = new FactionsEventJoin(sender, fme, faction, FactionsEventJoin.PlayerJoinReason.CREATE);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(joinEvent);
|
joinEvent.run();
|
||||||
// join event cannot be cancelled or you'll have an empty faction
|
// NOTE: join event cannot be cancelled or you'll have an empty faction
|
||||||
|
|
||||||
// finish setting up the FPlayer
|
// finish setting up the FPlayer
|
||||||
fme.setRole(Rel.LEADER);
|
fme.setRole(Rel.LEADER);
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
package com.massivecraft.factions.cmd;
|
|
||||||
|
|
||||||
import com.massivecraft.factions.FPerm;
|
|
||||||
import com.massivecraft.factions.FPlayer;
|
|
||||||
import com.massivecraft.factions.Factions;
|
|
||||||
import com.massivecraft.factions.Perm;
|
|
||||||
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
|
||||||
|
|
||||||
public class CmdFactionsDeinvite extends FCommand
|
|
||||||
{
|
|
||||||
|
|
||||||
public CmdFactionsDeinvite()
|
|
||||||
{
|
|
||||||
this.addAliases("deinvite", "deinv");
|
|
||||||
|
|
||||||
this.addRequiredArg("player");
|
|
||||||
|
|
||||||
this.addRequirements(ReqHasPerm.get(Perm.DEINVITE.node));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void perform()
|
|
||||||
{
|
|
||||||
if ( ! FPerm.INVITE.has(sender, myFaction, true)) return;
|
|
||||||
|
|
||||||
FPlayer you = this.arg(0, ARFPlayer.getStartAny());
|
|
||||||
if (you == null) return;
|
|
||||||
|
|
||||||
if (you.getFaction() == myFaction)
|
|
||||||
{
|
|
||||||
msg("%s<i> is already a member of %s", you.getName(), myFaction.getTag());
|
|
||||||
msg("<i>You might want to: %s", Factions.get().getOuterCmdFactions().cmdFactionsKick.getUseageTemplate(false));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
myFaction.deinvite(you);
|
|
||||||
|
|
||||||
you.msg("%s<i> revoked your invitation to <h>%s<i>.", fme.describeTo(you), myFaction.describeTo(you));
|
|
||||||
|
|
||||||
myFaction.msg("%s<i> revoked %s's<i> invitation.", fme.describeTo(myFaction), you.describeTo(myFaction));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,9 +1,9 @@
|
|||||||
package com.massivecraft.factions.cmd;
|
package com.massivecraft.factions.cmd;
|
||||||
|
|
||||||
import com.massivecraft.factions.ConfServer;
|
|
||||||
import com.massivecraft.factions.Perm;
|
import com.massivecraft.factions.Perm;
|
||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventDescriptionChange;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
import com.massivecraft.mcore.mixin.Mixin;
|
import com.massivecraft.mcore.mixin.Mixin;
|
||||||
|
|
||||||
@ -23,11 +23,19 @@ public class CmdFactionsDescription extends FCommand
|
|||||||
@Override
|
@Override
|
||||||
public void perform()
|
public void perform()
|
||||||
{
|
{
|
||||||
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
|
// Args
|
||||||
if (!payForCommand(ConfServer.econCostDesc)) return;
|
String newDescription = this.argConcatFrom(1);
|
||||||
|
|
||||||
|
// Event
|
||||||
|
FactionsEventDescriptionChange event = new FactionsEventDescriptionChange(sender, myFaction, newDescription);
|
||||||
|
event.run();
|
||||||
|
if (event.isCancelled()) return;
|
||||||
|
newDescription = event.getNewDescription();
|
||||||
|
|
||||||
|
// Apply
|
||||||
myFaction.setDescription(this.argConcatFrom(1));
|
myFaction.setDescription(this.argConcatFrom(1));
|
||||||
|
|
||||||
|
// Inform
|
||||||
myFaction.msg("<i>%s <i>set your faction description to:\n%s", Mixin.getDisplayName(sender), myFaction.getDescription());
|
myFaction.msg("<i>%s <i>set your faction description to:\n%s", Mixin.getDisplayName(sender), myFaction.getDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,8 +4,8 @@ import org.bukkit.Bukkit;
|
|||||||
|
|
||||||
import com.massivecraft.factions.ConfServer;
|
import com.massivecraft.factions.ConfServer;
|
||||||
import com.massivecraft.factions.cmd.arg.ARFaction;
|
import com.massivecraft.factions.cmd.arg.ARFaction;
|
||||||
import com.massivecraft.factions.event.FPlayerLeaveEvent;
|
import com.massivecraft.factions.event.FactionsEventLeave;
|
||||||
import com.massivecraft.factions.event.FactionDisbandEvent;
|
import com.massivecraft.factions.event.FactionsEventDisband;
|
||||||
import com.massivecraft.factions.integration.Econ;
|
import com.massivecraft.factions.integration.Econ;
|
||||||
import com.massivecraft.factions.FFlag;
|
import com.massivecraft.factions.FFlag;
|
||||||
import com.massivecraft.factions.FPerm;
|
import com.massivecraft.factions.FPerm;
|
||||||
@ -42,14 +42,15 @@ public class CmdFactionsDisband extends FCommand
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
FactionDisbandEvent disbandEvent = new FactionDisbandEvent(me, faction.getId());
|
FactionsEventDisband disbandEvent = new FactionsEventDisband(me, faction);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(disbandEvent);
|
Bukkit.getServer().getPluginManager().callEvent(disbandEvent);
|
||||||
if(disbandEvent.isCancelled()) return;
|
if(disbandEvent.isCancelled()) return;
|
||||||
|
|
||||||
// Send FPlayerLeaveEvent for each player in the faction
|
// Send FPlayerLeaveEvent for each player in the faction
|
||||||
for ( FPlayer fplayer : faction.getFPlayers() )
|
for ( FPlayer fplayer : faction.getFPlayers() )
|
||||||
{
|
{
|
||||||
Bukkit.getServer().getPluginManager().callEvent(new FPlayerLeaveEvent(fplayer, faction, FPlayerLeaveEvent.PlayerLeaveReason.DISBAND));
|
FactionsEventLeave leaveEvent = new FactionsEventLeave(sender, fplayer, faction, FactionsEventLeave.PlayerLeaveReason.DISBAND);
|
||||||
|
leaveEvent.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inform all players
|
// Inform all players
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package com.massivecraft.factions.cmd;
|
package com.massivecraft.factions.cmd;
|
||||||
|
|
||||||
import com.massivecraft.factions.ConfServer;
|
|
||||||
import com.massivecraft.factions.FPerm;
|
import com.massivecraft.factions.FPerm;
|
||||||
import com.massivecraft.factions.FPlayer;
|
import com.massivecraft.factions.FPlayer;
|
||||||
import com.massivecraft.factions.Factions;
|
import com.massivecraft.factions.Factions;
|
||||||
import com.massivecraft.factions.Perm;
|
import com.massivecraft.factions.Perm;
|
||||||
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventInvitedChange;
|
||||||
|
import com.massivecraft.mcore.cmd.arg.ARBoolean;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqIsPlayer;
|
import com.massivecraft.mcore.cmd.req.ReqIsPlayer;
|
||||||
|
|
||||||
@ -16,6 +17,7 @@ public class CmdFactionsInvite extends FCommand
|
|||||||
this.addAliases("inv", "invite");
|
this.addAliases("inv", "invite");
|
||||||
|
|
||||||
this.addRequiredArg("player");
|
this.addRequiredArg("player");
|
||||||
|
this.addOptionalArg("yes/no", "toggle");
|
||||||
|
|
||||||
this.addRequirements(ReqHasPerm.get(Perm.INVITE.node));
|
this.addRequirements(ReqHasPerm.get(Perm.INVITE.node));
|
||||||
this.addRequirements(ReqIsPlayer.get());
|
this.addRequirements(ReqIsPlayer.get());
|
||||||
@ -24,27 +26,44 @@ public class CmdFactionsInvite extends FCommand
|
|||||||
@Override
|
@Override
|
||||||
public void perform()
|
public void perform()
|
||||||
{
|
{
|
||||||
if ( ! FPerm.INVITE.has(sender, myFaction, true)) return;
|
// Args
|
||||||
|
FPlayer fplayer = this.arg(0, ARFPlayer.getStartAny());
|
||||||
|
if (fplayer == null) return;
|
||||||
|
|
||||||
FPlayer you = this.arg(0, ARFPlayer.getStartAny());
|
Boolean newInvited = this.arg(1, ARBoolean.get(), !myFaction.isInvited(fplayer));
|
||||||
if (you == null) return;
|
if (newInvited == null) return;
|
||||||
|
|
||||||
if (you.getFaction() == myFaction)
|
// Allready member?
|
||||||
|
if (fplayer.getFaction() == myFaction)
|
||||||
{
|
{
|
||||||
msg("%s<i> is already a member of %s", you.getName(), myFaction.getTag());
|
msg("%s<i> is already a member of %s", fplayer.getName(), myFaction.getTag());
|
||||||
msg("<i>You might want to: " + Factions.get().getOuterCmdFactions().cmdFactionsKick.getUseageTemplate(false));
|
msg("<i>You might want to: " + Factions.get().getOuterCmdFactions().cmdFactionsKick.getUseageTemplate(false));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fme != null && ! FPerm.INVITE.has(fme, myFaction)) return;
|
|
||||||
|
|
||||||
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
|
// FPerm
|
||||||
if (!payForCommand(ConfServer.econCostInvite)) return;
|
if ( ! FPerm.INVITE.has(sender, myFaction, true)) return;
|
||||||
|
|
||||||
myFaction.invite(you);
|
|
||||||
|
|
||||||
you.msg("%s<i> invited you to %s", fme.describeTo(you, true), myFaction.describeTo(you));
|
// Event
|
||||||
myFaction.msg("%s<i> invited %s<i> to your faction.", fme.describeTo(myFaction, true), you.describeTo(myFaction));
|
FactionsEventInvitedChange event = new FactionsEventInvitedChange(sender, fplayer, myFaction, newInvited);
|
||||||
|
event.run();
|
||||||
|
if (event.isCancelled()) return;
|
||||||
|
newInvited = event.isNewInvited();
|
||||||
|
|
||||||
|
// Apply
|
||||||
|
myFaction.setInvited(fplayer, newInvited);
|
||||||
|
|
||||||
|
// Inform
|
||||||
|
if (newInvited)
|
||||||
|
{
|
||||||
|
fplayer.msg("%s<i> invited you to %s", fme.describeTo(fplayer, true), myFaction.describeTo(fplayer));
|
||||||
|
myFaction.msg("%s<i> invited %s<i> to your faction.", fme.describeTo(myFaction, true), fplayer.describeTo(myFaction));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fplayer.msg("%s<i> revoked your invitation to <h>%s<i>.", fme.describeTo(fplayer), myFaction.describeTo(fplayer));
|
||||||
|
myFaction.msg("%s<i> revoked %s's<i> invitation.", fme.describeTo(myFaction), fplayer.describeTo(myFaction));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ import com.massivecraft.factions.Factions;
|
|||||||
import com.massivecraft.factions.Perm;
|
import com.massivecraft.factions.Perm;
|
||||||
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
||||||
import com.massivecraft.factions.cmd.arg.ARFaction;
|
import com.massivecraft.factions.cmd.arg.ARFaction;
|
||||||
import com.massivecraft.factions.event.FPlayerJoinEvent;
|
import com.massivecraft.factions.event.FactionsEventJoin;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
|
|
||||||
public class CmdFactionsJoin extends FCommand
|
public class CmdFactionsJoin extends FCommand
|
||||||
@ -75,7 +75,7 @@ public class CmdFactionsJoin extends FCommand
|
|||||||
}
|
}
|
||||||
|
|
||||||
// trigger the join event (cancellable)
|
// trigger the join event (cancellable)
|
||||||
FPlayerJoinEvent joinEvent = new FPlayerJoinEvent(FPlayerColl.get().get(me),faction,FPlayerJoinEvent.PlayerJoinReason.COMMAND);
|
FactionsEventJoin joinEvent = new FactionsEventJoin(FPlayerColl.get().get(me),faction,FactionsEventJoin.PlayerJoinReason.JOIN);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(joinEvent);
|
Bukkit.getServer().getPluginManager().callEvent(joinEvent);
|
||||||
if (joinEvent.isCancelled()) return;
|
if (joinEvent.isCancelled()) return;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ import com.massivecraft.factions.Factions;
|
|||||||
import com.massivecraft.factions.Perm;
|
import com.massivecraft.factions.Perm;
|
||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
||||||
import com.massivecraft.factions.event.FPlayerLeaveEvent;
|
import com.massivecraft.factions.event.FactionsEventLeave;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
|
|
||||||
public class CmdFactionsKick extends FCommand
|
public class CmdFactionsKick extends FCommand
|
||||||
@ -55,7 +55,7 @@ public class CmdFactionsKick extends FCommand
|
|||||||
if (fme != null && ! FPerm.KICK.has(fme, yourFaction)) return;
|
if (fme != null && ! FPerm.KICK.has(fme, yourFaction)) return;
|
||||||
|
|
||||||
// trigger the leave event (cancellable) [reason:kicked]
|
// trigger the leave event (cancellable) [reason:kicked]
|
||||||
FPlayerLeaveEvent event = new FPlayerLeaveEvent(you, you.getFaction(), FPlayerLeaveEvent.PlayerLeaveReason.KICKED);
|
FactionsEventLeave event = new FactionsEventLeave(you, you.getFaction(), FactionsEventLeave.PlayerLeaveReason.KICKED);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||||
if (event.isCancelled()) return;
|
if (event.isCancelled()) return;
|
||||||
|
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.massivecraft.factions.cmd;
|
package com.massivecraft.factions.cmd;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
|
|
||||||
import com.massivecraft.factions.FPlayer;
|
import com.massivecraft.factions.FPlayer;
|
||||||
import com.massivecraft.factions.FPlayerColl;
|
import com.massivecraft.factions.FPlayerColl;
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
@ -9,7 +7,7 @@ import com.massivecraft.factions.Perm;
|
|||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
||||||
import com.massivecraft.factions.cmd.arg.ARFaction;
|
import com.massivecraft.factions.cmd.arg.ARFaction;
|
||||||
import com.massivecraft.factions.event.FPlayerJoinEvent;
|
import com.massivecraft.factions.event.FactionsEventJoin;
|
||||||
import com.massivecraft.factions.util.RelationUtil;
|
import com.massivecraft.factions.util.RelationUtil;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
import com.massivecraft.mcore.util.Txt;
|
import com.massivecraft.mcore.util.Txt;
|
||||||
@ -67,8 +65,8 @@ public class CmdFactionsLeader extends FCommand
|
|||||||
// only perform a FPlayerJoinEvent when newLeader isn't actually in the faction
|
// only perform a FPlayerJoinEvent when newLeader isn't actually in the faction
|
||||||
if (newLeader.getFaction() != targetFaction)
|
if (newLeader.getFaction() != targetFaction)
|
||||||
{
|
{
|
||||||
FPlayerJoinEvent event = new FPlayerJoinEvent(FPlayerColl.get().get(me),targetFaction,FPlayerJoinEvent.PlayerJoinReason.LEADER);
|
FactionsEventJoin event = new FactionsEventJoin(sender, newLeader, targetFaction, FactionsEventJoin.PlayerJoinReason.LEADER);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
event.run();
|
||||||
if (event.isCancelled()) return;
|
if (event.isCancelled()) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package com.massivecraft.factions.cmd;
|
package com.massivecraft.factions.cmd;
|
||||||
|
|
||||||
import com.massivecraft.factions.ConfServer;
|
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
import com.massivecraft.factions.FactionColl;
|
import com.massivecraft.factions.FactionColl;
|
||||||
import com.massivecraft.factions.Perm;
|
import com.massivecraft.factions.Perm;
|
||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventOpenChange;
|
||||||
import com.massivecraft.mcore.cmd.arg.ARBoolean;
|
import com.massivecraft.mcore.cmd.arg.ARBoolean;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
|
|
||||||
@ -24,17 +24,21 @@ public class CmdFactionsOpen extends FCommand
|
|||||||
@Override
|
@Override
|
||||||
public void perform()
|
public void perform()
|
||||||
{
|
{
|
||||||
Boolean target = this.arg(0, ARBoolean.get(), !myFaction.isOpen());
|
// Args
|
||||||
if (target == null) return;
|
Boolean newOpen = this.arg(0, ARBoolean.get(), !myFaction.isOpen());
|
||||||
|
if (newOpen == null) return;
|
||||||
|
|
||||||
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
|
// Event
|
||||||
if (!payForCommand(ConfServer.econCostOpen)) return;
|
FactionsEventOpenChange event = new FactionsEventOpenChange(sender, myFaction, newOpen);
|
||||||
|
event.run();
|
||||||
|
if (event.isCancelled()) return;
|
||||||
|
newOpen = event.isNewOpen();
|
||||||
|
|
||||||
myFaction.setOpen(target);
|
// Apply
|
||||||
|
myFaction.setOpen(newOpen);
|
||||||
String descTarget = myFaction.isOpen() ? "open" : "closed";
|
|
||||||
|
|
||||||
// Inform
|
// Inform
|
||||||
|
String descTarget = myFaction.isOpen() ? "open" : "closed";
|
||||||
myFaction.msg("%s<i> changed the faction to <h>%s<i>.", fme.describeTo(myFaction, true), descTarget);
|
myFaction.msg("%s<i> changed the faction to <h>%s<i>.", fme.describeTo(myFaction, true), descTarget);
|
||||||
for (Faction faction : FactionColl.get().getAll())
|
for (Faction faction : FactionColl.get().getAll())
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.massivecraft.factions.cmd;
|
package com.massivecraft.factions.cmd;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
|
|
||||||
import com.massivecraft.factions.ConfServer;
|
import com.massivecraft.factions.ConfServer;
|
||||||
import com.massivecraft.factions.FFlag;
|
import com.massivecraft.factions.FFlag;
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
@ -9,7 +7,7 @@ import com.massivecraft.factions.Perm;
|
|||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
import com.massivecraft.factions.cmd.arg.ARFaction;
|
import com.massivecraft.factions.cmd.arg.ARFaction;
|
||||||
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
||||||
import com.massivecraft.factions.event.FactionRelationEvent;
|
import com.massivecraft.factions.event.FactionsEventRelationChange;
|
||||||
import com.massivecraft.factions.integration.SpoutFeatures;
|
import com.massivecraft.factions.integration.SpoutFeatures;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
|
|
||||||
@ -28,8 +26,11 @@ public abstract class CmdFactionsRelationAbstract extends FCommand
|
|||||||
@Override
|
@Override
|
||||||
public void perform()
|
public void perform()
|
||||||
{
|
{
|
||||||
Faction them = this.arg(0, ARFaction.get());
|
// Args
|
||||||
if (them == null) return;
|
Faction otherFaction = this.arg(0, ARFaction.get());
|
||||||
|
if (otherFaction == null) return;
|
||||||
|
|
||||||
|
Rel newRelation = targetRelation;
|
||||||
|
|
||||||
/*if ( ! them.isNormal())
|
/*if ( ! them.isNormal())
|
||||||
{
|
{
|
||||||
@ -37,60 +38,60 @@ public abstract class CmdFactionsRelationAbstract extends FCommand
|
|||||||
return;
|
return;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
if (them == myFaction)
|
// Verify
|
||||||
|
|
||||||
|
if (otherFaction == myFaction)
|
||||||
{
|
{
|
||||||
msg("<b>Nope! You can't declare a relation to yourself :)");
|
msg("<b>Nope! You can't declare a relation to yourself :)");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (myFaction.getRelationWish(them) == targetRelation)
|
if (myFaction.getRelationWish(otherFaction) == newRelation)
|
||||||
{
|
{
|
||||||
msg("<b>You already have that relation wish set with %s.", them.getTag());
|
msg("<b>You already have that relation wish set with %s.", otherFaction.getTag());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
|
// Event
|
||||||
if (!payForCommand(targetRelation.getRelationCost())) return;
|
FactionsEventRelationChange event = new FactionsEventRelationChange(sender, myFaction, otherFaction, newRelation);
|
||||||
|
event.run();
|
||||||
|
if (event.isCancelled()) return;
|
||||||
|
newRelation = event.getNewRelation();
|
||||||
|
|
||||||
// try to set the new relation
|
// try to set the new relation
|
||||||
Rel oldRelation = myFaction.getRelationTo(them, true);
|
myFaction.setRelationWish(otherFaction, newRelation);
|
||||||
myFaction.setRelationWish(them, targetRelation);
|
Rel currentRelation = myFaction.getRelationTo(otherFaction, true);
|
||||||
Rel currentRelation = myFaction.getRelationTo(them, true);
|
|
||||||
|
|
||||||
// if the relation change was successful
|
// if the relation change was successful
|
||||||
if (targetRelation == currentRelation)
|
if (newRelation == currentRelation)
|
||||||
{
|
{
|
||||||
// trigger the faction relation event
|
otherFaction.msg("%s<i> is now %s.", myFaction.describeTo(otherFaction, true), newRelation.getDescFactionOne());
|
||||||
FactionRelationEvent relationEvent = new FactionRelationEvent(myFaction, them, oldRelation, currentRelation);
|
myFaction.msg("%s<i> is now %s.", otherFaction.describeTo(myFaction, true), newRelation.getDescFactionOne());
|
||||||
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
|
// inform the other faction of your request
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
them.msg("%s<i> wishes to be %s.", myFaction.describeTo(them, true), targetRelation.getColor()+targetRelation.getDescFactionOne());
|
otherFaction.msg("%s<i> wishes to be %s.", myFaction.describeTo(otherFaction, true), newRelation.getColor()+newRelation.getDescFactionOne());
|
||||||
them.msg("<i>Type <c>/"+ConfServer.baseCommandAliases.get(0)+" "+targetRelation+" "+myFaction.getTag()+"<i> to accept.");
|
otherFaction.msg("<i>Type <c>/"+ConfServer.baseCommandAliases.get(0)+" "+newRelation+" "+myFaction.getTag()+"<i> to accept.");
|
||||||
myFaction.msg("%s<i> were informed that you wish to be %s<i>.", them.describeTo(myFaction, true), targetRelation.getColor()+targetRelation.getDescFactionOne());
|
myFaction.msg("%s<i> were informed that you wish to be %s<i>.", otherFaction.describeTo(myFaction, true), newRelation.getColor()+newRelation.getDescFactionOne());
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: The ally case should work!!
|
// TODO: The ally case should work!!
|
||||||
// * this might have to be bumped up to make that happen, & allow ALLY,NEUTRAL only
|
// * this might have to be bumped up to make that happen, & allow ALLY,NEUTRAL only
|
||||||
if ( targetRelation != Rel.TRUCE && them.getFlag(FFlag.PEACEFUL))
|
if ( newRelation != Rel.TRUCE && otherFaction.getFlag(FFlag.PEACEFUL))
|
||||||
{
|
{
|
||||||
them.msg("<i>This will have no effect while your faction is peaceful.");
|
otherFaction.msg("<i>This will have no effect while your faction is peaceful.");
|
||||||
myFaction.msg("<i>This will have no effect while their faction is peaceful.");
|
myFaction.msg("<i>This will have no effect while their faction is peaceful.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( targetRelation != Rel.TRUCE && myFaction.getFlag(FFlag.PEACEFUL))
|
if ( newRelation != Rel.TRUCE && myFaction.getFlag(FFlag.PEACEFUL))
|
||||||
{
|
{
|
||||||
them.msg("<i>This will have no effect while their faction is peaceful.");
|
otherFaction.msg("<i>This will have no effect while their faction is peaceful.");
|
||||||
myFaction.msg("<i>This will have no effect while your faction is peaceful.");
|
myFaction.msg("<i>This will have no effect while your faction is peaceful.");
|
||||||
}
|
}
|
||||||
|
|
||||||
SpoutFeatures.updateTitle(myFaction, them);
|
SpoutFeatures.updateTitle(myFaction, otherFaction);
|
||||||
SpoutFeatures.updateTitle(them, myFaction);
|
SpoutFeatures.updateTitle(otherFaction, myFaction);
|
||||||
SpoutFeatures.updateTerritoryDisplayLoc(null);
|
SpoutFeatures.updateTerritoryDisplayLoc(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ import com.massivecraft.factions.Faction;
|
|||||||
import com.massivecraft.factions.Factions;
|
import com.massivecraft.factions.Factions;
|
||||||
import com.massivecraft.factions.Perm;
|
import com.massivecraft.factions.Perm;
|
||||||
import com.massivecraft.factions.cmd.arg.ARFaction;
|
import com.massivecraft.factions.cmd.arg.ARFaction;
|
||||||
import com.massivecraft.factions.event.FactionsHomeChangeEvent;
|
import com.massivecraft.factions.event.FactionsEventHomeChange;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqIsPlayer;
|
import com.massivecraft.mcore.cmd.req.ReqIsPlayer;
|
||||||
import com.massivecraft.mcore.ps.PS;
|
import com.massivecraft.mcore.ps.PS;
|
||||||
@ -48,14 +48,11 @@ public class CmdFactionsSethome extends FCommand
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
FactionsHomeChangeEvent event = new FactionsHomeChangeEvent(sender, FactionsHomeChangeEvent.REASON_COMMAND_SETHOME, faction, newHome);
|
FactionsEventHomeChange event = new FactionsEventHomeChange(sender, faction, newHome);
|
||||||
event.run();
|
event.run();
|
||||||
if (event.isCancelled()) return;
|
if (event.isCancelled()) return;
|
||||||
newHome = event.getNewHome();
|
newHome = event.getNewHome();
|
||||||
|
|
||||||
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
|
|
||||||
if (!payForCommand(ConfServer.econCostSethome)) return;
|
|
||||||
|
|
||||||
faction.setHome(newHome);
|
faction.setHome(newHome);
|
||||||
|
|
||||||
faction.msg("%s<i> set the home for your faction. You can now use:", fme.describeTo(myFaction, true));
|
faction.msg("%s<i> set the home for your faction. You can now use:", fme.describeTo(myFaction, true));
|
||||||
|
@ -10,7 +10,7 @@ import com.massivecraft.factions.FactionColl;
|
|||||||
import com.massivecraft.factions.Perm;
|
import com.massivecraft.factions.Perm;
|
||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
||||||
import com.massivecraft.factions.event.FactionRenameEvent;
|
import com.massivecraft.factions.event.FactionsEventTagChange;
|
||||||
import com.massivecraft.factions.integration.SpoutFeatures;
|
import com.massivecraft.factions.integration.SpoutFeatures;
|
||||||
import com.massivecraft.factions.util.MiscUtil;
|
import com.massivecraft.factions.util.MiscUtil;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
@ -31,33 +31,33 @@ public class CmdFactionsTag extends FCommand
|
|||||||
@Override
|
@Override
|
||||||
public void perform()
|
public void perform()
|
||||||
{
|
{
|
||||||
String tag = this.arg(0);
|
// Arg
|
||||||
|
String newTag = this.arg(0);
|
||||||
|
|
||||||
// TODO does not first test cover selfcase?
|
// TODO does not first test cover selfcase?
|
||||||
if (FactionColl.get().isTagTaken(tag) && ! MiscUtil.getComparisonString(tag).equals(myFaction.getComparisonTag()))
|
if (FactionColl.get().isTagTaken(newTag) && ! MiscUtil.getComparisonString(newTag).equals(myFaction.getComparisonTag()))
|
||||||
{
|
{
|
||||||
msg("<b>That tag is already taken");
|
msg("<b>That tag is already taken");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayList<String> errors = new ArrayList<String>();
|
ArrayList<String> errors = new ArrayList<String>();
|
||||||
errors.addAll(FactionColl.validateTag(tag));
|
errors.addAll(FactionColl.validateTag(newTag));
|
||||||
if (errors.size() > 0)
|
if (errors.size() > 0)
|
||||||
{
|
{
|
||||||
sendMessage(errors);
|
sendMessage(errors);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// trigger the faction rename event (cancellable)
|
// Event
|
||||||
FactionRenameEvent renameEvent = new FactionRenameEvent(fme, tag);
|
FactionsEventTagChange renameEvent = new FactionsEventTagChange(sender, myFaction, newTag);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(renameEvent);
|
Bukkit.getServer().getPluginManager().callEvent(renameEvent);
|
||||||
if(renameEvent.isCancelled()) return;
|
if (renameEvent.isCancelled()) return;
|
||||||
|
newTag = renameEvent.getNewTag();
|
||||||
// then make 'em pay (if applicable)
|
|
||||||
if (!payForCommand(ConfServer.econCostTag)) return;
|
|
||||||
|
|
||||||
|
// Apply
|
||||||
String oldtag = myFaction.getTag();
|
String oldtag = myFaction.getTag();
|
||||||
myFaction.setTag(tag);
|
myFaction.setTag(newTag);
|
||||||
|
|
||||||
// Inform
|
// Inform
|
||||||
myFaction.msg("%s<i> changed your faction tag to %s", fme.describeTo(myFaction, true), myFaction.getTag(myFaction));
|
myFaction.msg("%s<i> changed your faction tag to %s", fme.describeTo(myFaction, true), myFaction.getTag(myFaction));
|
||||||
|
@ -6,6 +6,7 @@ import com.massivecraft.factions.Perm;
|
|||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
import com.massivecraft.factions.cmd.arg.ARFPlayer;
|
||||||
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventTitleChange;
|
||||||
import com.massivecraft.factions.integration.SpoutFeatures;
|
import com.massivecraft.factions.integration.SpoutFeatures;
|
||||||
import com.massivecraft.mcore.cmd.arg.ARString;
|
import com.massivecraft.mcore.cmd.arg.ARString;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
@ -26,18 +27,24 @@ public class CmdFactionsTitle extends FCommand
|
|||||||
@Override
|
@Override
|
||||||
public void perform()
|
public void perform()
|
||||||
{
|
{
|
||||||
|
// Args
|
||||||
FPlayer you = this.arg(0, ARFPlayer.getStartAny());
|
FPlayer you = this.arg(0, ARFPlayer.getStartAny());
|
||||||
if (you == null) return;
|
if (you == null) return;
|
||||||
|
|
||||||
String title = this.argConcatFrom(1, ARString.get(), "");
|
String newTitle = this.argConcatFrom(1, ARString.get(), "");
|
||||||
if (title == null) return;
|
if (newTitle == null) return;
|
||||||
|
|
||||||
|
// Verify
|
||||||
if ( ! canIAdministerYou(fme, you)) return;
|
if ( ! canIAdministerYou(fme, you)) return;
|
||||||
|
|
||||||
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
|
// Event
|
||||||
if (!payForCommand(ConfServer.econCostTitle)) return;
|
FactionsEventTitleChange event = new FactionsEventTitleChange(sender, you, newTitle);
|
||||||
|
event.run();
|
||||||
|
if (event.isCancelled()) return;
|
||||||
|
newTitle = event.getNewTitle();
|
||||||
|
|
||||||
you.setTitle(title);
|
// Apply
|
||||||
|
you.setTitle(newTitle);
|
||||||
|
|
||||||
// Inform
|
// Inform
|
||||||
myFaction.msg("%s<i> changed a title: %s", fme.describeTo(myFaction, true), you.describeTo(myFaction, true));
|
myFaction.msg("%s<i> changed a title: %s", fme.describeTo(myFaction, true), you.describeTo(myFaction, true));
|
||||||
|
@ -3,7 +3,7 @@ package com.massivecraft.factions.cmd;
|
|||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
import com.massivecraft.factions.ConfServer;
|
import com.massivecraft.factions.ConfServer;
|
||||||
import com.massivecraft.factions.event.LandUnclaimEvent;
|
import com.massivecraft.factions.event.FactionsEventLandUnclaim;
|
||||||
import com.massivecraft.factions.integration.Econ;
|
import com.massivecraft.factions.integration.Econ;
|
||||||
import com.massivecraft.factions.integration.SpoutFeatures;
|
import com.massivecraft.factions.integration.SpoutFeatures;
|
||||||
import com.massivecraft.factions.BoardColl;
|
import com.massivecraft.factions.BoardColl;
|
||||||
@ -33,7 +33,7 @@ public class CmdFactionsUnclaim extends FCommand
|
|||||||
|
|
||||||
if ( ! FPerm.TERRITORY.has(sender, otherFaction, true)) return;
|
if ( ! FPerm.TERRITORY.has(sender, otherFaction, true)) return;
|
||||||
|
|
||||||
LandUnclaimEvent unclaimEvent = new LandUnclaimEvent(chunk, otherFaction, fme);
|
FactionsEventLandUnclaim unclaimEvent = new FactionsEventLandUnclaim(sender, otherFaction, chunk);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(unclaimEvent);
|
Bukkit.getServer().getPluginManager().callEvent(unclaimEvent);
|
||||||
if(unclaimEvent.isCancelled()) return;
|
if(unclaimEvent.isCancelled()) return;
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ import com.massivecraft.factions.Factions;
|
|||||||
import com.massivecraft.factions.Perm;
|
import com.massivecraft.factions.Perm;
|
||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast;
|
||||||
import com.massivecraft.factions.event.LandUnclaimAllEvent;
|
import com.massivecraft.factions.event.FactionsEventLandUnclaimAll;
|
||||||
import com.massivecraft.factions.integration.Econ;
|
import com.massivecraft.factions.integration.Econ;
|
||||||
import com.massivecraft.factions.integration.SpoutFeatures;
|
import com.massivecraft.factions.integration.SpoutFeatures;
|
||||||
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
|
||||||
@ -39,7 +39,7 @@ public class CmdFactionsUnclaimall extends FCommand
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LandUnclaimAllEvent unclaimAllEvent = new LandUnclaimAllEvent(myFaction, fme);
|
FactionsEventLandUnclaimAll unclaimAllEvent = new FactionsEventLandUnclaimAll(sender, myFaction);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(unclaimAllEvent);
|
Bukkit.getServer().getPluginManager().callEvent(unclaimAllEvent);
|
||||||
// this event cannot be cancelled
|
// this event cannot be cancelled
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ import com.massivecraft.factions.FPlayer;
|
|||||||
import com.massivecraft.factions.FPlayerColl;
|
import com.massivecraft.factions.FPlayerColl;
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
import com.massivecraft.factions.integration.Econ;
|
|
||||||
import com.massivecraft.mcore.cmd.MCommand;
|
import com.massivecraft.mcore.cmd.MCommand;
|
||||||
import com.massivecraft.mcore.util.Txt;
|
import com.massivecraft.mcore.util.Txt;
|
||||||
|
|
||||||
@ -61,8 +60,8 @@ public abstract class FCommand extends MCommand
|
|||||||
}
|
}
|
||||||
|
|
||||||
// if economy is enabled and they're not on the bypass list, make 'em pay; returns true unless person can't afford the cost
|
// if economy is enabled and they're not on the bypass list, make 'em pay; returns true unless person can't afford the cost
|
||||||
public boolean payForCommand(double cost)
|
/*public boolean payForCommand(double cost)
|
||||||
{
|
{
|
||||||
return Econ.payForAction(cost, sender, this.getDesc());
|
return Econ.payForAction(cost, sender, this.getDesc());
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
@ -1,68 +0,0 @@
|
|||||||
package com.massivecraft.factions.event;
|
|
||||||
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
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;
|
|
||||||
import com.massivecraft.factions.FactionColl;
|
|
||||||
|
|
||||||
public class FactionDisbandEvent extends Event implements Cancellable
|
|
||||||
{
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// REQUIRED EVENT CODE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
private static final HandlerList handlers = new HandlerList();
|
|
||||||
@Override public HandlerList getHandlers() { return handlers; }
|
|
||||||
public static HandlerList getHandlerList() { return handlers; }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// FIELDS
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
private boolean cancelled;
|
|
||||||
@Override public boolean isCancelled() { return this.cancelled; }
|
|
||||||
@Override public void setCancelled(boolean cancelled) { this.cancelled = cancelled; }
|
|
||||||
|
|
||||||
// TODO: Could the fields be reorganized to achieve symmetry?
|
|
||||||
|
|
||||||
private String id;
|
|
||||||
private CommandSender sender;
|
|
||||||
|
|
||||||
public Faction getFaction()
|
|
||||||
{
|
|
||||||
return FactionColl.get().get(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public FPlayer getFPlayer()
|
|
||||||
{
|
|
||||||
return FPlayer.get(sender);
|
|
||||||
}
|
|
||||||
|
|
||||||
public CommandSender getPlayer()
|
|
||||||
{
|
|
||||||
return this.sender;
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// CONSTRUCT
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public FactionDisbandEvent(CommandSender sender, String factionId)
|
|
||||||
{
|
|
||||||
this.cancelled = false;
|
|
||||||
this.sender = sender;
|
|
||||||
this.id = factionId;
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// ASSORTED
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,60 +0,0 @@
|
|||||||
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
|
|
||||||
{
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// REQUIRED EVENT CODE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
private static final HandlerList handlers = new HandlerList();
|
|
||||||
@Override public HandlerList getHandlers() { return handlers; }
|
|
||||||
public static HandlerList getHandlerList() { return handlers; }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// FIELDS
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
private boolean cancelled;
|
|
||||||
@Override public boolean isCancelled() { return this.cancelled; }
|
|
||||||
@Override public void setCancelled(boolean cancelled) { this.cancelled = cancelled; }
|
|
||||||
|
|
||||||
private final FPlayer fplayer;
|
|
||||||
public FPlayer getFPlayer() { return this.fplayer; }
|
|
||||||
|
|
||||||
private final Faction faction;
|
|
||||||
public Faction getFaction() { return this.faction; }
|
|
||||||
|
|
||||||
private String tag;
|
|
||||||
|
|
||||||
|
|
||||||
// TODO: fix these
|
|
||||||
public Player getPlayer() { return this.fplayer.getPlayer(); }
|
|
||||||
public String getOldFactionTag() { return this.faction.getTag(); }
|
|
||||||
public String getFactionTag() { return this.tag; }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// CONSTRUCT
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public FactionRenameEvent(FPlayer sender, String newTag)
|
|
||||||
{
|
|
||||||
this.cancelled = false;
|
|
||||||
this.fplayer = sender;
|
|
||||||
this.faction = sender.getFaction(); // TODO: Players can only rename their own faction? A field and constructor rewrite is probably pending for this class...
|
|
||||||
this.tag = newTag;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
|
import com.massivecraft.mcore.event.MCoreEvent;
|
||||||
|
|
||||||
|
public abstract class FactionsEventAbstract extends MCoreEvent
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.FPlayer;
|
||||||
|
import com.massivecraft.mcore.event.MCoreEvent;
|
||||||
|
|
||||||
|
public abstract class FactionsEventAbstractSender extends MCoreEvent
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// FIELDS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private final CommandSender sender;
|
||||||
|
public CommandSender getSender() { return this.sender; }
|
||||||
|
public FPlayer getFSender() { return FPlayer.get(this.sender); }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public FactionsEventAbstractSender(CommandSender sender)
|
||||||
|
{
|
||||||
|
this.sender = sender;
|
||||||
|
}
|
||||||
|
}
|
@ -1,11 +1,9 @@
|
|||||||
package com.massivecraft.factions.event;
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.event.Cancellable;
|
|
||||||
import org.bukkit.event.Event;
|
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
public class FactionCreateEvent extends Event implements Cancellable
|
public class FactionsEventCreate extends FactionsEventAbstractSender
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// REQUIRED EVENT CODE
|
// REQUIRED EVENT CODE
|
||||||
@ -18,13 +16,6 @@ public class FactionCreateEvent extends Event implements Cancellable
|
|||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private boolean cancelled = false;
|
|
||||||
@Override public boolean isCancelled() { return this.cancelled; }
|
|
||||||
@Override public void setCancelled(boolean cancelled) { this.cancelled = cancelled; }
|
|
||||||
|
|
||||||
private final CommandSender sender;
|
|
||||||
public CommandSender getSender() { return this.sender; }
|
|
||||||
|
|
||||||
// TODO: How do we know what universe? Should we perhaps actually create the faction?
|
// TODO: How do we know what universe? Should we perhaps actually create the faction?
|
||||||
|
|
||||||
@ -38,9 +29,9 @@ public class FactionCreateEvent extends Event implements Cancellable
|
|||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public FactionCreateEvent(CommandSender sender, String factionTag, String factionId)
|
public FactionsEventCreate(CommandSender sender, String factionTag, String factionId)
|
||||||
{
|
{
|
||||||
this.sender = sender;
|
super(sender);
|
||||||
this.factionTag = factionTag;
|
this.factionTag = factionTag;
|
||||||
this.factionId = factionId;
|
this.factionId = factionId;
|
||||||
}
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.Faction;
|
||||||
|
|
||||||
|
public class FactionsEventDescriptionChange extends FactionsEventAbstractSender
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// REQUIRED EVENT CODE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
@Override public HandlerList getHandlers() { return handlers; }
|
||||||
|
public static HandlerList getHandlerList() { return handlers; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// FIELDS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private final Faction faction;
|
||||||
|
public Faction getFaction() { return this.faction; }
|
||||||
|
|
||||||
|
private String newDescription;
|
||||||
|
public String getNewDescription() { return this.newDescription; }
|
||||||
|
public void setNewDescription(String newDescription) { this.newDescription = newDescription; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public FactionsEventDescriptionChange(CommandSender sender, Faction faction, String newDescription)
|
||||||
|
{
|
||||||
|
super(sender);
|
||||||
|
this.faction = faction;
|
||||||
|
this.newDescription = newDescription;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.Faction;
|
||||||
|
|
||||||
|
public class FactionsEventDisband extends FactionsEventAbstractSender
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// REQUIRED EVENT CODE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
@Override public HandlerList getHandlers() { return handlers; }
|
||||||
|
public static HandlerList getHandlerList() { return handlers; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// FIELDS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private final Faction faction;
|
||||||
|
public Faction getFaction() { return this.faction; }
|
||||||
|
|
||||||
|
private final String factionId;
|
||||||
|
public String getFactionId() { return this.factionId; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public FactionsEventDisband(CommandSender sender, Faction faction)
|
||||||
|
{
|
||||||
|
super(sender);
|
||||||
|
this.faction = faction;
|
||||||
|
this.factionId = faction.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// ASSORTED
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -4,19 +4,10 @@ import org.bukkit.command.CommandSender;
|
|||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
import com.massivecraft.mcore.event.MCoreCancellableEvent;
|
|
||||||
import com.massivecraft.mcore.ps.PS;
|
import com.massivecraft.mcore.ps.PS;
|
||||||
|
|
||||||
public class FactionsHomeChangeEvent extends MCoreCancellableEvent
|
public class FactionsEventHomeChange extends FactionsEventAbstractSender
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
|
||||||
// CONSTANTS
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public final static String REASON_COMMAND_SETHOME = "FACTIONS_COMMAND_SETHOME";
|
|
||||||
public final static String REASON_VERIFY_FAILED = "FACTIONS_VERIFY_FAILED";
|
|
||||||
public final static String REASON_UNDEFINED = "FACTIONS_UNDEFINED";
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// REQUIRED EVENT CODE
|
// REQUIRED EVENT CODE
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
@ -29,12 +20,6 @@ public class FactionsHomeChangeEvent extends MCoreCancellableEvent
|
|||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private final CommandSender sender;
|
|
||||||
public CommandSender getSender() { return this.sender; }
|
|
||||||
|
|
||||||
private final String reason;
|
|
||||||
public String getReason() { return this.reason; }
|
|
||||||
|
|
||||||
private final Faction faction;
|
private final Faction faction;
|
||||||
public Faction getFaction() { return this.faction; }
|
public Faction getFaction() { return this.faction; }
|
||||||
|
|
||||||
@ -46,10 +31,9 @@ public class FactionsHomeChangeEvent extends MCoreCancellableEvent
|
|||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public FactionsHomeChangeEvent(CommandSender sender, String reason, Faction faction, PS newHome)
|
public FactionsEventHomeChange(CommandSender sender, Faction faction, PS newHome)
|
||||||
{
|
{
|
||||||
this.sender = sender;
|
super(sender);
|
||||||
this.reason = reason;
|
|
||||||
this.faction = faction;
|
this.faction = faction;
|
||||||
this.newHome = newHome;
|
this.newHome = newHome;
|
||||||
}
|
}
|
34
src/com/massivecraft/factions/event/LandUnclaimAllEvent.java → src/com/massivecraft/factions/event/FactionsEventInvitedChange.java
Executable file → Normal file
34
src/com/massivecraft/factions/event/LandUnclaimAllEvent.java → src/com/massivecraft/factions/event/FactionsEventInvitedChange.java
Executable file → Normal file
@ -1,14 +1,13 @@
|
|||||||
package com.massivecraft.factions.event;
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
import org.bukkit.event.Event;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
import com.massivecraft.factions.Faction;
|
|
||||||
import com.massivecraft.factions.FPlayer;
|
import com.massivecraft.factions.FPlayer;
|
||||||
import org.bukkit.entity.Player;
|
import com.massivecraft.factions.Faction;
|
||||||
|
|
||||||
public class LandUnclaimAllEvent extends Event
|
public class FactionsEventInvitedChange extends FactionsEventAbstractSender
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// REQUIRED EVENT CODE
|
// REQUIRED EVENT CODE
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
@ -16,30 +15,31 @@ public class LandUnclaimAllEvent extends Event
|
|||||||
private static final HandlerList handlers = new HandlerList();
|
private static final HandlerList handlers = new HandlerList();
|
||||||
@Override public HandlerList getHandlers() { return handlers; }
|
@Override public HandlerList getHandlers() { return handlers; }
|
||||||
public static HandlerList getHandlerList() { return handlers; }
|
public static HandlerList getHandlerList() { return handlers; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private final Faction faction;
|
|
||||||
public Faction getFaction() { return this.faction; }
|
|
||||||
|
|
||||||
private final FPlayer fplayer;
|
private final FPlayer fplayer;
|
||||||
public FPlayer getFPlayer() { return this.fplayer; }
|
public FPlayer getFPlayer() { return this.fplayer; }
|
||||||
|
|
||||||
// TODO: These methods seem redundant? Why were they added? Can I remove them?
|
private final Faction faction;
|
||||||
public String getFactionId() { return this.faction.getId(); }
|
public Faction getFaction() { return this.faction; }
|
||||||
public String getFactionTag() { return this.faction.getTag(); }
|
|
||||||
public Player getPlayer() { return this.fplayer.getPlayer(); }
|
private boolean newInvited;
|
||||||
|
public boolean isNewInvited() { return this.newInvited; }
|
||||||
|
public void setNewInvited(boolean newInvited) { this.newInvited = newInvited; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public LandUnclaimAllEvent(Faction faction, FPlayer fplayer)
|
public FactionsEventInvitedChange(CommandSender sender, FPlayer fplayer, Faction faction, boolean newInvited)
|
||||||
{
|
{
|
||||||
this.faction = faction;
|
super(sender);
|
||||||
this.fplayer = fplayer;
|
this.fplayer = fplayer;
|
||||||
|
this.faction = faction;
|
||||||
|
this.newInvited = newInvited;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,13 +1,12 @@
|
|||||||
package com.massivecraft.factions.event;
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
import org.bukkit.event.Cancellable;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.event.Event;
|
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
import com.massivecraft.factions.FPlayer;
|
import com.massivecraft.factions.FPlayer;
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
|
|
||||||
public class FPlayerJoinEvent extends Event implements Cancellable
|
public class FactionsEventJoin extends FactionsEventAbstractSender
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// REQUIRED EVENT CODE
|
// REQUIRED EVENT CODE
|
||||||
@ -21,37 +20,26 @@ public class FPlayerJoinEvent extends Event implements Cancellable
|
|||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private FPlayer fplayer;
|
private final FPlayer fplayer;
|
||||||
private Faction faction;
|
public FPlayer getFPlayer() { return this.fplayer; }
|
||||||
private PlayerJoinReason reason;
|
|
||||||
|
|
||||||
private boolean cancelled = false;
|
private final Faction faction;
|
||||||
@Override public boolean isCancelled() { return this.cancelled; }
|
public Faction getFaction() { return this.faction; }
|
||||||
@Override public void setCancelled(boolean cancelled) { this.cancelled = cancelled; }
|
|
||||||
|
private final PlayerJoinReason reason;
|
||||||
|
public PlayerJoinReason getReason() { return reason; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public FPlayerJoinEvent(FPlayer fplayer, Faction faction, PlayerJoinReason reason)
|
public FactionsEventJoin(CommandSender sender, FPlayer fplayer, Faction faction, PlayerJoinReason reason)
|
||||||
{
|
{
|
||||||
|
super(sender);
|
||||||
this.fplayer = fplayer;
|
this.fplayer = fplayer;
|
||||||
this.faction = faction;
|
this.faction = faction;
|
||||||
this.reason = reason;
|
this.reason = reason;
|
||||||
}
|
}
|
||||||
|
|
||||||
public FPlayer getFPlayer()
|
|
||||||
{
|
|
||||||
return fplayer;
|
|
||||||
}
|
|
||||||
public Faction getFaction()
|
|
||||||
{
|
|
||||||
return faction;
|
|
||||||
}
|
|
||||||
public PlayerJoinReason getReason()
|
|
||||||
{
|
|
||||||
return reason;
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// INTERNAL ENUM
|
// INTERNAL ENUM
|
||||||
@ -59,7 +47,7 @@ public class FPlayerJoinEvent extends Event implements Cancellable
|
|||||||
|
|
||||||
public enum PlayerJoinReason
|
public enum PlayerJoinReason
|
||||||
{
|
{
|
||||||
CREATE, LEADER, COMMAND
|
CREATE, LEADER, JOIN
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,16 +1,12 @@
|
|||||||
package com.massivecraft.factions.event;
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
import org.bukkit.event.Cancellable;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.event.Event;
|
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
import com.massivecraft.factions.FPlayer;
|
|
||||||
import com.massivecraft.mcore.ps.PS;
|
import com.massivecraft.mcore.ps.PS;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
public class FactionsEventLandClaim extends FactionsEventAbstractSender
|
||||||
|
|
||||||
public class LandUnclaimEvent extends Event implements Cancellable
|
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// REQUIRED EVENT CODE
|
// REQUIRED EVENT CODE
|
||||||
@ -19,39 +15,26 @@ public class LandUnclaimEvent extends Event implements Cancellable
|
|||||||
private static final HandlerList handlers = new HandlerList();
|
private static final HandlerList handlers = new HandlerList();
|
||||||
@Override public HandlerList getHandlers() { return handlers; }
|
@Override public HandlerList getHandlers() { return handlers; }
|
||||||
public static HandlerList getHandlerList() { return handlers; }
|
public static HandlerList getHandlerList() { return handlers; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private boolean cancelled;
|
|
||||||
@Override public boolean isCancelled() { return this.cancelled; }
|
|
||||||
@Override public void setCancelled(boolean cancelled) { this.cancelled = cancelled; }
|
|
||||||
|
|
||||||
private final PS chunk;
|
|
||||||
public PS getChunk() { return this.chunk; }
|
|
||||||
|
|
||||||
private final Faction faction;
|
private final Faction faction;
|
||||||
public Faction getFaction() { return this.faction; }
|
public Faction getFaction() { return this.faction; }
|
||||||
|
|
||||||
private final FPlayer fplayer;
|
private final PS chunk;
|
||||||
public FPlayer getFPlayer() { return this.fplayer; }
|
public PS getChunk() { return this.chunk; }
|
||||||
|
|
||||||
// TODO: These methods seem redundant? Why were they added? Can I remove them?
|
|
||||||
public String getFactionId() { return this.faction.getId(); }
|
|
||||||
public String getFactionTag() { return this.faction.getTag(); }
|
|
||||||
public Player getPlayer() { return this.fplayer.getPlayer(); }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public LandUnclaimEvent(PS chunk, Faction faction, FPlayer fplayer)
|
public FactionsEventLandClaim(CommandSender sender, Faction faction, PS chunk)
|
||||||
{
|
{
|
||||||
this.cancelled = false;
|
super(sender);
|
||||||
this.chunk = chunk.getChunk(true);
|
|
||||||
this.faction = faction;
|
this.faction = faction;
|
||||||
this.fplayer = fplayer;
|
this.chunk = chunk.getChunk(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,16 +1,12 @@
|
|||||||
package com.massivecraft.factions.event;
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
import org.bukkit.event.Cancellable;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.event.Event;
|
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
import com.massivecraft.factions.FPlayer;
|
|
||||||
import com.massivecraft.mcore.ps.PS;
|
import com.massivecraft.mcore.ps.PS;
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
public class FactionsEventLandUnclaim extends FactionsEventAbstractSender
|
||||||
|
|
||||||
public class LandClaimEvent extends Event implements Cancellable
|
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// REQUIRED EVENT CODE
|
// REQUIRED EVENT CODE
|
||||||
@ -19,39 +15,26 @@ public class LandClaimEvent extends Event implements Cancellable
|
|||||||
private static final HandlerList handlers = new HandlerList();
|
private static final HandlerList handlers = new HandlerList();
|
||||||
@Override public HandlerList getHandlers() { return handlers; }
|
@Override public HandlerList getHandlers() { return handlers; }
|
||||||
public static HandlerList getHandlerList() { return handlers; }
|
public static HandlerList getHandlerList() { return handlers; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private boolean cancelled = false;
|
private final Faction faction;
|
||||||
@Override public boolean isCancelled() { return this.cancelled; }
|
public Faction getFaction() { return this.faction; }
|
||||||
@Override public void setCancelled(boolean cancelled) { this.cancelled = cancelled; }
|
|
||||||
|
|
||||||
private final PS chunk;
|
private final PS chunk;
|
||||||
public PS getChunk() { return this.chunk; }
|
public PS getChunk() { return this.chunk; }
|
||||||
|
|
||||||
private final Faction faction;
|
|
||||||
public Faction getFaction() { return this.faction; }
|
|
||||||
|
|
||||||
private final FPlayer fplayer;
|
|
||||||
public FPlayer getFPlayer() { return this.fplayer; }
|
|
||||||
|
|
||||||
// TODO: These methods seem redundant? Why were they added? Can I remove them?
|
|
||||||
public String getFactionId() { return faction.getId(); }
|
|
||||||
public String getFactionTag() { return this.faction.getTag(); }
|
|
||||||
public Player getPlayer() { return this.fplayer.getPlayer(); }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public LandClaimEvent(PS chunk, Faction faction, FPlayer fplayer)
|
public FactionsEventLandUnclaim(CommandSender sender, Faction faction, PS chunk)
|
||||||
{
|
{
|
||||||
this.cancelled = false;
|
super(sender);
|
||||||
this.chunk = chunk.getChunk(true);
|
this.chunk = chunk.getChunk(true);
|
||||||
this.faction = faction;
|
this.faction = faction;
|
||||||
this.fplayer = fplayer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.Faction;
|
||||||
|
|
||||||
|
public class FactionsEventLandUnclaimAll extends FactionsEventAbstractSender
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// REQUIRED EVENT CODE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
@Override public HandlerList getHandlers() { return handlers; }
|
||||||
|
public static HandlerList getHandlerList() { return handlers; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// FIELDS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private final Faction faction;
|
||||||
|
public Faction getFaction() { return this.faction; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public FactionsEventLandUnclaimAll(CommandSender sender, Faction faction)
|
||||||
|
{
|
||||||
|
super(sender);
|
||||||
|
this.faction = faction;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,13 +1,12 @@
|
|||||||
package com.massivecraft.factions.event;
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
import org.bukkit.event.Cancellable;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.event.Event;
|
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
import com.massivecraft.factions.FPlayer;
|
import com.massivecraft.factions.FPlayer;
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
|
|
||||||
public class FPlayerLeaveEvent extends Event implements Cancellable
|
public class FactionsEventLeave extends FactionsEventAbstractSender
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// REQUIRED EVENT CODE
|
// REQUIRED EVENT CODE
|
||||||
@ -21,35 +20,32 @@ public class FPlayerLeaveEvent extends Event implements Cancellable
|
|||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
private boolean cancelled;
|
|
||||||
@Override public boolean isCancelled() { return this.cancelled; }
|
|
||||||
@Override
|
@Override
|
||||||
public void setCancelled(boolean c)
|
public void setCancelled(boolean cancelled)
|
||||||
{
|
{
|
||||||
if (reason == PlayerLeaveReason.DISBAND || reason == PlayerLeaveReason.RESET)
|
if (this.reason == PlayerLeaveReason.DISBAND || this.reason == PlayerLeaveReason.RESET)
|
||||||
{
|
{
|
||||||
cancelled = false;
|
cancelled = false;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
cancelled = c;
|
super.setCancelled(cancelled);
|
||||||
}
|
}
|
||||||
|
|
||||||
private final PlayerLeaveReason reason;
|
|
||||||
public PlayerLeaveReason getReason() { return this.reason; }
|
|
||||||
|
|
||||||
private final FPlayer fplayer;
|
private final FPlayer fplayer;
|
||||||
public FPlayer getFPlayer() { return this.fplayer; }
|
public FPlayer getFPlayer() { return this.fplayer; }
|
||||||
|
|
||||||
private final Faction faction;
|
private final Faction faction;
|
||||||
public Faction getFaction() { return this.faction; }
|
public Faction getFaction() { return this.faction; }
|
||||||
|
|
||||||
|
private final PlayerLeaveReason reason;
|
||||||
|
public PlayerLeaveReason getReason() { return this.reason; }
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public FPlayerLeaveEvent(FPlayer fplayer, Faction faction, PlayerLeaveReason reason)
|
public FactionsEventLeave(CommandSender sender, FPlayer fplayer, Faction faction, PlayerLeaveReason reason)
|
||||||
{
|
{
|
||||||
this.cancelled = false;
|
super(sender);
|
||||||
this.fplayer = fplayer;
|
this.fplayer = fplayer;
|
||||||
this.faction = faction;
|
this.faction = faction;
|
||||||
this.reason = reason;
|
this.reason = reason;
|
@ -0,0 +1,40 @@
|
|||||||
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.Faction;
|
||||||
|
|
||||||
|
public class FactionsEventOpenChange extends FactionsEventAbstractSender
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// REQUIRED EVENT CODE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
@Override public HandlerList getHandlers() { return handlers; }
|
||||||
|
public static HandlerList getHandlerList() { return handlers; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// FIELDS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private final Faction faction;
|
||||||
|
public Faction getFaction() { return this.faction; }
|
||||||
|
|
||||||
|
private boolean newOpen;
|
||||||
|
public boolean isNewOpen() { return this.newOpen; }
|
||||||
|
public void setNewOpen(boolean newOpen) { this.newOpen = newOpen; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public FactionsEventOpenChange(CommandSender sender, Faction faction, boolean newOpen)
|
||||||
|
{
|
||||||
|
super(sender);
|
||||||
|
this.faction = faction;
|
||||||
|
this.newOpen = newOpen;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
public class FactionsEventPowerLoss extends FactionsEventAbstractSender
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// REQUIRED EVENT CODE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
@Override public HandlerList getHandlers() { return handlers; }
|
||||||
|
public static HandlerList getHandlerList() { return handlers; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
// TODO: Replace this event with a power change event?
|
||||||
|
|
||||||
|
public FactionsEventPowerLoss(CommandSender sender)
|
||||||
|
{
|
||||||
|
super(sender);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,13 +1,13 @@
|
|||||||
package com.massivecraft.factions.event;
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
import org.bukkit.event.Event;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
|
|
||||||
|
|
||||||
public class FactionRelationEvent extends Event
|
public class FactionsEventRelationChange extends FactionsEventAbstractSender
|
||||||
{
|
{
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// REQUIRED EVENT CODE
|
// REQUIRED EVENT CODE
|
||||||
@ -21,32 +21,26 @@ public class FactionRelationEvent extends Event
|
|||||||
// FIELDS
|
// FIELDS
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
// TODO: Should this one be informative only?
|
|
||||||
// TODO: How about making it Cancellable?
|
|
||||||
// TODO: How about making the target relation non-final?
|
|
||||||
|
|
||||||
private final Faction faction;
|
private final Faction faction;
|
||||||
public Faction getFaction() { return this.faction; }
|
public Faction getFaction() { return this.faction; }
|
||||||
|
|
||||||
private final Faction targetFaction;
|
private final Faction otherFaction;
|
||||||
public Faction getTargetFaction() { return this.targetFaction; }
|
public Faction getOtherFaction() { return this.otherFaction; }
|
||||||
|
|
||||||
private final Rel oldRel;
|
private Rel newRelation;
|
||||||
public Rel getOldRel() { return this.oldRel; }
|
public Rel getNewRelation() { return this.newRelation; }
|
||||||
|
public void setNewRelation(Rel newRelation) { this.newRelation = newRelation; }
|
||||||
private final Rel newRel;
|
|
||||||
public Rel getNewRel() { return this.newRel; }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// CONSTRUCT
|
// CONSTRUCT
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
public FactionRelationEvent(Faction faction, Faction targetFaction, Rel oldRel, Rel newRel)
|
public FactionsEventRelationChange(CommandSender sender, Faction faction, Faction otherFaction, Rel newRelation)
|
||||||
{
|
{
|
||||||
|
super(sender);
|
||||||
this.faction = faction;
|
this.faction = faction;
|
||||||
this.targetFaction = targetFaction;
|
this.otherFaction = otherFaction;
|
||||||
this.oldRel = oldRel;
|
this.newRelation = newRelation;
|
||||||
this.newRel = newRel;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.Faction;
|
||||||
|
|
||||||
|
public class FactionsEventTagChange extends FactionsEventAbstractSender
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// REQUIRED EVENT CODE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
@Override public HandlerList getHandlers() { return handlers; }
|
||||||
|
public static HandlerList getHandlerList() { return handlers; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// FIELDS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private final Faction faction;
|
||||||
|
public Faction getFaction() { return this.faction; }
|
||||||
|
|
||||||
|
private String newTag;
|
||||||
|
public String getNewTag() { return this.newTag; }
|
||||||
|
public void setNewTag(String newTag) { this.newTag = newTag; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public FactionsEventTagChange(CommandSender sender, Faction faction, String newTag)
|
||||||
|
{
|
||||||
|
super(sender);
|
||||||
|
this.faction = faction;
|
||||||
|
this.newTag = newTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
package com.massivecraft.factions.event;
|
||||||
|
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
|
||||||
|
import com.massivecraft.factions.FPlayer;
|
||||||
|
|
||||||
|
public class FactionsEventTitleChange extends FactionsEventAbstractSender
|
||||||
|
{
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// REQUIRED EVENT CODE
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private static final HandlerList handlers = new HandlerList();
|
||||||
|
@Override public HandlerList getHandlers() { return handlers; }
|
||||||
|
public static HandlerList getHandlerList() { return handlers; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// FIELDS
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
private final FPlayer fplayer;
|
||||||
|
public FPlayer getFPlayer() { return this.fplayer; }
|
||||||
|
|
||||||
|
private String newTitle;
|
||||||
|
public String getNewTitle() { return this.newTitle; }
|
||||||
|
public void setNewTitle(String newTitle) { this.newTitle = newTitle; }
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// CONSTRUCT
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
public FactionsEventTitleChange(CommandSender sender, FPlayer fplayer, String newTitle)
|
||||||
|
{
|
||||||
|
super(sender);
|
||||||
|
this.fplayer = fplayer;
|
||||||
|
this.newTitle = newTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,58 +0,0 @@
|
|||||||
package com.massivecraft.factions.event;
|
|
||||||
|
|
||||||
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;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
|
|
||||||
public class PowerLossEvent extends Event implements Cancellable
|
|
||||||
{
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// REQUIRED EVENT CODE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
private static final HandlerList handlers = new HandlerList();
|
|
||||||
@Override public HandlerList getHandlers() { return handlers; }
|
|
||||||
public static HandlerList getHandlerList() { return handlers; }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// FIELDS
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
private boolean cancelled;
|
|
||||||
@Override public boolean isCancelled() { return this.cancelled; }
|
|
||||||
@Override public void setCancelled(boolean cancelled) { this.cancelled = cancelled; }
|
|
||||||
|
|
||||||
private final Faction faction;
|
|
||||||
public Faction getFaction() { return this.faction; }
|
|
||||||
|
|
||||||
private final FPlayer fplayer;
|
|
||||||
public FPlayer getFPlayer() { return this.fplayer; }
|
|
||||||
|
|
||||||
// TODO: Should message really be set here? Or should it be sent by the plugin that cancells directly?
|
|
||||||
private String message;
|
|
||||||
public String getMessage() { return this.message; }
|
|
||||||
public void setMessage(String message) { this.message = message; }
|
|
||||||
|
|
||||||
// TODO: These methods seem redundant? Why were they added? Can I remove them?
|
|
||||||
public String getFactionId() { return this.faction.getId(); }
|
|
||||||
public String getFactionTag() { return this.faction.getTag(); }
|
|
||||||
public Player getPlayer() { return this.fplayer.getPlayer(); }
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// CONSTRUCT
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public PowerLossEvent(Faction faction, FPlayer fplayer)
|
|
||||||
{
|
|
||||||
this.cancelled = false;
|
|
||||||
this.faction = faction;
|
|
||||||
this.fplayer = fplayer;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -7,8 +7,17 @@ import org.bukkit.event.Listener;
|
|||||||
|
|
||||||
import com.massivecraft.factions.ConfServer;
|
import com.massivecraft.factions.ConfServer;
|
||||||
import com.massivecraft.factions.Factions;
|
import com.massivecraft.factions.Factions;
|
||||||
import com.massivecraft.factions.event.FactionsHomeChangeEvent;
|
import com.massivecraft.factions.event.FactionsEventAbstractSender;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventCreate;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventDescriptionChange;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventHomeChange;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventInvitedChange;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventOpenChange;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventRelationChange;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventTagChange;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventTitleChange;
|
||||||
import com.massivecraft.factions.integration.Econ;
|
import com.massivecraft.factions.integration.Econ;
|
||||||
|
import com.massivecraft.mcore.cmd.MCommand;
|
||||||
|
|
||||||
public class FactionsListenerEcon implements Listener
|
public class FactionsListenerEcon implements Listener
|
||||||
{
|
{
|
||||||
@ -30,20 +39,67 @@ public class FactionsListenerEcon implements Listener
|
|||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// LISTENER
|
// PAY FOR COMMAND
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
public void payForCommand(FactionsEventAbstractSender event, double cost, MCommand command)
|
||||||
public void onFactionsHomeChangeEvent(FactionsHomeChangeEvent event)
|
|
||||||
{
|
{
|
||||||
// If the faction home is being changed through a command ...
|
// If there is a sender ...
|
||||||
if (!event.getReason().equals(FactionsHomeChangeEvent.REASON_COMMAND_SETHOME)) return;
|
if (event.getSender() == null) return;
|
||||||
|
|
||||||
// ... and the sender can not afford the command ...
|
// ... and the sender can't afford ...
|
||||||
if (Econ.payForAction(ConfServer.econCostSethome, event.getSender(), Factions.get().getOuterCmdFactions().cmdFactionsSethome.getDesc())) return;
|
if (Econ.payForAction(cost, event.getSender(), command.getDesc())) return;
|
||||||
|
|
||||||
// ... then cancel the change.
|
// ... then cancel.
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
public void payForCommand(FactionsEventHomeChange event)
|
||||||
|
{
|
||||||
|
payForCommand(event, ConfServer.econCostSethome, Factions.get().getOuterCmdFactions().cmdFactionsSethome);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
public void payForCommand(FactionsEventCreate event)
|
||||||
|
{
|
||||||
|
payForCommand(event, ConfServer.econCostCreate, Factions.get().getOuterCmdFactions().cmdFactionsCreate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
public void payForCommand(FactionsEventDescriptionChange event)
|
||||||
|
{
|
||||||
|
payForCommand(event, ConfServer.econCostDescription, Factions.get().getOuterCmdFactions().cmdFactionsDescription);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
public void payForCommand(FactionsEventTagChange event)
|
||||||
|
{
|
||||||
|
payForCommand(event, ConfServer.econCostTag, Factions.get().getOuterCmdFactions().cmdFactionsTag);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
public void payForCommand(FactionsEventTitleChange event)
|
||||||
|
{
|
||||||
|
payForCommand(event, ConfServer.econCostTitle, Factions.get().getOuterCmdFactions().cmdFactionsTitle);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
public void payForCommand(FactionsEventRelationChange event)
|
||||||
|
{
|
||||||
|
payForCommand(event, event.getNewRelation().getRelationCost(), Factions.get().getOuterCmdFactions().cmdFactionsRelationNeutral);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
public void payForCommand(FactionsEventOpenChange event)
|
||||||
|
{
|
||||||
|
payForCommand(event, ConfServer.econCostOpen, Factions.get().getOuterCmdFactions().cmdFactionsOpen);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
|
public void payForCommand(FactionsEventInvitedChange event)
|
||||||
|
{
|
||||||
|
double cost = event.isNewInvited() ? ConfServer.econCostInvite : ConfServer.econCostDeinvite;
|
||||||
|
payForCommand(event, cost, Factions.get().getOuterCmdFactions().cmdFactionsInvite);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,7 @@ import org.bukkit.event.entity.EntityDamageEvent;
|
|||||||
import org.bukkit.event.entity.EntityExplodeEvent;
|
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||||
import org.bukkit.event.entity.EntityRegainHealthEvent;
|
import org.bukkit.event.entity.EntityRegainHealthEvent;
|
||||||
import org.bukkit.event.entity.EntityTargetEvent;
|
import org.bukkit.event.entity.EntityTargetEvent;
|
||||||
|
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||||
import org.bukkit.event.entity.PotionSplashEvent;
|
import org.bukkit.event.entity.PotionSplashEvent;
|
||||||
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
|
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
|
||||||
import org.bukkit.event.hanging.HangingBreakEvent;
|
import org.bukkit.event.hanging.HangingBreakEvent;
|
||||||
@ -59,6 +60,7 @@ import com.massivecraft.factions.FPlayerColl;
|
|||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
import com.massivecraft.factions.Factions;
|
import com.massivecraft.factions.Factions;
|
||||||
import com.massivecraft.factions.Rel;
|
import com.massivecraft.factions.Rel;
|
||||||
|
import com.massivecraft.factions.event.FactionsEventPowerLoss;
|
||||||
import com.massivecraft.factions.integration.SpoutFeatures;
|
import com.massivecraft.factions.integration.SpoutFeatures;
|
||||||
import com.massivecraft.factions.util.VisualizeUtil;
|
import com.massivecraft.factions.util.VisualizeUtil;
|
||||||
import com.massivecraft.mcore.ps.PS;
|
import com.massivecraft.mcore.ps.PS;
|
||||||
@ -84,6 +86,44 @@ public class FactionsListenerMain implements Listener
|
|||||||
Bukkit.getPluginManager().registerEvents(this, Factions.get());
|
Bukkit.getPluginManager().registerEvents(this, Factions.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------- //
|
||||||
|
// POWER LOSS ON DEATH
|
||||||
|
// -------------------------------------------- //
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.NORMAL)
|
||||||
|
public void powerLossOnDeath(PlayerDeathEvent event)
|
||||||
|
{
|
||||||
|
// If a player dies ...
|
||||||
|
Player player = event.getEntity();
|
||||||
|
FPlayer fplayer = FPlayerColl.get().get(player);
|
||||||
|
|
||||||
|
// ... and powerloss can happen here ...
|
||||||
|
Faction faction = BoardColl.get().getFactionAt(PS.valueOf(player));
|
||||||
|
|
||||||
|
if (!faction.getFlag(FFlag.POWERLOSS))
|
||||||
|
{
|
||||||
|
fplayer.msg("<i>You didn't lose any power since the territory you died in works that way.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ConfServer.worldsNoPowerLoss.contains(player.getWorld().getName()))
|
||||||
|
{
|
||||||
|
fplayer.msg("<i>You didn't lose any power due to the world you died in.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ... and our special event doesn't get cancelled ...
|
||||||
|
FactionsEventPowerLoss powerLossEvent = new FactionsEventPowerLoss(player);
|
||||||
|
powerLossEvent.run();
|
||||||
|
if (powerLossEvent.isCancelled()) return;
|
||||||
|
|
||||||
|
// ... alter the power ...
|
||||||
|
fplayer.setPower(fplayer.getPower() + ConfServer.powerPerDeath);
|
||||||
|
|
||||||
|
// ... and inform the player.
|
||||||
|
fplayer.msg("<i>Your power is now <h>%d / %d", fplayer.getPowerRounded(), fplayer.getPowerMaxRounded());
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
// CAN COMBAT DAMAGE HAPPEN
|
// CAN COMBAT DAMAGE HAPPEN
|
||||||
// -------------------------------------------- //
|
// -------------------------------------------- //
|
||||||
|
@ -1,78 +0,0 @@
|
|||||||
package com.massivecraft.factions.listeners;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
|
||||||
import org.bukkit.event.EventPriority;
|
|
||||||
import org.bukkit.event.Listener;
|
|
||||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
|
||||||
|
|
||||||
import com.massivecraft.factions.BoardColl;
|
|
||||||
import com.massivecraft.factions.ConfServer;
|
|
||||||
import com.massivecraft.factions.FFlag;
|
|
||||||
import com.massivecraft.factions.FPlayer;
|
|
||||||
import com.massivecraft.factions.FPlayerColl;
|
|
||||||
import com.massivecraft.factions.Faction;
|
|
||||||
import com.massivecraft.factions.event.PowerLossEvent;
|
|
||||||
import com.massivecraft.mcore.ps.PS;
|
|
||||||
|
|
||||||
|
|
||||||
public class TodoFactionsEntityListener implements Listener
|
|
||||||
{
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// POWER LOSS ON DEATH
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.NORMAL)
|
|
||||||
public void powerLossOnDeath(PlayerDeathEvent event)
|
|
||||||
{
|
|
||||||
// If a player dies ...
|
|
||||||
Player player = event.getEntity();
|
|
||||||
FPlayer fplayer = FPlayerColl.get().get(player);
|
|
||||||
|
|
||||||
// ... TODO: Sending the message through the event is not the best way of doing it.
|
|
||||||
// TODO: We should listen to our own events and send message from there if we cancel.
|
|
||||||
//
|
|
||||||
Faction faction = BoardColl.get().getFactionAt(PS.valueOf(player));
|
|
||||||
|
|
||||||
PowerLossEvent powerLossEvent = new PowerLossEvent(faction, fplayer);
|
|
||||||
|
|
||||||
// Check for no power loss conditions
|
|
||||||
if ( ! faction.getFlag(FFlag.POWERLOSS))
|
|
||||||
{
|
|
||||||
powerLossEvent.setMessage("<i>You didn't lose any power since the territory you died in works that way.");
|
|
||||||
powerLossEvent.setCancelled(true);
|
|
||||||
}
|
|
||||||
else if (ConfServer.worldsNoPowerLoss.contains(player.getWorld().getName()))
|
|
||||||
{
|
|
||||||
powerLossEvent.setMessage("<i>You didn't lose any power due to the world you died in.");
|
|
||||||
powerLossEvent.setCancelled(true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
powerLossEvent.setMessage("<i>Your power is now <h>%d / %d");
|
|
||||||
}
|
|
||||||
|
|
||||||
// call Event
|
|
||||||
Bukkit.getPluginManager().callEvent(powerLossEvent);
|
|
||||||
|
|
||||||
// Call player onDeath if the event is not cancelled
|
|
||||||
if ( ! powerLossEvent.isCancelled())
|
|
||||||
{
|
|
||||||
fplayer.setPower(fplayer.getPower() + ConfServer.powerPerDeath);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send the message from the powerLossEvent
|
|
||||||
final String msg = powerLossEvent.getMessage();
|
|
||||||
if (msg != null && !msg.isEmpty())
|
|
||||||
{
|
|
||||||
fplayer.msg(msg, fplayer.getPowerRounded(), fplayer.getPowerMaxRounded());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user