my end of the bargain

This commit is contained in:
Ivan
2021-02-25 16:42:30 -05:00
parent 3b666f1fde
commit 0367d9fd3a
22 changed files with 1221 additions and 1158 deletions

View File

@ -6,6 +6,7 @@ import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import me.totalfreedom.totalfreedommod.LoginProcess;
@CommandPermissions(level = Rank.OP, source = SourceType.ONLY_IN_GAME)
@CommandParameters(description = "Obtain a clown fish", usage = "/<command>")
@ -15,14 +16,14 @@ public class Command_clownfish extends FreedomCommand
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (plugin.pl.getData(playerSender).hasItem(ShopItem.CLOWN_FISH))
if (plugin.pl.getData(playerSender).hasItem(ShopItem.CLOWN_FISH) && (!plugin.lp.CLOWNFISH_TOGGLE.contains(playerSender.getName())))
{
playerSender.getInventory().addItem(plugin.sh.getClownFish());
msg("You have been given a Clown Fish", ChatColor.GREEN);
}
else
{
msg("You do not own a Clown Fish! Purchase one from the shop.", ChatColor.RED);
msg("You do not own a Clown Fish or an admin has toggled your ability to use it. Purchase one from the shop.", ChatColor.RED);
}
return true;
}

View File

@ -1,54 +1,54 @@
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.OP, source = SourceType.BOTH)
@CommandParameters(description = "Shows the amount of coins you have or another player has", usage = "/<command> [playername]")
public class Command_coins extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (!ConfigEntry.SHOP_ENABLED.getBoolean())
{
msg("The shop is currently disabled!", ChatColor.RED);
return true;
}
Player p;
final String prefix = FUtil.colorize(ConfigEntry.SHOP_PREFIX.getString() + " ");
if (args.length > 0)
{
if (getPlayer(args[0]) != null)
{
p = getPlayer(args[0]);
}
else
{
msg(PLAYER_NOT_FOUND);
return true;
}
}
else
{
if (senderIsConsole)
{
msg(prefix + ChatColor.RED + "You are not a player, use /coins <playername>");
return true;
}
else
{
p = playerSender;
}
}
PlayerData playerData = plugin.pl.getData(p);
msg(prefix + ChatColor.GREEN + (args.length > 0 ? p.getName() + " has " : "You have ") + ChatColor.RED + playerData.getCoins() + ChatColor.GREEN + " coins.");
return true;
}
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.OP, source = SourceType.BOTH)
@CommandParameters(description = "Shows the amount of coins you have or another player has", usage = "/<command> [playername]")
public class Command_coins extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (!ConfigEntry.SHOP_ENABLED.getBoolean())
{
msg("The shop is currently disabled!", ChatColor.RED);
return true;
}
Player p;
final String prefix = FUtil.colorize(ConfigEntry.SHOP_PREFIX.getString() + " ");
if (args.length > 0)
{
if (getPlayer(args[0]) != null)
{
p = getPlayer(args[0]);
}
else
{
msg(PLAYER_NOT_FOUND);
return true;
}
}
else
{
if (senderIsConsole)
{
msg(prefix + ChatColor.RED + "You are not a player, use /coins <playername>");
return true;
}
else
{
p = playerSender;
}
}
PlayerData playerData = plugin.pl.getData(p);
msg(prefix + ChatColor.GREEN + (args.length > 0 ? p.getName() + " has " : "You have ") + ChatColor.RED + playerData.getCoins() + ChatColor.GREEN + " coins.");
return true;
}
}

View File

