From e722662223d1288699fd2af7b0c339f12f6cdeb5 Mon Sep 17 00:00:00 2001 From: Olof Larsson Date: Fri, 3 Oct 2014 09:01:36 +0200 Subject: [PATCH] Added more faction permissions. Allies can now teleport to each others homes per default. --- .../java/com/massivecraft/factions/Perm.java | 2 - .../cmd/CmdFactionsAccessFaction.java | 2 +- .../factions/cmd/CmdFactionsAccessPlayer.java | 2 +- .../factions/cmd/CmdFactionsAutoClaim.java | 2 +- .../factions/cmd/CmdFactionsClaim.java | 2 +- .../factions/cmd/CmdFactionsDescription.java | 7 +- .../factions/cmd/CmdFactionsDisband.java | 2 +- .../factions/cmd/CmdFactionsFlag.java | 2 +- .../factions/cmd/CmdFactionsHome.java | 7 +- .../factions/cmd/CmdFactionsInvite.java | 2 +- .../factions/cmd/CmdFactionsKick.java | 2 +- .../factions/cmd/CmdFactionsMotd.java | 11 +- .../factions/cmd/CmdFactionsName.java | 8 +- .../factions/cmd/CmdFactionsPerm.java | 6 +- .../cmd/CmdFactionsRelationAbstract.java | 6 +- .../factions/cmd/CmdFactionsSethome.java | 2 +- .../factions/cmd/CmdFactionsTitle.java | 7 +- .../factions/cmd/CmdFactionsUnclaimall.java | 2 +- .../factions/cmd/CmdFactionsUnsethome.java | 7 +- .../factions/cmd/FactionsCommand.java | 4 +- .../factions/entity/FactionColl.java | 30 ++--- .../massivecraft/factions/entity/MPerm.java | 104 +++++++++++------- .../massivecraft/factions/entity/MPlayer.java | 4 +- .../factions/integration/Econ.java | 4 +- .../listeners/FactionsListenerMain.java | 20 ++-- src/main/resources/plugin.yml | 6 - 26 files changed, 133 insertions(+), 120 deletions(-) diff --git a/src/main/java/com/massivecraft/factions/Perm.java b/src/main/java/com/massivecraft/factions/Perm.java index 6f17200e..ef667ef3 100644 --- a/src/main/java/com/massivecraft/factions/Perm.java +++ b/src/main/java/com/massivecraft/factions/Perm.java @@ -25,7 +25,6 @@ public enum Perm FACTION("faction"), FLAG("flag"), HOME("home"), - HOME_OTHER("home.other"), INVITE("invite"), JOIN("join"), JOIN_ANY("join.any"), @@ -61,7 +60,6 @@ public enum Perm UNCLAIM("unclaim"), UNCLAIM_ALL("unclaimall"), UNSETHOME("unsethome"), - UNSETHOME_OTHER("unsethome.other"), VERSION("version"), // END OF LIST diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAccessFaction.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAccessFaction.java index 8c572a7c..411d9b4c 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAccessFaction.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAccessFaction.java @@ -42,7 +42,7 @@ public class CmdFactionsAccessFaction extends CmdFactionsAccessAbstract if (newValue == null) return; // MPerm - if (!MPerm.getAccess().has(msender, hostFaction, true)) return; + if (!MPerm.getPermAccess().has(msender, hostFaction, true)) return; // Apply ta = ta.withFactionId(faction.getId(), newValue); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAccessPlayer.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAccessPlayer.java index e26e25aa..20422c23 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAccessPlayer.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAccessPlayer.java @@ -42,7 +42,7 @@ public class CmdFactionsAccessPlayer extends CmdFactionsAccessAbstract if (newValue == null) return; // MPerm - if (!MPerm.getAccess().has(msender, hostFaction, true)) return; + if (!MPerm.getPermAccess().has(msender, hostFaction, true)) return; // Apply ta = ta.withPlayerId(mplayer.getId(), newValue); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAutoClaim.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAutoClaim.java index 58de4c02..5eb276b3 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAutoClaim.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsAutoClaim.java @@ -45,7 +45,7 @@ public class CmdFactionsAutoClaim extends FactionsCommand } // MPerm - if (forFaction.isNormal() && !MPerm.getTerritory().has(msender, forFaction, true)) return; + if (forFaction.isNormal() && !MPerm.getPermTerritory().has(msender, forFaction, true)) return; msender.setAutoClaimFaction(forFaction); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsClaim.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsClaim.java index d5981c45..d81a13fa 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsClaim.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsClaim.java @@ -47,7 +47,7 @@ public class CmdFactionsClaim extends FactionsCommand if (forFaction == null) return; // MPerm - if (forFaction.isNormal() && !MPerm.getTerritory().has(msender, forFaction, true)) return; + if (forFaction.isNormal() && !MPerm.getPermTerritory().has(msender, forFaction, true)) return; // Validate if (radius < 1) diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsDescription.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsDescription.java index b758242a..5bf0626e 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsDescription.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsDescription.java @@ -1,9 +1,8 @@ package com.massivecraft.factions.cmd; import com.massivecraft.factions.Perm; -import com.massivecraft.factions.Rel; import com.massivecraft.factions.cmd.req.ReqHasFaction; -import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast; +import com.massivecraft.factions.entity.MPerm; import com.massivecraft.factions.entity.MPlayer; import com.massivecraft.factions.event.EventFactionsDescriptionChange; import com.massivecraft.massivecore.cmd.req.ReqHasPerm; @@ -27,7 +26,6 @@ public class CmdFactionsDescription extends FactionsCommand // Requirements this.addRequirements(ReqHasPerm.get(Perm.DESCRIPTION.node)); this.addRequirements(ReqHasFaction.get()); - this.addRequirements(ReqRoleIsAtLeast.get(Rel.OFFICER)); } // -------------------------------------------- // @@ -40,6 +38,9 @@ public class CmdFactionsDescription extends FactionsCommand // Args String newDescription = this.argConcatFrom(0); + // MPerm + if ( ! MPerm.getPermDesc().has(msender, msenderFaction, true)) return; + // Event EventFactionsDescriptionChange event = new EventFactionsDescriptionChange(sender, msenderFaction, newDescription); event.run(); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsDisband.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsDisband.java index ced7f837..b63f18b3 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsDisband.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsDisband.java @@ -46,7 +46,7 @@ public class CmdFactionsDisband extends FactionsCommand if (faction == null) return; // MPerm - if ( ! MPerm.getDisband().has(msender, faction, true)) return; + if ( ! MPerm.getPermDisband().has(msender, faction, true)) return; // Verify if (faction.getFlag(MFlag.getPermanent())) diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsFlag.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsFlag.java index 7736d1dc..75289ee1 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsFlag.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsFlag.java @@ -67,7 +67,7 @@ public class CmdFactionsFlag extends FactionsCommand } // Do the sender have the right to change flags for this faction? - if ( ! MPerm.getFlags().has(msender, faction, true)) return; + if ( ! MPerm.getPermFlags().has(msender, faction, true)) return; // Is this flag editable? if (!msender.isUsingAdminMode() && !mflag.isEditable()) diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsHome.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsHome.java index 3a57b0e9..49820bde 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsHome.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsHome.java @@ -57,18 +57,17 @@ public class CmdFactionsHome extends FactionsCommandHome // Args Faction faction = this.arg(0, ARFaction.get(), msenderFaction); if (faction == null) return; - boolean other = faction != msenderFaction; PS home = faction.getHome(); String homeDesc = "home for " + faction.describeTo(msender, false); - // Other Perm - if (other && !Perm.HOME_OTHER.has(sender, true)) return; + // Any and MPerm + if ( ! MPerm.getPermHome().has(msender, faction, true)) return; if (home == null) { msender.msg("%s does not have a home.", faction.describeTo(msender, true)); - if (MPerm.getSethome().has(msender, faction, false)) + if (MPerm.getPermSethome().has(msender, faction, false)) { msender.msg("You should:"); msender.sendMessage(Factions.get().getOuterCmdFactions().cmdFactionsSethome.getUseageTemplate()); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsInvite.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsInvite.java index 9829b242..9ab9990d 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsInvite.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsInvite.java @@ -55,7 +55,7 @@ public class CmdFactionsInvite extends FactionsCommand } // MPerm - if ( ! MPerm.getInvite().has(msender, msenderFaction, true)) return; + if ( ! MPerm.getPermInvite().has(msender, msenderFaction, true)) return; // Event EventFactionsInvitedChange event = new EventFactionsInvitedChange(sender, mplayer, msenderFaction, newInvited); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsKick.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsKick.java index 74abb15d..737b4ba8 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsKick.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsKick.java @@ -65,7 +65,7 @@ public class CmdFactionsKick extends FactionsCommand // MPerm Faction mplayerFaction = mplayer.getFaction(); - if ( ! MPerm.getKick().has(msender, mplayerFaction, true)) return; + if ( ! MPerm.getPermKick().has(msender, mplayerFaction, true)) return; // Event EventFactionsMembershipChange event = new EventFactionsMembershipChange(sender, mplayer, FactionColl.get().getNone(), MembershipChangeReason.KICK); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsMotd.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsMotd.java index 0611f317..34e493ea 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsMotd.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsMotd.java @@ -1,8 +1,7 @@ package com.massivecraft.factions.cmd; import com.massivecraft.factions.Perm; -import com.massivecraft.factions.Rel; -import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast; +import com.massivecraft.factions.entity.MPerm; import com.massivecraft.factions.entity.MPlayer; import com.massivecraft.massivecore.cmd.req.ReqHasPerm; import com.massivecraft.massivecore.mixin.Mixin; @@ -42,12 +41,8 @@ public class CmdFactionsMotd extends FactionsCommand return; } - // Check Role - if ( ! ReqRoleIsAtLeast.get(Rel.OFFICER).apply(sender, this)) - { - sendMessage(ReqRoleIsAtLeast.get(Rel.OFFICER).createErrorMessage(sender, this)); - return; - } + // MPerm + if ( ! MPerm.getPermMotd().has(msender, msenderFaction, true)) return; // Args String target = this.argConcatFrom(0); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsName.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsName.java index 53f3dc58..3a22d998 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsName.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsName.java @@ -3,10 +3,9 @@ package com.massivecraft.factions.cmd; import java.util.ArrayList; import com.massivecraft.factions.Perm; -import com.massivecraft.factions.Rel; import com.massivecraft.factions.cmd.req.ReqHasFaction; -import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast; import com.massivecraft.factions.entity.FactionColl; +import com.massivecraft.factions.entity.MPerm; import com.massivecraft.factions.event.EventFactionsNameChange; import com.massivecraft.factions.util.MiscUtil; import com.massivecraft.massivecore.cmd.req.ReqHasPerm; @@ -28,7 +27,6 @@ public class CmdFactionsName extends FactionsCommand // Requirements this.addRequirements(ReqHasPerm.get(Perm.NAME.node)); this.addRequirements(ReqHasFaction.get()); - this.addRequirements(ReqRoleIsAtLeast.get(Rel.OFFICER)); } // -------------------------------------------- // @@ -41,8 +39,10 @@ public class CmdFactionsName extends FactionsCommand // Arg String newName = this.arg(0); - // TODO does not first test cover selfcase? + // MPerm + if ( ! MPerm.getPermName().has(msender, msenderFaction, true)) return; + // TODO does not first test cover selfcase? if (FactionColl.get().isNameTaken(newName) && ! MiscUtil.getComparisonString(newName).equals(msenderFaction.getComparisonName())) { msg("That name is already taken"); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsPerm.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsPerm.java index c56e9a12..6529d0c2 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsPerm.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsPerm.java @@ -70,7 +70,7 @@ public class CmdFactionsPerm extends FactionsCommand } // Do the sender have the right to change perms for this faction? - if ( ! MPerm.getPerms().has(msender, faction, true)) return; + if ( ! MPerm.getPermPerms().has(msender, faction, true)) return; // Is this perm editable? if (!msender.isUsingAdminMode() && !mperm.isEditable()) @@ -97,9 +97,9 @@ public class CmdFactionsPerm extends FactionsCommand faction.setRelationPermitted(mperm, rel, targetValue); // The following is to make sure the leader always has the right to change perms if that is our goal. - if (mperm == MPerm.getPerms() && MPerm.getPerms().getStandard().contains(Rel.LEADER)) + if (mperm == MPerm.getPermPerms() && MPerm.getPermPerms().getStandard().contains(Rel.LEADER)) { - faction.setRelationPermitted(MPerm.getPerms(), Rel.LEADER, true); + faction.setRelationPermitted(MPerm.getPermPerms(), Rel.LEADER, true); } // Inform diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsRelationAbstract.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsRelationAbstract.java index 4925a5c9..d26697da 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsRelationAbstract.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsRelationAbstract.java @@ -4,10 +4,10 @@ import com.massivecraft.factions.Perm; import com.massivecraft.factions.Rel; import com.massivecraft.factions.cmd.arg.ARFaction; import com.massivecraft.factions.cmd.req.ReqHasFaction; -import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast; import com.massivecraft.factions.entity.Faction; import com.massivecraft.factions.entity.MConf; import com.massivecraft.factions.entity.MFlag; +import com.massivecraft.factions.entity.MPerm; import com.massivecraft.factions.event.EventFactionsRelationChange; import com.massivecraft.massivecore.cmd.req.ReqHasPerm; @@ -27,7 +27,6 @@ public abstract class CmdFactionsRelationAbstract extends FactionsCommand // Requirements this.addRequirements(ReqHasPerm.get(Perm.RELATION.node)); this.addRequirements(ReqHasFaction.get()); - this.addRequirements(ReqRoleIsAtLeast.get(Rel.OFFICER)); } // -------------------------------------------- // @@ -49,6 +48,9 @@ public abstract class CmdFactionsRelationAbstract extends FactionsCommand return; }*/ + // MPerm + if ( ! MPerm.getPermRel().has(msender, msenderFaction, true)) return; + // Verify if (otherFaction == msenderFaction) diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsSethome.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsSethome.java index 05531b72..06a3e569 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsSethome.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsSethome.java @@ -43,7 +43,7 @@ public class CmdFactionsSethome extends FactionsCommandHome PS newHome = PS.valueOf(me.getLocation()); // MPerm - if ( ! MPerm.getSethome().has(msender, faction, true)) return; + if ( ! MPerm.getPermSethome().has(msender, faction, true)) return; // Verify if (!msender.isUsingAdminMode() && !faction.isValidHome(newHome)) diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsTitle.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsTitle.java index 037cc05c..e0c2a3b4 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsTitle.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsTitle.java @@ -3,9 +3,8 @@ package com.massivecraft.factions.cmd; import org.bukkit.ChatColor; import com.massivecraft.factions.Perm; -import com.massivecraft.factions.Rel; import com.massivecraft.factions.cmd.arg.ARMPlayer; -import com.massivecraft.factions.cmd.req.ReqRoleIsAtLeast; +import com.massivecraft.factions.entity.MPerm; import com.massivecraft.factions.entity.MPlayer; import com.massivecraft.factions.event.EventFactionsTitleChange; import com.massivecraft.massivecore.cmd.arg.ARString; @@ -29,7 +28,6 @@ public class CmdFactionsTitle extends FactionsCommand // Requirements this.addRequirements(ReqHasPerm.get(Perm.TITLE.node)); - this.addRequirements(ReqRoleIsAtLeast.get(Rel.OFFICER)); } // -------------------------------------------- // @@ -52,6 +50,9 @@ public class CmdFactionsTitle extends FactionsCommand newTitle = ChatColor.stripColor(newTitle); } + // MPerm + if ( ! MPerm.getPermTitle().has(msender, you.getFaction(), true)) return; + // Verify if ( ! canIAdministerYou(msender, you)) return; diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsUnclaimall.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsUnclaimall.java index a3e37163..d8b0d0e2 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsUnclaimall.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsUnclaimall.java @@ -45,7 +45,7 @@ public class CmdFactionsUnclaimall extends FactionsCommand Faction newFaction = FactionColl.get().getNone(); // MPerm - if ( ! MPerm.getTerritory().has(msender, faction, true)) return; + if ( ! MPerm.getPermTerritory().has(msender, faction, true)) return; // Apply Set chunks = BoardColl.get().getChunks(faction); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsUnsethome.java b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsUnsethome.java index 336bf5d4..a6971d4c 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdFactionsUnsethome.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdFactionsUnsethome.java @@ -36,11 +36,8 @@ public class CmdFactionsUnsethome extends FactionsCommandHome Faction faction = this.arg(0, ARFaction.get(), msenderFaction); if (faction == null) return; - // Other Perm - if (faction != msenderFaction && !Perm.HOME_OTHER.has(sender, true)) return; - - // MPerm - if ( ! MPerm.getSethome().has(msender, faction, true)) return; + // Any and MPerm + if ( ! MPerm.getPermSethome().has(msender, faction, true)) return; // NoChange if ( ! faction.hasHome()) diff --git a/src/main/java/com/massivecraft/factions/cmd/FactionsCommand.java b/src/main/java/com/massivecraft/factions/cmd/FactionsCommand.java index 677c0e79..8091be6b 100644 --- a/src/main/java/com/massivecraft/factions/cmd/FactionsCommand.java +++ b/src/main/java/com/massivecraft/factions/cmd/FactionsCommand.java @@ -63,12 +63,12 @@ public abstract class FactionsCommand extends MassiveCommand } else { - i.sendMessage(Txt.parse("Moderators can't control each other...")); + i.sendMessage(Txt.parse("Officers can't control each other...")); } } else { - i.sendMessage(Txt.parse("You must be a faction moderator to do that.")); + i.sendMessage(Txt.parse("You must be a faction officer to do that.")); } return false; diff --git a/src/main/java/com/massivecraft/factions/entity/FactionColl.java b/src/main/java/com/massivecraft/factions/entity/FactionColl.java index 314b9c46..a49b5e73 100644 --- a/src/main/java/com/massivecraft/factions/entity/FactionColl.java +++ b/src/main/java/com/massivecraft/factions/entity/FactionColl.java @@ -105,11 +105,11 @@ public class FactionColl extends Coll faction.setFlag(MFlag.getFirespread(), true); faction.setFlag(MFlag.getEndergrief(), true); - faction.setPermittedRelations(MPerm.getBuild(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getDoor(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getContainer(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getButton(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getLever(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermBuild(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermDoor(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermContainer(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermButton(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermLever(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); return faction; } @@ -138,11 +138,11 @@ public class FactionColl extends Coll faction.setFlag(MFlag.getFirespread(), false); faction.setFlag(MFlag.getEndergrief(), false); - faction.setPermittedRelations(MPerm.getDoor(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getContainer(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getButton(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getLever(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getTerritory(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER); + faction.setPermittedRelations(MPerm.getPermDoor(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermContainer(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermButton(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermLever(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermTerritory(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER); return faction; } @@ -171,11 +171,11 @@ public class FactionColl extends Coll faction.setFlag(MFlag.getFirespread(), true); faction.setFlag(MFlag.getEndergrief(), true); - faction.setPermittedRelations(MPerm.getDoor(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getContainer(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getButton(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getLever(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); - faction.setPermittedRelations(MPerm.getTerritory(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER); + faction.setPermittedRelations(MPerm.getPermDoor(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermContainer(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermButton(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermLever(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY, Rel.TRUCE, Rel.NEUTRAL, Rel.ENEMY); + faction.setPermittedRelations(MPerm.getPermTerritory(), Rel.LEADER, Rel.OFFICER, Rel.MEMBER); return faction; } diff --git a/src/main/java/com/massivecraft/factions/entity/MPerm.java b/src/main/java/com/massivecraft/factions/entity/MPerm.java index 33a042d4..cabbdda8 100644 --- a/src/main/java/com/massivecraft/factions/entity/MPerm.java +++ b/src/main/java/com/massivecraft/factions/entity/MPerm.java @@ -28,12 +28,19 @@ public class MPerm extends Entity implements Prioritized, Registerable public final static transient String ID_BUTTON = "button"; public final static transient String ID_LEVER = "lever"; public final static transient String ID_CONTAINER = "container"; + + public final static transient String ID_NAME = "name"; + public final static transient String ID_DESC = "desc"; + public final static transient String ID_MOTD = "motd"; public final static transient String ID_INVITE = "invite"; public final static transient String ID_KICK = "kick"; + public final static transient String ID_TITLE = "title"; + public final static transient String ID_HOME = "home"; public final static transient String ID_SETHOME = "sethome"; public final static transient String ID_WITHDRAW = "withdraw"; public final static transient String ID_TERRITORY = "territory"; public final static transient String ID_ACCESS = "access"; + public final static transient String ID_REL = "rel"; public final static transient String ID_DISBAND = "disband"; public final static transient String ID_FLAGS = "flags"; public final static transient String ID_PERMS = "perms"; @@ -44,15 +51,22 @@ public class MPerm extends Entity implements Prioritized, Registerable public final static transient int PRIORITY_BUTTON = 4000; public final static transient int PRIORITY_LEVER = 5000; public final static transient int PRIORITY_CONTAINER = 6000; - public final static transient int PRIORITY_INVITE = 7000; - public final static transient int PRIORITY_KICK = 8000; - public final static transient int PRIORITY_SETHOME = 9000; - public final static transient int PRIORITY_WITHDRAW = 10000; - public final static transient int PRIORITY_TERRITORY = 12000; - public final static transient int PRIORITY_ACCESS = 13000; - public final static transient int PRIORITY_DISBAND = 14000; - public final static transient int PRIORITY_FLAGS = 15000; - public final static transient int PRIORITY_PERMS = 16000; + + public final static transient int PRIORITY_NAME = 7000; + public final static transient int PRIORITY_DESC = 8000; + public final static transient int PRIORITY_MOTD = 9000; + public final static transient int PRIORITY_INVITE = 10000; + public final static transient int PRIORITY_KICK = 11000; + public final static transient int PRIORITY_TITLE = 12000; + public final static transient int PRIORITY_HOME = 13000; + public final static transient int PRIORITY_SETHOME = 14000; + public final static transient int PRIORITY_WITHDRAW = 15000; + public final static transient int PRIORITY_TERRITORY = 16000; + public final static transient int PRIORITY_ACCESS = 17000; + public final static transient int PRIORITY_REL = 18000; + public final static transient int PRIORITY_DISBAND = 19000; + public final static transient int PRIORITY_FLAGS = 20000; + public final static transient int PRIORITY_PERMS = 21000; // -------------------------------------------- // // META: CORE @@ -70,40 +84,52 @@ public class MPerm extends Entity implements Prioritized, Registerable public static void setupStandardPerms() { - getBuild(); - getPainbuild(); - getDoor(); - getButton(); - getLever(); - getContainer(); + getPermBuild(); + getPermPainbuild(); + getPermDoor(); + getPermButton(); + getPermLever(); + getPermContainer(); - getInvite(); - getKick(); - getSethome(); - getWithdraw(); - getTerritory(); - getAccess(); - getDisband(); - getFlags(); - getPerms(); + getPermName(); + getPermDesc(); + getPermMotd(); + getPermInvite(); + getPermKick(); + getPermTitle(); + getPermHome(); + getPermSethome(); + getPermWithdraw(); + getPermTerritory(); + getPermAccess(); + getPermRel(); + getPermDisband(); + getPermFlags(); + getPermPerms(); } - public static MPerm getBuild() { return getCreative(PRIORITY_BUILD, ID_BUILD, ID_BUILD, "edit the terrain", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.ALLY), true, true, true); } - public static MPerm getPainbuild() { return getCreative(PRIORITY_PAINBUILD, ID_PAINBUILD, ID_PAINBUILD, "edit, take damage", new LinkedHashSet(), true, true, true); } - public static MPerm getDoor() { return getCreative(PRIORITY_DOOR, ID_DOOR, ID_DOOR, "use doors", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY), true, true, true); } - public static MPerm getButton() { return getCreative(PRIORITY_BUTTON, ID_BUTTON, ID_BUTTON, "use stone buttons", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY), true, true, true); } - public static MPerm getLever() { return getCreative(PRIORITY_LEVER, ID_LEVER, ID_LEVER, "use levers", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY), true, true, true); } - public static MPerm getContainer() { return getCreative(PRIORITY_CONTAINER, ID_CONTAINER, ID_CONTAINER, "use containers", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER), true, true, true); } + public static MPerm getPermBuild() { return getCreative(PRIORITY_BUILD, ID_BUILD, ID_BUILD, "edit the terrain", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.ALLY), true, true, true); } + public static MPerm getPermPainbuild() { return getCreative(PRIORITY_PAINBUILD, ID_PAINBUILD, ID_PAINBUILD, "edit, take damage", new LinkedHashSet(), true, true, true); } + public static MPerm getPermDoor() { return getCreative(PRIORITY_DOOR, ID_DOOR, ID_DOOR, "use doors", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY), true, true, true); } + public static MPerm getPermButton() { return getCreative(PRIORITY_BUTTON, ID_BUTTON, ID_BUTTON, "use stone buttons", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY), true, true, true); } + public static MPerm getPermLever() { return getCreative(PRIORITY_LEVER, ID_LEVER, ID_LEVER, "use levers", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY), true, true, true); } + public static MPerm getPermContainer() { return getCreative(PRIORITY_CONTAINER, ID_CONTAINER, ID_CONTAINER, "use containers", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER), true, true, true); } - public static MPerm getInvite() { return getCreative(PRIORITY_INVITE, ID_INVITE, ID_INVITE, "invite players", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } - public static MPerm getKick() { return getCreative(PRIORITY_KICK, ID_KICK, ID_KICK, "kick members", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } - public static MPerm getSethome() { return getCreative(PRIORITY_SETHOME, ID_SETHOME, ID_SETHOME, "set the home", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } - public static MPerm getWithdraw() { return getCreative(PRIORITY_WITHDRAW, ID_WITHDRAW, ID_WITHDRAW, "withdraw money", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } - public static MPerm getTerritory() { return getCreative(PRIORITY_TERRITORY, ID_TERRITORY, ID_TERRITORY, "claim or unclaim", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } - public static MPerm getAccess() { return getCreative(PRIORITY_ACCESS, ID_ACCESS, ID_ACCESS, "grant territory", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } - public static MPerm getDisband() { return getCreative(PRIORITY_DISBAND, ID_DISBAND, ID_DISBAND, "disband the faction", MUtil.set(Rel.LEADER), false, true, true); } - public static MPerm getFlags() { return getCreative(PRIORITY_FLAGS, ID_FLAGS, ID_FLAGS, "manage flags", MUtil.set(Rel.LEADER), false, true, true); } - public static MPerm getPerms() { return getCreative(PRIORITY_PERMS, ID_PERMS, ID_PERMS, "manage permissions", MUtil.set(Rel.LEADER), false, true, true); } + public static MPerm getPermName() { return getCreative(PRIORITY_NAME, ID_NAME, ID_NAME, "set name", MUtil.set(Rel.LEADER), false, true, true); } + public static MPerm getPermDesc() { return getCreative(PRIORITY_DESC, ID_DESC, ID_DESC, "set description", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } + public static MPerm getPermMotd() { return getCreative(PRIORITY_MOTD, ID_MOTD, ID_MOTD, "set motd", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } + public static MPerm getPermInvite() { return getCreative(PRIORITY_INVITE, ID_INVITE, ID_INVITE, "invite players", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } + public static MPerm getPermKick() { return getCreative(PRIORITY_KICK, ID_KICK, ID_KICK, "kick members", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } + public static MPerm getPermTitle() { return getCreative(PRIORITY_TITLE, ID_TITLE, ID_TITLE, "set titles", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } + public static MPerm getPermHome() { return getCreative(PRIORITY_HOME, ID_HOME, ID_HOME, "teleport home", MUtil.set(Rel.LEADER, Rel.OFFICER, Rel.MEMBER, Rel.RECRUIT, Rel.ALLY), false, true, true); } + public static MPerm getPermSethome() { return getCreative(PRIORITY_SETHOME, ID_SETHOME, ID_SETHOME, "set the home", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } + public static MPerm getPermWithdraw() { return getCreative(PRIORITY_WITHDRAW, ID_WITHDRAW, ID_WITHDRAW, "withdraw money", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } + public static MPerm getPermTerritory() { return getCreative(PRIORITY_TERRITORY, ID_TERRITORY, ID_TERRITORY, "claim or unclaim", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } + public static MPerm getPermAccess() { return getCreative(PRIORITY_ACCESS, ID_ACCESS, ID_ACCESS, "grant territory", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } + public static MPerm getPermRel() { return getCreative(PRIORITY_REL, ID_REL, ID_REL, "change relations", MUtil.set(Rel.LEADER, Rel.OFFICER), false, true, true); } + public static MPerm getPermDisband() { return getCreative(PRIORITY_DISBAND, ID_DISBAND, ID_DISBAND, "disband the faction", MUtil.set(Rel.LEADER), false, true, true); } + public static MPerm getPermFlags() { return getCreative(PRIORITY_FLAGS, ID_FLAGS, ID_FLAGS, "manage flags", MUtil.set(Rel.LEADER), false, true, true); } + public static MPerm getPermPerms() { return getCreative(PRIORITY_PERMS, ID_PERMS, ID_PERMS, "manage permissions", MUtil.set(Rel.LEADER), false, true, true); } public static MPerm getCreative(int priority, String id, String name, String desc, Set standard, boolean territory, boolean editable, boolean visible) { diff --git a/src/main/java/com/massivecraft/factions/entity/MPlayer.java b/src/main/java/com/massivecraft/factions/entity/MPlayer.java index fbf573f6..c97c1e78 100644 --- a/src/main/java/com/massivecraft/factions/entity/MPlayer.java +++ b/src/main/java/com/massivecraft/factions/entity/MPlayer.java @@ -710,7 +710,7 @@ public class MPlayer extends SenderEntity implements EconomyParticipato return false; } - if (!MPerm.getTerritory().has(this, newFaction, true)) + if (!MPerm.getPermTerritory().has(this, newFaction, true)) { return false; } @@ -760,7 +760,7 @@ public class MPlayer extends SenderEntity implements EconomyParticipato if (oldFaction.isNormal()) { - if (!MPerm.getTerritory().has(this, oldFaction, false)) + if (!MPerm.getPermTerritory().has(this, oldFaction, false)) { if (!mconf.claimingFromOthersAllowed) { diff --git a/src/main/java/com/massivecraft/factions/integration/Econ.java b/src/main/java/com/massivecraft/factions/integration/Econ.java index 406a71fd..810c8088 100644 --- a/src/main/java/com/massivecraft/factions/integration/Econ.java +++ b/src/main/java/com/massivecraft/factions/integration/Econ.java @@ -88,8 +88,8 @@ public class Econ // Factions can be controlled by those that have permissions if (you instanceof Faction) { - if (i instanceof Faction && MPerm.getWithdraw().has((Faction)i, fYou)) return true; - if (i instanceof MPlayer && MPerm.getWithdraw().has((MPlayer)i, fYou, false)) return true; + if (i instanceof Faction && MPerm.getPermWithdraw().has((Faction)i, fYou)) return true; + if (i instanceof MPlayer && MPerm.getPermWithdraw().has((MPlayer)i, fYou, false)) return true; } // Otherwise you may not! ;,,; diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsListenerMain.java b/src/main/java/com/massivecraft/factions/listeners/FactionsListenerMain.java index 87858345..74319a2a 100644 --- a/src/main/java/com/massivecraft/factions/listeners/FactionsListenerMain.java +++ b/src/main/java/com/massivecraft/factions/listeners/FactionsListenerMain.java @@ -802,7 +802,7 @@ public class FactionsListenerMain implements Listener if (mplayer.isUsingAdminMode()) return true; - if (!MPerm.getBuild().has(mplayer, ps, false) && MPerm.getPainbuild().has(mplayer, ps, false)) + if (!MPerm.getPermBuild().has(mplayer, ps, false) && MPerm.getPermPainbuild().has(mplayer, ps, false)) { if (verboose) { @@ -817,7 +817,7 @@ public class FactionsListenerMain implements Listener return true; } - return MPerm.getBuild().has(mplayer, ps, verboose); + return MPerm.getPermBuild().has(mplayer, ps, verboose); } @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) @@ -907,7 +907,7 @@ public class FactionsListenerMain implements Listener if (targetFaction == pistonFaction) return; // if potentially pushing into air/water/lava in another territory, we need to check it out - if ((targetBlock.isEmpty() || targetBlock.isLiquid()) && ! MPerm.getBuild().has(pistonFaction, targetFaction)) + if ((targetBlock.isEmpty() || targetBlock.isLiquid()) && ! MPerm.getPermBuild().has(pistonFaction, targetFaction)) { event.setCancelled(true); } @@ -937,7 +937,7 @@ public class FactionsListenerMain implements Listener Faction targetFaction = BoardColl.get().getFactionAt(retractPs); if (targetFaction == pistonFaction) return; - if (!MPerm.getBuild().has(pistonFaction, targetFaction)) + if (!MPerm.getPermBuild().has(pistonFaction, targetFaction)) { event.setCancelled(true); } @@ -985,7 +985,7 @@ public class FactionsListenerMain implements Listener MPlayer mplayer = MPlayer.get(player); if (mplayer.isUsingAdminMode()) return true; - return MPerm.getBuild().has(mplayer, ps, !justCheck); + return MPerm.getPermBuild().has(mplayer, ps, !justCheck); } public static boolean canPlayerUseBlock(Player player, Block block, boolean justCheck) @@ -999,11 +999,11 @@ public class FactionsListenerMain implements Listener PS ps = PS.valueOf(block); Material material = block.getType(); - if (MConf.get().materialsEditOnInteract.contains(material) && ! MPerm.getBuild().has(me, ps, ! justCheck)) return false; - if (MConf.get().materialsContainer.contains(material) && ! MPerm.getContainer().has(me, ps, ! justCheck)) return false; - if (MConf.get().materialsDoor.contains(material) && ! MPerm.getDoor().has(me, ps, ! justCheck)) return false; - if (material == Material.STONE_BUTTON && ! MPerm.getButton().has(me, ps, ! justCheck)) return false; - if (material == Material.LEVER && ! MPerm.getLever().has(me, ps, ! justCheck)) return false; + if (MConf.get().materialsEditOnInteract.contains(material) && ! MPerm.getPermBuild().has(me, ps, ! justCheck)) return false; + if (MConf.get().materialsContainer.contains(material) && ! MPerm.getPermContainer().has(me, ps, ! justCheck)) return false; + if (MConf.get().materialsDoor.contains(material) && ! MPerm.getPermDoor().has(me, ps, ! justCheck)) return false; + if (material == Material.STONE_BUTTON && ! MPerm.getPermButton().has(me, ps, ! justCheck)) return false; + if (material == Material.LEVER && ! MPerm.getPermLever().has(me, ps, ! justCheck)) return false; return true; } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 5fc4dd39..a35b080b 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -25,7 +25,6 @@ permissions: factions.faction: {description: show faction information, default: false} factions.flag: {description: manage faction flags, default: false} factions.home: {description: teleport to faction home, default: false} - factions.home.other: {description: teleport to another faction home, default: false} factions.invite: {description: set if player is invited, default: false} factions.join: {description: join faction, default: false} factions.join.any: {description: join closed faction, default: false} @@ -61,7 +60,6 @@ permissions: factions.unclaim: {description: unclaim land where you stand, default: false} factions.unclaimall: {description: unclaim all land, default: false} factions.unsethome: {description: unset faction home, default: false} - factions.unsethome.other: {description: unset other faction home, default: false} factions.version: {description: see plugin version, default: false} # -------------------------------------------- # # STAR NOTATION @@ -83,7 +81,6 @@ permissions: factions.faction: true factions.flag: true factions.home: true - factions.home.other: true factions.invite: true factions.join: true factions.join.any: true @@ -119,7 +116,6 @@ permissions: factions.unclaim: true factions.unclaimall: true factions.unsethome: true - factions.unsethome.other: true factions.version: true # -------------------------------------------- # # KITS @@ -147,8 +143,6 @@ permissions: children: factions.kit.rank0: true factions.admin: true - factions.home.other: true - factions.unsethome.other: true factions.kit.rank0: default: false children: