Merged with master

This commit is contained in:
unknown 2014-08-25 14:07:47 +02:00
commit 3c6e706c98
68 changed files with 507 additions and 331 deletions

View file

@ -3,49 +3,91 @@ TotalFreedomMod is a CraftBukkit server plugin designed primarily to support the
For those who wish to contribute, we encourage you to fork the repository and submit pull requests. Below you will find guidelines that will explain this process in further detail.
## Quick Guide ##
1. Create or find an issue on our [Issue Tracker](https://github.com/TotalFreedom/TotalFreedomMod/issues).
2. Does your change fits TotalFreedomMod's goals?
3. Fork TotalFreedomMod if you haven't done so already.
4. Make a branch dedicated to your change.
5. Make your change.
6. Commit your change according to the [committing guidelines](#committing-your-changes).
7. Push your branch and submit a pull request.
## Getting Started ##
* Make sure you have a [GitHub account](https://github.com/signup/free)
* If the issue is a bug, submit a ticket for it, assuming one does not already exist.
* Clearly describe the issue including steps to reproduce it.
* Make sure you fill in the earliest version that you know has the issue.
* Fork the repository on GitHub
* Search the issue tracker for your bug report or feature request.
* If the issue does not exist already, create it.
* Clearly describe the issue.
* If your issue is a bug, describe the steps needed to reproduce it.
* If your issue is a feature request, ensure it fits TotalFreedomMod's goals and describe your feature in detail.
* Fork the repository on GitHub.
## Does the change fit TotalFreedomMod's goals? ##
As a rough guideline, ask yourself the following questions to determine if your proposed change fits the TotalFreedomMod project's goals. Please remember that this is only a rough guideline and may or may not reflect the definitive answer to this question.
* Is the change in line with the principles of "Total Freedom"?
TotalFreedom is a freedom-based server. We don't normally make changes that restrict players unless absolutely necessary.
* Is the change directed towards the TotalFreedom server?
Changes must be directed towards the TotalFreedom server. Changes such as adding ranks, adding the name of other TotalFreedom-like servers will not likely be accepted.
* Does the change add a feature that involves micromanagement?
Pull requests that involve adding a micromanagement feature will likely not be accepted. This includes shorthands for multiple commands.
* Is a similar feature already present?
Features that have very similar alternatives fill not be added. For example: A command that temporarily bans a player from the server is very similar to the _/tban_ command and thus will likely not be accepted.
## Making Changes ##
* Create a topic branch from where you want to base your work.
* This is usually the master branch.
* Only target release branches if you are certain your addition must be on that branch.
* To quickly create a topic branch based on master; `git checkout -b contribution` - Please avoid working directly on the `master` branch.
* Make changes and commit where necessary.
* Name your branch something relevant to the change you are going to make.
* To quickly create a topic branch based on master, use `git checkout master` followed by `git checkout -b <name>`. Avoid working directly on the `master` branch.
* Make sure your change meets our [code requirements](#code-requirements).
### Code requirements ###
* Code must be written in [Allman style](http://en.wikipedia.org/wiki/Indent_style#Allman_style), and that it follows [Java Code Conventions](http://www.oracle.com/technetwork/java/codeconventions-150003.pdf).__
* No tabs; use 4 spaces for indentation.
* No trailing whitespaces for code lines, comments or configuration files.
* No CRLF line endings, only LF is allowed.
* For Windows-based machines, you can configure Git to do this for your by running `git config --global core.autocrlf true`.
* If you're running a Linux or Mac OSX, you should run `git config --global core.autocrlf input` instead.
* For more information about line feeds. See this [this article](http://adaptivepatchwork.com/2012/03/01/mind-the-end-of-your-line/).
* No 80 character line limit or 'weird' midstatement newlines.
* Additions should be compiled, complete and tested before committing.
* Avoid using `org.bukkit.Server.dispatchCommand()`. Commits that make use of it will likely be rejected.
* Files must always end with a newline.
* Avoid nested code structures.
## Committing your changes ##
* Check for unnecessary whitespace with `git diff --check` before committing.
* Make sure your commit messages are in line with those which are already made.
* Make sure your changes build (<b>and work!</b>).
* Describe your changes in the commit description.
* For a prolonged description, continue on a new line.
* The first description line should be once sentence and should not exceed 10 words.
* The first description line should contain either:
* For a bug-related issue: "Resolves _#issue_".
* For a feature request: "Fixes _#issue_".
* "#issue" is the issue number number you based your work on.
## Tips - How To Get Your Pull Request Accepted ##
* See this picture for help:
![Imgur](http://i.imgur.com/7kogorv.jpg)
* Make sure your changes work and compile without difficulty.
* Make sure your change adds something useful, do not add commands to micromanage the server. (ie: Shorthands for a collection of commands)
* __Commands that make use of `org.bukkit.Server.dispatchCommand()` will probably be rejected.__
* Features must be in line the general idea of "Total Freedom".
* Changes must be directed towards the main "TotalFreedom" server. Adding names such as the name of your own TotalFreedom-like server will get your pull request denied.
* Do not add yourself to the developer list.
* Ensure that you use the correct whitespace-style. That is: 4 spaces as indentation.
* Please make sure your changes are written such as other features would be. Eg: commands have their own class and extend TFM_Command.
* __Make sure your code is written in the [Allman style](http://en.wikipedia.org/wiki/Indent_style#Allman_style), and that it follows [Java Code Conventions](http://www.oracle.com/technetwork/java/codeconventions-150003.pdf).__
* Do not increment the version number.
* If you want to add multiple changes, please make one pull request per change. This way, it's easier to accept your changes faster and won't block the other changes if there is an issue with a specific line of code.
* Please make sure there are no bugs in your code.
* Please avoid having to add files in the main namespace where possible.
* Make sure all changes work before you commit these, this avoids having multiple unnecessary commits.
* Please refrain from using an excessive amount of commits. As few as possible is generally the best.
* Please do not spread your addition over several pull-requests.
#### Example commit message ####
```
Fixed bugs with /saconfig clear. Resolves #167
Admins can now use /saconfig clear [ip] to remove the designated IP (only their own IPs can be removed.
They can also simply use /saconfig clear to remove all IPs but the current one. /saconfig clear is safe,
meaning you can't remove your current IP or an IP that doesn't belong to you.
```
## Submitting Your Changes ##
* Push your changes to a topic branch in your fork of the repository.
* Push your changes to the topic branch in your fork of the repository.
* Submit a pull request to this repository.
* Explain in detail what each one of your commits changes and point out any big changes.
* Wait as a developer evaluates your changes.
* Do not add any prefixes or tags.
## Tips - How To Get Your Pull Request Accepted ##
* Please make sure your changes are written such as other features would be. For example: Commands have their own class and extend TFM_Command.
* Do not increment the version number.
* If you want to add multiple changes, please make one pull request per change. This way, it's easier to accept your changes faster and won't block the other changes if there is an issue with a specific line of code.
* Please avoid having to add files in the main namespace where possible.
* Please refrain from using an excessive amount of commits. As few as possible is generally the best.
* Please do not spread your contribution over several pull-requests.
## Additional Resources ##
* [TotalFreedom information](http://totalfreedom.me)

View file

@ -1,2 +1,6 @@
#
# Build creator configuration
#
# Note: Do not edit this file! Edit the generated "buildcreator.properties" file instead.
#
program.buildcreator=Unknown

View file

@ -1,3 +1,3 @@
#Build Number for ANT. Do not edit!
#Mon Aug 25 13:55:08 CEST 2014
build.number=923
#Mon Aug 25 14:06:59 CEST 2014
build.number=924

View file

@ -99,6 +99,7 @@ blocked_commands:
- 's:b:/setspawn:_'
- 's:b://snow:_'
- 's:b:/tellraw:_'
- 's:b:/forestgen:_'
# Superadmin commands - Auto-eject
- 's:a:/stop'

View file

@ -73,6 +73,23 @@ public class TFM_EssentialsBridge
}
}
public static String getNickname(String username)
{
try
{
final User user = getEssentialsUser(username);
if (user != null)
{
return user.getNickname();
}
}
catch (Exception ex)
{
TFM_Log.severe(ex);
}
return null;
}
public static long getLastActivity(String username)
{
try

View file

@ -156,7 +156,6 @@ public class TFM_WorldEditBridge
}.runTask(TotalFreedomMod.plugin);
}
}
catch (IncompleteRegionException ex)
{

View file

@ -3,7 +3,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.World.TFM_AdminWorld;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -117,7 +116,7 @@ public class Command_adminworld extends TFM_Command
if (player == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}
@ -216,7 +215,7 @@ public class Command_adminworld extends TFM_Command
{
if (!(sender instanceof Player) || sender_p == null || !TFM_AdminList.isSuperAdmin(sender))
{
throw new PermissionDeniedException(TotalFreedomMod.MSG_NO_PERMS);
throw new PermissionDeniedException(TFM_Command.MSG_NO_PERMS);
}
}

View file

@ -3,7 +3,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -41,7 +40,7 @@ public class Command_blockcmd extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
playerMsg(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -2,7 +2,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
@ -52,7 +51,7 @@ public class Command_cage extends TFM_Command
if (player == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -2,7 +2,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import java.util.Random;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.Achievement;
import org.bukkit.ChatColor;
import org.bukkit.Material;
@ -16,35 +15,39 @@ import org.bukkit.inventory.meta.ItemMeta;
@CommandParameters(description = "For the people that are still alive.", usage = "/<command>")
public class Command_cake extends TFM_Command
{
public static final String CAKE_LYRICS = "But there's no sense crying over every mistake. You just keep on trying till you run out of cake.";
private final Random random = new Random();
@Override
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
final StringBuilder output = new StringBuilder();
StringBuilder output = new StringBuilder();
Random randomGenerator = new Random();
String[] words = TotalFreedomMod.CAKE_LYRICS.split(" ");
for (String word : words)
final String[] words = CAKE_LYRICS.split(" ");
for (final String word : words)
{
String color_code = Integer.toHexString(1 + randomGenerator.nextInt(14));
output.append(ChatColor.COLOR_CHAR).append(color_code).append(word).append(" ");
output.append(ChatColor.COLOR_CHAR).append(Integer.toHexString(1 + random.nextInt(14))).append(word).append(" ");
}
ItemStack heldItem = new ItemStack(Material.CAKE);
ItemMeta heldItemMeta = heldItem.getItemMeta();
heldItemMeta.setDisplayName((new StringBuilder()).append(ChatColor.WHITE).append("The ").append(ChatColor.BLACK).append("Lie").toString());
final ItemStack heldItem = new ItemStack(Material.CAKE);
final ItemMeta heldItemMeta = heldItem.getItemMeta();
heldItemMeta.setDisplayName((new StringBuilder()).append(ChatColor.WHITE).append("The ").append(ChatColor.DARK_GRAY).append("Lie").toString());
heldItem.setItemMeta(heldItemMeta);
for (Player player : server.getOnlinePlayers())
for (final Player player : server.getOnlinePlayers())
{
player.getInventory().setItem(player.getInventory().firstEmpty(), heldItem);
player.awardAchievement(Achievement.MINE_WOOD);
player.awardAchievement(Achievement.BUILD_WORKBENCH);
player.awardAchievement(Achievement.BUILD_HOE);
final int firstEmpty = player.getInventory().firstEmpty();
if (firstEmpty >= 0)
{
player.getInventory().setItem(firstEmpty, heldItem);
}
player.awardAchievement(Achievement.BAKE_CAKE);
}
TFM_Util.bcastMsg(output.toString());
return true;
}
}

View file

@ -1,7 +1,6 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Minecart;
@ -23,7 +22,7 @@ public class Command_cartsit extends TFM_Command
if (targetPlayer == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}
}

View file

@ -48,4 +48,4 @@ public class Command_cmdlist extends TFM_Command
return true;
}
}
}

View file

@ -2,7 +2,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.GameMode;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -35,7 +34,7 @@ public class Command_creative extends TFM_Command
{
if (!TFM_AdminList.isSuperAdmin(sender))
{
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
sender.sendMessage(TFM_Command.MSG_NO_PERMS);
return true;
}
@ -54,12 +53,11 @@ public class Command_creative extends TFM_Command
return true;
}
player = getPlayer(args[0]);
if (player == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -1,7 +1,6 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -18,7 +17,7 @@ public class Command_deopall extends TFM_Command
for (Player player : server.getOnlinePlayers())
{
player.setOp(false);
player.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP);
player.sendMessage(TFM_Command.YOU_ARE_NOT_OP);
}
return true;

View file

@ -5,7 +5,6 @@ import me.StevenLawson.TotalFreedomMod.TFM_Ban;
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.command.Command;
@ -30,7 +29,7 @@ public class Command_doom extends TFM_Command
if (player == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -5,14 +5,14 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.ONLY_IN_GAME)
@CommandParameters(description = "Goto the ender / \"The End\".", usage = "/<command>")
public class Command_ender extends TFM_Command
{
@Override
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
TFM_Util.gotoWorld(sender, server.getWorlds().get(0).getName() + "_the_end");
TFM_Util.gotoWorld(sender_p, server.getWorlds().get(0).getName() + "_the_end");
return true;
}
}

View file

@ -1,7 +1,6 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerList;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -24,7 +23,7 @@ public class Command_findip extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
playerMsg(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -46,7 +46,7 @@ public class Command_fr extends TFM_Command
{
if (!TFM_AdminList.isSuperAdmin(player))
{
TFM_Util.playerMsg(player, "You have been frozen due to rule breaker(s), you will be unfrozen very soon.", ChatColor.RED);
playerMsg(player, "You have been frozen due to rule breaker(s), you will be unfrozen very soon.", ChatColor.RED);
}
}
}
@ -85,7 +85,7 @@ public class Command_fr extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
playerMsg(TFM_Command.PLAYER_NOT_FOUND, ChatColor.RED);
return true;
}

View file

@ -5,7 +5,6 @@ import java.util.Iterator;
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -135,7 +134,7 @@ public class Command_gadmin extends TFM_Command
{
ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]);
}
TFM_Util.adminAction(sender.getName(), String.format("Banning IP: %s.", target.getName(), ip), true);
TFM_Util.adminAction(sender.getName(), String.format("Banning IP: %s.", ip), true);
TFM_BanManager.addIpBan(target);
target.kickPlayer("IP address banned by Administrator.");
@ -163,7 +162,7 @@ public class Command_gadmin extends TFM_Command
{
TFM_Util.adminAction(sender.getName(), String.format("Opping %s.", target.getName()), false);
target.setOp(false);
target.sendMessage(TotalFreedomMod.YOU_ARE_OP);
target.sendMessage(TFM_Command.YOU_ARE_OP);
break;
}
@ -171,7 +170,7 @@ public class Command_gadmin extends TFM_Command
{
TFM_Util.adminAction(sender.getName(), String.format("Deopping %s.", target.getName()), false);
target.setOp(false);
target.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP);
target.sendMessage(TFM_Command.YOU_ARE_NOT_OP);
break;
}

