diff --git a/.gitignore b/.gitignore
index 98b6090d..ec95843c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,7 +13,7 @@
/target
# vim
-.*.sw[a-savageFactions]
+.*.sw[a-saberFactions]
# various other potential build files
/build
diff --git a/javadoc/com/massivecraft/factions/P.html b/javadoc/com/massivecraft/factions/P.html
index 72bb2d31..215145e7 100644
--- a/javadoc/com/massivecraft/factions/P.html
+++ b/javadoc/com/massivecraft/factions/P.html
@@ -222,7 +222,7 @@ extends
static P |
savageFactions
+ href="../../../com/massivecraft/factions/P.html#saberFactions">saberFactions
|
@@ -456,13 +456,13 @@ extends
void |
playSound(org.bukkit.entity.Player savageFactions,
+ href="../../../com/massivecraft/factions/P.html#playSound-org.bukkit.entity.Player-java.util.List-">playSound(org.bukkit.entity.Player saberFactions,
java.util.List<java.lang.String> sounds) |
void |
playSound(org.bukkit.entity.Player savageFactions,
+ href="../../../com/massivecraft/factions/P.html#playSound-org.bukkit.entity.Player-java.lang.String-">playSound(org.bukkit.entity.Player saberFactions,
java.lang.String sound) |
@@ -538,14 +538,14 @@ extends
+
@@ -894,7 +894,7 @@ extends
playSound
- public void playSound(org.bukkit.entity.Player savageFactions,
+ public void playSound(org.bukkit.entity.Player saberFactions,
java.util.List<java.lang.String> sounds)
@@ -904,7 +904,7 @@ extends
playSound
- public void playSound(org.bukkit.entity.Player savageFactions,
+ public void playSound(org.bukkit.entity.Player saberFactions,
java.lang.String sound)
diff --git a/javadoc/com/massivecraft/factions/listeners/FactionsBlockListener.html b/javadoc/com/massivecraft/factions/listeners/FactionsBlockListener.html
index eb104f78..ab2801ce 100644
--- a/javadoc/com/massivecraft/factions/listeners/FactionsBlockListener.html
+++ b/javadoc/com/massivecraft/factions/listeners/FactionsBlockListener.html
@@ -143,7 +143,7 @@ implements org.bukkit.event.Listener
SavageFactions |
savageFactions
+ href="../../../../com/massivecraft/factions/listeners/FactionsBlockListener.html#saberFactions">saberFactions
|
@@ -163,7 +163,7 @@ implements org.bukkit.event.Listener
FactionsBlockListener(SavageFactions savageFactions)
+ href="../../../../com/massivecraft/factions/SavageFactions.html" title="class in com.massivecraft.factions">SavageFactions saberFactions)
|
@@ -265,14 +265,14 @@ implements org.bukkit.event.Listener
public static java.util.HashMap<java.lang.String,org.bukkit.Location> bannerLocations
-
+
@@ -290,7 +290,7 @@ implements org.bukkit.event.Listener
FactionsBlockListener
public FactionsBlockListener(SavageFactions savageFactions)
+ title="class in com.massivecraft.factions">SavageFactions saberFactions)
diff --git a/javadoc/com/massivecraft/factions/listeners/FactionsChatListener.html b/javadoc/com/massivecraft/factions/listeners/FactionsChatListener.html
index cac62f80..8fb8ccda 100644
--- a/javadoc/com/massivecraft/factions/listeners/FactionsChatListener.html
+++ b/javadoc/com/massivecraft/factions/listeners/FactionsChatListener.html
@@ -137,7 +137,7 @@ implements org.bukkit.event.Listener
SavageFactions |
savageFactions
+ href="../../../../com/massivecraft/factions/listeners/FactionsChatListener.html#saberFactions">saberFactions
|
@@ -157,7 +157,7 @@ implements org.bukkit.event.Listener
FactionsChatListener(SavageFactions savageFactions)
+ href="../../../../com/massivecraft/factions/SavageFactions.html" title="class in com.massivecraft.factions">SavageFactions saberFactions)
|
@@ -205,14 +205,14 @@ implements org.bukkit.event.Listener
Field Detail
-
+
@@ -230,7 +230,7 @@ implements org.bukkit.event.Listener
FactionsChatListener
public FactionsChatListener(SavageFactions savageFactions)
+ title="class in com.massivecraft.factions">SavageFactions saberFactions)
diff --git a/javadoc/com/massivecraft/factions/listeners/FactionsEntityListener.html b/javadoc/com/massivecraft/factions/listeners/FactionsEntityListener.html
index 4b011946..ada2a2b4 100644
--- a/javadoc/com/massivecraft/factions/listeners/FactionsEntityListener.html
+++ b/javadoc/com/massivecraft/factions/listeners/FactionsEntityListener.html
@@ -137,7 +137,7 @@ implements org.bukkit.event.Listener
SavageFactions |
savageFactions
+ href="../../../../com/massivecraft/factions/listeners/FactionsEntityListener.html#saberFactions">saberFactions
|
@@ -157,7 +157,7 @@ implements org.bukkit.event.Listener
FactionsEntityListener(SavageFactions savageFactions)
+ href="../../../../com/massivecraft/factions/SavageFactions.html" title="class in com.massivecraft.factions">SavageFactions saberFactions)
|
@@ -276,14 +276,14 @@ implements org.bukkit.event.Listener
Field Detail
-
+
@@ -301,7 +301,7 @@ implements org.bukkit.event.Listener
FactionsEntityListener
public FactionsEntityListener(SavageFactions savageFactions)
+ title="class in com.massivecraft.factions">SavageFactions saberFactions)
diff --git a/javadoc/com/massivecraft/factions/listeners/FactionsPlayerListener.html b/javadoc/com/massivecraft/factions/listeners/FactionsPlayerListener.html
index c5e34907..961d885e 100644
--- a/javadoc/com/massivecraft/factions/listeners/FactionsPlayerListener.html
+++ b/javadoc/com/massivecraft/factions/listeners/FactionsPlayerListener.html
@@ -135,7 +135,7 @@ implements org.bukkit.event.Listener
FactionsPlayerListener(SavageFactions savageFactions)
+ href="../../../../com/massivecraft/factions/SavageFactions.html" title="class in com.massivecraft.factions">SavageFactions saberFactions)
|
@@ -290,7 +290,7 @@ implements org.bukkit.event.Listener
FactionsPlayerListener
public FactionsPlayerListener(SavageFactions savageFactions)
+ title="class in com.massivecraft.factions">SavageFactions saberFactions)
diff --git a/javadoc/index-files/index-18.html b/javadoc/index-files/index-18.html
index da690f1f..fb971840 100644
--- a/javadoc/index-files/index-18.html
+++ b/javadoc/index-files/index-18.html
@@ -86,19 +86,19 @@
safeZonePreventAllDamageToPlayers - Static variable in class com.massivecraft.factions.Conf
savageFactions
+ href="../com/massivecraft/factions/listeners/FactionsBlockListener.html#saberFactions">saberFactions
- Variable in class com.massivecraft.factions.listeners.FactionsBlockListener
savageFactions
+ href="../com/massivecraft/factions/listeners/FactionsChatListener.html#saberFactions">saberFactions
- Variable in class com.massivecraft.factions.listeners.FactionsChatListener
savageFactions
+ href="../com/massivecraft/factions/listeners/FactionsEntityListener.html#saberFactions">saberFactions
- Variable in class com.massivecraft.factions.listeners.FactionsEntityListener
diff --git a/pom.xml b/pom.xml
index 63dd96b8..fca3faa0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -330,7 +330,7 @@
net.coreprotect
- coreprotect
+ CoreProtect
2
provided
diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdInventorySee.java b/src/main/java/com/massivecraft/factions/cmd/CmdInventorySee.java
new file mode 100644
index 00000000..8b0fc2cb
--- /dev/null
+++ b/src/main/java/com/massivecraft/factions/cmd/CmdInventorySee.java
@@ -0,0 +1,70 @@
+package com.massivecraft.factions.cmd;
+
+import com.massivecraft.factions.FPlayer;
+import com.massivecraft.factions.SaberFactions;
+import com.massivecraft.factions.struct.Permission;
+import com.massivecraft.factions.struct.Role;
+import com.massivecraft.factions.zcore.fperms.Access;
+import com.massivecraft.factions.zcore.fperms.PermissableAction;
+import com.massivecraft.factions.zcore.util.TL;
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.Inventory;
+
+import java.util.ArrayList;
+import java.util.Objects;
+
+public class CmdInventorySee extends FCommand {
+
+ public CmdInventorySee() {
+ super();
+
+ this.aliases.add("invsee");
+ this.aliases.add("inventorysee");
+
+ this.requiredArgs.add("member name");
+
+ this.permission = Permission.INVSEE.node;
+ this.disableOnLock = true;
+ this.disableOnSpam = false;
+
+ senderMustBePlayer = true;
+ senderMustBeMember = true;
+ senderMustBeModerator = false;
+ senderMustBeColeader = false;
+ senderMustBeAdmin = false;
+ }
+
+ @Override
+ public void perform() {
+ if (SaberFactions.plugin.getConfig().getBoolean("f-inventory-see.Enabled")) {
+ fme.msg(TL.GENERIC_DISABLED);
+ }
+
+ Access use = myFaction.getAccess(fme, PermissableAction.TERRITORY);
+ if (use == Access.DENY || (use == Access.UNDEFINED && !assertMinRole(Role.MODERATOR))) {
+ fme.msg(TL.GENERIC_NOPERMISSION, "territory");
+ return;
+ }
+
+ ArrayList fplayers = myFaction.getOnlinePlayers();
+
+ FPlayer targetInv = argAsFPlayer(0);
+ if (targetInv == null || !fplayers.contains(targetInv.getPlayer())) {
+ fme.msg(TL.PLAYER_NOT_FOUND, Objects.requireNonNull(targetInv).toString());
+ return;
+ }
+
+ Inventory inventory = Bukkit.createInventory(me, 36, targetInv.getName() + "'s Inventory");
+ for (int i = 0; i < 36; i++)
+ if (targetInv.getPlayer().getInventory().getItem(i) != null)
+ inventory.setItem(i, targetInv.getPlayer().getInventory().getItem(i));
+
+ me.openInventory(inventory);
+ }
+
+ @Override
+ public TL getUsageTranslation() {
+ return TL.COMMAND_INVENTORYSEE_DESCRIPTION;
+ }
+}
diff --git a/src/main/java/com/massivecraft/factions/cmd/FCmdRoot.java b/src/main/java/com/massivecraft/factions/cmd/FCmdRoot.java
index 249f653d..1c69da00 100644
--- a/src/main/java/com/massivecraft/factions/cmd/FCmdRoot.java
+++ b/src/main/java/com/massivecraft/factions/cmd/FCmdRoot.java
@@ -110,6 +110,7 @@ public class FCmdRoot extends FCommand {
public CmdAlts cmdAlts = new CmdAlts();
public CmdSpam cmdSpam = new CmdSpam();
public CmdCorner cmdCorner = new CmdCorner();
+ public CmdInventorySee cmdInventorySee = new CmdInventorySee();
@@ -228,6 +229,10 @@ public class FCmdRoot extends FCommand {
this.addSubCommand(this.cmdCorner);
+ if (SaberFactions.plugin.getConfig().getBoolean("f-inventory-see.Enabled")) {
+ this.addSubCommand(this.cmdInventorySee);
+ }
+
if(SaberFactions.plugin.getConfig().getBoolean("f-alts.Enabled")){
this.addSubCommand(cmdAlts);
}
diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java
index e0cdb890..c46cca3e 100644
--- a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java
+++ b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java
@@ -668,6 +668,17 @@ public class FactionsPlayerListener implements Listener {
}
}
+ @EventHandler
+ public void onInentorySee(InventoryClickEvent e) {
+ if (e.getCurrentItem() == null)
+ return;
+
+ if (!e.getInventory().getName().endsWith("'s Inventory View"))
+ return;
+
+ e.setCancelled(true);
+ }
+
@EventHandler
public void onPlayerBoneMeal(PlayerInteractEvent event) {
Block block = event.getClickedBlock();
diff --git a/src/main/java/com/massivecraft/factions/struct/Permission.java b/src/main/java/com/massivecraft/factions/struct/Permission.java
index ca4aeb8c..357f92ed 100644
--- a/src/main/java/com/massivecraft/factions/struct/Permission.java
+++ b/src/main/java/com/massivecraft/factions/struct/Permission.java
@@ -37,6 +37,7 @@ public enum Permission {
HELP("help"),
HOME("home"),
INVITE("invite"),
+ INVSEE("invsee"),
JOIN("join"),
JOIN_ANY("join.any"),
JOIN_OTHERS("join.others"),
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 c0c86fb6..13442c87 100644
--- a/src/main/java/com/massivecraft/factions/zcore/util/TL.java
+++ b/src/main/java/com/massivecraft/factions/zcore/util/TL.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2018 ProSavage
+ * Copyright (C) 2019 Driftay
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -351,6 +351,8 @@ public enum TL {
COMMAND_HOME_DESCRIPTION("Teleport to the faction home"),
COMMAND_HOME_BLOCKED("&c&l[!] You may not teleport to a home that is claimed by &b%1$s"),
+ COMMAND_INVENTORYSEE_DESCRIPTION("View a faction members inventory"),
+
COMMAND_INSPECT_DISABLED_MSG("&c&l[!]&7 Inspect mode is now &cdisabled."),
COMMAND_INSPECT_DISABLED_NOFAC("&c&l[!]&7 Inspect mode is now &cdisabled,&7 because you &cdo not have a faction!"),
COMMAND_INSPECT_ENABLED("&c&l[!]&7 Inspect mode is now &aEnabled."),
@@ -899,6 +901,8 @@ public enum TL {
GENERIC_MONEYTAKE("&c{amount} has been taken from your account."),
+ PLAYER_NOT_FOUND("&c&l[!] &b%1$s &7is either not online or not in your faction!"),
+
WARBANNER_NOFACTION("&cYou need a faction to use a warbanner!"),
WARBANNER_COOLDOWN("&cThe warbanner is on cooldown for your faction!"),
WARBANNER_INVALIDLOC("&cYou can only use warbanners in enemy land or the warzone"),
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 6671dbb1..d0b0683d 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -1,7 +1,7 @@
# SaberFactions by Driftay
# Report issues: https://github.com/Driftay/SaberFactions/issues/new
-# Live support: https://discord.gg/22AQtX7
-# Spigot Site: https://www.spigotmc.org/resources/savagefactions-factionsuuid-reimagined-1-7-1-12.52891/
+# Live support: https://discord.gg/TFxWKeX
+# Spigot Site: https://www.spigotmc.org/resources/saberfactions-1-7-1-13-the-complete-factions-solution.68840/
# Website: https://www.saberllc.net/
# Jenkins: https://jenkins.saberllc.net/
@@ -711,7 +711,13 @@ faction-disband-broadcast: true
############################################################
See-Invisible-Faction-Members: false
-
+############################################################
+# +------------------------------------------------------+ #
+# | Faction Inventory See | #
+# +------------------------------------------------------+ #
+############################################################
+f-inventory-see:
+ Enabled: true
############################################################
# +------------------------------------------------------+ #
# | Faction Alt Accounts | #