package eltik.endran.hippo; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; 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.BlockPlaceEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; public class PlayerListeners implements Listener { public static Map curHippo = new HashMap(); @EventHandler public void onPlace(BlockPlaceEvent event) { Player player = event.getPlayer(); Block block = event.getBlockPlaced(); HippoPractice.currentBlocks.put(player, block); if (HippoPractice.isBuilding.contains(player)) { curHippo.put(player, block); } } @EventHandler public void onInteract(PlayerInteractEvent event) { Player player = event.getPlayer(); if (event.getItem() == null) { return; } if (event.getItem().getType().equals(Material.ANVIL)) { ItemStack is = event.getItem(); ItemMeta im = is.getItemMeta(); if (im.getDisplayName().equals(ChatColor.GREEN + "Build Mode | Modify Hippo")) { HippoPractice.resetMap(player); HippoPractice.isBuilding.add(player); HippoPractice.startBuild(player); } } if (event.getItem().getType().equals(Material.REDSTONE)) { ItemStack is = event.getItem(); ItemMeta im = is.getItemMeta(); if (im.getDisplayName().equals(ChatColor.RED + "Save Hippo")) { HippoPractice.isBuilding.remove(player); List list = new ArrayList(); for (Map.Entry entry : curHippo.entrySet()) { if (entry.getKey().equals(player)) { list.add(entry.getValue()); entry.getKey().remove(); } } HippoPractice.insertMap(player.getUniqueId(), list); HippoPractice.giveItems(player); HippoPractice.giveOther(player); HippoPractice.resetMap(player); } } if (event.getItem().getType().equals(Material.SLIME_BALL)) { ItemStack is = event.getItem(); ItemMeta im = is.getItemMeta(); if (im.getDisplayName().equals(ChatColor.GREEN + "Finish")) { HippoPractice.giveItems(player); HippoPractice.giveOther(player); HippoPractice.resetMap(player); // Save time or something } } } }