View file

@ -1,7 +1,6 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_CommandBlocker;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -23,7 +22,7 @@ public class Command_gcmd extends TFM_Command
if (player == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -58,7 +58,7 @@ public class Command_glist extends TFM_Command
if (entry == null)
{
TFM_Util.playerMsg(sender, "Can't find that user. If target is not logged in, make sure that you spelled the name exactly.");
playerMsg("Can't find that user. If target is not logged in, make sure that you spelled the name exactly.");
return true;
}

View file

@ -5,7 +5,6 @@ import me.StevenLawson.TotalFreedomMod.TFM_Ban;
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
import me.StevenLawson.TotalFreedomMod.TFM_RollbackManager;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import net.minecraft.util.org.apache.commons.lang3.ArrayUtils;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.ChatColor;
@ -31,7 +30,7 @@ public class Command_gtfo extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
playerMsg(TFM_Command.PLAYER_NOT_FOUND, ChatColor.RED);
return true;
}
@ -77,7 +76,20 @@ public class Command_gtfo extends TFM_Command
// ban IP address:
String ip = TFM_Util.getFuzzyIp(player.getAddress().getAddress().getHostAddress());
TFM_Util.bcastMsg(String.format("Banning: %s, IP: %s.", player.getName(), ip) + ChatColor.RED + (reason != null ? ("Reason: " + ChatColor.YELLOW + reason) : ""));
final StringBuilder bcast = new StringBuilder()
.append(ChatColor.RED)
.append("Banning: ")
.append(player.getName())
.append(", IP: ")
.append(ip);
if (reason != null)
{
bcast.append(" - Reason: ").append(ChatColor.YELLOW).append(reason);
}
TFM_Util.bcastMsg(bcast.toString());
TFM_BanManager.addIpBan(new TFM_Ban(ip, player.getName(), sender.getName(), null, reason));