@ -1,69 +1,69 @@
package me.totalfreedom.totalfreedommod.command;
import java.util.Collections;
import java.util.List;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.util.Vector;
@CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.BOTH)
@CommandParameters(description = "Surprise someone.", usage = "/<command> <player>")
public class Command_explode extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (args.length == 0)
{
return false;
}
final Player player = getPlayer(args[0]);
if (player == null)
{
msg(FreedomCommand.PLAYER_NOT_FOUND);
return true;
}
player.setFlying(false);
player.setVelocity(player.getVelocity().clone().add(new Vector(0, 50, 0)));
for (int i = 1; i <= 3; i++)
{
FUtil.createExplosionOnDelay(player.getLocation(), 2L, i * 10);
}
new BukkitRunnable()
{
@Override
public void run()
{
for (int i = 0; i < 4; i++)
{
player.getWorld().strikeLightning(player.getLocation());
player.getWorld().createExplosion(player.getLocation(), 4L);
}
player.setHealth(0.0);
msg("Exploded " + player.getName());
}
}.runTaskLater(plugin, 40);
return true;
}
@Override
public List<String> getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args)
{
if (args.length == 1 && plugin.al.isAdmin(sender))
{
return FUtil.getPlayerList();
}
return Collections.emptyList();
}
package me.totalfreedom.totalfreedommod.command;
import java.util.Collections;
import java.util.List;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.util.Vector;
@CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.BOTH)
@CommandParameters(description = "Surprise someone.", usage = "/<command> <player>")
public class Command_explode extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (args.length == 0)
{
return false;
}
final Player player = getPlayer(args[0]);
if (player == null)
{
msg(FreedomCommand.PLAYER_NOT_FOUND);
return true;
}
player.setFlying(false);
player.setVelocity(player.getVelocity().clone().add(new Vector(0, 50, 0)));
for (int i = 1; i <= 3; i++)
{
FUtil.createExplosionOnDelay(player.getLocation(), 2L, i * 10);
}
new BukkitRunnable()
{
@Override
public void run()
{
for (int i = 0; i < 4; i++)
{
player.getWorld().strikeLightning(player.getLocation());
player.getWorld().createExplosion(player.getLocation(), 4L);
}
player.setHealth(0.0);
msg("Exploded " + player.getName());
}
}.runTaskLater(plugin, 40);
return true;
}
@Override
public List<String> getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args)
{
if (args.length == 1 && plugin.al.isAdmin(sender))
{
return FUtil.getPlayerList();
}
return Collections.emptyList();
}
}

View File

@ -21,8 +21,13 @@ public class Command_fuckoff extends FreedomCommand
FPlayer player = plugin.pl.getPlayer(playerSender);
if (args[0].equalsIgnoreCase("off"))
if (!args[0].equals("on"))
{
player.disableFuckoff();
}
else
{
double radius = 25.0;
if (args.length >= 2)
{
@ -34,14 +39,12 @@ public class Command_fuckoff extends FreedomCommand
{
}
}
player.setFuckoff(radius);
}
else
{
player.disableFuckoff();
}
msg("Fuckoff " + (player.isFuckOff() ? ("enabled. Radius: " + player.getFuckoffRadius() + ".") : "disabled."));
return true;
}
}

View File

