From 4c3b8b0d183bd2ada0a598bae2d7028f34f00575 Mon Sep 17 00:00:00 2001 From: Driftay Date: Sat, 29 Jun 2019 10:20:59 -0400 Subject: [PATCH] Added F InventorySee --- .gitignore | 2 +- javadoc/com/massivecraft/factions/P.html | 16 ++--- .../listeners/FactionsBlockListener.html | 12 ++-- .../listeners/FactionsChatListener.html | 12 ++-- .../listeners/FactionsEntityListener.html | 12 ++-- .../listeners/FactionsPlayerListener.html | 4 +- javadoc/index-files/index-18.html | 6 +- pom.xml | 2 +- .../factions/cmd/CmdInventorySee.java | 70 +++++++++++++++++++ .../massivecraft/factions/cmd/FCmdRoot.java | 5 ++ .../listeners/FactionsPlayerListener.java | 11 +++ .../factions/struct/Permission.java | 1 + .../massivecraft/factions/zcore/util/TL.java | 6 +- src/main/resources/config.yml | 12 +++- 14 files changed, 134 insertions(+), 37 deletions(-) create mode 100644 src/main/java/com/massivecraft/factions/cmd/CmdInventorySee.java 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 | #