View file

@ -3,7 +3,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -64,7 +63,7 @@ public class Command_halt extends TFM_Command
{
if (count == 0)
{
playerMsg(sender, "Halted players:");
playerMsg("Halted players:");
}
playerMsg("- " + hp.getName());
count++;
@ -81,7 +80,7 @@ public class Command_halt extends TFM_Command
if (player == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -49,20 +49,19 @@ public class Command_invis extends TFM_Command
if (players.isEmpty())
{
TFM_Util.playerMsg(sender, "There are no invisible players");
playerMsg("There are no invisible players");
return true;
}
if (smite)
{
TFM_Util.playerMsg(sender, "Smitten " + smites + " players");
playerMsg("Smitten " + smites + " players");
}
else
{
TFM_Util.playerMsg(sender, "Invisble players (" + players.size() + "): " + StringUtils.join(players, ", "));
playerMsg("Invisble players (" + players.size() + "): " + StringUtils.join(players, ", "));
}
return true;
}
}

View file

@ -1,7 +1,6 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -23,7 +22,7 @@ public class Command_lastcmd extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
playerMsg(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -3,12 +3,9 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import java.util.ArrayList;
import java.util.List;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerRank;
import me.StevenLawson.TotalFreedomMod.TFM_Admin;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import org.apache.commons.lang.StringUtils;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;

View file

@ -2,7 +2,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -51,7 +50,7 @@ public class Command_lockup extends TFM_Command
if (player == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}
@ -65,7 +64,7 @@ public class Command_lockup extends TFM_Command
if (player == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -5,14 +5,14 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.ONLY_IN_GAME)
@CommandParameters(description = "Goto the nether.", usage = "/<command>")
public class Command_nether extends TFM_Command
{
@Override
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
TFM_Util.gotoWorld(sender, server.getWorlds().get(0).getName() + "_nether");
TFM_Util.gotoWorld(sender_p, server.getWorlds().get(0).getName() + "_nether");
return true;
}
}

View file

@ -0,0 +1,51 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import me.StevenLawson.TotalFreedomMod.Bridge.TFM_EssentialsBridge;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
@CommandParameters(description = "Essentials Interface Command - Remove distracting things from nicknames of all players on server.", usage = "/<command>", aliases = "nc")
public class Command_nickclean extends TFM_Command
{
private static final ChatColor[] BLOCKED = new ChatColor[]
{
ChatColor.MAGIC,
ChatColor.STRIKETHROUGH,
ChatColor.ITALIC,
ChatColor.UNDERLINE,
ChatColor.BLACK
};
private static final Pattern REGEX = Pattern.compile("\\u00A7[" + StringUtils.join(BLOCKED, "") + "]");
@Override
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
TFM_Util.adminAction(sender.getName(), "Cleaning all nicknames.", false);
for (final Player player : server.getOnlinePlayers())
{
final String playerName = player.getName();
final String nickName = TFM_EssentialsBridge.getNickname(playerName);
if (nickName != null && !nickName.isEmpty() && !nickName.equalsIgnoreCase(playerName))
{
final Matcher matcher = REGEX.matcher(nickName);
if (matcher.find())
{
final String newNickName = matcher.replaceAll("");
playerMsg(ChatColor.RESET + playerName + ": \"" + nickName + ChatColor.RESET + "\" -> \"" + newNickName + ChatColor.RESET + "\".");
TFM_EssentialsBridge.setNickname(playerName, newNickName);
}
}
}
return true;
}
}

View file

@ -4,7 +4,6 @@ import me.StevenLawson.TotalFreedomMod.TFM_Log;
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -28,7 +27,7 @@ public class Command_onlinemode extends TFM_Command
if (sender instanceof Player && !TFM_AdminList.isSeniorAdmin(sender, true))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
playerMsg(TFM_Command.MSG_NO_PERMS);
return true;
}

View file

@ -1,7 +1,6 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.GameMode;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -35,7 +34,7 @@ public class Command_opall extends TFM_Command
for (Player player : server.getOnlinePlayers())
{
player.setOp(true);
player.sendMessage(TotalFreedomMod.YOU_ARE_OP);
player.sendMessage(TFM_Command.YOU_ARE_OP);
if (doSetGamemode)
{

View file

@ -1,7 +1,6 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -15,7 +14,7 @@ public class Command_opme extends TFM_Command
{
TFM_Util.adminAction(sender.getName(), "Opping " + sender.getName(), false);
sender.setOp(true);
sender.sendMessage(TotalFreedomMod.YOU_ARE_OP);
sender.sendMessage(TFM_Command.YOU_ARE_OP);
return true;
}

View file

@ -2,7 +2,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -44,7 +43,7 @@ public class Command_ops extends TFM_Command
{
if (!TFM_AdminList.isSuperAdmin(sender))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
playerMsg(TFM_Command.MSG_NO_PERMS);
return true;
}
@ -55,7 +54,7 @@ public class Command_ops extends TFM_Command
player.setOp(false);
if (player.isOnline())
{
playerMsg(player.getPlayer(), TotalFreedomMod.YOU_ARE_NOT_OP);
playerMsg(player.getPlayer(), TFM_Command.YOU_ARE_NOT_OP);
}
}
return true;

View file

@ -2,7 +2,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.command.Command;
@ -27,7 +26,7 @@ public class Command_orbit extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
playerMsg(TFM_Command.PLAYER_NOT_FOUND, ChatColor.RED);
return true;
}