@ -1,219 +1,219 @@
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.shop.ShopItem;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.ONLY_CONSOLE)
@CommandParameters(description = "Manage the shop", usage = "/<command> <coins: <add | set | remove> <amount> <player | all> | items: <give | take> <item> <player>", aliases = "ms")
public class Command_manageshop extends FreedomCommand
{
@Override
public boolean run(final CommandSender sender, final Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (!FUtil.isExecutive(sender.getName()))
{
return noPerms();
}
if (args.length < 2)
{
return false;
}
if (args[0].equals("coins"))
{
if (args.length < 4)
{
return false;
}
switch (args[1])
{
case "add":
try
{
int amount = Math.max(0, Math.min(1000000, Integer.parseInt(args[2])));
if (!args[3].equals("all"))
{
PlayerData playerData = plugin.pl.getData(args[3]);
if (playerData == null)
{
msg(PLAYER_NOT_FOUND);
return true;
}
playerData.setCoins(playerData.getCoins() + amount);
plugin.pl.save(playerData);
msg("Successfully added " + amount + " coins to " + args[3] + ". Their new balance is " + playerData.getCoins(), ChatColor.GREEN);
Player player = getPlayer(args[3]);
if (player != null)
{
player.sendMessage(ChatColor.GREEN + sender.getName() + " gave you " + amount + " coins. Your new balance is " + playerData.getCoins());
}
}
else
{
for (Player player : server.getOnlinePlayers())
{
PlayerData playerData = plugin.pl.getData(player);
playerData.setCoins(playerData.getCoins() + amount);
plugin.pl.save(playerData);
player.sendMessage(ChatColor.GREEN + sender.getName() + " gave you " + amount + " coins. Your new balance is " + playerData.getCoins());
}
msg("Successfully added " + amount + " coins to all online players.", ChatColor.GREEN);
}
return true;
}
catch (NumberFormatException ex)
{
msg("Invalid number: " + args[2], ChatColor.RED);
return true;
}
case "remove":
try
{
int amount = Math.max(0, Math.min(1000000, Integer.parseInt(args[2])));
if (!args[3].equals("all"))
{
PlayerData playerData = plugin.pl.getData(args[3]);
if (playerData == null)
{
msg(PLAYER_NOT_FOUND);
return true;
}
playerData.setCoins(playerData.getCoins() - amount);
if (playerData.getCoins() < 0)
{
playerData.setCoins(0);
}
plugin.pl.save(playerData);
msg("Successfully removed " + amount + " coins from " + args[3] + ". Their new balance is " + playerData.getCoins(), ChatColor.GREEN);
Player player = getPlayer(args[3]);
if (player != null)
{
player.sendMessage(ChatColor.RED + sender.getName() + " took " + amount + " coins from you. Your new balance is " + playerData.getCoins());
}
}
else
{
for (Player player : server.getOnlinePlayers())
{
PlayerData playerData = plugin.pl.getData(player);
playerData.setCoins(playerData.getCoins() - amount);
if (playerData.getCoins() < 0)
{
playerData.setCoins(0);
}
plugin.pl.save(playerData);
player.sendMessage(ChatColor.RED + sender.getName() + " took " + amount + " coins from you. Your new balance is " + playerData.getCoins());
}
msg("Successfully took " + amount + " coins from all online players.", ChatColor.GREEN);
}
return true;
}
catch (NumberFormatException ex)
{
msg("Invalid number: " + args[2], ChatColor.RED);
return true;
}
case "set":
try
{
int amount = Math.max(0, Math.min(1000000, Integer.parseInt(args[2])));
PlayerData playerData = plugin.pl.getData(args[3]);
if (playerData == null)
{
msg(PLAYER_NOT_FOUND);
return true;
}
playerData.setCoins(amount);
plugin.pl.save(playerData);
msg("Successfully set " + args[3] + "'s coins to " + amount, ChatColor.GREEN);
Player player = getPlayer(args[3]);
if (player != null)
{
player.sendMessage(ChatColor.GREEN + sender.getName() + " set your coin balance to " + amount);
}
return true;
}
catch (NumberFormatException ex)
{
msg("Invalid number: " + args[2], ChatColor.RED);
return true;
}
}
}
else if (args[0].equals("items"))
{
if (args[1].equals("list"))
{
msg("List of all shop items: " + StringUtils.join(ShopItem.values(), ", "));
return true;
}
if (args.length < 4)
{
return false;
}
if (args[1].equals("give"))
{
ShopItem item = ShopItem.findItem(args[2].toUpperCase());
if (item == null)
{
msg(args[2] + " is not a valid item.", ChatColor.RED);
return true;
}
PlayerData playerData = plugin.pl.getData(args[3]);
if (playerData == null)
{
msg(PLAYER_NOT_FOUND);
return true;
}
playerData.giveItem(item);
plugin.pl.save(playerData);
msg("Successfully gave the " + item.getName() + " to " + args[3], ChatColor.GREEN);
Player player = getPlayer(args[3]);
if (player != null)
{
player.sendMessage(ChatColor.GREEN + sender.getName() + " gave the " + item.getName() + " to you");
}
return true;
}
else if (args[1].equals("take"))
{
ShopItem item = ShopItem.findItem(args[2].toUpperCase());
if (item == null)
{
msg(args[2] + " is not a valid item.", ChatColor.RED);
return true;
}
PlayerData playerData = plugin.pl.getData(args[3]);
if (playerData == null)
{
msg(PLAYER_NOT_FOUND);
return true;
}
playerData.removeItem(item);
plugin.pl.save(playerData);
msg("Successfully took the " + item.getName() + " from " + args[3], ChatColor.GREEN);
Player player = getPlayer(args[3]);
if (player != null)
{
player.sendMessage(ChatColor.RED + sender.getName() + " took the " + item.getName() + " from you");
}
return true;
}
}
return false;
}
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.player.PlayerData;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.shop.ShopItem;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.ADMIN, source = SourceType.BOTH)
@CommandParameters(description = "Manage the shop", usage = "/<command> <coins: <add | set | remove> <amount> <player | all> | items: <give | take> <item> <player>", aliases = "ms")
public class Command_manageshop extends FreedomCommand
{
@Override
public boolean run(final CommandSender sender, final Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (!FUtil.isExecutive(sender.getName()))
{
return noPerms();
}
if (args.length < 2)
{
return false;
}
if (args[0].equals("coins"))
{
if (args.length < 4)
{
return false;
}
switch (args[1])
{
case "add":
try
{
int amount = Math.max(0, Math.min(1000000, Integer.parseInt(args[2])));
if (!args[3].equals("all"))
{
PlayerData playerData = plugin.pl.getData(args[3]);
if (playerData == null)
{
msg(PLAYER_NOT_FOUND);
return true;
}
playerData.setCoins(playerData.getCoins() + amount);
plugin.pl.save(playerData);
msg("Successfully added " + amount + " coins to " + args[3] + ". Their new balance is " + playerData.getCoins(), ChatColor.GREEN);
Player player = getPlayer(args[3]);
if (player != null)
{
player.sendMessage(ChatColor.GREEN + sender.getName() + " gave you " + amount + " coins. Your new balance is " + playerData.getCoins());
}
}
else
{
for (Player player : server.getOnlinePlayers())
{
PlayerData playerData = plugin.pl.getData(player);
playerData.setCoins(playerData.getCoins() + amount);
plugin.pl.save(playerData);
player.sendMessage(ChatColor.GREEN + sender.getName() + " gave you " + amount + " coins. Your new balance is " + playerData.getCoins());
}
msg("Successfully added " + amount + " coins to all online players.", ChatColor.GREEN);
}
return true;
}
catch (NumberFormatException ex)
{
msg("Invalid number: " + args[2], ChatColor.RED);
return true;
}
case "remove":
try
{
int amount = Math.max(0, Math.min(1000000, Integer.parseInt(args[2])));
if (!args[3].equals("all"))
{
PlayerData playerData = plugin.pl.getData(args[3]);
if (playerData == null)
{
msg(PLAYER_NOT_FOUND);
return true;
}
playerData.setCoins(playerData.getCoins() - amount);
if (playerData.getCoins() < 0)
{
playerData.setCoins(0);
}
plugin.pl.save(playerData);
msg("Successfully removed " + amount + " coins from " + args[3] + ". Their new balance is " + playerData.getCoins(), ChatColor.GREEN);
Player player = getPlayer(args[3]);
if (player != null)
{
player.sendMessage(ChatColor.RED + sender.getName() + " took " + amount + " coins from you. Your new balance is " + playerData.getCoins());
}
}
else
{
for (Player player : server.getOnlinePlayers())
{
PlayerData playerData = plugin.pl.getData(player);
playerData.setCoins(playerData.getCoins() - amount);
if (playerData.getCoins() < 0)
{
playerData.setCoins(0);
}
plugin.pl.save(playerData);
player.sendMessage(ChatColor.RED + sender.getName() + " took " + amount + " coins from you. Your new balance is " + playerData.getCoins());
}
msg("Successfully took " + amount + " coins from all online players.", ChatColor.GREEN);
}
return true;
}
catch (NumberFormatException ex)
{
msg("Invalid number: " + args[2], ChatColor.RED);
return true;
}
case "set":
try
{
int amount = Math.max(0, Math.min(1000000, Integer.parseInt(args[2])));
PlayerData playerData = plugin.pl.getData(args[3]);
if (playerData == null)
{
msg(PLAYER_NOT_FOUND);
return true;
}
playerData.setCoins(amount);
plugin.pl.save(playerData);
msg("Successfully set " + args[3] + "'s coins to " + amount, ChatColor.GREEN);
Player player = getPlayer(args[3]);
if (player != null)
{
player.sendMessage(ChatColor.GREEN + sender.getName() + " set your coin balance to " + amount);
}
return true;
}
catch (NumberFormatException ex)
{
msg("Invalid number: " + args[2], ChatColor.RED);
return true;
}
}
}
else if (args[0].equals("items"))
{
if (args[1].equals("list"))
{
msg("List of all shop items: " + StringUtils.join(ShopItem.values(), ", "));
return true;
}
if (args.length < 4)
{
return false;
}
if (args[1].equals("give"))
{
ShopItem item = ShopItem.findItem(args[2].toUpperCase());
if (item == null)
{
msg(args[2] + " is not a valid item.", ChatColor.RED);
return true;
}
PlayerData playerData = plugin.pl.getData(args[3]);
if (playerData == null)
{
msg(PLAYER_NOT_FOUND);
return true;
}
playerData.giveItem(item);
plugin.pl.save(playerData);
msg("Successfully gave the " + item.getName() + " to " + args[3], ChatColor.GREEN);
Player player = getPlayer(args[3]);
if (player != null)
{
player.sendMessage(ChatColor.GREEN + sender.getName() + " gave the " + item.getName() + " to you");
}
return true;
}
else if (args[1].equals("take"))
{
ShopItem item = ShopItem.findItem(args[2].toUpperCase());
if (item == null)
{
msg(args[2] + " is not a valid item.", ChatColor.RED);
return true;
}
PlayerData playerData = plugin.pl.getData(args[3]);
if (playerData == null)
{
msg(PLAYER_NOT_FOUND);
return true;
}
playerData.removeItem(item);
plugin.pl.save(playerData);
msg("Successfully took the " + item.getName() + " from " + args[3], ChatColor.GREEN);
Player player = getPlayer(args[3]);
if (player != null)
{
player.sendMessage(ChatColor.RED + sender.getName() + " took the " + item.getName() + " from you");
}
return true;
}
}
return false;
}
}

