package eltik.endran.hippo; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; public class HippoPractice { public static Map> hippo = new HashMap>(); public static List isBuilding = new ArrayList(); public static Map currentBlocks = new HashMap(); static Core plugin = Core.getPlugin(Core.class); public static void onStart(Player player) { giveItems(player); } public static void insertMap(final UUID uuid, final List list) { String finall = Serialize.serializeObject(list); try { PreparedStatement statement = plugin.getConnection() .prepareStatement("SELECT * FROM " + plugin.table + " WHERE UUID=?"); statement.setString(1, uuid.toString()); ResultSet results = statement.executeQuery(); if (!results.next()) { PreparedStatement insert = plugin.getConnection() .prepareStatement("INSERT INTO " + plugin.table + " (UUID,BLOCK) VALUES (?)"); insert.setString(1, uuid.toString()); insert.setString(2, finall); insert.executeUpdate(); results.close(); Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "Block Inserted"); } else { return; } } catch (SQLException e) { e.printStackTrace(); } } public static void startBuild(Player player) { resetMap(player); giveItems(player); ItemStack finishItem = new ItemStack(Material.REDSTONE); ItemMeta finishMeta = finishItem.getItemMeta(); finishMeta.setDisplayName(ChatColor.RED + "Save Hippo"); finishItem.setItemMeta(finishMeta); player.getInventory().addItem(finishItem); } public static void giveItems(Player player) { player.getInventory().clear(); ItemStack pickaxe = new ItemStack(Material.DIAMOND_PICKAXE); ItemMeta pickMeta = pickaxe.getItemMeta(); pickMeta.addEnchant(Enchantment.DIG_SPEED, 2, true); pickaxe.setItemMeta(pickMeta); ItemStack blocks = new ItemStack(Material.STAINED_CLAY, 64); player.getInventory().addItem(pickaxe); player.getInventory().addItem(blocks); player.getInventory().addItem(blocks); } public static void giveOther(Player player) { ItemStack buildMode = new ItemStack(Material.ANVIL); ItemMeta buildMeta = buildMode.getItemMeta(); buildMeta.setDisplayName(ChatColor.GREEN + "Build Mode | Modify Hippo"); buildMode.setItemMeta(buildMeta); ItemStack finishMode = new ItemStack(Material.SLIME_BALL); ItemMeta finishMeta = finishMode.getItemMeta(); finishMeta.setDisplayName(ChatColor.GREEN + "Finish"); finishMode.setItemMeta(finishMeta); player.getInventory().addItem(buildMode); player.getInventory().addItem(finishMode); } public static void resetMap(Player player) { for (Map.Entry entry : currentBlocks.entrySet()) { if (entry.getKey().equals(player)) { entry.getValue().setType(Material.AIR); entry.getKey().remove(); } } } }