From 3b523062e8b54a62f6acadb8cf461360ebd5aeee Mon Sep 17 00:00:00 2001 From: Driftay Date: Sun, 30 Jun 2019 23:22:28 -0400 Subject: [PATCH] Commits --- .../com/massivecraft/factions/Faction.java | 4 ++ .../massivecraft/factions/cmd/CmdPoints.java | 8 +++ .../factions/cmd/CmdPointsAdd.java | 54 +++++++++++++++++++ .../factions/cmd/CmdPointsRemove.java | 4 ++ .../factions/cmd/CmdPointsSet.java | 4 ++ .../factions/struct/Permission.java | 1 + .../factions/zcore/persist/MemoryFaction.java | 17 ++++-- .../massivecraft/factions/zcore/util/TL.java | 2 + 8 files changed, 90 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/massivecraft/factions/cmd/CmdPoints.java create mode 100644 src/main/java/com/massivecraft/factions/cmd/CmdPointsAdd.java create mode 100644 src/main/java/com/massivecraft/factions/cmd/CmdPointsRemove.java create mode 100644 src/main/java/com/massivecraft/factions/cmd/CmdPointsSet.java diff --git a/src/main/java/com/massivecraft/factions/Faction.java b/src/main/java/com/massivecraft/factions/Faction.java index 72558b6b..44aa68ce 100644 --- a/src/main/java/com/massivecraft/factions/Faction.java +++ b/src/main/java/com/massivecraft/factions/Faction.java @@ -84,6 +84,10 @@ public interface Faction extends EconomyParticipator { void ban(FPlayer target, FPlayer banner); + int getPoints(); + + void setPoints(int points); + int getStrikes(); void setStrikes(int strikes); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdPoints.java b/src/main/java/com/massivecraft/factions/cmd/CmdPoints.java new file mode 100644 index 00000000..9afff4e9 --- /dev/null +++ b/src/main/java/com/massivecraft/factions/cmd/CmdPoints.java @@ -0,0 +1,8 @@ +package com.massivecraft.factions.cmd; + +public class CmdPoints extends FCommand { + + + + +} diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdPointsAdd.java b/src/main/java/com/massivecraft/factions/cmd/CmdPointsAdd.java new file mode 100644 index 00000000..aea36a91 --- /dev/null +++ b/src/main/java/com/massivecraft/factions/cmd/CmdPointsAdd.java @@ -0,0 +1,54 @@ +package com.massivecraft.factions.cmd; + +import com.massivecraft.factions.FPlayer; +import com.massivecraft.factions.FPlayers; +import com.massivecraft.factions.Faction; +import com.massivecraft.factions.Factions; +import com.massivecraft.factions.struct.Permission; +import com.massivecraft.factions.zcore.util.TL; + +public class CmdPointsAdd extends FCommand { + + public CmdPointsAdd() { + super(); + this.aliases.add("add"); + + this.requiredArgs.add("faction"); + this.requiredArgs.add("# of points"); + + + this.errorOnToManyArgs = false; + //this.optionalArgs + + this.permission = Permission.ADDPOINTS.node; + + this.disableOnLock = true; + + senderMustBePlayer = false; + senderMustBeMember = false; + senderMustBeModerator = false; + senderMustBeColeader = false; + senderMustBeAdmin = false; + } + + + @Override + public void perform() { + Faction faction = Factions.getInstance().getByTag(args.get(0)); + + if (faction == null) { + fme.msg(TL.COMMAND_POINTS_FAILURE.toString().replace("{faction}", args.get(0))); + } + + assert faction != null; + faction.setPoints(faction.getPoints() + argAsInt(1)); + } + + + @Override + public TL getUsageTranslation() { + return TL.COMMAND_ADDPOINTS_DESCRIPTION; + } + + +} diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdPointsRemove.java b/src/main/java/com/massivecraft/factions/cmd/CmdPointsRemove.java new file mode 100644 index 00000000..a6b5ada1 --- /dev/null +++ b/src/main/java/com/massivecraft/factions/cmd/CmdPointsRemove.java @@ -0,0 +1,4 @@ +package com.massivecraft.factions.cmd; + +public class CmdPointsRemove { +} diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdPointsSet.java b/src/main/java/com/massivecraft/factions/cmd/CmdPointsSet.java new file mode 100644 index 00000000..24f6f4bc --- /dev/null +++ b/src/main/java/com/massivecraft/factions/cmd/CmdPointsSet.java @@ -0,0 +1,4 @@ +package com.massivecraft.factions.cmd; + +public class CmdPointsSet { +} diff --git a/src/main/java/com/massivecraft/factions/struct/Permission.java b/src/main/java/com/massivecraft/factions/struct/Permission.java index fda3f115..575b66e0 100644 --- a/src/main/java/com/massivecraft/factions/struct/Permission.java +++ b/src/main/java/com/massivecraft/factions/struct/Permission.java @@ -100,6 +100,7 @@ public enum Permission { SETWARP("setwarp"), TOP("top"), VIEWCHEST("viewchest"), + ADDPOINTS("addpoints"), VAULT("vault"), GETVAULT("getvault"), SETMAXVAULTS("setmaxvaults"), diff --git a/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFaction.java b/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFaction.java index 5555f9ce..0e250741 100644 --- a/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFaction.java +++ b/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFaction.java @@ -71,6 +71,7 @@ public abstract class MemoryFaction implements Faction, EconomyParticipator { Map bannerSerialized; private long lastDeath; private int strikes = 0; + private int points = 0; // -------------------------------------------- // // Construct @@ -121,6 +122,14 @@ public abstract class MemoryFaction implements Faction, EconomyParticipator { resetPerms(); // Reset on new Faction so it has default values. } + public int getPoints() { + return points; + } + + public void setPoints(int points) { + this.points = points; + } + public int getStrikes() { return strikes; } @@ -715,20 +724,20 @@ public abstract class MemoryFaction implements Faction, EconomyParticipator { // Put the map in there for each relation. for (Relation relation : Relation.values()) { if (relation != Relation.MEMBER) { - if (!Conf.defaultFactionPermissions.containsKey(relation.nicename)) + if (!Conf.defaultFactionPermissions.containsKey(relation.nicename.toUpperCase())) permissions.put(relation, new HashMap<>(defaultMap)); else - permissions.put(relation, PermissableAction.fromDefaults(Conf.defaultFactionPermissions.get(relation.nicename))); + permissions.put(relation, PermissableAction.fromDefaults(Conf.defaultFactionPermissions.get(relation.nicename.toUpperCase()))); } } // And each role. for (Role role : Role.values()) { if (role != Role.LEADER) { - if (!Conf.defaultFactionPermissions.containsKey(role.nicename)) + if (!Conf.defaultFactionPermissions.containsKey(role.nicename.toUpperCase())) permissions.put(role, new HashMap<>(defaultMap)); else - permissions.put(role, PermissableAction.fromDefaults(Conf.defaultFactionPermissions.get(role.nicename))); + permissions.put(role, PermissableAction.fromDefaults(Conf.defaultFactionPermissions.get(role.nicename.toUpperCase()))); } } } diff --git a/src/main/java/com/massivecraft/factions/zcore/util/TL.java b/src/main/java/com/massivecraft/factions/zcore/util/TL.java index f93853f4..7cd0b0f3 100644 --- a/src/main/java/com/massivecraft/factions/zcore/util/TL.java +++ b/src/main/java/com/massivecraft/factions/zcore/util/TL.java @@ -542,6 +542,8 @@ public enum TL { COMMAND_PERM_SET("&c&l[!]&7 Set permission&c %1$s &7to &c%2$s &7for relation&c %3$s"), COMMAND_PERM_TOP("RCT MEM OFF ALLY TRUCE NEUT ENEMY"), + COMMAND_POINTS_FAILURE(""), + COMMAND_PERMANENT_DESCRIPTION("Toggles a permanent faction option"), COMMAND_PERMANENT_GRANT("&c&l[!]&7 added permanent status to"), COMMAND_PERMANENT_REVOKE("&c&l[!]&7 removed permanent status from"),