View File

@ -1,23 +1,23 @@
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.History;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.OP, source = SourceType.BOTH)
@CommandParameters(description = "Check the name history of a specified player.", usage = "/<command> <username>", aliases = "nh")
public class Command_namehistory extends FreedomCommand
{
@Override
public boolean run(final CommandSender sender, final Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (args.length != 1)
{
return false;
}
History.reportHistory(sender, args[0]);
return true;
}
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.History;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.OP, source = SourceType.BOTH)
@CommandParameters(description = "Check the name history of a specified player.", usage = "/<command> <username>", aliases = "nh")
public class Command_namehistory extends FreedomCommand
{
@Override
public boolean run(final CommandSender sender, final Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (args.length != 1)
{
return false;
}
History.reportHistory(sender, args[0]);
return true;
}
}

View File

@ -1,62 +1,62 @@
package me.totalfreedom.totalfreedommod.command;
import java.util.Collections;
import java.util.List;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.ChatColor;
import org.bukkit.Particle;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.BOTH)
@CommandParameters(description = "Sends a guardian particle effect with an enderman scream to the specified player.", usage = "/<command> <player>")
public class Command_scare extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (!FUtil.isPaper())
{
msg("This command won't work without Paper!", ChatColor.RED);
return true;
}
if (args.length == 0)
{
return false;
}
final Player player = getPlayer(args[0]);
if (player == null)
{
msg(FreedomCommand.PLAYER_NOT_FOUND);
return true;
}
msg("Scared " + player.getName());
player.sendMessage(ChatColor.RED + "ZING");
player.spawnParticle(Particle.MOB_APPEARANCE, player.getLocation(), 4);
for (int i = 0; i < 10; ++i)
{
player.playSound(player.getLocation(), Sound.ENTITY_ENDERMAN_SCREAM, 1, 0);
}
return true;
}
@Override
public List<String> getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args)
{
if (args.length == 1 && plugin.al.isAdmin(sender))
{
return FUtil.getPlayerList();
}
return Collections.emptyList();
}
}
package me.totalfreedom.totalfreedommod.command;
import java.util.Collections;
import java.util.List;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.ChatColor;
import org.bukkit.Particle;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.BOTH)
@CommandParameters(description = "Sends a guardian particle effect with an enderman scream to the specified player.", usage = "/<command> <player>")
public class Command_scare extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (!FUtil.isPaper())
{
msg("This command won't work without Paper!", ChatColor.RED);
return true;
}
if (args.length == 0)
{
return false;
}
final Player player = getPlayer(args[0]);
if (player == null)
{
msg(FreedomCommand.PLAYER_NOT_FOUND);
return true;
}
msg("Scared " + player.getName());
player.sendMessage(ChatColor.RED + "ZING");
player.spawnParticle(Particle.MOB_APPEARANCE, player.getLocation(), 4);
for (int i = 0; i < 10; ++i)
{
player.playSound(player.getLocation(), Sound.ENTITY_ENDERMAN_SCREAM, 1, 0);
}
return true;
}
@Override
public List<String> getTabCompleteOptions(CommandSender sender, Command command, String alias, String[] args)
{
if (args.length == 1 && plugin.al.isAdmin(sender))
{
return FUtil.getPlayerList();
}
return Collections.emptyList();
}
}

