package net.diamonddominion.esaych.global;
import net.diamonddominion.esaych.CustomPlugin;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.Sign;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class SignEdit {
private CustomPlugin plugin;
public SignEdit(CustomPlugin plugin) {
this.plugin = plugin;
}
public void enable() {
log("Enabled");
}
@SuppressWarnings("deprecation")
public boolean onCommand(CommandSender sender, String args[]) {
Player p = (Player) sender;
if (!p.hasPermission("customplugin.signedit")) {
p.sendMessage(ChatColor.RED + "You can't edit signs... Sorry!");
return true;
}
Block b = p.getTargetBlock(null, 5);
if (b != null && (b.getType().equals(Material.WALL_SIGN) || b.getType().equals(Material.SIGN_POST))) {
if (args.length >= 1) {
try {
int lineNum = Integer.parseInt(args[0]);
Sign s = (Sign) b.getState();
if (args.length == 1) {
s.setLine(lineNum - 1, "");
s.update();
return true;
}
String a = "";
for (int i = 1; i < args.length; i++) {
a += args[i] + " ";
}
a = a.substring(0, a.length()-1);
if (a.length() > 16) {
p.sendMessage(ChatColor.RED + "A sign line can be up to 16 characters long");
}
s.setLine(lineNum - 1, ChatColor.translateAlternateColorCodes('&', a));
s.update();
} catch (Exception e) {
p.sendMessage(ChatColor.RED + "Type /edit <lineNum> <line>");
}
return true;
} else {
p.sendMessage(ChatColor.RED + "Type /edit <lineNum> <line>");
return true;
}
} else {
p.sendMessage(ChatColor.RED + "You must look at a sign to edit");
return true;
}
}
public void log(String info) {
plugin.getLogger().info("<SignEdit> " + info);
}
}