39 lines
1.5 KiB
Java
39 lines
1.5 KiB
Java
/*
|
|
* Copyright (c) 2018 univento.eu - All rights reserved
|
|
* You are not allowed to use, distribute or modify this code
|
|
*/
|
|
|
|
package eu.univento.teamvento.listener;
|
|
|
|
import eu.univento.core.api.player.CustomPlayer;
|
|
import eu.univento.teamvento.plot.Plot;
|
|
import eu.univento.teamvento.plot.PlotManager;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.Location;
|
|
import org.bukkit.Material;
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.event.block.Action;
|
|
import org.bukkit.event.player.PlayerInteractEvent;
|
|
|
|
public class SignInteract implements Listener {
|
|
|
|
@EventHandler
|
|
public void onInteract(PlayerInteractEvent e) {
|
|
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
|
|
if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
|
if(e.getClickedBlock().getType() == Material.ENCHANTMENT_TABLE && e.getClickedBlock().getLocation().add(0.0D, -1.0D, 0.0D).getBlock().getType() == Material.COMMAND) {
|
|
e.setCancelled(true);
|
|
if (PlotManager.hasPlot(p)) {
|
|
Plot plot = PlotManager.getPlotByPlayer(p);
|
|
assert plot != null;
|
|
Location loc = plot.getSpawn();
|
|
p.teleport(new Location(Bukkit.getWorld("plots"), loc.getX(), loc.getY(), loc.getZ(), 89.0F, 6.0F));
|
|
p.setFlying(true);
|
|
} else {
|
|
PlotManager.createPlot(p);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |