Package com.massivecraft.factions.entity

Examples of com.massivecraft.factions.entity.Faction


    if (!isEnabled(usender)) return true;
    if (cost == 0D) return true;
   
    if (usender.isUsingAdminMode()) return true;
    UConf uconf = UConf.get(usender);
    Faction usenderFaction = usender.getFaction();
   
    if (uconf.bankEnabled && uconf.bankFactionPaysCosts && usenderFaction.isNormal())
    {
      return modifyMoney(usenderFaction, -cost, actionDescription);
    }
    else
    {
View Full Code Here


    to.msg("<a>%s's<i> balance is <h>%s<i>.", about.describeTo(to, true), Money.format(about, Money.get(about)));
  }

  public static boolean canIControllYou(EconomyParticipator i, EconomyParticipator you)
  {
    Faction fI = RelationUtil.getFaction(i);
    Faction fYou = RelationUtil.getFaction(you);
   
    // This is a system invoker. Accept it.
    if (fI == null) return true;
   
    // Bypassing players can do any kind of transaction
View Full Code Here

 
  @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
  public void removeProtectionsOnChunkChange(FactionsEventChunkChange event)
  {
    // If we are supposed to clear at this chunk change type ...
    Faction newFaction = event.getNewFaction();
    UConf uconf = UConf.get(newFaction);
    FactionsEventChunkChangeType type = event.getType();
    Boolean remove = uconf.lwcRemoveOnChange.get(type);
    if (remove == null) return;
    if (remove == false) return;
View Full Code Here

      usender.msg("<b>You cannot teleport to your faction home while in a different world.");
      return;
    }
   
   
    Faction faction = BoardColls.get().getFactionAt(PS.valueOf(me));
    Location loc = me.getLocation().clone();
   
    // if player is not in a safe zone or their own faction territory, only allow teleport if no enemies are nearby
    if
    (
        uconf.homesTeleportAllowedEnemyDistance > 0
      &&
      faction.getFlag(FFlag.PVP)
      &&
      (
        ! usender.isInOwnTerritory()
        ||
        (
View Full Code Here

    // If a player is leaving the faction ...
    if (event.getReason() != MembershipChangeReason.LEAVE) return;
   
    // ... and that player was the last one in the faction ...
    UPlayer uplayer = event.getUPlayer();
    Faction oldFaction = uplayer.getFaction();
    if (oldFaction.getUPlayers().size() > 1) return;
   
    // ... then transfer all money to the player.
    Econ.transferMoney(uplayer, oldFaction, uplayer, Money.get(oldFaction));
  }
View Full Code Here

   
    // ... and economy is enabled ...
    if (!Econ.isEnabled(usender)) return;
   
    // ... then transfer all the faction money to the sender.
    Faction faction = event.getFaction();
 
    double amount = Money.get(faction);
    String amountString = Money.format(faction, amount);
   
    Econ.transferMoney(usender, faction, usender, amount, true);
   
    usender.msg("<i>You have been given the disbanded faction's bank, totaling %s.", amountString);
    Factions.get().log(usender.getName() + " has been given bank holdings of "+amountString+" from disbanding "+faction.getName()+".");
  }
View Full Code Here

  }
 
  @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
  public void payForAction(FactionsEventChunkChange event)
  {
    Faction newFaction = event.getNewFaction();
    UConf uconf = UConf.get(newFaction);
    FactionsEventChunkChangeType type = event.getType();
    Double cost = uconf.econChunkCost.get(type);
   
    String desc = type.toString().toLowerCase() + " this land";
View Full Code Here

  public void perform()
  {
    UPlayer newLeader = this.arg(0, ARUPlayer.getStartAny(sender));
    if (newLeader == null) return;
   
    Faction targetFaction = this.arg(1, ARFaction.get(sender), usenderFaction);
    if (targetFaction == null) return;
   
    UPlayer targetFactionCurrentLeader = targetFaction.getLeader();
   
    // We now have uplayer and the target faction
    if (this.senderIsConsole || usender.isUsingAdminMode() || Perm.LEADER_ANY.has(sender, false))
    {
      // Do whatever you wish
    }
    else
    {
      // Follow the standard rules
      if (usender.getRole() != Rel.LEADER || targetFaction != usenderFaction)
      {
        sender.sendMessage(Txt.parse("<b>You must be leader of the faction to %s.", this.getDesc()));
        return;
      }
     
      if (newLeader.getFaction() != usenderFaction)
      {
        msg("%s<i> is not a member in the faction.", newLeader.describeTo(usender, true));
        return;
      }
     
      if (newLeader == usender)
      {
        msg("<b>The target player musn't be yourself.");
        return;
      }
    }

    // only run event when newLeader isn't actually in the faction
    if (newLeader.getFaction() != targetFaction)
    {
      FactionsEventMembershipChange event = new FactionsEventMembershipChange(sender, newLeader, targetFaction, MembershipChangeReason.LEADER);
      event.run();
      if (event.isCancelled()) return;
    }

    // if target player is currently leader, demote and replace him
    if (targetFactionCurrentLeader == newLeader)
    {
      targetFaction.promoteNewLeader();
      msg("<i>You have demoted %s<i> from the position of faction leader.", newLeader.describeTo(usender, true));
      newLeader.msg("<i>You have been demoted from the position of faction leader by %s<i>.", usender.describeTo(newLeader, true));
      return;
    }

    // Perform the switching
    if (targetFactionCurrentLeader != null)
    {
      targetFactionCurrentLeader.setRole(Rel.OFFICER);
    }
    newLeader.setFaction(targetFaction);
    newLeader.setRole(Rel.LEADER);
    msg("<i>You have promoted %s<i> to the position of faction leader.", newLeader.describeTo(usender, true));
   
    // Inform all players
    for (UPlayer uplayer : UPlayerColls.get().get(sender).getAllOnline())
    {
      uplayer.msg("%s<i> gave %s<i> the leadership of %s<i>.", senderIsConsole ? "A server admin" : RelationUtil.describeThatToMe(usender, uplayer, true), newLeader.describeTo(uplayer), targetFaction.describeTo(uplayer));
    }
  }
View Full Code Here

      msg("<b>You cannot kick that member until their power is positive.");
      return;
    }
   
    // FPerm
    Faction uplayerFaction = uplayer.getFaction();
    if (!FPerm.KICK.has(usender, uplayerFaction, true)) return;

    // Event
    FactionsEventMembershipChange event = new FactionsEventMembershipChange(sender, uplayer, FactionColls.get().get(uplayer).getNone(), MembershipChangeReason.KICK);
    event.run();
    if (event.isCancelled()) return;

    // Inform
    uplayerFaction.msg("%s<i> kicked %s<i> from the faction! :O", usender.describeTo(uplayerFaction, true), uplayer.describeTo(uplayerFaction, true));
    uplayer.msg("%s<i> kicked you from %s<i>! :O", usender.describeTo(uplayer, true), uplayerFaction.describeTo(uplayer));
    if (uplayerFaction != usenderFaction)
    {
      usender.msg("<i>You kicked %s<i> from the faction %s<i>!", uplayer.describeTo(usender), uplayerFaction.describeTo(usender));
    }

    if (MConf.get().logFactionKick)
    {
      Factions.get().log(usender.getDisplayName() + " kicked " + uplayer.getName() + " from the faction " + uplayerFaction.getName());
    }

    // Apply
    if (uplayer.getRole() == Rel.LEADER)
    {
      uplayerFaction.promoteNewLeader();
    }
    uplayerFaction.setInvited(uplayer, false);
    uplayer.resetFactionData();
  }
View Full Code Here

  }
 
  @Override
  public void perform()
  {
    Faction faction = this.arg(0, ARFaction.get(usenderFaction), usenderFaction);
    if (faction == null) return;
   
    if ( ! this.argIsSet(1))
    {
      msg(Txt.titleize("Perms for " + faction.describeTo(usender, true)));
      msg(FPerm.getStateHeaders());
      for (FPerm perm : FPerm.values())
      {
        msg(perm.getStateInfo(faction.getPermittedRelations(perm), true));
      }
      return;
    }
   
    FPerm perm = this.arg(1, ARFPerm.get());
    if (perm == null) return;
    //System.out.println("perm = "+perm);
   
    if ( ! this.argIsSet(2))
    {
      msg(Txt.titleize("Perm for " + faction.describeTo(usender, true)));
      msg(FPerm.getStateHeaders());
      msg(perm.getStateInfo(faction.getPermittedRelations(perm), true));
      return;
    }
   
    // Do the sender have the right to change perms for this faction?
    if ( ! FPerm.PERMS.has(usender, faction, true)) return;
   
    Rel rel = this.arg(2, ARRel.get());
    if (rel == null) return;
   
    if (!this.argIsSet(3))
    {
      msg("<b>Should <h>%s <b>have the <h>%s <b>permission or not?\nYou must <h>add \"yes\" or \"no\" <b>at the end.", Txt.getNicedEnum(rel), Txt.getNicedEnum(perm));
      return;
    }
   
    Boolean val = this.arg(3, ARBoolean.get(), null);
    if (val == null) return;
   
    // Do the change
    //System.out.println("setRelationPermitted perm "+perm+", rel "+rel+", val "+val);
    faction.setRelationPermitted(perm, rel, val);
   
    // The following is to make sure the leader always has the right to change perms if that is our goal.
    if (perm == FPerm.PERMS && FPerm.PERMS.getDefault(faction).contains(Rel.LEADER))
    {
      faction.setRelationPermitted(FPerm.PERMS, Rel.LEADER, true);
    }
   
    msg(Txt.titleize("Perm for " + faction.describeTo(usender, true)));
    msg(FPerm.getStateHeaders());
    msg(perm.getStateInfo(faction.getPermittedRelations(perm), true));
  }
View Full Code Here

TOP

Related Classes of com.massivecraft.factions.entity.Faction

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.