View file

@ -1,7 +1,6 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_PermbanList;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
@ -28,7 +27,7 @@ public class Command_permban extends TFM_Command
{
if (!senderIsConsole)
{
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
sender.sendMessage(TFM_Command.MSG_NO_PERMS);
return true;
}
playerMsg("Reloading permban list...", ChatColor.RED);
@ -47,22 +46,22 @@ public class Command_permban extends TFM_Command
{
if (TFM_PermbanList.getPermbannedPlayers().isEmpty())
{
playerMsg(sender, "No permanently banned player names.");
playerMsg("No permanently banned player names.");
}
else
{
playerMsg(sender, TFM_PermbanList.getPermbannedPlayers().size() + " permanently banned players:");
playerMsg(sender, StringUtils.join(TFM_PermbanList.getPermbannedPlayers(), ", "));
playerMsg(TFM_PermbanList.getPermbannedPlayers().size() + " permanently banned players:");
playerMsg(StringUtils.join(TFM_PermbanList.getPermbannedPlayers(), ", "));
}
if (TFM_PermbanList.getPermbannedIps().isEmpty())
{
playerMsg(sender, "No permanently banned IPs.");
playerMsg("No permanently banned IPs.");
}
else
{
playerMsg(sender, TFM_PermbanList.getPermbannedIps().size() + " permanently banned IPs:");
playerMsg(sender, StringUtils.join(TFM_PermbanList.getPermbannedIps(), ", "));
playerMsg(TFM_PermbanList.getPermbannedIps().size() + " permanently banned IPs:");
playerMsg(StringUtils.join(TFM_PermbanList.getPermbannedIps(), ", "));
}
}
}

View file

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.List;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
@ -40,7 +39,7 @@ public class Command_potion extends TFM_Command
{
if (!(TFM_AdminList.isSuperAdmin(sender) || senderIsConsole))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
playerMsg(TFM_Command.MSG_NO_PERMS);
return true;
}
TFM_Util.adminAction(sender.getName(), "Cleared all potion effects from all players", true);
@ -62,7 +61,7 @@ public class Command_potion extends TFM_Command
if (target == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
playerMsg(TFM_Command.PLAYER_NOT_FOUND, ChatColor.RED);
return true;
}
}
@ -106,7 +105,7 @@ public class Command_potion extends TFM_Command
if (target == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
playerMsg(TFM_Command.PLAYER_NOT_FOUND, ChatColor.RED);
return true;
}
}

View file

@ -1,7 +1,9 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import java.util.ArrayList;
import java.util.List;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -24,26 +26,30 @@ public class Command_qdeop extends TFM_Command
silent = args[1].equalsIgnoreCase("-s");
}
boolean matched_player = false;
final String targetName = args[0].toLowerCase();
String targetName = args[0].toLowerCase();
for (Player player : server.getOnlinePlayers())
final List<String> matchedPlayerNames = new ArrayList<String>();
for (final Player player : server.getOnlinePlayers())
{
if (player.getName().toLowerCase().indexOf(targetName) != -1 || player.getDisplayName().toLowerCase().indexOf(targetName) != -1)
if (player.getName().toLowerCase().contains(targetName) || player.getDisplayName().toLowerCase().contains(targetName))
{
matched_player = true;
if (!silent)
if (player.isOp())
{
TFM_Util.adminAction(sender.getName(), "De-opping " + player.getName(), false);
matchedPlayerNames.add(player.getName());
player.setOp(false);
player.sendMessage(TFM_Command.YOU_ARE_NOT_OP);
}
player.setOp(false);
player.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP);
}
}
if (!matched_player)
if (!matchedPlayerNames.isEmpty())
{
if (!silent)
{
TFM_Util.adminAction(sender.getName(), "De-opping " + StringUtils.join(matchedPlayerNames, ", "), false);
}
}
else
{
playerMsg("No targets matched.");
}

View file

@ -1,7 +1,9 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import java.util.ArrayList;
import java.util.List;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -24,26 +26,30 @@ public class Command_qop extends TFM_Command
silent = args[1].equalsIgnoreCase("-s");
}
boolean matched_player = false;
final String targetName = args[0].toLowerCase();
String targetName = args[0].toLowerCase();
for (Player player : server.getOnlinePlayers())
final List<String> matchedPlayerNames = new ArrayList<String>();
for (final Player player : server.getOnlinePlayers())
{
if (player.getName().toLowerCase().indexOf(targetName) != -1 || player.getDisplayName().toLowerCase().indexOf(targetName) != -1)
if (player.getName().toLowerCase().contains(targetName) || player.getDisplayName().toLowerCase().contains(targetName))
{
matched_player = true;
if (!silent)
if (!player.isOp())
{
TFM_Util.adminAction(sender.getName(), "Opping " + player.getName(), false);
matchedPlayerNames.add(player.getName());
player.setOp(true);
player.sendMessage(TFM_Command.YOU_ARE_OP);
}
player.setOp(true);
player.sendMessage(TotalFreedomMod.YOU_ARE_OP);
}
}
if (!matched_player)
if (!matchedPlayerNames.isEmpty())
{
if (!silent)
{
TFM_Util.adminAction(sender.getName(), "Opping " + StringUtils.join(matchedPlayerNames, ", "), false);
}
}
else
{
playerMsg("No targets matched.");
}

View file

@ -1,7 +1,6 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerRank;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -38,11 +37,10 @@ public class Command_rank extends TFM_Command
if (player == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}
playerMsg(player.getName() + " is " + TFM_PlayerRank.fromSender(player).getLoginMessage(), ChatColor.AQUA);
return true;

View file

@ -3,7 +3,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import java.util.ArrayList;
import java.util.List;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.Material;
@ -71,7 +70,7 @@ public class Command_ro extends TFM_Command
targetPlayer = getPlayer(args[2]);
if (targetPlayer == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
playerMsg(TFM_Command.PLAYER_NOT_FOUND);
return true;
}
}

View file

