Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.gmail.bigbeno37.SimpleTeleport;
- import org.bukkit.Location;
- 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.Action;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.inventory.ItemStack;
- public class SimpleTeleportListener implements Listener{
- //Variables to add to tpBlocks in SimpleTeleport
- private static Location l = null;
- private static Location l2 = null;
- private static Block b = null;
- SimpleTeleport plugin;
- SimpleTeleportListener(SimpleTeleport p){
- plugin = p;
- }
- @EventHandler
- public void onPlayerRightClick(PlayerInteractEvent e){
- Player player = e.getPlayer();
- ItemStack stack = new ItemStack(Material.NETHER_STAR);
- if(e.getAction() == Action.RIGHT_CLICK_BLOCK){ //If the player right clicks a block..
- if(player.getItemInHand().isSimilar(stack)){ //with a nether star...
- if(SimpleTeleport.secondBlock == false){ //and secondBlock (see SimpleTeleport) is false...
- l = e.getClickedBlock().getLocation();
- player.sendMessage("Click the other block you want this to connect to!");
- SimpleTeleport.secondBlock = true;
- b = e.getClickedBlock();
- }else if(SimpleTeleport.secondBlock == true){ //else if secondBlock (see SimpleTeleport) is true...
- l2 = e.getClickedBlock().getLocation();
- player.sendMessage("The blocks have been set! To teleport, step on one of the blocks!");
- b.setType(Material.BEDROCK);
- e.getClickedBlock().setType(Material.BEDROCK);
- SimpleTeleport.tpBlocks.put(l, l2);
- SimpleTeleport.tpBlocks.put(l2, l);
- SimpleTeleport.secondBlock = false;
- }
- }
- }
- }
- @EventHandler
- public void onPlayerMoveTo(PlayerMoveEvent e){
- System.out.println("onPlayerMoveTo executed!");
- //if tpBlocks contains the location the player is moving to in either a key or value...
- if(SimpleTeleport.tpBlocks.containsKey(e.getTo()) || SimpleTeleport.tpBlocks.containsValue(e.getTo())){
- e.getPlayer().sendMessage("getTo worked!");
- e.getPlayer().teleport(SimpleTeleport.tpBlocks.get(e.getTo().add(2, 0, 2))); //To avoid an endless loop
- }else if(SimpleTeleport.tpBlocks.containsKey(e.getFrom()) || SimpleTeleport.tpBlocks.containsValue(e.getFrom())){
- e.getPlayer().sendMessage("getFrom worked!");
- e.getPlayer().teleport(SimpleTeleport.tpBlocks.get(e.getFrom().add(2, 0, 2)));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement