Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package io.github.acespades.compassdeathpoint;
- import java.util.HashMap;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerRespawnEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.java.JavaPlugin;
- public class CompassDeathPoint extends JavaPlugin implements Listener {
- HashMap<Player, Location> map;
- @Override
- public void onEnable() {
- map = new HashMap<Player, Location>();
- getServer().getPluginManager().registerEvents(this, this);
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (cmd.getName().equalsIgnoreCase("cdp")) {
- if (sender instanceof Player) {
- if (args.length == 0) {
- Player player = (Player) sender;
- player.setCompassTarget(map.get(player));
- return true;
- }
- }
- }
- return false;
- }
- @EventHandler(priority = EventPriority.NORMAL)
- public void onDeath(PlayerDeathEvent pde) {
- Player player = (Player) pde.getEntity();
- Location loc = player.getLocation();
- if (map.containsKey(player)) {
- map.remove(player);
- }
- map.put(player, loc.clone());
- }
- @EventHandler(priority = EventPriority.NORMAL)
- public void onRespawn(PlayerRespawnEvent pre) {
- Player player = (Player) pre.getPlayer();
- if (map.containsKey(player)) {
- player.getInventory().addItem(new ItemStack(Material.COMPASS, 1));
- player.setCompassTarget(map.get(player));
- }
- }
- @EventHandler(priority = EventPriority.NORMAL)
- public void onPlayerInteract(PlayerInteractEvent pie) {
- Player player = pie.getPlayer();
- if (pie.getItem().getType() == Material.COMPASS) {
- if (map.containsKey(player)) {
- if ((pie.getAction() == Action.RIGHT_CLICK_AIR)||(pie.getAction() == Action.RIGHT_CLICK_BLOCK)) {
- player.setCompassTarget(map.get(player));
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement