Compare commits

...

24 Commits

Author SHA1 Message Date
Driftay
5d1e1ea6ed Version Change 2019-12-24 09:32:23 -05:00
Driftay
372eed65a0 Fixed OCD 2019-12-24 09:27:36 -05:00
Driftay
86f92a7fb0 [+] 1.15 Support Added!
[+] Greatly optmized ALOT of Commands!
[+] Removed Portal Travel Agent (Recoding)
[+] Added Administrator Command F Lookup
2019-12-24 09:19:43 -05:00
Driftay
897fdbf83a Added TL Fixture for Drain Description 2019-12-22 18:24:50 -05:00
Driftay
4e11234a08 Added F Drain Command (A Command which allows players with permission to obtain all the money in faction members balances.) 2019-12-22 18:21:17 -05:00
Driftay
3a22bb348e Fixed Spawner Breaking NPE 2019-12-22 01:03:47 -05:00
Driftay
91ca08e66b Fixed Co-Leader Default Permissions 2019-12-21 23:52:14 -05:00
Driftay
11d9f9230b Version Change 2019-12-21 22:05:01 -05:00
Driftay
38cf542d8c Fixed territoryBypassProtectedMaterials - 2 Maps were defined 2019-12-21 22:03:40 -05:00
DroppingAnvil
93b485aae8 Version change + /f wild permission added to permission kits
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-19 17:35:29 -06:00
DroppingAnvil
b9996a2250 Fix /f deinvite 2019-12-19 15:10:55 -08:00
Driftay
368a605d31 Format Code, Fixed 2 NPE's 2019-12-19 14:23:41 -05:00
DroppingAnvil
fec07b6fac Added a wilderness teleport command (/f wild) and fixed a few bugs
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-16 18:46:38 -06:00
DroppingAnvil
58e43b41cc CmdReload made more useful by changing how commands that can be disabled are added to the root. You can now get the instance of FCmdRoot, Recheck variable added commands, rebuild brigadierManager, and get the status of each command that can be disabled. CmdDebug now gets the status of variable added commands.
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-16 13:32:12 -06:00
DroppingAnvil
d5645f3b0a Revamped in-game Discord mention system.
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-15 19:37:12 -06:00
DroppingAnvil
fa10bf7003 Discord feature additions, Discord startup flow changed, /f debug added
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-12 04:48:00 -06:00
Driftay
ca9502a4b6 TL References Properly to Generic_Disabled 2019-12-03 05:16:37 -05:00
Driftay
0a60a581f5 Started Base For Custom GUI Handling 2019-12-02 22:31:58 -05:00
Driftay
faf245b870 Proper Shading Acknowledged 2019-12-02 21:32:09 -05:00
DroppingAnvil
f124877dba Fixed message issue with lang when promoting a player in a faction to Admin.
Signed-off-by: DroppingAnvil <dr0pping.4nvi1@gmail.com>
2019-12-02 19:52:30 -06:00
Driftay
fc5befd7cc Proper Credit Noted 2019-12-02 20:12:58 -05:00
Driftay
d03ca58105 More Credit 2019-12-02 14:03:27 -05:00
Driftay
f437144fba Giving Credit 2019-12-02 13:55:38 -05:00
Driftay
9284707db6 Fixed ArrayIndexOutOfBounds Exception With Deinvite Command 2019-11-30 00:41:44 -05:00
237 changed files with 2812 additions and 583 deletions

View File

@@ -4,7 +4,7 @@
<groupId>com.massivecraft</groupId> <groupId>com.massivecraft</groupId>
<artifactId>Factions</artifactId> <artifactId>Factions</artifactId>
<version>1.6.9.5-U0.2.1-2.1.0-BETA</version> <version>1.6.9.5-U0.2.1-2.2.2-BETA</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>SaberFactions</name> <name>SaberFactions</name>
@@ -41,6 +41,10 @@
<configuration> <configuration>
<createDependencyReducedPom>false</createDependencyReducedPom> <createDependencyReducedPom>false</createDependencyReducedPom>
<relocations> <relocations>
<relocation>
<pattern>net.dv8tion</pattern>
<shadedPattern>com.massivecraft.factions.shade.net.dv8tion</shadedPattern>
</relocation>
<relocation> <relocation>
<pattern>mkremins.fanciful</pattern> <pattern>mkremins.fanciful</pattern>
<shadedPattern>com.massivecraft.factions.shade.mkremins.fanciful</shadedPattern> <shadedPattern>com.massivecraft.factions.shade.mkremins.fanciful</shadedPattern>
@@ -101,7 +105,7 @@
<dependency> <dependency>
<groupId>org.spigotmc</groupId> <groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId> <artifactId>spigot-api</artifactId>
<version>1.13-R0.1-SNAPSHOT</version> <version>1.15.1-R0.1-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
<exclusions> <exclusions>
<exclusion> <exclusion>

View File