@ -6,9 +6,7 @@ import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import me.StevenLawson.TotalFreedomMod.TFM_TwitterHandler;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
@ -40,7 +38,7 @@ public class Command_saconfig extends TFM_Command
{
if (!TFM_AdminList.isSeniorAdmin(sender, true))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
playerMsg(TFM_Command.MSG_NO_PERMS);
return true;
}
@ -54,7 +52,7 @@ public class Command_saconfig extends TFM_Command
// All commands below are superadmin+ commands.
if (!TFM_AdminList.isSuperAdmin(sender))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
playerMsg(TFM_Command.MSG_NO_PERMS);
return true;
}
@ -62,7 +60,7 @@ public class Command_saconfig extends TFM_Command
{
if (senderIsConsole)
{
playerMsg(TotalFreedomMod.NOT_FROM_CONSOLE);
playerMsg(TFM_Command.NOT_FROM_CONSOLE);
return true;
}
@ -158,7 +156,7 @@ public class Command_saconfig extends TFM_Command
if (superadmin == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
playerMsg(TFM_Command.PLAYER_NOT_FOUND);
return true;
}
@ -175,7 +173,7 @@ public class Command_saconfig extends TFM_Command
if (playerdata.isFrozen())
{
playerdata.setFrozen(false);
TFM_Util.playerMsg((Player) player, "You have been unfrozen.");
playerMsg((Player) player, "You have been unfrozen.");
}
}
@ -186,7 +184,7 @@ public class Command_saconfig extends TFM_Command
{
if (!TFM_AdminList.isSeniorAdmin(sender))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
playerMsg(TFM_Command.MSG_NO_PERMS);
return true;
}

View file

@ -1,7 +1,6 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Location;
@ -26,7 +25,7 @@ public class Command_smite extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
playerMsg(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -102,7 +102,7 @@ public class Command_stfu extends TFM_Command
if (player == null)
{
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
return true;
}

View file

@ -2,7 +2,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.GameMode;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -36,7 +35,7 @@ public class Command_survival extends TFM_Command
{
if (!TFM_AdminList.isSuperAdmin(sender) || senderIsConsole)
{
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
sender.sendMessage(TFM_Command.MSG_NO_PERMS);
return true;
}
@ -55,7 +54,7 @@ public class Command_survival extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
playerMsg(TFM_Command.PLAYER_NOT_FOUND);
return true;
}
}

View file

@ -5,7 +5,6 @@ import java.util.List;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
@ -18,73 +17,80 @@ public class Command_tag extends TFM_Command
{
public static final List<String> FORBIDDEN_WORDS = Arrays.asList(new String[]
{
"admin", "owner", "moderator", "developer", "&k"
"admin", "owner", "moderator", "developer", "console"
});
@Override
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (args.length < 1)
{
return false;
}
if (args.length == 1)
{
if ("clearall".equals(args[0]))
if ("list".equalsIgnoreCase(args[0]))
{
playerMsg("Tags for all online players:");
for (final Player player : server.getOnlinePlayers())
{
final TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
if (playerdata.getTag() != null)
{
playerMsg(player.getName() + ": " + playerdata.getTag());
}
}
return true;
}
else if ("clearall".equalsIgnoreCase(args[0]))
{
if (!TFM_AdminList.isSuperAdmin(sender))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
playerMsg(TFM_Command.MSG_NO_PERMS);
return true;
}
TFM_Util.adminAction(sender.getName(), "Removing all tags", false);
int count = 0;
for (Player player : server.getOnlinePlayers())
{
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
int count = 0;
for (final Player player : server.getOnlinePlayers())
{
final TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
if (playerdata.getTag() != null)
{
count++;
TFM_PlayerData.getPlayerData(player).setTag(null);
playerdata.setTag(null);
}
}
playerMsg(count + " tag(s) removed.");
return true;
}
if (senderIsConsole)
else if ("off".equalsIgnoreCase(args[0]))
{
playerMsg("Only in-game players can set tags. Use \"/tag clearall\" to reset all tags.");
if (senderIsConsole)
{
playerMsg("\"/tag off\" can't be used from the console. Use \"/tag clear <player>\" or \"/tag clearall\" instead.");
}
else
{
TFM_PlayerData.getPlayerData(sender_p).setTag(null);
playerMsg("Your tag has been removed.");
}
return true;
}
if ("off".equals(args[0]))
else
{
TFM_PlayerData.getPlayerData(sender_p).setTag(null);
playerMsg("Your tag has been removed.");
return true;
return false;
}
if (ChatColor.stripColor(TFM_Util.colorize(args[0])).length() > 20)
{
playerMsg("That tag is too long [Max = 20 characters, not including color codes].");
return true;
}
return false;
}
if (args.length == 2)
else if (args.length >= 2)
{
if ("clear".equals(args[0]))
if ("clear".equalsIgnoreCase(args[0]))
{
if (!TFM_AdminList.isSuperAdmin(sender))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
playerMsg(TFM_Command.MSG_NO_PERMS);
return true;
}
@ -92,48 +98,62 @@ public class Command_tag extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
playerMsg(TFM_Command.PLAYER_NOT_FOUND);
return true;
}
TFM_PlayerData.getPlayerData(player).setTag(null);
playerMsg("Removed " + player.getName() + "'s tag.");
return true;
}
}
if ("set".equals(args[0]))
{
final String tag = StringUtils.join(args, " ", 1, args.length);
if (!TFM_AdminList.isSuperAdmin(sender))
else if ("set".equalsIgnoreCase(args[0]))
{
for (String word : FORBIDDEN_WORDS)
final String inputTag = StringUtils.join(args, " ", 1, args.length);
final String outputTag = TFM_Util.colorize(StringUtils.replaceEachRepeatedly(StringUtils.strip(inputTag),
new String[]
{
"" + ChatColor.COLOR_CHAR, "&k"
},
new String[]
{
"", ""
}
)) + ChatColor.RESET;
if (!TFM_AdminList.isSuperAdmin(sender))
{
if (!tag.toLowerCase().contains(word))
final String rawTag = ChatColor.stripColor(outputTag).toLowerCase();
if (rawTag.length() > 20)
{
continue;
playerMsg("That tag is too long (Max is 20 characters).");
return true;
}
if (word.contains(String.valueOf(ChatColor.COLOR_CHAR)))
for (String word : FORBIDDEN_WORDS)
{
playerMsg("That tag contains a forbidden color-code.");
if (rawTag.contains(word))
{
playerMsg("That tag contains a forbidden word.");
return true;
}
}
else
{
playerMsg("That tag contains a forbidden word.");
}
return true;
}
TFM_PlayerData.getPlayerData(sender_p).setTag(outputTag);
playerMsg("Tag set to '" + outputTag + "'.");
return true;
}
else
{
return false;
}
TFM_PlayerData.getPlayerData(sender_p).setTag(TFM_Util.colorize(tag));
playerMsg("Tag set to " + TFM_Util.colorize(tag));
return true;
}
return false;
else
{
return false;
}
}
}

View file

@ -2,9 +2,7 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_Ban;
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.command.Command;
@ -27,11 +25,10 @@ public class Command_tban extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
playerMsg(TFM_Command.PLAYER_NOT_FOUND, ChatColor.RED);
return true;
}
// strike with lightning effect:
final Location targetPos = player.getLocation();
for (int x = -1; x <= 1; x++)

View file

@ -31,7 +31,7 @@ public class Command_tempban extends TFM_Command
if (player == null)
{
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
playerMsg(TFM_Command.PLAYER_NOT_FOUND);
return true;
}
@ -55,7 +55,6 @@ public class Command_tempban extends TFM_Command
message.append(", Reason: \"").append(reason).append("\"");
}
// strike with lightning effect:
final Location targetPos = player.getLocation();
for (int x = -1; x <= 1; x++)
@ -72,7 +71,6 @@ public class Command_tempban extends TFM_Command
TFM_BanManager.addIpBan(new TFM_Ban(TFM_Util.getIp(player), player.getName(), sender.getName(), expires, reason));
TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUniqueId(player), player.getName(), sender.getName(), expires, reason));
player.kickPlayer(sender.getName() + " - " + message.toString());
return true;

