Advertisement
Guest User

CompassDeathPoint

a guest
Jan 3rd, 2014
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.53 KB | None | 0 0
  1. package io.github.acespades.compassdeathpoint;
  2.  
  3. import java.util.HashMap;
  4. import org.bukkit.Location;
  5. import org.bukkit.Material;
  6. import org.bukkit.command.Command;
  7. import org.bukkit.command.CommandSender;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.EventPriority;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.block.Action;
  13. import org.bukkit.event.entity.PlayerDeathEvent;
  14. import org.bukkit.event.player.PlayerInteractEvent;
  15. import org.bukkit.event.player.PlayerRespawnEvent;
  16. import org.bukkit.inventory.ItemStack;
  17. import org.bukkit.plugin.java.JavaPlugin;
  18.  
  19. public class CompassDeathPoint extends JavaPlugin implements Listener {
  20.     HashMap<Player, Location> map;
  21.    
  22.     @Override
  23.     public void onEnable() {
  24.         map = new HashMap<Player, Location>();
  25.         getServer().getPluginManager().registerEvents(this, this);
  26.     }
  27.    
  28.     @Override
  29.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  30.         if (cmd.getName().equalsIgnoreCase("cdp")) {
  31.             if (sender instanceof Player) {
  32.                 if (args.length == 0) {
  33.                     Player player = (Player) sender;
  34.                     player.setCompassTarget(map.get(player));
  35.                     return true;
  36.                 }
  37.             }
  38.         }
  39.         return false;
  40.     }
  41.    
  42.     @EventHandler(priority = EventPriority.NORMAL)
  43.     public void onDeath(PlayerDeathEvent pde) {
  44.         Player player = (Player) pde.getEntity();
  45.         Location loc = player.getLocation();
  46.         if (map.containsKey(player)) {
  47.             map.remove(player);
  48.         }
  49.         map.put(player, loc.clone());
  50.     }
  51.    
  52.     @EventHandler(priority = EventPriority.NORMAL)
  53.     public void onRespawn(PlayerRespawnEvent pre) {
  54.         Player player = (Player) pre.getPlayer();
  55.         if (map.containsKey(player)) {
  56.             player.getInventory().addItem(new ItemStack(Material.COMPASS, 1));
  57.             player.setCompassTarget(map.get(player));
  58.         }
  59.     }
  60.    
  61.     @EventHandler(priority = EventPriority.NORMAL)
  62.     public void onPlayerInteract(PlayerInteractEvent pie) {
  63.         Player player = pie.getPlayer();
  64.         if (pie.getItem().getType() == Material.COMPASS) {
  65.             if (map.containsKey(player)) {
  66.                 if ((pie.getAction() == Action.RIGHT_CLICK_AIR)||(pie.getAction() == Action.RIGHT_CLICK_BLOCK)) {
  67.                     player.setCompassTarget(map.get(player));
  68.                 }
  69.             }
  70.         }
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement