forked from LogBlock/LogBlock
Added /lb hide
This commit is contained in:
@ -5,6 +5,7 @@ import java.sql.DriverManager;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.HashSet;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.logging.Level;
|
||||
|
||||
@ -14,6 +15,7 @@ import org.bukkit.entity.Player;
|
||||
public class Consumer implements Runnable
|
||||
{
|
||||
private LinkedBlockingQueue<BlockRow> bqueue = new LinkedBlockingQueue<BlockRow>();
|
||||
private HashSet<Integer> hiddenplayers = new HashSet<Integer>();
|
||||
private Connection conn = null;
|
||||
|
||||
public void queueBlock(Player player, Block block, int typeAfter) {
|
||||
@ -31,6 +33,8 @@ public class Consumer implements Runnable
|
||||
public void queueBlock(String playerName, Block block, int typeBefore, int typeAfter, byte data, String signtext, ChestAccess ca) {
|
||||
if (block == null || typeBefore < 0 || typeAfter < 0)
|
||||
return;
|
||||
if (hiddenplayers.contains(playerName.hashCode()))
|
||||
return;
|
||||
String table = LogBlock.config.tables.get(block.getWorld().getName().hashCode());
|
||||
if (table == null)
|
||||
return;
|
||||
@ -49,6 +53,17 @@ public class Consumer implements Runnable
|
||||
return bqueue.size();
|
||||
}
|
||||
|
||||
public boolean hide(Player player) {
|
||||
int hash = player.getName().hashCode();
|
||||
if (hiddenplayers.contains(hash)) {
|
||||
hiddenplayers.remove(hash);
|
||||
return false;
|
||||
} else {
|
||||
hiddenplayers.add(hash);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void run() {
|
||||
try {
|
||||
if (conn == null || conn.isClosed())
|
||||
|
@ -184,12 +184,20 @@ public class LogBlock extends JavaPlugin
|
||||
if (free >= 0) {
|
||||
player.getInventory().setItem(free, player.getItemInHand());
|
||||
player.setItemInHand(new ItemStack(config.toolblockID, 1));
|
||||
player.sendMessage(ChatColor.GREEN + "Here is your tool.");
|
||||
player.sendMessage(ChatColor.GREEN + "Here's your tool.");
|
||||
} else
|
||||
player.sendMessage(ChatColor.RED + "You have no empty slot in your inventory");
|
||||
}
|
||||
} else
|
||||
player.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (args[0].equalsIgnoreCase("hide")) {
|
||||
if (CheckPermission(player, "logblock.hide")) {
|
||||
if (consumer.hide(player))
|
||||
player.sendMessage(ChatColor.GREEN + "You are now hided and won't appear in any log. Type '/lb hide' again to unhide");
|
||||
else
|
||||
player.sendMessage(ChatColor.GREEN + "You aren't hided anylonger.");
|
||||
} else
|
||||
player.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (args[0].equalsIgnoreCase("area")) {
|
||||
if (CheckPermission(player,"logblock.area")) {
|
||||
int radius = config.defaultDist;
|
||||
@ -458,6 +466,8 @@ public class LogBlock extends JavaPlugin
|
||||
return true;
|
||||
else if (permission.equals("logblock.area"))
|
||||
return player.isOp();
|
||||
else if (permission.equals("logblock.hide"))
|
||||
return player.isOp();
|
||||
else if (permission.equals("logblock.rollback"))
|
||||
return player.isOp();
|
||||
}
|
||||
|
Reference in New Issue
Block a user