Merge pull request #13 from quonic/master

Fixed spelling errors
This commit is contained in:
Justin
2012-03-18 15:52:11 -07:00
3 changed files with 347 additions and 373 deletions

View File

@@ -1,342 +1,342 @@
package com.untamedears.Citadel;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.block.BlockRedstoneEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.Door;
import org.bukkit.plugin.java.JavaPlugin;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
public class BlockListener implements Listener
{
private HashMap<Block, Integer> delayedReenforcements;
private HashMap<Integer, Material> taskMaterial;
private HashMap<Integer, Player> taskInitiator;
public static HashMap<Player, Material> playerReenforcers;
private JavaPlugin myPlugin;
private Connection conn;
public BlockListener(JavaPlugin jp)throws SQLException, ClassNotFoundException
{
this.delayedReenforcements = new HashMap();
playerReenforcers = new HashMap();
this.taskMaterial = new HashMap();
this.taskInitiator = new HashMap();
this.myPlugin = jp;
this.conn = ((Citadel)this.myPlugin).connection;
}
@EventHandler
public void applyReenforcement(BlockPlaceEvent bpe)
{
Player placer = bpe.getPlayer();
Block block = bpe.getBlock();
Material matl = (Material)playerReenforcers.get(placer);
Integer pid = null;
if ((matl != null) && (Citadel.materialStrengths.containsKey(matl)) && (Citadel.materialRequirements.containsKey(matl)))
{
System.out.println("matl: " + matl + " requires: " + Citadel.materialRequirements.get(matl));
if (placer.getInventory().contains(matl, ((Integer)Citadel.materialRequirements.get(matl)).intValue()))
{
try
{
PreparedStatement tmp = this.conn.prepareStatement(
"INSERT INTO REENFORCEMENTS (x,y,z,world,durability) values (?,?,?,?,?)");
tmp.setInt(1, block.getX());
tmp.setInt(2, block.getY());
tmp.setInt(3, block.getZ());
tmp.setString(4, block.getWorld().getName());
tmp.setInt(5, ((Integer)Citadel.materialStrengths.get(matl)).intValue());
pid = Integer.valueOf(this.myPlugin.getServer().getScheduler().scheduleSyncDelayedTask(
this.myPlugin,
new DelayedReenforcement(tmp),
20L));
this.delayedReenforcements.put(block, pid);
placer.getInventory().removeItem(new ItemStack[] { new ItemStack(matl, ((Integer)Citadel.materialRequirements.get(matl)).intValue()) });
this.taskInitiator.put(pid, placer);
this.taskMaterial.put(pid, matl);
}
catch (SQLException e)
{
System.err.println("Exception creating reenforcement:\n" + e);
return;
}
}
else
{
placer.sendMessage(ChatColor.YELLOW + "You require more " + matl + " to continue reenforcements.");
playerReenforcers.remove(placer);
placer.sendMessage("You are now out of reenforcement mode");
}
}
}
@EventHandler
public void gracefullyRemoveReenforcementModeOnLogout(PlayerQuitEvent pqe)
{
if (playerReenforcers.containsKey(pqe.getPlayer()))
playerReenforcers.remove(pqe.getPlayer());
}
@EventHandler
public void checkDurabilityAndDelayedEventCheck(BlockBreakEvent bbe) {
Block tmp = bbe.getBlock();
if (this.delayedReenforcements.containsKey(tmp))
{
Integer pid = (Integer)this.delayedReenforcements.get(tmp);
Material matl = (Material)this.taskMaterial.get(pid);
this.myPlugin.getServer().getScheduler().cancelTask(((Integer)this.delayedReenforcements.get(tmp)).intValue());
((Player)this.taskInitiator.get(pid)).getInventory().addItem(new ItemStack[] { new ItemStack(matl, ((Integer)Citadel.materialRequirements.get(matl)).intValue()) });
this.delayedReenforcements.remove(tmp);
this.taskInitiator.remove(pid);
this.taskMaterial.remove(pid);
}
try
{
PreparedStatement ask = this.conn.prepareStatement(
"SELECT DURABILITY FROM REENFORCEMENTS WHERE x=? AND y=? AND z=? AND world=?");
ask.setInt(1, tmp.getX());
ask.setInt(2, tmp.getY());
ask.setInt(3, tmp.getZ());
ask.setString(4, tmp.getWorld().getName());
ask.execute();
ResultSet answer = ask.getResultSet();
if (!answer.next())
{
answer.close();
ask.close();
return;
}
int durability = answer.getInt(1);
durability--;
ask.close();
answer.close();
if (durability <= 0)
{
PreparedStatement delete = this.conn.prepareStatement(
"DELETE FROM REENFORCEMENTS WHERE x=? AND y=? AND z=? AND world=?");
delete.setInt(1, tmp.getX());
delete.setInt(2, tmp.getY());
delete.setInt(3, tmp.getZ());
delete.setString(4, tmp.getWorld().getName());
delete.execute();
delete.close();
}
else
{
bbe.setCancelled(true);
PreparedStatement update = this.conn.prepareStatement(
"UPDATE REENFORCEMENTS SET DURABILITY=? WHERE x=? AND y=? AND z=? AND world=?");
update.setInt(1, durability);
update.setInt(2, tmp.getX());
update.setInt(3, tmp.getY());
update.setInt(4, tmp.getZ());
update.setString(5, tmp.getWorld().getName());
update.execute();
update.close();
}
}
catch (SQLException e)
{
System.err.println("Citadel - error accessing database:\n" + e);
}
}
@EventHandler
public void controlAccess(PlayerInteractEvent pie) {
if (!pie.hasBlock()) return;
Block block = pie.getClickedBlock();
Material matl = block.getType();
Player p = pie.getPlayer();
try
{
if ((matl == Material.CHEST) || (matl == Material.WOODEN_DOOR) || (matl == Material.IRON_DOOR)) {
PreparedStatement tmp = this.conn.prepareStatement(
"SELECT grp FROM REGISTRY WHERE x=? AND y=? AND z=? AND world=?");
tmp.setInt(1, block.getX());
tmp.setInt(2, block.getY());
tmp.setInt(3, block.getZ());
tmp.setString(4, block.getWorld().getName());
tmp.execute();
ResultSet answer = tmp.getResultSet();
if (!answer.next()) {
answer.close();
tmp.close();
return;
}
do
{
PreparedStatement queryGroup = this.conn.prepareStatement(
"SELECT grpName FROM GROUPS WHERE grpName=? AND member=?");
queryGroup.setString(1, answer.getString(1));
queryGroup.setString(2, p.getPlayerListName());
queryGroup.execute();
ResultSet tmpRs = queryGroup.getResultSet();
if (tmpRs.next())
{
tmpRs.close();
queryGroup.close();
tmp.close();
return;
}
tmpRs.close();
queryGroup.close();
}
while (answer.next());
tmp.close();
p.sendMessage(ChatColor.RED + "That door/chest is locked.");
/*
p.sendMessage(ChatColor.RED + "That door/chest is locked. O NOZ!!!");
p.sendMessage(ChatColor.MAGIC + "Hey Beavis, that was, like, cool.");
p.sendMessage(ChatColor.YELLOW + "Huh huh.");
p.sendMessage(ChatColor.GREEN + "Uh, huh huh. Oh yeah. Money is cool!");
p.sendMessage(ChatColor.BLUE + "YEAH! It, like, uh, huh huh. Uh...");
p.sendMessage(ChatColor.LIGHT_PURPLE + "Huh huh huh. Uh, hmmmm, heh, huh, hmmm huh huh. Yeah.");
*/
pie.setCancelled(true);
}
}
catch (SQLException e)
{
System.err.println("Error when seeing if the door's part of a group:\n" + e);
}
}
public void controlRedstone(BlockRedstoneEvent bre)
{
Block block = bre.getBlock();
if ((block instanceof Door))
try
{
PreparedStatement tmp = this.conn.prepareStatement(
"SELECT group FROM REGISTRY WHERE x=? AND y=? AND z=? AND world=?");
tmp.setInt(1, block.getX());
tmp.setInt(2, block.getY());
tmp.setInt(3, block.getZ());
tmp.setString(4, block.getWorld().getName());
tmp.execute();
ResultSet answer = tmp.getResultSet();
if (answer.next())
{
bre.setNewCurrent(bre.getOldCurrent());
}
answer.close();
tmp.close();
}
catch (SQLException e)
{
System.err.println("Error in redstone protection checking:\n" + e);
}
}
@EventHandler
public void makePrivateGroup(PlayerLoginEvent ple)
{
((Citadel)this.myPlugin).playerPlacementState.put(ple.getPlayer(), Integer.valueOf(1));
try
{
PreparedStatement tmp = this.conn.prepareStatement("SELECT grpName FROM GROUPS WHERE grpName = ?");
tmp.setString(1, ple.getPlayer().getDisplayName());
tmp.execute();
ResultSet rs = tmp.getResultSet();
if (!rs.next())
{
tmp = this.conn.prepareStatement("INSERT INTO GROUPS (grpName,member) values (?,?)");
tmp.setString(1, ple.getPlayer().getDisplayName());
tmp.setString(2, ple.getPlayer().getDisplayName());
tmp.execute();
tmp.close();
}
rs.close();
tmp.close();
}
catch (SQLException e)
{
System.err.println("Error in seeing if player has self-group:\n" + e);
}
}
@EventHandler
public void secureDoorOrChest(BlockPlaceEvent bpe)
{
Block blk = bpe.getBlock();
Material object = bpe.getBlock().getType();
if ((object != Material.CHEST) && (object != Material.WOODEN_DOOR) && (object != Material.IRON_DOOR))
{
return;
}
Integer playerState = (Integer)((Citadel)this.myPlugin).playerPlacementState.get(bpe.getPlayer());
if (playerState == null)
{
((Citadel)this.myPlugin).playerPlacementState.put(bpe.getPlayer(), Integer.valueOf(1));
playerState = Integer.valueOf(1);
}
if (playerState.intValue() > 0)
{
try
{
PreparedStatement tmp = this.conn.prepareStatement(
"INSERT INTO REGISTRY (x,y,z,world,grp) VALUES (?,?,?,?,?)");
tmp.setInt(1, blk.getX());
tmp.setInt(2, blk.getY());
tmp.setInt(3, blk.getZ());
tmp.setString(4, blk.getWorld().getName());
tmp.setString(5, bpe.getPlayer().getDisplayName());
tmp.execute();
if (playerState.intValue() > 1)
{
tmp.setString(5, bpe.getPlayer().getDisplayName() + "Grp");
tmp.execute();
}
tmp.close();
}
catch (SQLException e)
{
System.err.println("Error putting chest/door into protection database:\n" + e);
}
}
}
public void close()
{
try
{
this.conn.close();
}
catch (SQLException e)
{
System.err.println("Citadel - Sorry, I'll have to close the database ungracefully!");
System.err.println(e.toString());
}
}
package com.untamedears.Citadel;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.block.BlockRedstoneEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.Door;
import org.bukkit.plugin.java.JavaPlugin;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
public class BlockListener implements Listener
{
private HashMap<Block, Integer> delayedReinforcements;
private HashMap<Integer, Material> taskMaterial;
private HashMap<Integer, Player> taskInitiator;
public static HashMap<Player, Material> playerReenforcers;
private JavaPlugin myPlugin;
private Connection conn;
public BlockListener(JavaPlugin jp)throws SQLException, ClassNotFoundException
{
this.delayedReinforcements = new HashMap();
playerReenforcers = new HashMap();
this.taskMaterial = new HashMap();
this.taskInitiator = new HashMap();
this.myPlugin = jp;
this.conn = ((Citadel)this.myPlugin).connection;
}
@EventHandler
public void applyReinforcement(BlockPlaceEvent bpe)
{
Player placer = bpe.getPlayer();
Block block = bpe.getBlock();
Material matl = (Material)playerReenforcers.get(placer);
Integer pid = null;
if ((matl != null) && (Citadel.materialStrengths.containsKey(matl)) && (Citadel.materialRequirements.containsKey(matl)))
{
System.out.println("matl: " + matl + " requires: " + Citadel.materialRequirements.get(matl));
if (placer.getInventory().contains(matl, ((Integer)Citadel.materialRequirements.get(matl)).intValue()))
{
try
{
PreparedStatement tmp = this.conn.prepareStatement(
"INSERT INTO REINFORCEMENTS (x,y,z,world,durability) values (?,?,?,?,?)");
tmp.setInt(1, block.getX());
tmp.setInt(2, block.getY());
tmp.setInt(3, block.getZ());
tmp.setString(4, block.getWorld().getName());
tmp.setInt(5, ((Integer)Citadel.materialStrengths.get(matl)).intValue());
pid = Integer.valueOf(this.myPlugin.getServer().getScheduler().scheduleSyncDelayedTask(
this.myPlugin,
new DelayedReinforcement(tmp),
20L));
this.delayedReinforcements.put(block, pid);
placer.getInventory().removeItem(new ItemStack[] { new ItemStack(matl, ((Integer)Citadel.materialRequirements.get(matl)).intValue()) });
this.taskInitiator.put(pid, placer);
this.taskMaterial.put(pid, matl);
}
catch (SQLException e)
{
System.err.println("Exception creating reinforcement:\n" + e);
return;
}
}
else
{
placer.sendMessage(ChatColor.YELLOW + "You require more " + matl + " to continue reinforcements.");
playerReenforcers.remove(placer);
placer.sendMessage("You are now out of reinforcement mode");
}
}
}
@EventHandler
public void gracefullyRemoveReinforcementModeOnLogout(PlayerQuitEvent pqe)
{
if (playerReenforcers.containsKey(pqe.getPlayer()))
playerReenforcers.remove(pqe.getPlayer());
}
@EventHandler
public void checkDurabilityAndDelayedEventCheck(BlockBreakEvent bbe) {
Block tmp = bbe.getBlock();
if (this.delayedReinforcements.containsKey(tmp))
{
Integer pid = (Integer)this.delayedReinforcements.get(tmp);
Material matl = (Material)this.taskMaterial.get(pid);
this.myPlugin.getServer().getScheduler().cancelTask(((Integer)this.delayedReinforcements.get(tmp)).intValue());
((Player)this.taskInitiator.get(pid)).getInventory().addItem(new ItemStack[] { new ItemStack(matl, ((Integer)Citadel.materialRequirements.get(matl)).intValue()) });
this.delayedReinforcements.remove(tmp);
this.taskInitiator.remove(pid);
this.taskMaterial.remove(pid);
}
try
{
PreparedStatement ask = this.conn.prepareStatement(
"SELECT DURABILITY FROM REINFORCEMENTS WHERE x=? AND y=? AND z=? AND world=?");
ask.setInt(1, tmp.getX());
ask.setInt(2, tmp.getY());
ask.setInt(3, tmp.getZ());
ask.setString(4, tmp.getWorld().getName());
ask.execute();
ResultSet answer = ask.getResultSet();
if (!answer.next())
{
answer.close();
ask.close();
return;
}
int durability = answer.getInt(1);
durability--;
ask.close();
answer.close();
if (durability <= 0)
{
PreparedStatement delete = this.conn.prepareStatement(
"DELETE FROM REINFORCEMENTS WHERE x=? AND y=? AND z=? AND world=?");
delete.setInt(1, tmp.getX());
delete.setInt(2, tmp.getY());
delete.setInt(3, tmp.getZ());
delete.setString(4, tmp.getWorld().getName());
delete.execute();
delete.close();
}
else
{
bbe.setCancelled(true);
PreparedStatement update = this.conn.prepareStatement(
"UPDATE REINFORCEMENTS SET DURABILITY=? WHERE x=? AND y=? AND z=? AND world=?");
update.setInt(1, durability);
update.setInt(2, tmp.getX());
update.setInt(3, tmp.getY());
update.setInt(4, tmp.getZ());
update.setString(5, tmp.getWorld().getName());
update.execute();
update.close();
}
}
catch (SQLException e)
{
System.err.println("Citadel - error accessing database:\n" + e);
}
}
@EventHandler
public void controlAccess(PlayerInteractEvent pie) {
if (!pie.hasBlock()) return;
Block block = pie.getClickedBlock();
Material matl = block.getType();
Player p = pie.getPlayer();
try
{
if ((matl == Material.CHEST) || (matl == Material.WOODEN_DOOR) || (matl == Material.IRON_DOOR)) {
PreparedStatement tmp = this.conn.prepareStatement(
"SELECT grp FROM REGISTRY WHERE x=? AND y=? AND z=? AND world=?");
tmp.setInt(1, block.getX());
tmp.setInt(2, block.getY());
tmp.setInt(3, block.getZ());
tmp.setString(4, block.getWorld().getName());
tmp.execute();
ResultSet answer = tmp.getResultSet();
if (!answer.next()) {
answer.close();
tmp.close();
return;
}
do
{
PreparedStatement queryGroup = this.conn.prepareStatement(
"SELECT grpName FROM GROUPS WHERE grpName=? AND member=?");
queryGroup.setString(1, answer.getString(1));
queryGroup.setString(2, p.getPlayerListName());
queryGroup.execute();
ResultSet tmpRs = queryGroup.getResultSet();
if (tmpRs.next())
{
tmpRs.close();
queryGroup.close();
tmp.close();
return;
}
tmpRs.close();
queryGroup.close();
}
while (answer.next());
tmp.close();
p.sendMessage(ChatColor.RED + "That door/chest is locked.");
/*
p.sendMessage(ChatColor.RED + "That door/chest is locked. O NOZ!!!");
p.sendMessage(ChatColor.MAGIC + "Hey Beavis, that was, like, cool.");
p.sendMessage(ChatColor.YELLOW + "Huh huh.");
p.sendMessage(ChatColor.GREEN + "Uh, huh huh. Oh yeah. Money is cool!");
p.sendMessage(ChatColor.BLUE + "YEAH! It, like, uh, huh huh. Uh...");
p.sendMessage(ChatColor.LIGHT_PURPLE + "Huh huh huh. Uh, hmmmm, heh, huh, hmmm huh huh. Yeah.");
*/
pie.setCancelled(true);
}
}
catch (SQLException e)
{
System.err.println("Error when seeing if the door's part of a group:\n" + e);
}
}
public void controlRedstone(BlockRedstoneEvent bre)
{
Block block = bre.getBlock();
if ((block instanceof Door))
try
{
PreparedStatement tmp = this.conn.prepareStatement(
"SELECT group FROM REGISTRY WHERE x=? AND y=? AND z=? AND world=?");
tmp.setInt(1, block.getX());
tmp.setInt(2, block.getY());
tmp.setInt(3, block.getZ());
tmp.setString(4, block.getWorld().getName());
tmp.execute();
ResultSet answer = tmp.getResultSet();
if (answer.next())
{
bre.setNewCurrent(bre.getOldCurrent());
}
answer.close();
tmp.close();
}
catch (SQLException e)
{
System.err.println("Error in redstone protection checking:\n" + e);
}
}
@EventHandler
public void makePrivateGroup(PlayerLoginEvent ple)
{
((Citadel)this.myPlugin).playerPlacementState.put(ple.getPlayer(), Integer.valueOf(1));
try
{
PreparedStatement tmp = this.conn.prepareStatement("SELECT grpName FROM GROUPS WHERE grpName = ?");
tmp.setString(1, ple.getPlayer().getDisplayName());
tmp.execute();
ResultSet rs = tmp.getResultSet();
if (!rs.next())
{
tmp = this.conn.prepareStatement("INSERT INTO GROUPS (grpName,member) values (?,?)");
tmp.setString(1, ple.getPlayer().getDisplayName());
tmp.setString(2, ple.getPlayer().getDisplayName());
tmp.execute();
tmp.close();
}
rs.close();
tmp.close();
}
catch (SQLException e)
{
System.err.println("Error in seeing if player has self-group:\n" + e);
}
}
@EventHandler
public void secureDoorOrChest(BlockPlaceEvent bpe)
{
Block blk = bpe.getBlock();
Material object = bpe.getBlock().getType();
if ((object != Material.CHEST) && (object != Material.WOODEN_DOOR) && (object != Material.IRON_DOOR))
{
return;
}
Integer playerState = (Integer)((Citadel)this.myPlugin).playerPlacementState.get(bpe.getPlayer());
if (playerState == null)
{
((Citadel)this.myPlugin).playerPlacementState.put(bpe.getPlayer(), Integer.valueOf(1));
playerState = Integer.valueOf(1);
}
if (playerState.intValue() > 0)
{
try
{
PreparedStatement tmp = this.conn.prepareStatement(
"INSERT INTO REGISTRY (x,y,z,world,grp) VALUES (?,?,?,?,?)");
tmp.setInt(1, blk.getX());
tmp.setInt(2, blk.getY());
tmp.setInt(3, blk.getZ());
tmp.setString(4, blk.getWorld().getName());
tmp.setString(5, bpe.getPlayer().getDisplayName());
tmp.execute();
if (playerState.intValue() > 1)
{
tmp.setString(5, bpe.getPlayer().getDisplayName() + "Grp");
tmp.execute();
}
tmp.close();
}
catch (SQLException e)
{
System.err.println("Error putting chest/door into protection database:\n" + e);
}
}
}
public void close()
{
try
{
this.conn.close();
}
catch (SQLException e)
{
System.err.println("Citadel - Sorry, I'll have to close the database ungracefully!");
System.err.println(e.toString());
}
}
}

View File

@@ -55,7 +55,7 @@ public class Citadel extends JavaPlugin
this.connection = DriverManager.getConnection("jdbc:sqlite:plugins/Citadel/Citadel.db");
this.connection.createStatement().execute(
"CREATE TABLE IF NOT EXISTS REENFORCEMENTS (x INTEGER,y INTEGER,z INTEGER,world TEXT,durability INTEGER);");
"CREATE TABLE IF NOT EXISTS REINFORCEMENTS (x INTEGER,y INTEGER,z INTEGER,world TEXT,durability INTEGER);");
this.connection.createStatement().execute(
"CREATE TABLE IF NOT EXISTS GROUPS (grpName TEXT,member TEXT);");
@@ -103,31 +103,31 @@ public class Citadel extends JavaPlugin
{
if (args.length < 1)
{
sender.sendMessage(ChatColor.RED + "Please specify reenforcement block type.");
sender.sendMessage(ChatColor.RED + "Please specify reinforcement block type.");
return true;
}
Material matl = Material.getMaterial(args[0].toUpperCase());
if (materialStrengths.containsKey(matl))
BlockListener.playerReenforcers.put((Player)sender, matl);
else
sender.sendMessage(ChatColor.YELLOW + "Material " + args[0] + " not found as applicable reenforcement material");
sender.sendMessage(ChatColor.YELLOW + "Material " + args[0] + " not found as applicable reinforcement material");
}
else if (cmd.getName().equalsIgnoreCase("ctstop"))
{
BlockListener.playerReenforcers.remove((Player)sender);
sender.sendMessage(ChatColor.GREEN + "You are now out of reenforcement mode");
sender.sendMessage(ChatColor.GREEN + "You are now out of reinforcement mode");
}
else if (cmd.getName().equalsIgnoreCase("ctplink"))
{
sender.sendMessage(ChatColor.RED + "Not yet implemented, sorry");
if (args.length < 1)
sender.sendMessage(ChatColor.RED + "Please specify reenforcement block type.");
sender.sendMessage(ChatColor.RED + "Please specify reinforcement block type.");
}
else if (cmd.getName().equalsIgnoreCase("ctlist"))
{
if ((materialRequirements.keySet() == null) || (materialRequirements.keySet().size() == 0))
{
sender.sendMessage(ChatColor.YELLOW + "No reenforcement materials available.");
sender.sendMessage(ChatColor.YELLOW + "No reinforcement materials available.");
}
for (Material m : materialRequirements.keySet())
sender.sendMessage(ChatColor.GREEN + m.toString() + " has strength " + materialStrengths.get(m) + " and you'll need " + materialRequirements.get(m) + " of it.");

View File

@@ -1,26 +0,0 @@
package com.untamedears.Citadel;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DelayedReenforcement implements Runnable
{
private PreparedStatement addReenforcedBlockStatement;
public DelayedReenforcement(PreparedStatement ps)
{
this.addReenforcedBlockStatement = ps;
}
public void run()
{
try
{
this.addReenforcedBlockStatement.execute();
this.addReenforcedBlockStatement.close();
} catch (SQLException e) {
System.err.println("Error in protecting block. Details:");
System.err.println(e.toString());
}
}
}