View file

@ -1,6 +1,7 @@
package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
import me.StevenLawson.TotalFreedomMod.Config.TFM_MainConfig;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
import me.StevenLawson.TotalFreedomMod.TFM_CommandBlocker;
@ -13,6 +14,9 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
/*
* See https://github.com/TotalFreedom/License - This file may not be edited or removed.
*/
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
@CommandParameters(description = "Shows information about TotalFreedomMod or reloads it", usage = "/<command> [reload]")
public class Command_tfm extends TFM_Command
@ -29,17 +33,17 @@ public class Command_tfm extends TFM_Command
if (!TFM_AdminList.isSuperAdmin(sender))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
playerMsg(TFM_Command.MSG_NO_PERMS);
return true;
}
TFM_MainConfig.load();
TFM_AdminList.load();
TFM_PermbanList.load();
TFM_PlayerList.load();
TFM_BanManager.load();
TFM_CommandBlocker.load();
final String message = String.format("%s v%s.%s reloaded.",
TotalFreedomMod.pluginName,
TotalFreedomMod.pluginVersion,

View file

@ -3,7 +3,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import java.io.File;
import me.StevenLawson.TotalFreedomMod.TFM_Log;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -28,7 +27,7 @@ public class Command_tfupdate extends TFM_Command
if (!sender.getName().equalsIgnoreCase("madgeek1450"))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
playerMsg(TFM_Command.MSG_NO_PERMS);
return true;
}

View file

@ -141,7 +141,7 @@ public class Command_toggle extends TFM_Command
}
catch (NumberFormatException ex)
{
TFM_Util.playerMsg(sender, ex.getMessage());
playerMsg(ex.getMessage());
return true;
}
}

View file

@ -3,7 +3,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
import me.StevenLawson.TotalFreedomMod.TFM_TwitterHandler;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -18,7 +17,7 @@ public class Command_twitter extends TFM_Command
{
if (!TFM_ConfigEntry.TWITTERBOT_ENABLED.getBoolean())
{
TFM_Util.playerMsg(sender, "TwitterBot has been disabled in config.", ChatColor.RED);
playerMsg("TwitterBot has been disabled in config.", ChatColor.RED);
return true;
}
@ -36,7 +35,7 @@ public class Command_twitter extends TFM_Command
if (args[1].startsWith("@"))
{
TFM_Util.playerMsg(sender, "Please do not prefix your twitter username with '@'");
playerMsg("Please do not prefix your twitter username with '@'");
return true;
}
@ -44,28 +43,28 @@ public class Command_twitter extends TFM_Command
if ("ok".equals(reply))
{
TFM_Util.playerMsg(sender, "Your twitter handle has been set to: " + ChatColor.AQUA + "@" + args[1] + ChatColor.GRAY + ".");
playerMsg("Your twitter handle has been set to: " + ChatColor.AQUA + "@" + args[1] + ChatColor.GRAY + ".");
}
else if ("disabled".equals(reply))
{
TFM_Util.playerMsg(sender, "TwitterBot has been temporarily disabled,, please wait until it get re-enabled", ChatColor.RED);
playerMsg("TwitterBot has been temporarily disabled,, please wait until it get re-enabled", ChatColor.RED);
}
else if ("failed".equals(reply))
{
TFM_Util.playerMsg(sender, "There was a problem querying the database, please let a developer know.", ChatColor.RED);
playerMsg("There was a problem querying the database, please let a developer know.", ChatColor.RED);
}
else if ("false".equals(reply))
{
TFM_Util.playerMsg(sender, "There was a problem with the database, please let a developer know.", ChatColor.RED);
playerMsg("There was a problem with the database, please let a developer know.", ChatColor.RED);
}
else if ("cannotauth".equals(reply))
{
TFM_Util.playerMsg(sender, "The database password is incorrect, please let a developer know.", ChatColor.RED);
playerMsg("The database password is incorrect, please let a developer know.", ChatColor.RED);
}
else
{
TFM_Util.playerMsg(sender, "An unknown error occurred, please contact a developer", ChatColor.RED);
TFM_Util.playerMsg(sender, "Response code: " + reply);
playerMsg("An unknown error occurred, please contact a developer", ChatColor.RED);
playerMsg("Response code: " + reply);
}
return true;
}
@ -78,33 +77,33 @@ public class Command_twitter extends TFM_Command
if ("info".equals(args[0]))
{
String reply = TFM_TwitterHandler.getTwitter(sender.getName());
TFM_Util.playerMsg(sender, "-- Twitter Information --", ChatColor.BLUE);
TFM_Util.playerMsg(sender, "Using this feature, you can re-super yourself using twitter.");
TFM_Util.playerMsg(sender, "You can set your twitter handle using " + ChatColor.AQUA + "/twitter set [twittername]");
TFM_Util.playerMsg(sender, "Then, you can verify yourself by tweeting " + ChatColor.AQUA + "@TFUpdates #superme");
playerMsg("-- Twitter Information --", ChatColor.BLUE);
playerMsg("Using this feature, you can re-super yourself using twitter.");
playerMsg("You can set your twitter handle using " + ChatColor.AQUA + "/twitter set [twittername]");
playerMsg("Then, you can verify yourself by tweeting " + ChatColor.AQUA + "@TFUpdates #superme");
if ("notfound".equals(reply))
{
TFM_Util.playerMsg(sender, "You currently have " + ChatColor.RED + "no" + ChatColor.BLUE + " Twitter handle set.", ChatColor.BLUE);
playerMsg("You currently have " + ChatColor.RED + "no" + ChatColor.BLUE + " Twitter handle set.", ChatColor.BLUE);
}
else if ("disabled".equals(reply))
{
TFM_Util.playerMsg(sender, "TwitterBot has been temporarily disabled, please wait until re-enabled", ChatColor.RED);
playerMsg("TwitterBot has been temporarily disabled, please wait until re-enabled", ChatColor.RED);
}
else if ("failed".equals(reply))
{
TFM_Util.playerMsg(sender, "There was a problem querying the database, please let a developer know.", ChatColor.RED);
playerMsg("There was a problem querying the database, please let a developer know.", ChatColor.RED);
}
else if ("false".equals(reply))
{
TFM_Util.playerMsg(sender, "There was a problem with the database, please let a developer know.", ChatColor.RED);
playerMsg("There was a problem with the database, please let a developer know.", ChatColor.RED);
}
else if ("cannotauth".equals(reply))
{
TFM_Util.playerMsg(sender, "The database password is incorrect, please let a developer know.", ChatColor.RED);
playerMsg("The database password is incorrect, please let a developer know.", ChatColor.RED);
}
else
{
TFM_Util.playerMsg(sender, "Your current twitter handle: " + ChatColor.AQUA + "@" + reply + ChatColor.BLUE + ".", ChatColor.BLUE);
playerMsg("Your current twitter handle: " + ChatColor.AQUA + "@" + reply + ChatColor.BLUE + ".", ChatColor.BLUE);
}
return true;
}
@ -113,13 +112,13 @@ public class Command_twitter extends TFM_Command
{
if (!sender.getName().equalsIgnoreCase("DarthSalamon"))
{
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
sender.sendMessage(TFM_Command.MSG_NO_PERMS);
return true;
}
TFM_Util.adminAction(sender.getName(), ("enable".equals(args[0]) ? "Ena" : "Disa") + "bling Twitterbot", true);
String reply = TFM_TwitterHandler.setEnabled(args[0] + "d");
TFM_Util.playerMsg(sender, "Reply: " + reply);
playerMsg("Reply: " + reply);
return true;
}