View File

@ -1,28 +1,28 @@
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.rank.Rank;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.OP, source = SourceType.BOTH)
@CommandParameters(description = "Check the status of the server, including opped players, admins, etc.", usage = "/<command>", aliases = "ss")
public class Command_serverstats extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
msg("-==" + ConfigEntry.SERVER_NAME.getString() + " server stats==-", ChatColor.GOLD);
msg("Total opped players: " + server.getOperators().size(), ChatColor.RED);
msg("Total admins: " + plugin.al.getAllAdmins().size() + " (" + plugin.al.getActiveAdmins().size() + " active)", ChatColor.BLUE);
int bans = plugin.im.getIndefBans().size();
int nameBans = plugin.im.getNameBanCount();
int uuidBans = plugin.im.getUuidBanCount();
int ipBans = plugin.im.getIpBanCount();
msg("Total indefinite ban entries: " + bans + " (" + nameBans + " name bans, " + uuidBans + " UUID bans, and " + ipBans + " IP bans)", ChatColor.GREEN);
return true;
}
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.rank.Rank;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.OP, source = SourceType.BOTH)
@CommandParameters(description = "Check the status of the server, including opped players, admins, etc.", usage = "/<command>", aliases = "ss")
public class Command_serverstats extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
msg("-==" + ConfigEntry.SERVER_NAME.getString() + " server stats==-", ChatColor.GOLD);
msg("Total opped players: " + server.getOperators().size(), ChatColor.RED);
msg("Total admins: " + plugin.al.getAllAdmins().size() + " (" + plugin.al.getActiveAdmins().size() + " active)", ChatColor.BLUE);
int bans = plugin.im.getIndefBans().size();
int nameBans = plugin.im.getNameBanCount();
int uuidBans = plugin.im.getUuidBanCount();
int ipBans = plugin.im.getIpBanCount();
msg("Total indefinite ban entries: " + bans + " (" + nameBans + " name bans, " + uuidBans + " UUID bans, and " + ipBans + " IP bans)", ChatColor.GREEN);
return true;
}
}

