package tv.mineinthebox.essentials.events.signs;
import java.util.Random;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.block.Sign;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import tv.mineinthebox.essentials.xEssentials;
import tv.mineinthebox.essentials.enums.PermissionKey;
import tv.mineinthebox.essentials.interfaces.EventTemplate;
public class WildSignEvent extends EventTemplate implements Listener {
public WildSignEvent(xEssentials pl) {
super(pl, "WildSign");
}
@EventHandler
public void onCreate(SignChangeEvent e) {
if(e.getLine(0).equalsIgnoreCase("[wild]")) {
if(e.getPlayer().hasPermission(PermissionKey.SIGN_WILD_SIGN.getPermission())) {
e.setLine(0, ChatColor.DARK_GRAY + "[wild]");
} else {
e.getBlock().breakNaturally();
sendMessage(e.getPlayer(), ChatColor.RED + "you are not allowed to make these kind of signs!");
}
}
}
private int xRadius = 10000;
private int zRadius = 10000;
@EventHandler
public void onInteract(PlayerInteractEvent e) {
if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
if(e.getClickedBlock().getState() instanceof Sign) {
Sign sign = (Sign) e.getClickedBlock().getState();
if(sign.getLine(0).equalsIgnoreCase(ChatColor.DARK_GRAY + "[wild]")) {
if(e.getPlayer().hasPermission(PermissionKey.SIGN_WILD_SIGN_USE.getPermission())) {
Random randx = new Random();
Random randz = new Random();
int x = randx.nextInt(xRadius)+e.getPlayer().getLocation().getBlockX();
int z = randz.nextInt(zRadius)+e.getPlayer().getLocation().getBlockZ();
Location loc = new Location(e.getPlayer().getWorld(), x, e.getPlayer().getWorld().getHighestBlockYAt(x, z), z);
e.getPlayer().teleport(loc);
sendMessage(e.getPlayer(), ChatColor.GREEN + "you successfully has teleported to the wild!");
} else {
sendMessage(e.getPlayer(), ChatColor.RED + "you cannot use this sign!");
}
e.setCancelled(true);
}
}
}
}
}