View file

@ -109,7 +109,6 @@ public class Command_uuid extends TFM_Command
}
return false;
}

View file

@ -3,7 +3,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -58,7 +57,7 @@ public class Command_whitelist extends TFM_Command
// all commands past this line are superadmin-only
if (!(senderIsConsole || TFM_AdminList.isSuperAdmin(sender)))
{
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
sender.sendMessage(TFM_Command.MSG_NO_PERMS);
return true;
}
@ -152,7 +151,7 @@ public class Command_whitelist extends TFM_Command
// all commands past this line are console/telnet only
if (!senderIsConsole)
{
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
sender.sendMessage(TFM_Command.MSG_NO_PERMS);
return true;
}

View file

@ -13,6 +13,12 @@ import org.bukkit.entity.Player;
public abstract class TFM_Command
{
public static final String MSG_NO_PERMS = ChatColor.YELLOW + "You do not have permission to use this command.";
public static final String YOU_ARE_OP = ChatColor.YELLOW + "You are now op!";
public static final String YOU_ARE_NOT_OP = ChatColor.YELLOW + "You are no longer op!";
public static final String NOT_FROM_CONSOLE = "This command may not be used from the console.";
public static final String PLAYER_NOT_FOUND = ChatColor.GRAY + "Player not found!";
protected TotalFreedomMod plugin;
protected Server server;
private CommandSender commandSender;

View file

@ -40,7 +40,6 @@ public class TFM_CommandHandler
StringUtils.join(args, " ")), true);
}
final TFM_Command dispatcher;
try
{
@ -62,7 +61,7 @@ public class TFM_CommandHandler
if (!dispatcher.senderHasPermission())
{
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
sender.sendMessage(TFM_Command.MSG_NO_PERMS);
return true;
}

View file

@ -4,7 +4,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import me.StevenLawson.TotalFreedomMod.TFM_Util;
import org.apache.commons.lang.exception.ExceptionUtils;
import net.minecraft.util.org.apache.commons.lang3.exception.ExceptionUtils;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.Plugin;

View file

@ -629,9 +629,8 @@ public class TFM_PlayerListener implements Listener
// Set the tag
if (playerdata.getTag() != null)
{
player.setDisplayName((playerdata.getTag() + " " + player.getDisplayName().replaceAll(" ", "")));
event.setFormat("<" + playerdata.getTag().replaceAll("%", "%%") + " %1$s> %2$s");
}
}
catch (Exception ex)
{
@ -857,26 +856,37 @@ public class TFM_PlayerListener implements Listener
@EventHandler(priority = EventPriority.HIGH)
public static void onPlayerJoinEvent(PlayerJoinEvent event)
{
Player player = event.getPlayer();
final Player player = event.getPlayer();
String name = player.getName();
if (TFM_Util.DEVELOPERS.contains(player.getName()))
{
player.setPlayerListName(ChatColor.DARK_PURPLE + player.getName());
name = ChatColor.DARK_PURPLE + name;
TFM_PlayerData.getPlayerData(player).setTag("&8[&5Developer&8]");
}
else if (TFM_AdminList.isSeniorAdmin(player))
{
player.setPlayerListName(ChatColor.LIGHT_PURPLE + player.getName());
name = ChatColor.LIGHT_PURPLE + name;
TFM_PlayerData.getPlayerData(player).setTag("&8[&dSenior Admin&8]");
}
else if (TFM_AdminList.isTelnetAdmin(player, true))
{
player.setPlayerListName(ChatColor.DARK_GREEN + player.getName());
name = ChatColor.DARK_GREEN + name;
TFM_PlayerData.getPlayerData(player).setTag("&8[&2Telnet Admin&8]");
}
else if (TFM_AdminList.isSuperAdmin(player))
{
player.setPlayerListName(ChatColor.AQUA + player.getName());
name = ChatColor.AQUA + name;
TFM_PlayerData.getPlayerData(player).setTag("&8[&BSuper Admin&8]");
}
try
{
player.setPlayerListName(StringUtils.substring(name, 0, 16));
}
catch (IllegalArgumentException ex)
{
}
}
}

View file

@ -1,12 +1,16 @@
package me.StevenLawson.TotalFreedomMod.Listener;
import java.util.Iterator;
import java.util.Map;
import me.StevenLawson.BukkitTelnet.api.TelnetCommandEvent;
import me.StevenLawson.BukkitTelnet.api.TelnetRequestDataTagsEvent;
import me.StevenLawson.BukkitTelnet.api.TelnetPreLoginEvent;
import me.StevenLawson.TotalFreedomMod.Bridge.TFM_EssentialsBridge;
import me.StevenLawson.TotalFreedomMod.TFM_CommandBlocker;
import me.StevenLawson.TotalFreedomMod.TFM_Admin;
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
@ -25,7 +29,7 @@ public class TFM_TelnetListener implements Listener
final TFM_Admin admin = TFM_AdminList.getEntryByIp(ip, true);
if (admin == null || !admin.isTelnetAdmin())
if (admin == null || !admin.isActivated() || !admin.isTelnetAdmin())
{
return;
}
@ -42,4 +46,38 @@ public class TFM_TelnetListener implements Listener
event.setCancelled(true);
}
}
@EventHandler(priority = EventPriority.NORMAL)
public void onTelnetRequestDataTags(TelnetRequestDataTagsEvent event)
{
final Iterator<Map.Entry<Player, Map<String, Object>>> it = event.getDataTags().entrySet().iterator();
while (it.hasNext())
{
final Map.Entry<Player, Map<String, Object>> entry = it.next();
final Player player = entry.getKey();
final Map<String, Object> playerTags = entry.getValue();
boolean isAdmin = false;
boolean isTelnetAdmin = false;
boolean isSeniorAdmin = false;
final TFM_Admin admin = TFM_AdminList.getEntry(player);
if (admin != null)
{
boolean isActivated = admin.isActivated();
isAdmin = isActivated;
isTelnetAdmin = isActivated && admin.isTelnetAdmin();
isSeniorAdmin = isActivated && admin.isSeniorAdmin();
}
playerTags.put("tfm.admin.isAdmin", isAdmin);
playerTags.put("tfm.admin.isTelnetAdmin", isTelnetAdmin);
playerTags.put("tfm.admin.isSeniorAdmin", isSeniorAdmin);
playerTags.put("tfm.playerdata.getTag", TFM_PlayerData.getPlayerData(player).getTag());
playerTags.put("tfm.essentialsBridge.getNickname", TFM_EssentialsBridge.getNickname(player.getName()));
}
}
}

View file

@ -5,7 +5,7 @@ import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import org.apache.commons.lang.StringUtils;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.configuration.ConfigurationSection;
public class TFM_Admin

View file

