mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-07-01 12:36:41 +00:00
Compare commits
25 Commits
Author | SHA1 | Date | |
---|---|---|---|
a2a6e39db9 | |||
c6ca262472 | |||
c96bdea066 | |||
893c7c2991 | |||
201d27e070 | |||
36ceb7007a | |||
6519ead121 | |||
95805dd9c1 | |||
6768854eda | |||
83176ba0b9 | |||
4a2b58bf97 | |||
79fc01eae7 | |||
d1d220f618 | |||
f6943b9754 | |||
2977167bd3 | |||
ad9e901aa0 | |||
4f6e4e2e87 | |||
d8ae364300 | |||
7f9661ec11 | |||
8d59ba59f4 | |||
6a7e866a53 | |||
63508addf4 | |||
b8ab56bed5 | |||
4853cc439b | |||
47dec49381 |
@ -1,5 +1,5 @@
|
|||||||
#Wed, 15 May 2013 15:22:48 +0200
|
#Mon, 03 Jun 2013 23:08:42 +0200
|
||||||
|
|
||||||
program.VERSION=2.16
|
program.VERSION=2.18
|
||||||
program.BUILDNUM=190
|
program.BUILDNUM=216
|
||||||
program.BUILDDATE=05/15/2013 03\:22 PM
|
program.BUILDDATE=06/03/2013 11\:08 PM
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
#Build Number for ANT. Do not edit!
|
#Build Number for ANT. Do not edit!
|
||||||
#Wed May 15 15:22:48 CEST 2013
|
#Mon Jun 03 23:08:42 CEST 2013
|
||||||
build.number=191
|
build.number=217
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# TotalFreedomMod v2.16 Configuration
|
# TotalFreedomMod v2.18 Configuration
|
||||||
# by Madgeek1450 and DarthSalamon
|
# by Madgeek1450 and DarthSalamon
|
||||||
|
|
||||||
# Block placement prevention:
|
# Block placement prevention:
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -29,23 +31,39 @@ public class Command_creative extends TFM_Command
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender))
|
if (args[0].equalsIgnoreCase("-a"))
|
||||||
{
|
{
|
||||||
try
|
if (!TFM_SuperadminList.isUserSuperadmin(sender))
|
||||||
|
{
|
||||||
|
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player.setGameMode(GameMode.CREATIVE);
|
||||||
}
|
|
||||||
catch (CantFindPlayerException ex)
|
|
||||||
{
|
|
||||||
sender.sendMessage(ex.getMessage());
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Changing everyone's gamemode to creative", false);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
if (!(senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)))
|
||||||
{
|
{
|
||||||
playerMsg("Only superadmins can change other user's gamemode.");
|
playerMsg("Only superadmins can change other user's gamemode.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
p = getPlayer(args[0]);
|
||||||
|
}
|
||||||
|
catch (CantFindPlayerException ex)
|
||||||
|
{
|
||||||
|
sender.sendMessage(ex.getMessage());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
playerMsg("Setting " + p.getName() + " to game mode 'Creative'.");
|
playerMsg("Setting " + p.getName() + " to game mode 'Creative'.");
|
||||||
|
@ -43,7 +43,7 @@ public class Command_gtfo extends TFM_Command
|
|||||||
|
|
||||||
//rollback
|
//rollback
|
||||||
|
|
||||||
server.dispatchCommand(sender, "rollback " + p.getName() + " all");
|
server.dispatchCommand(sender, "rollback " + p.getName());
|
||||||
|
|
||||||
|
|
||||||
// deop
|
// deop
|
||||||
|
@ -72,7 +72,7 @@ public class Command_list extends TFM_Command
|
|||||||
prefix = (ChatColor.GOLD + "[SA]");
|
prefix = (ChatColor.GOLD + "[SA]");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p.getName().equalsIgnoreCase("madgeek1450") || p.getName().equalsIgnoreCase("darthsalamon"))
|
if (TFM_Util.DEVELOPERS.contains(p.getName()))
|
||||||
{
|
{
|
||||||
prefix = (ChatColor.DARK_PURPLE + "[Dev]");
|
prefix = (ChatColor.DARK_PURPLE + "[Dev]");
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ public class Command_purgeall extends TFM_Command
|
|||||||
server.dispatchCommand(sender, "mute purge");
|
server.dispatchCommand(sender, "mute purge");
|
||||||
server.dispatchCommand(sender, "fr purge");
|
server.dispatchCommand(sender, "fr purge");
|
||||||
server.dispatchCommand(sender, "mp");
|
server.dispatchCommand(sender, "mp");
|
||||||
server.dispatchCommand(sender, "blockcmd");
|
server.dispatchCommand(sender, "blockcmd purge");
|
||||||
server.dispatchCommand(sender, "halt purge");
|
server.dispatchCommand(sender, "halt purge");
|
||||||
|
|
||||||
//If I'm missing any, lemme know. Or just add it yourself.
|
//If I'm missing any, lemme know. Or just add it yourself.
|
||||||
|
@ -0,0 +1,88 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_RollbackManager;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH, block_host_console = true)
|
||||||
|
@CommandParameters(description = "Issues a rollback on a player", usage = "/<command> <[partialname] | purge [partialname] | purgeall>", aliases = "rb")
|
||||||
|
public class Command_rollback extends TFM_Command {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (args.length > 2)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length == 1 && args[0].equalsIgnoreCase("purgeall"))
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Puring all rollback data", false);
|
||||||
|
playerMsg("Purged entries for " + TFM_RollbackManager.purgeEntries() + " players.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length == 2 && args[0].equalsIgnoreCase("purge"))
|
||||||
|
{
|
||||||
|
OfflinePlayer p;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
p = getPlayer(args[1]);
|
||||||
|
}
|
||||||
|
catch (CantFindPlayerException ex)
|
||||||
|
{
|
||||||
|
p = server.getOfflinePlayer(args[1]);
|
||||||
|
if (!p.hasPlayedBefore())
|
||||||
|
{
|
||||||
|
playerMsg("Player is not online, or never joined the server.", ChatColor.RED);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!TFM_RollbackManager.canRollback(p.getName()))
|
||||||
|
{
|
||||||
|
playerMsg("No rollback data found for that player", ChatColor.RED);
|
||||||
|
} else {
|
||||||
|
playerMsg("Purged " + TFM_RollbackManager.purgeEntries(p.getName()) + " entries.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length != 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
OfflinePlayer p;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
p = getPlayer(args[0]);
|
||||||
|
}
|
||||||
|
catch (CantFindPlayerException ex)
|
||||||
|
{
|
||||||
|
p = server.getOfflinePlayer(args[0]);
|
||||||
|
if (!p.hasPlayedBefore())
|
||||||
|
{
|
||||||
|
playerMsg("Player is not online, or never joined the server.", ChatColor.RED);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!TFM_RollbackManager.canRollback(p.getName()))
|
||||||
|
{
|
||||||
|
playerMsg("Player has no rollback data set.", ChatColor.RED);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Rolling back player: " + p.getName(), false);
|
||||||
|
playerMsg("Rolled back " + TFM_RollbackManager.rollback(p) + " blocks");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -17,7 +17,7 @@ public class Command_stop extends TFM_Command
|
|||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player p : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
p.kickPlayer("Server is going offline, come back in a few minutes.");
|
p.kickPlayer("Server is going offline, come back in about 20 seconds.");
|
||||||
}
|
}
|
||||||
|
|
||||||
server.shutdown();
|
server.shutdown();
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@ -8,7 +11,7 @@ import org.bukkit.command.CommandSender;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
||||||
@CommandParameters(description = "Quickly change your own gamemode to survival, or define someone's username to change theirs.", usage = "/<command> [partialname]")
|
@CommandParameters(description = "Quickly change your own gamemode to survival, or define someone's username to change theirs.", usage = "/<command> <[partialname] | -a>")
|
||||||
public class Command_survival extends TFM_Command
|
public class Command_survival extends TFM_Command
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
@ -24,12 +27,30 @@ public class Command_survival extends TFM_Command
|
|||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player p;
|
||||||
|
|
||||||
if (args.length == 0)
|
if (args.length == 0)
|
||||||
{
|
{
|
||||||
p = sender_p;
|
p = sender_p;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (args[0].equalsIgnoreCase("-a"))
|
||||||
|
{
|
||||||
|
if (!TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole)
|
||||||
|
{
|
||||||
|
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player player : server.getOnlinePlayers())
|
||||||
|
{
|
||||||
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Changing everyone's gamemode to survival", false);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender))
|
if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -18,6 +18,21 @@ public class Command_wildcard extends TFM_Command
|
|||||||
playerMsg("What the hell are you trying to do, you stupid idiot...", ChatColor.RED);
|
playerMsg("What the hell are you trying to do, you stupid idiot...", ChatColor.RED);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (args[0].equals("gtfo"))
|
||||||
|
{
|
||||||
|
playerMsg("Nice try", ChatColor.RED);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (args[0].equals("doom"))
|
||||||
|
{
|
||||||
|
playerMsg("Look, we all hate people, but this is not the way to deal with it, doom is evil enough!", ChatColor.RED);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (args[0].equals("saconfig"))
|
||||||
|
{
|
||||||
|
playerMsg("WOA, WTF are you trying to do???", ChatColor.RED);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
String base_command = StringUtils.join(args, " ");
|
String base_command = StringUtils.join(args, " ");
|
||||||
|
|
||||||
|
@ -3,12 +3,15 @@ package me.StevenLawson.TotalFreedomMod.Listener;
|
|||||||
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea;
|
import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_RollbackEntry;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_RollbackManager;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
@ -24,7 +27,6 @@ public class TFM_BlockListener implements Listener
|
|||||||
if (!TotalFreedomMod.allowFireSpread)
|
if (!TotalFreedomMod.allowFireSpread)
|
||||||
{
|
{
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,7 +36,6 @@ public class TFM_BlockListener implements Listener
|
|||||||
if (!TotalFreedomMod.allowFirePlace)
|
if (!TotalFreedomMod.allowFirePlace)
|
||||||
{
|
{
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,7 +96,6 @@ public class TFM_BlockListener implements Listener
|
|||||||
if (TFM_ProtectedArea.isInProtectedArea(block_pos))
|
if (TFM_ProtectedArea.isInProtectedArea(block_pos))
|
||||||
{
|
{
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -180,7 +180,6 @@ public class TFM_BlockListener implements Listener
|
|||||||
p.sendMessage(ChatColor.GRAY + "Lava placement is currently disabled.");
|
p.sendMessage(ChatColor.GRAY + "Lava placement is currently disabled.");
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -199,7 +198,6 @@ public class TFM_BlockListener implements Listener
|
|||||||
p.sendMessage(ChatColor.GRAY + "Water placement is currently disabled.");
|
p.sendMessage(ChatColor.GRAY + "Water placement is currently disabled.");
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -217,7 +215,6 @@ public class TFM_BlockListener implements Listener
|
|||||||
p.sendMessage(ChatColor.GRAY + "Fire placement is currently disabled.");
|
p.sendMessage(ChatColor.GRAY + "Fire placement is currently disabled.");
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -235,7 +232,6 @@ public class TFM_BlockListener implements Listener
|
|||||||
|
|
||||||
p.sendMessage(ChatColor.GRAY + "TNT is currently disabled.");
|
p.sendMessage(ChatColor.GRAY + "TNT is currently disabled.");
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -250,6 +246,22 @@ public class TFM_BlockListener implements Listener
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
||||||
|
public void onBlockPlaceRollback(BlockPlaceEvent event)
|
||||||
|
{
|
||||||
|
TFM_RollbackEntry entry = new TFM_RollbackEntry();
|
||||||
|
entry.setLocation(event.getBlock().getLocation());
|
||||||
|
entry.setMaterial(Material.AIR);
|
||||||
|
TFM_RollbackManager.blockUpdate(event.getPlayer(), entry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
|
public void onBlockBreakRollback(BlockBreakEvent event)
|
||||||
|
{
|
||||||
|
TFM_RollbackManager.blockUpdate(event.getPlayer(), event.getBlock());
|
||||||
|
}
|
||||||
|
|
||||||
// @EventHandler(priority = EventPriority.NORMAL)
|
// @EventHandler(priority = EventPriority.NORMAL)
|
||||||
// public void onCommandBlockChangeEvent(CommandBlockChangeEvent event)
|
// public void onCommandBlockChangeEvent(CommandBlockChangeEvent event)
|
||||||
// {
|
// {
|
||||||
|
@ -55,7 +55,6 @@ public class TFM_PlayerListener implements Listener
|
|||||||
player.getInventory().setItem(player.getInventory().getHeldItemSlot(), new ItemStack(Material.COOKIE, 1));
|
player.getInventory().setItem(player.getInventory().getHeldItemSlot(), new ItemStack(Material.COOKIE, 1));
|
||||||
player.sendMessage(ChatColor.GRAY + "Lava buckets are currently disabled.");
|
player.sendMessage(ChatColor.GRAY + "Lava buckets are currently disabled.");
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
case POTION:
|
case POTION:
|
||||||
{
|
{
|
||||||
@ -81,7 +80,6 @@ public class TFM_PlayerListener implements Listener
|
|||||||
playerdata.enqueueMob(rezzed_mob);
|
playerdata.enqueueMob(rezzed_mob);
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -491,6 +489,20 @@ public class TFM_PlayerListener implements Listener
|
|||||||
block_command = true;
|
block_command = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (Pattern.compile("^/nuke").matcher(command).find())
|
||||||
|
{
|
||||||
|
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
||||||
|
{
|
||||||
|
block_command = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (Pattern.compile("^/rl").matcher(command).find())
|
||||||
|
{
|
||||||
|
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
||||||
|
{
|
||||||
|
block_command = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (Pattern.compile("^/save-").matcher(command).find())
|
else if (Pattern.compile("^/save-").matcher(command).find())
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
||||||
@ -498,6 +510,13 @@ public class TFM_PlayerListener implements Listener
|
|||||||
block_command = true;
|
block_command = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (Pattern.compile("^/clearhistory").matcher(command).find())
|
||||||
|
{
|
||||||
|
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
||||||
|
{
|
||||||
|
block_command = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (block_command)
|
if (block_command)
|
||||||
{
|
{
|
||||||
|
54
src/me/StevenLawson/TotalFreedomMod/TFM_RollbackEntry.java
Normal file
54
src/me/StevenLawson/TotalFreedomMod/TFM_RollbackEntry.java
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
|
||||||
|
|
||||||
|
public class TFM_RollbackEntry
|
||||||
|
{
|
||||||
|
|
||||||
|
private Location location;
|
||||||
|
private Material material;
|
||||||
|
private byte data;
|
||||||
|
|
||||||
|
public TFM_RollbackEntry()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public TFM_RollbackEntry(Block block)
|
||||||
|
{
|
||||||
|
location = block.getLocation();
|
||||||
|
material = block.getType();
|
||||||
|
data = block.getData();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBlock(Block block)
|
||||||
|
{
|
||||||
|
location = block.getLocation();
|
||||||
|
material = block.getType();
|
||||||
|
data = block.getData();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLocation(Location location)
|
||||||
|
{
|
||||||
|
this.location = location;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMaterial(Material material)
|
||||||
|
{
|
||||||
|
this.material = material;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(byte data)
|
||||||
|
{
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void restore()
|
||||||
|
{
|
||||||
|
Block b = location.getWorld().getBlockAt(location);
|
||||||
|
b.setType(material);
|
||||||
|
b.setData(data);
|
||||||
|
}
|
||||||
|
}
|
86
src/me/StevenLawson/TotalFreedomMod/TFM_RollbackManager.java
Normal file
86
src/me/StevenLawson/TotalFreedomMod/TFM_RollbackManager.java
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
|
||||||
|
public class TFM_RollbackManager
|
||||||
|
{
|
||||||
|
public static Map<String, List<TFM_RollbackEntry>> entries = new HashMap<String, List<TFM_RollbackEntry>>();
|
||||||
|
|
||||||
|
public static void blockUpdate(OfflinePlayer player, Block block)
|
||||||
|
{
|
||||||
|
List <TFM_RollbackEntry> e;
|
||||||
|
if (entries.containsKey(player.getName()))
|
||||||
|
{
|
||||||
|
e = entries.get(player.getName());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
e = new ArrayList<TFM_RollbackEntry>();
|
||||||
|
}
|
||||||
|
e.add(0, new TFM_RollbackEntry(block));
|
||||||
|
entries.put(player.getName(), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void blockUpdate(OfflinePlayer player, TFM_RollbackEntry entry)
|
||||||
|
{
|
||||||
|
List <TFM_RollbackEntry> e;
|
||||||
|
if (entries.containsKey(player.getName()))
|
||||||
|
{
|
||||||
|
e = entries.get(player.getName());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
e = new ArrayList<TFM_RollbackEntry>();
|
||||||
|
}
|
||||||
|
e.add(entry);
|
||||||
|
entries.put(player.getName(), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int rollback(OfflinePlayer player)
|
||||||
|
{
|
||||||
|
if (!canRollback(player.getName()))
|
||||||
|
{
|
||||||
|
TFM_Log.severe("Could not rollback player: " + player.getName() + "! No entries are set");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<TFM_RollbackEntry> e = entries.get(player.getName());
|
||||||
|
int counter = 0;
|
||||||
|
for (TFM_RollbackEntry entry : e)
|
||||||
|
{
|
||||||
|
entry.restore();
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
entries.remove(player.getName());
|
||||||
|
return counter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean canRollback(String player)
|
||||||
|
{
|
||||||
|
return entries.containsKey(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int purgeEntries()
|
||||||
|
{
|
||||||
|
int counter = entries.size();
|
||||||
|
entries.clear();
|
||||||
|
return counter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int purgeEntries(String player)
|
||||||
|
{
|
||||||
|
if (!canRollback(player))
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int counter = entries.get(player).size();
|
||||||
|
entries.remove(player);
|
||||||
|
return counter;
|
||||||
|
}
|
||||||
|
}
|
@ -27,6 +27,7 @@ public class TFM_Util
|
|||||||
private static final Map<String, Integer> eject_tracker = new HashMap<String, Integer>();
|
private static final Map<String, Integer> eject_tracker = new HashMap<String, Integer>();
|
||||||
public static final Map<String, EntityType> mobtypes = new HashMap<String, EntityType>();
|
public static final Map<String, EntityType> mobtypes = new HashMap<String, EntityType>();
|
||||||
public static final List<String> STOP_COMMANDS = Arrays.asList("stop", "off", "end", "halt", "die");
|
public static final List<String> STOP_COMMANDS = Arrays.asList("stop", "off", "end", "halt", "die");
|
||||||
|
public static final List<String> DEVELOPERS = Arrays.asList("Madgeek1540", "DarthSalamon", "AcidicCyanide", "wild1145", "HeXeRei452", "Disaster839");
|
||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
@ -979,7 +980,9 @@ public class TFM_Util
|
|||||||
String prefix;
|
String prefix;
|
||||||
if (senderIsConsole) {
|
if (senderIsConsole) {
|
||||||
prefix = ChatColor.BLUE + "(Console)";
|
prefix = ChatColor.BLUE + "(Console)";
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if (TFM_SuperadminList.isSeniorAdmin(sender))
|
if (TFM_SuperadminList.isSeniorAdmin(sender))
|
||||||
{
|
{
|
||||||
prefix = ChatColor.LIGHT_PURPLE + "(SrA)";
|
prefix = ChatColor.LIGHT_PURPLE + "(SrA)";
|
||||||
@ -987,8 +990,7 @@ public class TFM_Util
|
|||||||
{
|
{
|
||||||
prefix = ChatColor.GOLD + "(SA)";
|
prefix = ChatColor.GOLD + "(SA)";
|
||||||
}
|
}
|
||||||
if (sender.getName().equalsIgnoreCase("Madgeek1450")
|
if (DEVELOPERS.contains(sender.getName()))
|
||||||
|| sender.getName().equalsIgnoreCase("DarthSalamon"))
|
|
||||||
{
|
{
|
||||||
prefix = ChatColor.DARK_PURPLE + "(Dev)";
|
prefix = ChatColor.DARK_PURPLE + "(Dev)";
|
||||||
}
|
}
|
||||||
|
@ -7,3 +7,4 @@ badplayer1:
|
|||||||
- 321.321.321.321
|
- 321.321.321.321
|
||||||
badplayer2:
|
badplayer2:
|
||||||
- 111.111.111.111
|
- 111.111.111.111
|
||||||
|
badplayer3: []
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
name: TotalFreedomMod
|
name: TotalFreedomMod
|
||||||
main: me.StevenLawson.TotalFreedomMod.TotalFreedomMod
|
main: me.StevenLawson.TotalFreedomMod.TotalFreedomMod
|
||||||
version: 2.16
|
version: 2.18
|
||||||
description: Plugin for the Total Freedom server.
|
description: Plugin for the Total Freedom server.
|
||||||
authors: [StevenLawson / Madgeek1450, JeromSar / DarthSalamon]
|
authors: [StevenLawson / Madgeek1450, JeromSar / DarthSalamon]
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ superadmins:
|
|||||||
- 127.0.0.1
|
- 127.0.0.1
|
||||||
- 8.8.8.8
|
- 8.8.8.8
|
||||||
last_login: Sun, 11 Nov 2012 01:09:14 -0500
|
last_login: Sun, 11 Nov 2012 01:09:14 -0500
|
||||||
custom_login_message: the &5Chief-Developer&b and &6Master-ass-kicker&b.
|
custom_login_message: the &4Co-Founder&b and &6Master-ass-kicker&b.
|
||||||
is_senior_admin: true
|
is_senior_admin: true
|
||||||
console_aliases:
|
console_aliases:
|
||||||
- madgeek
|
- madgeek
|
||||||
|
Reference in New Issue
Block a user