package Listener;
import java.io.File;
import java.util.ArrayList;
import me.xxPluginerx.MAPvp.Main;
import org.apache.logging.log4j.core.jmx.Server;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.block.Sign;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
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.PlayerQuitEvent;
import org.bukkit.plugin.Plugin;
import Commands.Arena1;
public class SignJoin1 implements Listener, CommandExecutor{
int SpielerArena1 = Main.Spieler1;
public static ArrayList<String> PlayerInGame = new ArrayList<>();
public static File arena1 = new File("plugins/MAPvp/Arenas/Greenland1.yml");
public static FileConfiguration cfg = YamlConfiguration.loadConfiguration(arena1);
@EventHandler
public void onInteract(PlayerInteractEvent e){
Player p = e.getPlayer();
if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
if(e.getClickedBlock().getState() instanceof Sign){
final Sign s = (Sign) e.getClickedBlock().getState();
if(s.getLine(0).equalsIgnoreCase("[Greenland]")){
if(s.getLine(1).equalsIgnoreCase("Arena 1")){
if(p.getLevel() < 5 || p.getLevel() == 5){
Location loc1 = p.getLocation();
double x = (double) cfg.get("PosX", loc1.getX());
double y = (double)cfg.get("PosY", loc1.getY());
double z = (double)cfg.get("PosZ", loc1.getZ());
double yaw = (double) cfg.get("Yaw", loc1.getYaw());
double pitch = (double) cfg.get("Pitch", loc1.getPitch());
String worldName = cfg.getString("World");
World world = Bukkit.getWorld(worldName);
loc1.setWorld(world);
loc1.setX(x);
loc1.setY(y);
loc1.setZ(z);
loc1.setYaw((float) yaw);
loc1.setPitch((float) pitch);
p.teleport(loc1);
p.sendMessage("§aDu bist der Arena erfolgreich beigetreten");
s.update(true);
SpielerArena1 = Main.add++ + 1;
Integer meinInteger = new Integer(SpielerArena1);
String Spieler1s = meinInteger.toString();
s.setLine(2, Spieler1s + "/" + Main.MaxSpieler);
s.setLine(3, "");
s.update();
}else{
p.sendMessage("§6[MAPvp]Du hast nicht das erforderliche Prestige!");
s.update(true);
}
}
}
}
}
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label,
String[] args) {
if(cmd.getName().equalsIgnoreCase("Spawn")){
if(sender instanceof ConsoleCommandSender){
System.out.println("Dieses Command können nur Spieler verwenden!");
return true;
}
Player p = (Player) sender;
if(args.length == 0){
p.sendMessage("§4[MAPvp]Du hast erfolgreich die Arena verlassen!");
SpielerArena1 = Main.add-- - 1;
PlayerInGame.remove(p.getName());
return true;
}
}
if(cmd.getName().equalsIgnoreCase("hub")){
if(sender instanceof ConsoleCommandSender){
System.out.println("Dieses Command können nur Spieler verwenden!");
return true;
}
Player p = (Player) sender;
if(args.length == 0){
p.sendMessage("§4[MAPvp]Du hast erfolgreich die Arena verlassen!");
SpielerArena1 = Main.add-- -1;
PlayerInGame.remove(p.getName());
return true;
}
}
return false;
}
@EventHandler
public void onLeave(PlayerQuitEvent e){
Player p = e.getPlayer();
SpielerArena1 = Main.add-- -1;
PlayerInGame.remove(p.getName());
}
}