View File

@ -0,0 +1,36 @@
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.rank.Rank;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.ADMIN, source = SourceType.BOTH)
@CommandParameters(description = "Toggle whether or not a player has the ability to use clownfish", usage = "/<command> <player>", aliases = "togglecf")
public class Command_toggleclownfish extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (args.length == 0)
{
return false;
}
boolean enabled = plugin.lp.CLOWNFISH_TOGGLE.contains(args[0]);
if (enabled)
{
plugin.lp.CLOWNFISH_TOGGLE.remove(args[0]);
}
else
{
plugin.lp.CLOWNFISH_TOGGLE.add(args[0]);
}
msg(args[0] + " will " + (enabled ? "now" : "no longer") + " have the ability to use clownfish.");
return true;
}
}

View File

@ -1,34 +1,34 @@
package me.totalfreedom.totalfreedommod.command;
import java.util.List;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.OP, source = SourceType.BOTH)
@CommandParameters(description = "Information on how to vote", usage = "/<command>")
public class Command_vote extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
List<String> voteInfo = ConfigEntry.VOTING_INFO.getStringList();
if (voteInfo.isEmpty())
{
msg("The voting information section of the config.yml file has not been configured.", ChatColor.RED);
}
else
{
msg(FUtil.colorize(StringUtils.join(voteInfo, "\n")));
}
return true;
}
}
package me.totalfreedom.totalfreedommod.command;
import java.util.List;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.OP, source = SourceType.BOTH)
@CommandParameters(description = "Information on how to vote", usage = "/<command>")
public class Command_vote extends FreedomCommand
{
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
List<String> voteInfo = ConfigEntry.VOTING_INFO.getStringList();
if (voteInfo.isEmpty())
{
msg("The voting information section of the config.yml file has not been configured.", ChatColor.RED);
}
else
{
msg(FUtil.colorize(StringUtils.join(voteInfo, "\n")));
}
return true;
}
}