@ -1,6 +1,5 @@
package me.StevenLawson.TotalFreedomMod;
import java.io.File;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
@ -22,7 +21,6 @@ import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import org.bukkit.util.FileUtil;
public class TFM_AdminList
{
@ -136,7 +134,6 @@ public class TFM_AdminList
admin.isSeniorAdmin(),
admin.isActivated());
newAdmin.addIps(admin.getIps());
adminList.remove(oldUuid);
@ -222,7 +219,6 @@ public class TFM_AdminList
telnetUUIDs.add(uuid);
}
if (admin.isSeniorAdmin())
{
seniorUUIDs.add(uuid);
@ -413,7 +409,6 @@ public class TFM_AdminList
}
}
if (!(sender instanceof Player))
{
return seniorConsoleNames.contains(sender.getName())
@ -443,7 +438,6 @@ public class TFM_AdminList
return true;
}
if (superIps.contains(TFM_Util.getIp(player)))
{
return true;

View file

@ -46,7 +46,7 @@ import org.bukkit.util.Vector;
*
* This class is a way to discourage amateur server operators who like to share binary copies of our plugin and promote it as their own work.
*
* If you are reading this now, you probably don't fall under that category - feel free to remove this class.
* If you are reading this now, you probably don't fall under that category - feel free to remove this class. Note: You may not edit this class.
*
* - Madgeek and Darth
*/

View file

@ -31,8 +31,8 @@ public class TFM_Heartbeat extends BukkitRunnable
{
lastRan = System.currentTimeMillis();
final boolean doAwayKickCheck =
TFM_ConfigEntry.AUTOKICK_ENABLED.getBoolean()
final boolean doAwayKickCheck
= TFM_ConfigEntry.AUTOKICK_ENABLED.getBoolean()
&& TFM_EssentialsBridge.isEssentialsEnabled()
&& ((server.getOnlinePlayers().length / server.getMaxPlayers()) > TFM_ConfigEntry.AUTOKICK_THRESHOLD.getDouble());

View file

@ -7,6 +7,7 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.UUID;
import me.StevenLawson.TotalFreedomMod.Bridge.TFM_EssentialsBridge;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
@ -72,7 +73,6 @@ public class TFM_PlayerData
return playerdata;
}
Iterator<Entry<Player, TFM_PlayerData>> it = userinfo.entrySet().iterator();
while (it.hasNext())
{
@ -391,7 +391,7 @@ public class TFM_PlayerData
player.setOp(false);
player.setGameMode(GameMode.SURVIVAL);
player.setFlying(false);
player.setDisplayName(player.getName());
TFM_EssentialsBridge.setNickname(player.getName(), player.getName());
player.closeInventory();
player.setTotalExperience(0);

View file

@ -70,7 +70,6 @@ public enum TFM_PlayerRank
return DEVELOPER;
}
final TFM_Admin entry = TFM_AdminList.getEntry((Player) sender);
final TFM_PlayerRank rank;

View file

@ -1,7 +1,14 @@
package me.StevenLawson.TotalFreedomMod;
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
import java.io.*;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.net.URL;
import java.nio.channels.Channels;
@ -10,12 +17,24 @@ import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import me.StevenLawson.TotalFreedomMod.Config.TFM_Config;
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
import net.minecraft.util.org.apache.commons.io.FileUtils;
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@ -49,6 +68,7 @@ public class TFM_Util
{
private static final Map<String, Integer> ejectTracker = new HashMap<String, Integer>();
public static final Map<String, EntityType> mobtypes = new HashMap<String, EntityType>();
// See https://github.com/TotalFreedom/License - None of the listed names may be removed.
public static final List<String> DEVELOPERS = Arrays.asList("Madgeek1450", "DarthSalamon", "AcidicCyanide", "wild1145", "WickedGamingUK");
private static final Random RANDOM = new Random();
public static String DATE_STORAGE_FORMAT = "EEE, d MMM yyyy HH:mm:ss Z";
@ -261,35 +281,31 @@ public class TFM_Util
return escapedIp.trim().replaceAll("_", "\\.");
}
public static void gotoWorld(CommandSender sender, String targetworld)
public static void gotoWorld(Player player, String targetWorld)
{
if (sender instanceof Player)
if (player == null)
{
Player player = (Player) sender;
return;
}
if (player.getWorld().getName().equalsIgnoreCase(targetworld))
if (player.getWorld().getName().equalsIgnoreCase(targetWorld))
{
playerMsg(player, "Going to main world.", ChatColor.GRAY);
player.teleport(Bukkit.getWorlds().get(0).getSpawnLocation());
return;
}
for (World world : Bukkit.getWorlds())
{
if (world.getName().equalsIgnoreCase(targetWorld))
{
sender.sendMessage(ChatColor.GRAY + "Going to main world.");
player.teleport(Bukkit.getWorlds().get(0).getSpawnLocation());
playerMsg(player, "Going to world: " + targetWorld, ChatColor.GRAY);
player.teleport(world.getSpawnLocation());
return;
}
for (World world : Bukkit.getWorlds())
{
if (world.getName().equalsIgnoreCase(targetworld))
{
sender.sendMessage(ChatColor.GRAY + "Going to world: " + targetworld);
player.teleport(world.getSpawnLocation());
return;
}
}
sender.sendMessage(ChatColor.GRAY + "World " + targetworld + " not found.");
}
else
{
sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE);
}
playerMsg(player, "World " + targetWorld + " not found.", ChatColor.GRAY);
}
public static String decolorize(String string)

View file

@ -5,7 +5,6 @@ import me.StevenLawson.TotalFreedomMod.World.TFM_Flatlands;
import me.StevenLawson.TotalFreedomMod.World.TFM_AdminWorld;
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
@ -15,8 +14,6 @@ import java.util.Properties;
import me.StevenLawson.TotalFreedomMod.Commands.TFM_CommandLoader;
import me.StevenLawson.TotalFreedomMod.HTTPD.TFM_HTTPD_Manager;
import me.StevenLawson.TotalFreedomMod.Listener.*;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.command.Command;
@ -38,13 +35,6 @@ public class TotalFreedomMod extends JavaPlugin
public static final String PROTECTED_AREA_FILE = "protectedareas.dat";
public static final String SAVED_FLAGS_FILE = "savedflags.dat";
//
public static final String MSG_NO_PERMS = ChatColor.YELLOW + "You do not have permission to use this command.";
public static final String YOU_ARE_OP = ChatColor.YELLOW + "You are now op!";
public static final String YOU_ARE_NOT_OP = ChatColor.YELLOW + "You are no longer op!";
public static final String CAKE_LYRICS = "But there's no sense crying over every mistake. You just keep on trying till you run out of cake.";
public static final String NOT_FROM_CONSOLE = "This command may not be used from the console.";
public static final String PLAYER_NOT_FOUND = ChatColor.GRAY + "Player not found!";
//
public static String buildNumber = "1";
public static String buildDate = TotalFreedomMod.buildDate = TFM_Util.dateToString(new Date());
public static String buildCreator = "Unknown";

View file

@ -56,4 +56,4 @@ public class CleanroomBlockPopulator extends BlockPopulator
}
}
}
}
}

View file

@ -233,4 +233,4 @@ public class CleanroomChunkGenerator extends ChunkGenerator
return new Location(world, 0, world.getHighestBlockYAt(0, 0), 0);
}
}
}