@@ -1,6 +1,7 @@
package com.massivecraft.factions; package com.massivecraft.factions;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.massivecraft.factions.integration.dynmap.DynmapStyle; import com.massivecraft.factions.integration.dynmap.DynmapStyle;
import com.massivecraft.factions.util.XMaterial; import com.massivecraft.factions.util.XMaterial;
import com.massivecraft.factions.zcore.fperms.DefaultPermissions; import com.massivecraft.factions.zcore.fperms.DefaultPermissions;
@@ -98,12 +99,30 @@ public class Conf {
public static boolean autoLeaveDeleteFPlayerData = true; // Let them just remove player from Faction. public static boolean autoLeaveDeleteFPlayerData = true; // Let them just remove player from Faction.
public static boolean worldGuardChecking = false; public static boolean worldGuardChecking = false;
public static boolean worldGuardBuildPriority = false; public static boolean worldGuardBuildPriority = false;
public static boolean factionsDrainEnabled = false;
//DISCORD //DISCORD
public static boolean useDiscordSystem = false; public static boolean useDiscordSystem = false;
public static String discordBotToken = "<token here>"; public static String discordBotToken = "<token here>";
public static String fromDiscordFactionChatPrefix = "&f[&dDiscord&f] "; public static String fromDiscordFactionChatPrefix = "&f[&dDiscord&f] ";
public static String avatarUrl = "http://cravatar.eu/helmavatar/%uuid%.png"; public static String avatarUrl = "http://cravatar.eu/helmavatar/%uuid%.png";
public static String webhookName = "SaberFactions Hook"; public static String webhookName = "SaberFactions Hook";
public static String mainGuildID = "<Discord Server ID here>";
public static String positiveReaction = "<Server emote here>";
public static String negativeReaction = "<Server emote here>";
public static Boolean restrictActionsWhenNotLinked = false;
public static Boolean leaderRoles = false;
public static String leaderRole = "<Leader Role ID>";
public static Boolean factionDiscordTags = false;
public static String factionTag = "(NAME) [FACTION]";
public static Boolean factionRoles = false;
public static List<Integer> factionRoleColor = new ArrayList<Integer>(){{
add(25);
add(162);
add(203);
}};
public static String factionRolePrefix = "✦";
public static String factionRoleSuffix = "✦";
// server logging options // server logging options
public static boolean logFactionCreate = true; public static boolean logFactionCreate = true;
public static boolean logFactionDisband = true; public static boolean logFactionDisband = true;
@@ -235,7 +254,6 @@ public class Conf {
public static Set<Material> territoryCancelAndAllowItemUseMaterial = new HashSet<>(); public static Set<Material> territoryCancelAndAllowItemUseMaterial = new HashSet<>();
public static Set<Material> territoryDenySwitchMaterials = new HashSet<>(); public static Set<Material> territoryDenySwitchMaterials = new HashSet<>();
public static Set<Material> territoryBypasssProtectedMaterials = EnumSet.noneOf(Material.class);
public static boolean allowCreeperEggingChests = true; public static boolean allowCreeperEggingChests = true;
// Economy settings // Economy settings
@@ -536,7 +554,6 @@ public class Conf {
safeZoneNerfedCreatureTypes.add(EntityType.ZOMBIE); safeZoneNerfedCreatureTypes.add(EntityType.ZOMBIE);
// Is this called lazy load? // Is this called lazy load?
defaultFactionPermissions.put("LEADER", new DefaultPermissions(true));
defaultFactionPermissions.put("COLEADER", new DefaultPermissions(true)); defaultFactionPermissions.put("COLEADER", new DefaultPermissions(true));
defaultFactionPermissions.put("MODERATOR", new DefaultPermissions(true)); defaultFactionPermissions.put("MODERATOR", new DefaultPermissions(true));
defaultFactionPermissions.put("NORMAL MEMBER", new DefaultPermissions(false)); defaultFactionPermissions.put("NORMAL MEMBER", new DefaultPermissions(false));

View File

@@ -70,8 +70,8 @@ public class FLocation implements Serializable {
String worldName = string.substring(start, index); String worldName = string.substring(start, index);
start = index + 1; start = index + 1;
index = string.indexOf(",", start); index = string.indexOf(",", start);
int x = Integer.valueOf(string.substring(start, index)); int x = Integer.parseInt(string.substring(start, index));
int y = Integer.valueOf(string.substring(index + 1, string.length() - 1)); int y = Integer.parseInt(string.substring(index + 1, string.length() - 1));
return new FLocation(worldName, x, y); return new FLocation(worldName, x, y);
} }

View File

@@ -7,6 +7,7 @@ import com.massivecraft.factions.struct.Relation;
import com.massivecraft.factions.struct.Role; import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.util.WarmUpUtil; import com.massivecraft.factions.util.WarmUpUtil;
import mkremins.fanciful.FancyMessage; import mkremins.fanciful.FancyMessage;
import net.dv8tion.jda.core.entities.User;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@@ -30,6 +31,36 @@ public interface FPlayer extends EconomyParticipator {
boolean hasNotificationsEnabled(); boolean hasNotificationsEnabled();
/**
* Get if a player has setup their Discord before
* @return if the player setup Discord as a boolean
*/
boolean discordSetup();
/**
* Get the players Discord user ID
* @return players Discord user ID as a String
*/
String discordUserID();
/**
* Set the players Boolean defining if the player has setup their Discord
* @param b Boolean for discordSetup to be defined to
*/
void setDiscordSetup(Boolean b);
/**
* Set the players Discord user ID
* @param s String for their user ID to be set to
*/
void setDiscordUserID(String s);
/**
* Get the players Discord user (If the player has not setup Discord it will return null!)
* @return User from players set Discord User ID
*/
User discordUser();
/** /**
* Used to check if this player should be served titles * Used to check if this player should be served titles
* @return if this FPlayer has titles enabled as a boolean * @return if this FPlayer has titles enabled as a boolean
@@ -230,7 +261,7 @@ public interface FPlayer extends EconomyParticipator {
int getDeaths(); int getDeaths();
void takeMoney(int amt); boolean takeMoney(int amt);
boolean hasMoney(int amt); boolean hasMoney(int amt);

View File

@@ -11,8 +11,8 @@ import com.massivecraft.factions.cmd.FCommand;
import com.massivecraft.factions.cmd.check.CheckTask; import com.massivecraft.factions.cmd.check.CheckTask;
import com.massivecraft.factions.cmd.check.WeeWooTask; import com.massivecraft.factions.cmd.check.WeeWooTask;
import com.massivecraft.factions.cmd.chest.AntiChestListener; import com.massivecraft.factions.cmd.chest.AntiChestListener;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.discord.DiscordListener; import com.massivecraft.factions.discord.DiscordListener;
import com.massivecraft.factions.discord.FactionChatHandler;
import com.massivecraft.factions.integration.Econ; import com.massivecraft.factions.integration.Econ;
import com.massivecraft.factions.integration.Worldguard; import com.massivecraft.factions.integration.Worldguard;
import com.massivecraft.factions.integration.dynmap.EngineDynmap; import com.massivecraft.factions.integration.dynmap.EngineDynmap;
@@ -267,11 +267,8 @@ public class FactionsPlugin extends MPlugin {
this.getServer().getScheduler().runTaskTimer(this, CheckTask::cleanupTask, 0L, 1200L); this.getServer().getScheduler().runTaskTimer(this, CheckTask::cleanupTask, 0L, 1200L);
this.getServer().getScheduler().runTaskTimerAsynchronously(this, new WeeWooTask(this), 600L, 600L); this.getServer().getScheduler().runTaskTimerAsynchronously(this, new WeeWooTask(this), 600L, 600L);
} }
if(Conf.useDiscordSystem && !Conf.discordBotToken.equals("<token here>")) { //Setup Discord Bot
new FactionChatHandler(this); new Discord(this);
} else {
System.out.println("\n\n\n SABER-FACTIONS-DISCORD-INTEGRATION - You are not using Discord integration features, set conf.json option useDiscordSystem to true and put a valid token in before using!\n\n\n");
}
ShopConfig.setup(); ShopConfig.setup();
@@ -415,7 +412,7 @@ public class FactionsPlugin extends MPlugin {
.registerTypeAdapterFactory(EnumTypeAdapter.ENUM_FACTORY); .registerTypeAdapterFactory(EnumTypeAdapter.ENUM_FACTORY);
} }
private void divider() { public void divider() {
System.out.println(" .-.-. .-.-. .-.-. .-.-. .-.-. .-.-. .-.-. .-.-"); System.out.println(" .-.-. .-.-. .-.-. .-.-. .-.-. .-.-. .-.-. .-.-");
System.out.println(" / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\"); System.out.println(" / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\ \\ / / \\");
System.out.println("`-' `-`-' `-`-' `-`-' `-`-' `-`-' `-`-' `-`-'"); System.out.println("`-' `-`-' `-`-' `-`-' `-`-' `-`-' `-`-' `-`-'");

View File

@@ -15,6 +15,10 @@ import java.util.Map;
public class BrigadierManager { public class BrigadierManager {
/**
* @author FactionsUUID Team
*/
public Commodore commodore; public Commodore commodore;
public LiteralArgumentBuilder<Object> brigadier = LiteralArgumentBuilder.literal("factions"); public LiteralArgumentBuilder<Object> brigadier = LiteralArgumentBuilder.literal("factions");

View File

@@ -4,6 +4,10 @@ import com.mojang.brigadier.builder.ArgumentBuilder;
public interface BrigadierProvider { public interface BrigadierProvider {
/**
* @author FactionsUUID Team
*/
ArgumentBuilder<Object, ?> get(ArgumentBuilder<Object, ?> parent); ArgumentBuilder<Object, ?> get(ArgumentBuilder<Object, ?> parent);
} }

View File

@@ -8,6 +8,10 @@ import org.bukkit.event.player.PlayerTeleportEvent;
public class CmdAHome extends FCommand { public class CmdAHome extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdAHome() { public CmdAHome() {
super(); super();
this.aliases.add("ahome"); this.aliases.add("ahome");

View File

@@ -3,6 +3,7 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.FPlayer; import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FPlayers; import com.massivecraft.factions.FPlayers;
import com.massivecraft.factions.Faction; import com.massivecraft.factions.Faction;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.event.FPlayerJoinEvent; import com.massivecraft.factions.event.FPlayerJoinEvent;
import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role; import com.massivecraft.factions.struct.Role;
@@ -11,6 +12,10 @@ import org.bukkit.Bukkit;
public class CmdAdmin extends FCommand { public class CmdAdmin extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdAdmin() { public CmdAdmin() {
super(); super();
this.aliases.add("admin"); this.aliases.add("admin");
@@ -25,6 +30,7 @@ public class CmdAdmin extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> {
if (context.player == null) { if (context.player == null) {
context.msg(TL.GENERIC_PLAYERONLY); context.msg(TL.GENERIC_PLAYERONLY);
return; return;
@@ -80,8 +86,11 @@ public class CmdAdmin extends FCommand {
// Inform all players // Inform all players
for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) { for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) {
fplayer.msg(TL.COMMAND_ADMIN_PROMOTED, context.player == null ? TL.GENERIC_SERVERADMIN.toString() : context.fPlayer.describeTo(fplayer, true), fyou.describeTo(fplayer), targetFaction.describeTo(fplayer)); fplayer.msg(TL.COMMAND_ADMIN_PROMOTED,
context.player == null ? TL.GENERIC_SERVERADMIN.toString() : context.fPlayer.describeTo(fplayer, true),
fyou.describeTo(fplayer), targetFaction.describeTo(fplayer));
} }
});
} }
public TL getUsageTranslation() { public TL getUsageTranslation() {

View File

@@ -12,6 +12,10 @@ import org.bukkit.entity.Player;
public class CmdAnnounce extends FCommand { public class CmdAnnounce extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdAnnounce() { public CmdAnnounce() {
super(); super();
this.aliases.add("ann"); this.aliases.add("ann");

View File

@@ -8,6 +8,10 @@ import java.util.ArrayList;
public class CmdAutoHelp extends FCommand { public class CmdAutoHelp extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdAutoHelp() { public CmdAutoHelp() {
this.aliases.add("?"); this.aliases.add("?");
this.aliases.add("h"); this.aliases.add("h");

View File

@@ -13,6 +13,10 @@ import java.util.logging.Level;
public class CmdBan extends FCommand { public class CmdBan extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdBan() { public CmdBan() {
super(); super();
this.aliases.add("ban"); this.aliases.add("ban");

View File

@@ -13,6 +13,10 @@ import java.util.List;
public class CmdBanlist extends FCommand { public class CmdBanlist extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdBanlist() { public CmdBanlist() {
super(); super();
this.aliases.add("banlist"); this.aliases.add("banlist");

View File

@@ -13,6 +13,11 @@ import org.bukkit.inventory.PlayerInventory;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
public class CmdBanner extends FCommand { public class CmdBanner extends FCommand {
/**
* @author Illyria Team
*/
public CmdBanner() { public CmdBanner() {
this.aliases.add("banner"); this.aliases.add("banner");
this.aliases.add("warbanner"); this.aliases.add("warbanner");
@@ -29,12 +34,10 @@ public class CmdBanner extends FCommand {
context.msg(TL.COMMAND_BANNER_NOBANNER); context.msg(TL.COMMAND_BANNER_NOBANNER);
return; return;
} }
if (!context.fPlayer.hasMoney(FactionsPlugin.getInstance().getConfig().getInt("fbanners.Banner-Cost", 5000))) { if (!context.fPlayer.takeMoney(FactionsPlugin.getInstance().getConfig().getInt("fbanners.Banner-Cost", 5000))) {
context.msg(TL.COMMAND_BANNER_NOTENOUGHMONEY); context.msg(TL.COMMAND_BANNER_NOTENOUGHMONEY);
return; return;
} }
this.takeMoney(context.fPlayer, FactionsPlugin.getInstance().getConfig().getInt("fbanners.Banner-Cost", 5000));
this.takeMoney(context.fPlayer, FactionsPlugin.getInstance().getConfig().getInt("fbanners.Banner-Cost", 5000));
ItemStack warBanner = context.fPlayer.getFaction().getBanner(); ItemStack warBanner = context.fPlayer.getFaction().getBanner();
ItemMeta warmeta = warBanner.getItemMeta(); ItemMeta warmeta = warBanner.getItemMeta();
warmeta.setDisplayName(FactionsPlugin.getInstance().color(FactionsPlugin.getInstance().getConfig().getString("fbanners.Item.Name"))); warmeta.setDisplayName(FactionsPlugin.getInstance().color(FactionsPlugin.getInstance().getConfig().getString("fbanners.Item.Name")));
@@ -44,7 +47,7 @@ public class CmdBanner extends FCommand {
warBanner.setAmount(1); warBanner.setAmount(1);
context.player.getInventory().addItem(warBanner); context.player.getInventory().addItem(warBanner);
} }
@Deprecated
public boolean hasMoney(FPlayer fme, int amt) { public boolean hasMoney(FPlayer fme, int amt) {
Economy econ = FactionsPlugin.getInstance().getEcon(); Economy econ = FactionsPlugin.getInstance().getEcon();
if (econ.getBalance(fme.getPlayer()) >= amt) { if (econ.getBalance(fme.getPlayer()) >= amt) {
@@ -53,11 +56,10 @@ public class CmdBanner extends FCommand {
fme.msg(TL.COMMAND_BANNER_NOTENOUGHMONEY); fme.msg(TL.COMMAND_BANNER_NOTENOUGHMONEY);
return false; return false;
} }
@Deprecated
public void takeMoney(FPlayer fme, int amt) { public void takeMoney(FPlayer fme, int amt) {
if (this.hasMoney(fme, amt)) { if (this.hasMoney(fme, amt)) {
Economy econ = FactionsPlugin.getInstance().getEcon(); Economy econ = FactionsPlugin.getInstance().getEcon();
econ.withdrawPlayer(fme.getPlayer(), (double) amt);
fme.sendMessage(TL.COMMAND_BANNER_MONEYTAKE.toString().replace("{amount}", amt + "")); fme.sendMessage(TL.COMMAND_BANNER_MONEYTAKE.toString().replace("{amount}", amt + ""));
} }
} }

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdBoom extends FCommand { public class CmdBoom extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdBoom() { public CmdBoom() {
super(); super();
this.aliases.add("noboom"); this.aliases.add("noboom");

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdBypass extends FCommand { public class CmdBypass extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdBypass() { public CmdBypass() {
super(); super();
this.aliases.add("bypass"); this.aliases.add("bypass");

View File

@@ -10,6 +10,10 @@ import com.mojang.brigadier.builder.LiteralArgumentBuilder;
public class CmdChat extends FCommand { public class CmdChat extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdChat() { public CmdChat() {
super(); super();
this.aliases.add("c"); this.aliases.add("c");

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdChatSpy extends FCommand { public class CmdChatSpy extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdChatSpy() { public CmdChatSpy() {
super(); super();
this.aliases.add("chatspy"); this.aliases.add("chatspy");

View File

@@ -6,6 +6,11 @@ import com.massivecraft.factions.util.WarmUpUtil;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
public class CmdCheckpoint extends FCommand { public class CmdCheckpoint extends FCommand {
/**
* @author Illyria Team
*/
public CmdCheckpoint() { public CmdCheckpoint() {
super(); super();
this.aliases.add("checkp"); this.aliases.add("checkp");

View File

@@ -10,6 +10,11 @@ import mkremins.fanciful.FancyMessage;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
public class CmdColeader extends FCommand { public class CmdColeader extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdColeader() { public CmdColeader() {
super(); super();
this.aliases.add("co"); this.aliases.add("co");

View File

@@ -9,6 +9,10 @@ import org.bukkit.command.ConsoleCommandSender;
public class CmdConvert extends FCommand { public class CmdConvert extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdConvert() { public CmdConvert() {
this.aliases.add("convert"); this.aliases.add("convert");
this.requiredArgs.add("[MYSQL|JSON]"); this.requiredArgs.add("[MYSQL|JSON]");

View File

@@ -7,6 +7,10 @@ import org.bukkit.Location;
public class CmdCoords extends FCommand { public class CmdCoords extends FCommand {
/**
* @author Illyria Team
*/
public CmdCoords() { public CmdCoords() {
super(); super();
this.aliases.add("coords"); this.aliases.add("coords");

View File

@@ -1,6 +1,7 @@
package com.massivecraft.factions.cmd; package com.massivecraft.factions.cmd;
import com.massivecraft.factions.*; import com.massivecraft.factions.*;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.event.FPlayerJoinEvent; import com.massivecraft.factions.event.FPlayerJoinEvent;
import com.massivecraft.factions.event.FactionCreateEvent; import com.massivecraft.factions.event.FactionCreateEvent;
import com.massivecraft.factions.integration.Econ; import com.massivecraft.factions.integration.Econ;
@@ -8,13 +9,20 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role; import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.util.MiscUtil; import com.massivecraft.factions.util.MiscUtil;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.exceptions.HierarchyException;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import java.util.ArrayList; import java.util.ArrayList;
public class CmdCreate extends FCommand { public class CmdCreate extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdCreate() { public CmdCreate() {
super(); super();
this.aliases.add("create"); this.aliases.add("create");
@@ -28,6 +36,10 @@ public class CmdCreate extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
if (Conf.restrictActionsWhenNotLinked && !context.fPlayer.discordSetup()) {
context.player.sendMessage(ChatColor.translateAlternateColorCodes('&', TL.DISCORD_LINK_REQUIRED.toString()));
return;
}
String tag = context.argAsString(0); String tag = context.argAsString(0);
if (context.fPlayer.hasFaction()) { if (context.fPlayer.hasFaction()) {
@@ -78,7 +90,6 @@ public class CmdCreate extends FCommand {
FPlayerJoinEvent joinEvent = new FPlayerJoinEvent(FPlayers.getInstance().getByPlayer(context.player), faction, FPlayerJoinEvent.PlayerJoinReason.CREATE); FPlayerJoinEvent joinEvent = new FPlayerJoinEvent(FPlayers.getInstance().getByPlayer(context.player), faction, FPlayerJoinEvent.PlayerJoinReason.CREATE);
Bukkit.getServer().getPluginManager().callEvent(joinEvent); Bukkit.getServer().getPluginManager().callEvent(joinEvent);
// join event cannot be cancelled or you'll have an empty faction // join event cannot be cancelled or you'll have an empty faction
// finish setting up the FPlayer // finish setting up the FPlayer
context.fPlayer.setFaction(faction, false); context.fPlayer.setFaction(faction, false);
// We should consider adding the role just AFTER joining the faction. // We should consider adding the role just AFTER joining the faction.
@@ -90,6 +101,22 @@ public class CmdCreate extends FCommand {
follower.msg(TL.COMMAND_CREATE_CREATED, context.fPlayer.getName(), faction.getTag(follower)); follower.msg(TL.COMMAND_CREATE_CREATED, context.fPlayer.getName(), faction.getTag(follower));
} }
} }
//Discord
try {
if (Discord.useDiscord && context.fPlayer.discordSetup() && Discord.isInMainGuild(context.fPlayer.discordUser()) && Discord.mainGuild != null) {
Member m = Discord.mainGuild.getMember(context.fPlayer.discordUser());
if (Conf.factionRoles) {
Discord.mainGuild.getController().addSingleRoleToMember(m, Discord.createFactionRole(faction.getTag())).queue();
}
if (Conf.leaderRoles && Discord.leader != null) {
Discord.mainGuild.getController().addSingleRoleToMember(m, Discord.leader).queue();
}
if (Conf.factionDiscordTags) {
Discord.mainGuild.getController().setNickname(m, Discord.getNicknameString(context.fPlayer)).queue();
}
}
} catch (HierarchyException e) {System.out.print(e.getMessage());}
//End Discord
context.msg(TL.COMMAND_CREATE_YOUSHOULD, FactionsPlugin.getInstance().cmdBase.cmdDescription.getUsageTemplate(context)); context.msg(TL.COMMAND_CREATE_YOUSHOULD, FactionsPlugin.getInstance().cmdBase.cmdDescription.getUsageTemplate(context));
if (Conf.econEnabled) Econ.setBalance(faction.getAccountId(), Conf.econFactionStartingBalance); if (Conf.econEnabled) Econ.setBalance(faction.getAccountId(), Conf.econFactionStartingBalance);
if (Conf.logFactionCreate) if (Conf.logFactionCreate)

View File

@@ -0,0 +1,66 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.discord.DiscordSetupAttempt;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.Bukkit;
public class CmdDebug extends FCommand {
public CmdDebug() {
super();
this.aliases.add("debug");
this.requirements = new CommandRequirements.Builder(Permission.DEBUG).build();
}
@Override
public void perform(CommandContext context) {
FactionsPlugin.getInstance().divider();
System.out.print("----------Debug Info----------");
System.out.print("-------Main-------");
System.out.print("Server Version: " + FactionsPlugin.getInstance().getServer().getVersion());
System.out.print("Server Bukkit Version: " + FactionsPlugin.getInstance().getServer().getBukkitVersion());
System.out.print("SaberFactions Version: " + FactionsPlugin.getInstance().getDescription().getVersion());
System.out.print("Is Beta Version: " + (FactionsPlugin.getInstance().getDescription().getFullName().contains("BETA") ? "True" : "False"));
System.out.print("Players Online: " + Bukkit.getOnlinePlayers().size());
System.out.print("------Command------");
System.out.print("Discord Commands: " + FCmdRoot.instance.discordEnabled);
System.out.print("Check/WeeWoo Commands: " + FCmdRoot.instance.checkEnabled);
System.out.print("Mission Command: " + FCmdRoot.instance.missionsEnabled);
System.out.print("Shop Command: " + FCmdRoot.instance.fShopEnabled);
System.out.print("Inventory See Command: " + FCmdRoot.instance.invSeeEnabled);
System.out.print("Points Command: " + FCmdRoot.instance.fPointsEnabled);
System.out.print("Alts Command: " + FCmdRoot.instance.fAltsEnabled);
System.out.print("Grace Command: " + FCmdRoot.instance.fGraceEnabled);
System.out.print("Focus Command: " + FCmdRoot.instance.fFocusEnabled);
System.out.print("Fly Command: " + FCmdRoot.instance.fFlyEnabled);
System.out.print("PayPal Commands: " + FCmdRoot.instance.fPayPalEnabled);
System.out.print("Inspect Command: " + FCmdRoot.instance.coreProtectEnabled);
System.out.print("Internal FTOP Command: " + FCmdRoot.instance.internalFTOPEnabled);
System.out.print("----End Command----");
System.out.print("-----End Main-----");
System.out.print("------Discord------");
System.out.print("Discord Integration enabled in config: " + Discord.confUseDiscord);
System.out.print("Discord Integration enabled: " + Discord.useDiscord);
System.out.print("Setup attempts: " + Discord.setupLog.size());
System.out.print("FPlayers waiting to link: " + Discord.waitingLink.size());
System.out.print("Bot Token: " + (Discord.botToken == "<token here>" ? "Not Set" : "Set"));
System.out.print("JDA Null: " + (Discord.jda == null ? "True" : "False"));
System.out.print("Main Guild ID: " + Discord.mainGuildID);
System.out.print("Main Guild Null: " + (Discord.mainGuild == null ? "True" : "False"));
System.out.print("Emotes enabled: " + Discord.useEmotes);
System.out.print("Leader role null: " + (Discord.leader == null ? "True" : "False"));
System.out.print("Attempt Log:");
for (DiscordSetupAttempt d : Discord.setupLog) {System.out.print(d.getDifferentialFormatted() + " " + d.getSuccess() + " " + d.getReason());}
System.out.print("End Attempt Log");
System.out.print("----End Discord----");
System.out.print("--------End Debug Info--------");
FactionsPlugin.getInstance().divider();
context.fPlayer.msg(TL.COMMAND_DEBUG_PRINTED);
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_DEBUG_DESCRIPTION;
}
}

View File

@@ -14,6 +14,10 @@ import org.bukkit.ChatColor;
public class CmdDeinvite extends FCommand { public class CmdDeinvite extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdDeinvite() { public CmdDeinvite() {
super(); super();
this.aliases.add("deinvite"); this.aliases.add("deinvite");
@@ -28,10 +32,7 @@ public class CmdDeinvite extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
if (context.args.size() == 0) {
// Check if arg 0 == null do you don't have
// `No player "null" could be found.` message.
if (context.args.get(0) == null) {
FancyMessage msg = new FancyMessage(TL.COMMAND_DEINVITE_CANDEINVITE.toString()).color(ChatColor.GOLD); FancyMessage msg = new FancyMessage(TL.COMMAND_DEINVITE_CANDEINVITE.toString()).color(ChatColor.GOLD);
for (String id : context.faction.getInvites()) { for (String id : context.faction.getInvites()) {
FPlayer fp = FPlayers.getInstance().getById(id); FPlayer fp = FPlayers.getInstance().getById(id);
@@ -54,6 +55,7 @@ public class CmdDeinvite extends FCommand {
if (you == null) { if (you == null) {
FancyMessage msg = new FancyMessage(TL.COMMAND_DEINVITE_CANDEINVITE.toString()).color(ChatColor.GOLD); FancyMessage msg = new FancyMessage(TL.COMMAND_DEINVITE_CANDEINVITE.toString()).color(ChatColor.GOLD);
for (String id : context.faction.getInvites()) { for (String id : context.faction.getInvites()) {
if (context.faction.getInvites().isEmpty()) return;
FPlayer fp = FPlayers.getInstance().getById(id); FPlayer fp = FPlayers.getInstance().getById(id);
String name = fp != null ? fp.getName() : id; String name = fp != null ? fp.getName() : id;
msg.then(name + " ").color(ChatColor.WHITE).tooltip(TL.COMMAND_DEINVITE_CLICKTODEINVITE.format(name)).command("/" + Conf.baseCommandAliases.get(0) + " deinvite " + name); msg.then(name + " ").color(ChatColor.WHITE).tooltip(TL.COMMAND_DEINVITE_CLICKTODEINVITE.format(name)).command("/" + Conf.baseCommandAliases.get(0) + " deinvite " + name);
@@ -69,9 +71,7 @@ public class CmdDeinvite extends FCommand {
} }
context.faction.deinvite(you); context.faction.deinvite(you);
you.msg(TL.COMMAND_DEINVITE_REVOKED, context.fPlayer.describeTo(you), context.faction.describeTo(you)); you.msg(TL.COMMAND_DEINVITE_REVOKED, context.fPlayer.describeTo(you), context.faction.describeTo(you));
context.faction.msg(TL.COMMAND_DEINVITE_REVOKES, context.fPlayer.describeTo(context.faction), you.describeTo(context.faction)); context.faction.msg(TL.COMMAND_DEINVITE_REVOKES, context.fPlayer.describeTo(context.faction), you.describeTo(context.faction));
} }

View File

@@ -7,6 +7,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdDelFWarp extends FCommand { public class CmdDelFWarp extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdDelFWarp() { public CmdDelFWarp() {
super(); super();
this.aliases.add("delwarp"); this.aliases.add("delwarp");

View File

@@ -3,12 +3,17 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf; import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer; import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FPlayers; import com.massivecraft.factions.FPlayers;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
import com.massivecraft.factions.zcore.util.TextUtil; import com.massivecraft.factions.zcore.util.TextUtil;
public class CmdDescription extends FCommand { public class CmdDescription extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdDescription() { public CmdDescription() {
super(); super();
this.aliases.add("desc"); this.aliases.add("desc");
@@ -25,6 +30,7 @@ public class CmdDescription extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> {
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay // if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
if (!context.payForCommand(Conf.econCostDesc, TL.COMMAND_DESCRIPTION_TOCHANGE, TL.COMMAND_DESCRIPTION_FORCHANGE)) { if (!context.payForCommand(Conf.econCostDesc, TL.COMMAND_DESCRIPTION_TOCHANGE, TL.COMMAND_DESCRIPTION_FORCHANGE)) {
return; return;
@@ -45,6 +51,7 @@ public class CmdDescription extends FCommand {
fplayer.msg(TL.COMMAND_DESCRIPTION_CHANGES, context.faction.describeTo(fplayer)); fplayer.msg(TL.COMMAND_DESCRIPTION_CHANGES, context.faction.describeTo(fplayer));
fplayer.sendMessage(context.faction.getDescription()); // players can inject "&" or "`" or "<i>" or whatever in their description; &k is particularly interesting looking fplayer.sendMessage(context.faction.getDescription()); // players can inject "&" or "`" or "<i>" or whatever in their description; &k is particularly interesting looking
} }
});
} }
@Override @Override

View File

@@ -16,6 +16,10 @@ import java.util.HashMap;
public class CmdDisband extends FCommand { public class CmdDisband extends FCommand {
/**
* @author FactionsUUID Team
*/
private static HashMap<String, String> disbandMap = new HashMap<>(); private static HashMap<String, String> disbandMap = new HashMap<>();

View File

@@ -0,0 +1,40 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
import java.util.Random;
public class CmdDiscord extends FCommand {
public CmdDiscord() {
super();
this.aliases.add("discord");
this.requirements = new CommandRequirements.Builder(Permission.DISCORD)
.playerOnly()
.build();
}
@Override
public void perform(CommandContext context) {
if (context.fPlayer.discordSetup()) {
context.fPlayer.msg(TL.DISCORD_ALREADY_LINKED, context.fPlayer.discordUser().getName());
} else {
if (Discord.waitingLink.containsValue(context.fPlayer)) {
context.fPlayer.msg(TL.DISCORD_CODE_SENT, Discord.waitingLinkk.get(context.fPlayer), Discord.mainGuild.getSelfMember().getEffectiveName());
return;
}
Integer random = new Random().nextInt(9999);
while (Discord.waitingLink.containsValue(random)) {
random = new Random().nextInt(9999);
}
Discord.waitingLink.put(random, context.fPlayer);
Discord.waitingLinkk.put(context.fPlayer, random);
context.fPlayer.msg(TL.DISCORD_CODE_SENT, String.valueOf(random));
}
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_DISCORD_DESCRIPTION;
}
}

View File

@@ -0,0 +1,64 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FPlayers;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.entity.Player;
import java.text.DecimalFormat;
/**
* @author Saser
*/
public class CmdDrain extends FCommand{
public CmdDrain(){
this.aliases.add("drain");
this.requirements = new CommandRequirements.Builder(Permission.DRAIN)
.playerOnly()
.memberOnly()
.withAction(PermissableAction.DRAIN)
.build();
}
@Override
public void perform(CommandContext context) {
if (!Conf.factionsDrainEnabled) {
context.fPlayer.msg(TL.GENERIC_DISABLED, "Factions Drain");
return;
}
double totalBalance = 0;
for(FPlayer fPlayer : context.faction.getFPlayers()) {
if(context.faction.getFPlayers().size() == 1){
context.fPlayer.msg(TL.COMMAND_DRAIN_NO_PLAYERS);
return;
}
if (FPlayers.getInstance().getByPlayer(context.player).equals(fPlayer)){
continue; // skip the command executor
}
double balance = FactionsPlugin.getInstance().getEcon().getBalance(fPlayer.getPlayer());
if (balance > 0) {
FactionsPlugin.getInstance().getEcon().depositPlayer(context.player, balance);
FactionsPlugin.getInstance().getEcon().withdrawPlayer(fPlayer.getPlayer(), balance);
totalBalance = (totalBalance + balance);
}
}
context.fPlayer.msg(TL.COMMAND_DRAIN_RECIEVED_AMOUNT, commas(totalBalance));
}
public String commas(final double amount) {
final DecimalFormat formatter = new DecimalFormat("#,###.00");
return formatter.format(amount);
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_DRAIN_DESCRIPTION;
}
}

View File

@@ -9,6 +9,10 @@ import java.util.UUID;
public class CmdFGlobal extends FCommand { public class CmdFGlobal extends FCommand {
/**
* @author Trent
*/
public static List<UUID> toggled = new ArrayList<>(); public static List<UUID> toggled = new ArrayList<>();
public CmdFGlobal() { public CmdFGlobal() {

View File

@@ -14,6 +14,10 @@ import java.util.UUID;
public class CmdFWarp extends FCommand { public class CmdFWarp extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdFWarp() { public CmdFWarp() {
super(); super();
this.aliases.add("warp"); this.aliases.add("warp");

View File

@@ -19,6 +19,10 @@ import java.util.concurrent.ConcurrentHashMap;
public class CmdFly extends FCommand { public class CmdFly extends FCommand {
/**
* @author FactionsUUID Team
*/
public static ConcurrentHashMap<String, Boolean> flyMap = new ConcurrentHashMap<>(); public static ConcurrentHashMap<String, Boolean> flyMap = new ConcurrentHashMap<>();
public static BukkitTask particleTask = null; public static BukkitTask particleTask = null;

View File

@@ -7,6 +7,11 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
public class CmdFocus extends FCommand { public class CmdFocus extends FCommand {
/**
* @author Driftay
*/
public CmdFocus() { public CmdFocus() {
aliases.add("focus"); aliases.add("focus");
@@ -21,7 +26,7 @@ public class CmdFocus extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("ffocus.Enabled")) { if (!FactionsPlugin.getInstance().getConfig().getBoolean("ffocus.Enabled")) {
context.msg(TL.GENERIC_DISABLED); context.msg(TL.GENERIC_DISABLED, "Faction Focus");
return; return;
} }
FPlayer target = context.argAsFPlayer(0); FPlayer target = context.argAsFPlayer(0);

View File

@@ -9,6 +9,11 @@ import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
public class CmdGetVault extends FCommand { public class CmdGetVault extends FCommand {
/**
* @author Illyria Team
*/
public CmdGetVault() { public CmdGetVault() {
super(); super();
this.aliases.add("getvault"); this.aliases.add("getvault");
@@ -22,7 +27,7 @@ public class CmdGetVault extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("fvault.Enabled")) { if (!FactionsPlugin.getInstance().getConfig().getBoolean("fvault.Enabled")) {
context.fPlayer.sendMessage("This command is disabled!"); context.fPlayer.msg(TL.GENERIC_DISABLED, "Faction Vaults");
return; return;
} }
Location vaultLocation = context.faction.getVault(); Location vaultLocation = context.faction.getVault();
@@ -42,9 +47,9 @@ public class CmdGetVault extends FCommand {
return; return;
} }
if (!context.fPlayer.takeMoney(amount)) {return;}
//success :) //success :)
context.fPlayer.takeMoney(amount);
context.player.getInventory().addItem(vault); context.player.getInventory().addItem(vault);
context.fPlayer.msg(TL.COMMAND_GETVAULT_RECEIVE); context.fPlayer.msg(TL.COMMAND_GETVAULT_RECEIVE);

View File

@@ -13,6 +13,10 @@ import java.util.List;
public class CmdHelp extends FCommand { public class CmdHelp extends FCommand {
/**
* @author FactionsUUID Team
*/
public ArrayList<ArrayList<String>> helpPages; public ArrayList<ArrayList<String>> helpPages;
public CmdHelp() { public CmdHelp() {

View File

@@ -20,6 +20,10 @@ import java.util.List;
public class CmdHome extends FCommand { public class CmdHome extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdHome() { public CmdHome() {
super(); super();
this.aliases.add("home"); this.aliases.add("home");

View File

@@ -4,6 +4,11 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
public class CmdInspect extends FCommand { public class CmdInspect extends FCommand {
/**
* @author Illyria Team
*/
public CmdInspect() { public CmdInspect() {
super(); super();
this.aliases.add("inspect"); this.aliases.add("inspect");

View File

@@ -16,6 +16,10 @@ import java.util.Objects;
public class CmdInventorySee extends FCommand { public class CmdInventorySee extends FCommand {
/**
* @author Driftay
*/
public CmdInventorySee() { public CmdInventorySee() {
super(); super();
@@ -32,7 +36,7 @@ public class CmdInventorySee extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("f-inventory-see.Enabled")) { if (!FactionsPlugin.getInstance().getConfig().getBoolean("f-inventory-see.Enabled")) {
context.msg(TL.GENERIC_DISABLED); context.msg(TL.GENERIC_DISABLED, "Inventory See");
return; return;
} }

View File

@@ -11,6 +11,10 @@ import org.bukkit.ChatColor;
public class CmdInvite extends FCommand { public class CmdInvite extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdInvite() { public CmdInvite() {
super(); super();
this.aliases.add("invite"); this.aliases.add("invite");

View File

@@ -1,14 +1,21 @@
package com.massivecraft.factions.cmd; package com.massivecraft.factions.cmd;
import com.massivecraft.factions.*; import com.massivecraft.factions.*;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.event.FPlayerJoinEvent; import com.massivecraft.factions.event.FPlayerJoinEvent;
import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.fupgrades.UpgradeType; import com.massivecraft.factions.zcore.fupgrades.UpgradeType;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.exceptions.HierarchyException;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
public class CmdJoin extends FCommand { public class CmdJoin extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdJoin() { public CmdJoin() {
super(); super();
this.aliases.add("join"); this.aliases.add("join");
@@ -116,7 +123,18 @@ public class CmdJoin extends FCommand {
} }
faction.deinvite(fplayer); faction.deinvite(fplayer);
try {
context.fPlayer.setRole(faction.getDefaultRole()); context.fPlayer.setRole(faction.getDefaultRole());
if (Discord.useDiscord && context.fPlayer.discordSetup() && Discord.isInMainGuild(context.fPlayer.discordUser()) && Discord.mainGuild != null) {
Member m = Discord.mainGuild.getMember(context.fPlayer.discordUser());
if (Conf.factionRoles) {
Discord.mainGuild.getController().addSingleRoleToMember(m, Discord.createFactionRole(faction.getTag())).queue();
}
if (Conf.factionDiscordTags) {
Discord.mainGuild.getController().setNickname(m, Discord.getNicknameString(context.fPlayer)).queue();
}
}
} catch (HierarchyException e) {System.out.print(e.getMessage());}
if (Conf.logFactionJoin) { if (Conf.logFactionJoin) {
if (samePlayer) { if (samePlayer) {

View File

@@ -16,6 +16,10 @@ import org.bukkit.command.ConsoleCommandSender;
public class CmdKick extends FCommand { public class CmdKick extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdKick() { public CmdKick() {
super(); super();
this.aliases.add("kick"); this.aliases.add("kick");

View File

@@ -4,6 +4,11 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
public class CmdKillHolograms extends FCommand { public class CmdKillHolograms extends FCommand {
/**
* @author Illyria Team
*/
public CmdKillHolograms() { public CmdKillHolograms() {
super(); super();
this.aliases.add("killholos"); this.aliases.add("killholos");

View File

@@ -1,10 +1,16 @@
package com.massivecraft.factions.cmd; package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf;
import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
import org.bukkit.ChatColor;
public class CmdLeave extends FCommand { public class CmdLeave extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdLeave() { public CmdLeave() {
super(); super();
this.aliases.add("leave"); this.aliases.add("leave");

View File

@@ -14,6 +14,10 @@ import java.util.List;
public class CmdList extends FCommand { public class CmdList extends FCommand {
/**
* @author FactionsUUID Team
*/
private String[] defaults = new String[3]; private String[] defaults = new String[3];
public CmdList() { public CmdList() {
@@ -39,6 +43,7 @@ public class CmdList extends FCommand {
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay // if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
if (!context.payForCommand(Conf.econCostList, "to list the factions", "for listing the factions")) if (!context.payForCommand(Conf.econCostList, "to list the factions", "for listing the factions"))
return; return;
FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> {
ArrayList<Faction> factionList = Factions.getInstance().getAllFactions(); ArrayList<Faction> factionList = Factions.getInstance().getAllFactions();
factionList.remove(Factions.getInstance().getWilderness()); factionList.remove(Factions.getInstance().getWilderness());
@@ -107,6 +112,7 @@ public class CmdList extends FCommand {
lines.add(FactionsPlugin.getInstance().txt.parse(TagUtil.parsePlain(faction, context.fPlayer, FactionsPlugin.getInstance().getConfig().getString("list.entry", defaults[2])))); lines.add(FactionsPlugin.getInstance().txt.parse(TagUtil.parsePlain(faction, context.fPlayer, FactionsPlugin.getInstance().getConfig().getString("list.entry", defaults[2]))));
} }
context.sendMessage(lines); context.sendMessage(lines);
});
} }
@Override @Override

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdLock extends FCommand { public class CmdLock extends FCommand {
/**
* @author FactionsUUID Team
*/
// TODO: This solution needs refactoring. // TODO: This solution needs refactoring.
/* /*
factions.lock: factions.lock:

View File

@@ -5,6 +5,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdLogins extends FCommand { public class CmdLogins extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdLogins() { public CmdLogins() {
super(); super();
this.aliases.add("login"); this.aliases.add("login");

View File

@@ -0,0 +1,54 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Board;
import com.massivecraft.factions.FLocation;
import com.massivecraft.factions.Faction;
import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL;
import java.text.DecimalFormat;
import java.util.Set;
/**
* @author Saser
*/
public class CmdLookup extends FCommand {
private DecimalFormat format = new DecimalFormat("#.#");
public CmdLookup() {
super();
this.aliases.add("lookup");
this.requiredArgs.add("faction name");
this.requirements = new CommandRequirements.Builder(Permission.LOOKUP)
.playerOnly()
.build();
}
@Override
public void perform(CommandContext context) {
Faction faction = context.argAsFaction(0);
if (faction == null) {
context.msg(TL.COMMAND_LOOKUP_INVALID);
return;
}
if (faction.isNormal()) {
if (faction.getHome() != null) {
context.msg(TL.COMMAND_LOOKUP_FACTION_HOME, this.format.format(faction.getHome().getX()), this.format.format(faction.getHome().getY()), this.format.format(faction.getHome().getZ()));
}
Set<FLocation> locations = Board.getInstance().getAllClaims(faction);
context.msg(TL.COMMAND_LOOKUP_CLAIM_COUNT, locations.size(), faction.getTag());
for (FLocation flocation : locations) {
context.msg(TL.COMMAND_LOOKUP_CLAIM_LIST, flocation.getWorldName(), flocation.getX() * 16L, flocation.getZ() * 16L);
}
} else {
context.msg(TL.COMMAND_LOOKUP_ONLY_NORMAL);
}
}
@Override
public TL getUsageTranslation() {
return TL.COMMAND_LOOKUP_DESCRIPTION;
}
}

View File

@@ -7,6 +7,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdLowPower extends FCommand { public class CmdLowPower extends FCommand {
/**
* @author Illyria Team
*/
public CmdLowPower() { public CmdLowPower() {
super(); super();
this.aliases.add("lowpower"); this.aliases.add("lowpower");

View File

@@ -9,6 +9,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdMap extends FCommand { public class CmdMap extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdMap() { public CmdMap() {
super(); super();
this.aliases.add("map"); this.aliases.add("map");

View File

@@ -5,6 +5,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdMapHeight extends FCommand { public class CmdMapHeight extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdMapHeight() { public CmdMapHeight() {
super(); super();

View File

@@ -3,6 +3,7 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf; import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer; import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.Faction; import com.massivecraft.factions.Faction;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role; import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
@@ -11,6 +12,10 @@ import org.bukkit.ChatColor;
public class CmdMod extends FCommand { public class CmdMod extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdMod() { public CmdMod() {
super(); super();
this.aliases.add("mod"); this.aliases.add("mod");

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdModifyPower extends FCommand { public class CmdModifyPower extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdModifyPower() { public CmdModifyPower() {
super(); super();

View File

@@ -9,6 +9,11 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public class CmdNear extends FCommand { public class CmdNear extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdNear() { public CmdNear() {
super(); super();
this.aliases.add("near"); this.aliases.add("near");

View File

@@ -3,12 +3,17 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf; import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer; import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FPlayers; import com.massivecraft.factions.FPlayers;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.struct.Role; import com.massivecraft.factions.struct.Role;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
public class CmdOpen extends FCommand { public class CmdOpen extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdOpen() { public CmdOpen() {
super(); super();
this.aliases.add("open"); this.aliases.add("open");
@@ -23,6 +28,7 @@ public class CmdOpen extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> {
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay // if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
if (!context.payForCommand(Conf.econCostOpen, TL.COMMAND_OPEN_TOOPEN, TL.COMMAND_OPEN_FOROPEN)) { if (!context.payForCommand(Conf.econCostOpen, TL.COMMAND_OPEN_TOOPEN, TL.COMMAND_OPEN_FOROPEN)) {
return; return;
@@ -40,6 +46,7 @@ public class CmdOpen extends FCommand {
} }
fplayer.msg(TL.COMMAND_OPEN_CHANGED, context.faction.getTag(fplayer.getFaction()), open); fplayer.msg(TL.COMMAND_OPEN_CHANGED, context.faction.getTag(fplayer.getFaction()), open);
} }
});
} }
@Override @Override

View File

@@ -8,6 +8,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdOwner extends FCommand { public class CmdOwner extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdOwner() { public CmdOwner() {
super(); super();
this.aliases.add("owner"); this.aliases.add("owner");

View File

@@ -9,6 +9,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdOwnerList extends FCommand { public class CmdOwnerList extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdOwnerList() { public CmdOwnerList() {
super(); super();
this.aliases.add("ownerlist"); this.aliases.add("ownerlist");

View File

@@ -6,6 +6,11 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
public class CmdPaypalSee extends FCommand { public class CmdPaypalSee extends FCommand {
/**
* @author Driftay
*/
public CmdPaypalSee() { public CmdPaypalSee() {
this.aliases.add("seepaypal"); this.aliases.add("seepaypal");
this.aliases.add("paypal"); this.aliases.add("paypal");
@@ -20,7 +25,7 @@ public class CmdPaypalSee extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("fpaypal.Enabled")) { if (!FactionsPlugin.getInstance().getConfig().getBoolean("fpaypal.Enabled")) {
context.msg(TL.GENERIC_DISABLED); context.msg(TL.GENERIC_DISABLED, "Faction Paypals");
return; return;
} }

View File

@@ -8,6 +8,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdPaypalSet extends FCommand { public class CmdPaypalSet extends FCommand {
/**
* @author Driftay
*/
public CmdPaypalSet() { public CmdPaypalSet() {
this.aliases.add("setpaypal"); this.aliases.add("setpaypal");
@@ -25,7 +29,7 @@ public class CmdPaypalSet extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("fpaypal.Enabled")) { if (!FactionsPlugin.getInstance().getConfig().getBoolean("fpaypal.Enabled")) {
context.fPlayer.msg(TL.GENERIC_DISABLED); context.fPlayer.msg(TL.GENERIC_DISABLED, "Faction Paypals");
return; return;
} }
if (context.fPlayer.getRole() != Role.LEADER && !context.fPlayer.isAdminBypassing()) { if (context.fPlayer.getRole() != Role.LEADER && !context.fPlayer.isAdminBypassing()) {

View File

@@ -8,6 +8,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdPeaceful extends FCommand { public class CmdPeaceful extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdPeaceful() { public CmdPeaceful() {
super(); super();
this.aliases.add("peaceful"); this.aliases.add("peaceful");

View File

@@ -17,6 +17,10 @@ import java.util.Set;
public class CmdPerm extends FCommand { public class CmdPerm extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdPerm() { public CmdPerm() {
super(); super();
this.aliases.add("perm"); this.aliases.add("perm");

View File

@@ -10,6 +10,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdPermanent extends FCommand { public class CmdPermanent extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdPermanent() { public CmdPermanent() {
super(); super();
this.aliases.add("permanent"); this.aliases.add("permanent");

View File

@@ -6,6 +6,11 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
public class CmdPermanentPower extends FCommand { public class CmdPermanentPower extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdPermanentPower() { public CmdPermanentPower() {
super(); super();
this.aliases.add("permanentpower"); this.aliases.add("permanentpower");

View File

@@ -7,6 +7,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdPower extends FCommand { public class CmdPower extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdPower() { public CmdPower() {
super(); super();
this.aliases.add("power"); this.aliases.add("power");

View File

@@ -9,6 +9,10 @@ import org.bukkit.command.ConsoleCommandSender;
public class CmdPowerBoost extends FCommand { public class CmdPowerBoost extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdPowerBoost() { public CmdPowerBoost() {
super(); super();
this.aliases.add("powerboost"); this.aliases.add("powerboost");

View File

@@ -2,6 +2,7 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf; import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FactionsPlugin; import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.listeners.FactionsPlayerListener; import com.massivecraft.factions.listeners.FactionsPlayerListener;
import com.massivecraft.factions.shop.ShopConfig; import com.massivecraft.factions.shop.ShopConfig;
import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Permission;
@@ -9,6 +10,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdReload extends FCommand { public class CmdReload extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdReload() { public CmdReload() {
super(); super();
this.aliases.add("reload"); this.aliases.add("reload");
@@ -26,7 +31,7 @@ public class CmdReload extends FCommand {
FactionsPlugin.getInstance().loadLang(); FactionsPlugin.getInstance().loadLang();
if (FactionsPlugin.getInstance().getConfig().getBoolean("enable-faction-flight")) { if (FactionsPlugin.getInstance().getConfig().getBoolean("enable-faction-flight", false)) {
FactionsPlugin.getInstance().factionsFlight = true; FactionsPlugin.getInstance().factionsFlight = true;
} }
@@ -34,6 +39,10 @@ public class CmdReload extends FCommand {
FactionsPlayerListener.loadCorners(); FactionsPlayerListener.loadCorners();
} }
Discord.setupDiscord();
//Recheck if commands should truly be disabled and rebuild.
FCmdRoot.instance.addVariableCommands();
FCmdRoot.instance.rebuild();
long timeReload = (System.currentTimeMillis() - timeInitStart); long timeReload = (System.currentTimeMillis() - timeInitStart);
context.msg(TL.COMMAND_RELOAD_TIME, timeReload); context.msg(TL.COMMAND_RELOAD_TIME, timeReload);

View File

@@ -8,6 +8,11 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
public class CmdRules extends FCommand { public class CmdRules extends FCommand {
/**
* @author Illyria Team
*/
public CmdRules() { public CmdRules() {
super(); super();
aliases.add("r"); aliases.add("r");

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdSB extends FCommand { public class CmdSB extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdSB() { public CmdSB() {
this.aliases.add("sb"); this.aliases.add("sb");
this.aliases.add("scoreboard"); this.aliases.add("scoreboard");

View File

@@ -10,6 +10,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdSaveAll extends FCommand { public class CmdSaveAll extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdSaveAll() { public CmdSaveAll() {
super(); super();
this.aliases.add("saveall"); this.aliases.add("saveall");

View File

@@ -15,6 +15,10 @@ import java.util.HashMap;
public class CmdSeeChunk extends FCommand { public class CmdSeeChunk extends FCommand {
/**
* @author FactionsUUID Team
*/
//Used a hashmap cuz imma make a particle selection gui later, will store it where the boolean is rn. //Used a hashmap cuz imma make a particle selection gui later, will store it where the boolean is rn.
public static HashMap<String, Boolean> seeChunkMap = new HashMap<>(); public static HashMap<String, Boolean> seeChunkMap = new HashMap<>();
private long interval; private long interval;

View File

@@ -7,6 +7,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdSeeDiscord extends FCommand{ public class CmdSeeDiscord extends FCommand{
/**
* @author Driftay
*/
public CmdSeeDiscord() { public CmdSeeDiscord() {
this.aliases.add("seediscord"); this.aliases.add("seediscord");
this.aliases.add("discord"); this.aliases.add("discord");
@@ -21,7 +25,7 @@ public class CmdSeeDiscord extends FCommand{
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("fdiscord.Enabled")) { if (!FactionsPlugin.getInstance().getConfig().getBoolean("fdiscord.Enabled")) {
context.msg(TL.GENERIC_DISABLED); context.msg(TL.GENERIC_DISABLED, "Faction Discords");
return; return;
} }

View File

@@ -5,6 +5,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdSetBanner extends FCommand { public class CmdSetBanner extends FCommand {
/**
* @author Illyria Team
*/
public CmdSetBanner() { public CmdSetBanner() {
super(); super();
aliases.add("setbanner"); aliases.add("setbanner");

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdSetDefaultRole extends FCommand { public class CmdSetDefaultRole extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdSetDefaultRole() { public CmdSetDefaultRole() {
super(); super();

View File

@@ -8,6 +8,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdSetDiscord extends FCommand { public class CmdSetDiscord extends FCommand {
/**
* @author Driftay
*/
public CmdSetDiscord(){ public CmdSetDiscord(){
super(); super();
this.aliases.add("setdiscord"); this.aliases.add("setdiscord");

View File

@@ -9,6 +9,11 @@ import com.massivecraft.factions.zcore.fperms.PermissableAction;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
public class CmdSetFWarp extends FCommand { public class CmdSetFWarp extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdSetFWarp() { public CmdSetFWarp() {
this.aliases.add("setwarp"); this.aliases.add("setwarp");
this.aliases.add("sw"); this.aliases.add("sw");

View File

@@ -7,6 +7,10 @@ import org.bukkit.ChatColor;
public class CmdSetMaxVaults extends FCommand { public class CmdSetMaxVaults extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdSetMaxVaults() { public CmdSetMaxVaults() {
this.aliases.add("setmaxvaults"); this.aliases.add("setmaxvaults");
this.aliases.add("smv"); this.aliases.add("smv");

View File

@@ -7,6 +7,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdSethome extends FCommand { public class CmdSethome extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdSethome() { public CmdSethome() {
this.aliases.add("sethome"); this.aliases.add("sethome");
this.optionalArgs.put("faction tag", "mine"); this.optionalArgs.put("faction tag", "mine");
@@ -20,6 +24,7 @@ public class CmdSethome extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> {
if (!Conf.homesEnabled) { if (!Conf.homesEnabled) {
context.msg(TL.COMMAND_SETHOME_DISABLED); context.msg(TL.COMMAND_SETHOME_DISABLED);
return; return;
@@ -50,6 +55,7 @@ public class CmdSethome extends FCommand {
if (faction != context.faction) { if (faction != context.faction) {
context.msg(TL.COMMAND_SETHOME_SETOTHER, faction.getTag(context.fPlayer)); context.msg(TL.COMMAND_SETHOME_SETOTHER, faction.getTag(context.fPlayer));
} }
});
} }
@Override @Override

View File

@@ -14,6 +14,10 @@ import java.util.List;
public class CmdShow extends FCommand { public class CmdShow extends FCommand {
/**
* @author FactionsUUID Team
*/
List<String> defaults = new ArrayList<>(); List<String> defaults = new ArrayList<>();
public CmdShow() { public CmdShow() {

View File

@@ -8,6 +8,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdShowClaims extends FCommand { public class CmdShowClaims extends FCommand {
/**
* @author Illyria Team
*/
public CmdShowClaims() { public CmdShowClaims() {
this.aliases.add("showclaims"); this.aliases.add("showclaims");
this.aliases.add("showclaim"); this.aliases.add("showclaim");

View File

@@ -3,6 +3,7 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf; import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer; import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FPlayers; import com.massivecraft.factions.FPlayers;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
import mkremins.fanciful.FancyMessage; import mkremins.fanciful.FancyMessage;
@@ -10,6 +11,10 @@ import org.bukkit.ChatColor;
public class CmdShowInvites extends FCommand { public class CmdShowInvites extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdShowInvites() { public CmdShowInvites() {
super(); super();
aliases.add("showinvites"); aliases.add("showinvites");
@@ -29,8 +34,6 @@ public class CmdShowInvites extends FCommand {
String name = fp != null ? fp.getName() : id; String name = fp != null ? fp.getName() : id;
msg.then(name + " ").color(ChatColor.WHITE).tooltip(TL.COMMAND_SHOWINVITES_CLICKTOREVOKE.format(name)).command("/" + Conf.baseCommandAliases.get(0) + " deinvite " + name); msg.then(name + " ").color(ChatColor.WHITE).tooltip(TL.COMMAND_SHOWINVITES_CLICKTOREVOKE.format(name)).command("/" + Conf.baseCommandAliases.get(0) + " deinvite " + name);
} }
context.sendFancyMessage(msg);
} }
@Override @Override

View File

@@ -7,6 +7,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdSpawnerLock extends FCommand { public class CmdSpawnerLock extends FCommand {
/**
* @author Illyria Team
*/
public CmdSpawnerLock(){ public CmdSpawnerLock(){
super(); super();
this.aliases.add("lockspawners"); this.aliases.add("lockspawners");

View File

@@ -10,6 +10,10 @@ import java.util.ArrayList;
public class CmdStatus extends FCommand { public class CmdStatus extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdStatus() { public CmdStatus() {
super(); super();
this.aliases.add("status"); this.aliases.add("status");

View File

@@ -4,6 +4,11 @@ import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
public class CmdStealth extends FCommand { public class CmdStealth extends FCommand {
/**
* @author Driftay
*/
public CmdStealth() { public CmdStealth() {
this.aliases.add("ninja"); this.aliases.add("ninja");
this.aliases.add("stealth"); this.aliases.add("stealth");

View File

@@ -6,6 +6,9 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdStrikes extends FCommand { public class CmdStrikes extends FCommand {
/**
* @author Driftay
*/
public CmdStrikesGive cmdStrikesGive = new CmdStrikesGive(); public CmdStrikesGive cmdStrikesGive = new CmdStrikesGive();
public CmdStrikesInfo cmdStrikesInfo = new CmdStrikesInfo(); public CmdStrikesInfo cmdStrikesInfo = new CmdStrikesInfo();

View File

@@ -6,6 +6,9 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdStrikesGive extends FCommand { public class CmdStrikesGive extends FCommand {
/**
* @author Driftay
*/
public CmdStrikesGive() { public CmdStrikesGive() {
super(); super();

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdStrikesInfo extends FCommand { public class CmdStrikesInfo extends FCommand {
/**
* @author Driftay
*/
public CmdStrikesInfo() { public CmdStrikesInfo() {
super(); super();
this.aliases.add("info"); this.aliases.add("info");

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdStrikesSet extends FCommand { public class CmdStrikesSet extends FCommand {
/**
* @author Driftay
*/
public CmdStrikesSet() { public CmdStrikesSet() {
super(); super();
this.aliases.add("set"); this.aliases.add("set");

View File

@@ -6,6 +6,9 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdStrikesTake extends FCommand { public class CmdStrikesTake extends FCommand {
/**
* @author Driftay
*/
public CmdStrikesTake() { public CmdStrikesTake() {
super(); super();

View File

@@ -13,6 +13,10 @@ import org.bukkit.entity.Player;
public class CmdStuck extends FCommand { public class CmdStuck extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdStuck() { public CmdStuck() {
super(); super();
this.aliases.add("stuck"); this.aliases.add("stuck");

View File

@@ -1,6 +1,7 @@
package com.massivecraft.factions.cmd; package com.massivecraft.factions.cmd;
import com.massivecraft.factions.*; import com.massivecraft.factions.*;
import com.massivecraft.factions.discord.Discord;
import com.massivecraft.factions.event.FactionRenameEvent; import com.massivecraft.factions.event.FactionRenameEvent;
import com.massivecraft.factions.scoreboards.FTeamWrapper; import com.massivecraft.factions.scoreboards.FTeamWrapper;
import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Permission;
@@ -13,6 +14,10 @@ import java.util.ArrayList;
public class CmdTag extends FCommand { public class CmdTag extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdTag() { public CmdTag() {
this.aliases.add("tag"); this.aliases.add("tag");
this.aliases.add("rename"); this.aliases.add("rename");
@@ -28,6 +33,8 @@ public class CmdTag extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> {
String tag = context.argAsString(0); String tag = context.argAsString(0);
// TODO does not first test cover selfcase? // TODO does not first test cover selfcase?
@@ -61,6 +68,7 @@ public class CmdTag extends FCommand {
String oldtag = context.faction.getTag(); String oldtag = context.faction.getTag();
context.faction.setTag(tag); context.faction.setTag(tag);
Discord.changeFactionTag(context.faction, oldtag);
// Inform // Inform
for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) { for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) {
@@ -77,6 +85,7 @@ public class CmdTag extends FCommand {
} }
FTeamWrapper.updatePrefixes(context.faction); FTeamWrapper.updatePrefixes(context.faction);
});
} }
@Override @Override

View File

@@ -2,12 +2,17 @@ package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Conf; import com.massivecraft.factions.Conf;
import com.massivecraft.factions.FPlayer; import com.massivecraft.factions.FPlayer;
import com.massivecraft.factions.FactionsPlugin;
import com.massivecraft.factions.struct.Permission; import com.massivecraft.factions.struct.Permission;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
import com.massivecraft.factions.zcore.util.TextUtil; import com.massivecraft.factions.zcore.util.TextUtil;
public class CmdTitle extends FCommand { public class CmdTitle extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdTitle() { public CmdTitle() {
this.aliases.add("title"); this.aliases.add("title");
this.requiredArgs.add("player name"); this.requiredArgs.add("player name");
@@ -20,16 +25,19 @@ public class CmdTitle extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
FactionsPlugin.getInstance().getServer().getScheduler().runTaskAsynchronously(FactionsPlugin.instance, () -> {
FPlayer you = context.argAsBestFPlayerMatch(0); FPlayer you = context.argAsBestFPlayerMatch(0);
if (you == null) return; if (you == null) return;
context.args.remove(0); context.args.remove(0);
String title = TextUtil.implode(context.args, " "); String title = TextUtil.implode(context.args, " ");
if (!context.canIAdministerYou(context.fPlayer, you)) return; if (!context.canIAdministerYou(context.fPlayer, you)) return;
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay // if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
if (!context.payForCommand(Conf.econCostTitle, TL.COMMAND_TITLE_TOCHANGE, TL.COMMAND_TITLE_FORCHANGE)) return; if (!context.payForCommand(Conf.econCostTitle, TL.COMMAND_TITLE_TOCHANGE, TL.COMMAND_TITLE_FORCHANGE))
return;
you.setTitle(context.sender, title); you.setTitle(context.sender, title);
// Inform // Inform
context.faction.msg(TL.COMMAND_TITLE_CHANGED, context.fPlayer.describeTo(context.faction, true), you.describeTo(context.faction, true)); context.faction.msg(TL.COMMAND_TITLE_CHANGED, context.fPlayer.describeTo(context.faction, true), you.describeTo(context.faction, true));
});
} }
@Override @Override

View File

@@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdToggleAllianceChat extends FCommand { public class CmdToggleAllianceChat extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdToggleAllianceChat() { public CmdToggleAllianceChat() {
super(); super();
this.aliases.add("tac"); this.aliases.add("tac");

View File

@@ -12,6 +12,10 @@ import java.util.ArrayList;
public class CmdTop extends FCommand { public class CmdTop extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdTop() { public CmdTop() {
super(); super();
this.aliases.add("top"); this.aliases.add("top");

View File

@@ -9,6 +9,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdTpBanner extends FCommand { public class CmdTpBanner extends FCommand {
/**
* @author Illyria Team
*/
public CmdTpBanner() { public CmdTpBanner() {
super(); super();
this.aliases.add("tpbanner"); this.aliases.add("tpbanner");
@@ -25,8 +29,6 @@ public class CmdTpBanner extends FCommand {
return; return;
} }
final FactionsPlayerListener fpl = new FactionsPlayerListener();
if (FactionsBlockListener.bannerLocations.containsKey(context.fPlayer.getTag())) { if (FactionsBlockListener.bannerLocations.containsKey(context.fPlayer.getTag())) {
context.msg(TL.COMMAND_TPBANNER_SUCCESS); context.msg(TL.COMMAND_TPBANNER_SUCCESS);
context.doWarmUp(WarmUpUtil.Warmup.BANNER, TL.WARMUPS_NOTIFY_TELEPORT, "Banner", () -> { context.doWarmUp(WarmUpUtil.Warmup.BANNER, TL.WARMUPS_NOTIFY_TELEPORT, "Banner", () -> {

View File

@@ -8,6 +8,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdUnban extends FCommand { public class CmdUnban extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdUnban() { public CmdUnban() {
super(); super();
this.aliases.add("unban"); this.aliases.add("unban");

View File

@@ -6,6 +6,11 @@ import com.massivecraft.factions.zcore.fupgrades.FUpgradesGUI;
import com.massivecraft.factions.zcore.util.TL; import com.massivecraft.factions.zcore.util.TL;
public class CmdUpgrades extends FCommand { public class CmdUpgrades extends FCommand {
/**
* @author Illyria Team
*/
public CmdUpgrades() { public CmdUpgrades() {
super(); super();
this.aliases.add("upgrades"); this.aliases.add("upgrades");

View File

@@ -13,6 +13,10 @@ import org.bukkit.inventory.Inventory;
public class CmdVault extends FCommand { public class CmdVault extends FCommand {
/**
* @author Illyria Team
*/
public CmdVault() { public CmdVault() {
this.aliases.add("vault"); this.aliases.add("vault");
@@ -28,7 +32,7 @@ public class CmdVault extends FCommand {
public void perform(CommandContext context) { public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("fvault.Enabled")) { if (!FactionsPlugin.getInstance().getConfig().getBoolean("fvault.Enabled")) {
context.fPlayer.sendMessage("This command is disabled!"); context.fPlayer.msg(TL.GENERIC_DISABLED, "Faction Vaults");
return; return;
} }

View File

@@ -7,6 +7,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdVersion extends FCommand { public class CmdVersion extends FCommand {
/**
* @author FactionsUUID Team
*/
public CmdVersion() { public CmdVersion() {
this.aliases.add("version"); this.aliases.add("version");
this.aliases.add("ver"); this.aliases.add("ver");

View File

@@ -7,6 +7,10 @@ import com.massivecraft.factions.zcore.util.TL;
public class CmdViewChest extends FCommand { public class CmdViewChest extends FCommand {
/**
* @author Driftay
*/
public CmdViewChest() { public CmdViewChest() {
super(); super();
this.aliases.add("viewchest"); this.aliases.add("viewchest");
@@ -22,7 +26,7 @@ public class CmdViewChest extends FCommand {
@Override @Override
public void perform(CommandContext context) { public void perform(CommandContext context) {
if (!FactionsPlugin.getInstance().getConfig().getBoolean("fchest.Enabled")) { if (!FactionsPlugin.getInstance().getConfig().getBoolean("fchest.Enabled")) {
context.msg(TL.GENERIC_DISABLED); context.msg(TL.GENERIC_DISABLED, "Faction Chests");
return; return;
} }

View File

@@ -19,6 +19,10 @@ import java.util.List;
*/ */
public class CommandContext { public class CommandContext {
/**
* @author FactionsUUID Team
*/
public CommandSender sender; public CommandSender sender;
public Player player; public Player player;

Some files were not shown because too many files have changed in this diff Show More