diff --git a/src/main/java/net/brennholz/challenges/BlockCreateListener.java b/src/main/java/net/brennholz/challenges/BlockCreateListener.java deleted file mode 100644 index 2e56440..0000000 --- a/src/main/java/net/brennholz/challenges/BlockCreateListener.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.brennholz.challenges; - - - -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.block.BlockPlaceEvent; -import org.bukkit.event.player.PlayerBucketEmptyEvent; - -public class BlockCreateListener implements Listener { - - private Challenges chl = Challenges.getplugin(); - - @EventHandler - public void onBlockPlace(BlockPlaceEvent e) { - if (this.chl.getConfig().getBoolean("timer.enabled") == false) { - e.setCancelled(true); - } - } - - @EventHandler - public void onBucketPlace(PlayerBucketEmptyEvent e) { - if (this.chl.getConfig().getBoolean("timer.enabled") == false) { - e.setCancelled(true); - } - } -} diff --git a/src/main/java/net/brennholz/challenges/BlockDestroyListener.java b/src/main/java/net/brennholz/challenges/BlockDestroyListener.java deleted file mode 100644 index e764cba..0000000 --- a/src/main/java/net/brennholz/challenges/BlockDestroyListener.java +++ /dev/null @@ -1,57 +0,0 @@ -package net.brennholz.challenges; - - - -import org.bukkit.Material; -import org.bukkit.Sound; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.block.BlockExplodeEvent; -import org.bukkit.event.entity.EntityExplodeEvent; -import org.bukkit.inventory.ItemStack; - -public class BlockDestroyListener implements Listener { - - private Challenges chl = Challenges.getplugin(); - - @EventHandler - public void onBlockBreak(BlockBreakEvent e) { - if (this.chl.getConfig().getBoolean("rnddrops") == true && this.chl.getConfig().getBoolean("timer.enabled") == true) { - e.setDropItems(false); - e.getBlock().getWorld().dropItem(e.getBlock().getLocation().add(0.5D, 0.5D, 0.5D), new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(e.getBlock()))); - } - if (this.chl.getConfig().getBoolean("timer.enabled") == false) { - e.setCancelled(true); - } - } - - @EventHandler - public void onBlockExplode(BlockExplodeEvent e) { - if (this.chl.getConfig().getBoolean("rnddrops") == true) { - e.setCancelled(true); - e.getBlock().getWorld().playSound(e.getBlock().getLocation(), Sound.ENTITY_GENERIC_EXPLODE, (float) 0.1, 1); - e.blockList().forEach(block -> { - if(!block.getType().isAir()){ - block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(block))); - block.setType(Material.AIR); - } - }); - } - } - - @EventHandler - public void onEntityExplode(EntityExplodeEvent e) { - if (this.chl.getConfig().getBoolean("rnddrops") == true) { - e.setCancelled(true); - e.getEntity().getWorld().playSound(e.getEntity().getLocation(), Sound.ENTITY_GENERIC_EXPLODE, (float) 0.1, 1); - e.blockList().forEach(block -> { - if(!block.getType().isAir()){ - block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(block))); - block.setType(Material.AIR); - } - }); - } - } -} - diff --git a/src/main/java/net/brennholz/challenges/Challenges.java b/src/main/java/net/brennholz/challenges/Challenges.java index 55cdbcf..5c09f1f 100644 --- a/src/main/java/net/brennholz/challenges/Challenges.java +++ b/src/main/java/net/brennholz/challenges/Challenges.java @@ -2,15 +2,28 @@ import com.google.common.io.MoreFiles; import com.google.common.io.RecursiveDeleteOption; + +import net.brennholz.commands.Challenges_Command; +import net.brennholz.commands.Coords_Command; +import net.brennholz.commands.HP_Command; +import net.brennholz.commands.Reset_Command; +import net.brennholz.commands.Revive_Command; +import net.brennholz.commands.Settings_Command; +import net.brennholz.commands.Timer_Command; +import net.brennholz.events.BlockCreateListener; +import net.brennholz.events.BlockDestroyListener; +import net.brennholz.events.DamageListener; +import net.brennholz.events.DeathListener; +import net.brennholz.events.InteractListener; +import net.brennholz.events.InventoryClickListener; +import net.brennholz.events.QuitJoinListener; + import java.io.File; import java.io.IOException; import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.World; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; diff --git a/src/main/java/net/brennholz/challenges/Challenges_Command.java b/src/main/java/net/brennholz/challenges/Challenges_Command.java deleted file mode 100644 index 3df19db..0000000 --- a/src/main/java/net/brennholz/challenges/Challenges_Command.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.brennholz.challenges; - - - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; - -public class Challenges_Command implements CommandExecutor { - - @Override - public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { - if (sender.hasPermission("challenges.challenges")) { - sender.sendMessage("§6Challenges Ver 1.9 by Brennholz3000"); - sender.sendMessage("§6Verfügbare Befehle:"); - sender.sendMessage("§c/HP §4- §6Verwalte die HP einzelner Spieler"); - sender.sendMessage("§c/Coords §4- §6Teile oder speichere Coordinaten"); - sender.sendMessage("§c/Settings §4- §6Verwalte die Challenges Einstellungen"); - sender.sendMessage("§c/Timer §4- §6Verwalte den Timer"); - sender.sendMessage("§c/Revive §4- §6Wiederbelebe Spieler"); - sender.sendMessage("§c/Backpack §6| §c/bp §4- §6öffne das Backpack"); - sender.sendMessage("§c/Reset §4- §6Generiert eine neue Welt, setzt den Timer zurück und löscht gespeicherte Positionen"); - } else - sender.sendMessage("§cDu hast hierfür keine Berechtigung"); - return true; - } -} diff --git a/src/main/java/net/brennholz/challenges/Coords_Command.java b/src/main/java/net/brennholz/challenges/Coords_Command.java deleted file mode 100644 index d545cb8..0000000 --- a/src/main/java/net/brennholz/challenges/Coords_Command.java +++ /dev/null @@ -1,164 +0,0 @@ -package net.brennholz.challenges; - - - -import java.util.ArrayList; - -import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; - -public class Coords_Command implements CommandExecutor { - - private Challenges chl = Challenges.getplugin(); - - public static Inventory CoordsGUI = Bukkit.createInventory(null, 45, "§6Koordinaten"); - public static Inventory CoordsDeleteGUI = Bukkit.createInventory(null, 9, "§6Entferne Koordinate"); - - public static String CGUIN = "§6Koordinaten"; - public static String CDGUIN = "§6Entferne Koordinate"; - - @Override - public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { - if (sender instanceof Player) { - Player p = (Player) sender; - if (args.length == 0) { - if (p.hasPermission("challenges.coords.view")) { - createMainGUI(p); - } else - p.sendMessage("§cDu hast hierfür keine Berechtigung"); - } else if (args.length == 1) { - if (args[0].equalsIgnoreCase("share")) { - if (p.hasPermission("challenges.coords.share")) { - chl.getServer() - .broadcastMessage("§c" + p.getName() + " §6ist bei §c" + p.getLocation().getBlockX() - + " " + p.getLocation().getBlockY() + " " + p.getLocation().getBlockZ() - + " §6in Welt §6" + p.getWorld().getName()); - } else - p.sendMessage("§cDu hast hierfür keine Berechtigung"); - } else if (args[0].equalsIgnoreCase("get")) { - if (p.hasPermission("challenges.coords.get")) { - p.sendMessage("§6Verfügbare Positionen:"); - for (String key : chl.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { - p.sendMessage("§c" + key); - } - } else - p.sendMessage("§cDu hast hierfür keine Berechtigung"); - } else - p.sendMessage("§cBenutze: /coords share/save/get/delete [Name]"); - } else if (args.length >= 2) { - if (args[0].equalsIgnoreCase("save")) { - if (p.hasPermission("challenges.coords.save")) { - if (!chl.getConfig().contains("Saved_Locations." + args[1])) { - chl.getServer() - .broadcastMessage("§6Die Position §c" + args[1] + " §6(§c" + p.getWorld().getName() - + " " + p.getLocation().getBlockX() + " " + p.getLocation().getBlockY() - + " " + p.getLocation().getBlockZ() + "§6) wurde von §c" + p.getName() - + " §6gespeichert"); - chl.getConfig().set("Saved_Locations." + args[1] + ".World", p.getWorld().getName()); - chl.getConfig().set("Saved_Locations." + args[1] + ".BlockX", p.getLocation().getBlockX()); - chl.getConfig().set("Saved_Locations." + args[1] + ".BlockY", p.getLocation().getBlockY()); - chl.getConfig().set("Saved_Locations." + args[1] + ".BlockZ", p.getLocation().getBlockZ()); - chl.saveConfig(); - } else - p.sendMessage("§cDiese Position existiert bereits! Benutze einen anderen Namen oder lösche die alte zuerst mit /coords delete " + args[1]); - } else - p.sendMessage("§cDu hast hierfür keine Berechtigung"); - } else if (args[0].equalsIgnoreCase("get")) { - if (p.hasPermission("challenges.coords.get")) { - if (chl.getConfig().contains("Saved_Locations." + args[1])) { - String w = chl.getConfig().getString("Saved_Locations." + args[1] + ".World"); - String x = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockX"); - String y = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockY"); - String z = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockZ"); - p.sendMessage("§6" + args[1] + ": §c" + w + " " + x + " " + y + " " + z); - } else - p.sendMessage("§cDiese Position existiert nicht!"); - } else - p.sendMessage("§cDu hast hierfür keine Berechtigung"); - } else if (args[0].equalsIgnoreCase("delete")) { - if (p.hasPermission("challenges.coords.delete")) { - if (chl.getConfig().contains("Saved_Locations." + args[1])) { - createDeleteGUI(p, args[1]); - p.openInventory(CoordsDeleteGUI); - } else - p.sendMessage("§cDiese Position existiert nicht!"); - } else - p.sendMessage("§cDu hast hierfür keine Berechtigung"); - } else - p.sendMessage("§cBenutze: /coords share/save/get/delete [Name]"); - } - } else - sender.sendMessage("§cKein Konsolenbefehl!"); - return true; - } - - public void createMainGUI(Player p) { - int i = 0; - String w; - String x; - String y; - String z; - for (String key : chl.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { - if (i >= 45) { - break; - } - w = chl.getConfig().getString("Saved_Locations." + key + ".World"); - x = chl.getConfig().getString("Saved_Locations." + key + ".BlockX"); - y = chl.getConfig().getString("Saved_Locations." + key + ".BlockY"); - z = chl.getConfig().getString("Saved_Locations." + key + ".BlockZ"); - CoordsGUI.setItem(i, addGUIItem(getBlock(w), key, "§bX: §c" + x, "§bY: §c" + y, "§bZ: §c" + z)); - i++; - } - for (int ii = i; ii < 45; ii++) { - CoordsGUI.setItem(ii, addGUIItem(Material.AIR, "")); - } - p.openInventory(CoordsGUI); - } - - public void createDeleteGUI(Player p, String dname) { - CoordsDeleteGUI.setItem(0, addGUIItem(Material.LIME_TERRACOTTA, "§aLöschen bestätigen", "§bWegpunkt: §c" + dname)); - CoordsDeleteGUI.setItem(4, addGUIItem(Material.ORANGE_BANNER, dname)); - for (int i = 1; i < 8; i++) { - if (CoordsDeleteGUI.getItem(i) == null) { - CoordsDeleteGUI.setItem(i, addGUIItem(Material.ORANGE_STAINED_GLASS_PANE, "")); - } - } - CoordsDeleteGUI.setItem(8, addGUIItem(Material.RED_TERRACOTTA, "§cLöschen abbrechen", "§bWegpunkt: §c" + dname)); - p.openInventory(CoordsDeleteGUI); - } - - private ItemStack addGUIItem(Material mat, String name, String... lore) { - ItemStack item = new ItemStack(mat, 1); - ItemMeta meta = item.getItemMeta(); - if (mat != Material.AIR) { - meta.setDisplayName(name); - ArrayList metalore = new ArrayList(); - if (lore != null) { - for (String lorecomments : lore) { - metalore.add(lorecomments); - } - } - meta.setLore(metalore); - item.setItemMeta(meta); - } - return item; - } - - private Material getBlock(String wname) { - ItemStack mat = new ItemStack(Material.GRASS_BLOCK); - if (wname.equals(Bukkit.getWorlds().get(1).getName())) { - mat.setType(Material.NETHERRACK); - } else if (wname.equals(Bukkit.getWorlds().get(2).getName())) { - mat.setType(Material.END_STONE); - } - return mat.getType(); - } - -} \ No newline at end of file diff --git a/src/main/java/net/brennholz/challenges/DamageListener.java b/src/main/java/net/brennholz/challenges/DamageListener.java deleted file mode 100644 index 0b2577c..0000000 --- a/src/main/java/net/brennholz/challenges/DamageListener.java +++ /dev/null @@ -1,89 +0,0 @@ -package net.brennholz.challenges; - - - -import java.text.DecimalFormat; -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.entity.EntityDamageEvent.DamageCause; -import org.bukkit.event.player.PlayerToggleSneakEvent; - -public class DamageListener implements Listener { - - private Challenges chl = Challenges.getplugin(); - - @EventHandler - public void onDamage(EntityDamageEvent e) { - if (e.getEntity() instanceof Player) { - Player p = (Player) e.getEntity(); - String dmg = new DecimalFormat("#.##").format(e.getFinalDamage()); - if (e.getFinalDamage() > 0) { - if (e.getCause() == DamageCause.FALL) { - if (chl.getConfig().getBoolean("deathonfall") == true) { - if (chl.getConfig().getBoolean("dmginchat") == true) { - Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + p.getHealth() + " §cHP Schaden genommen durch §4" + e.getCause()); - } - Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() { - @Override - public void run() { - p.setHealth(0); - } - }, 1); - } else if (chl.getConfig().getBoolean("dmginchat") == true) { - Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getCause()); - } - } else if (e.getCause() == DamageCause.CUSTOM) { - if (!p.isSneaking() && (chl.getConfig().getBoolean("dmginchat") == true)) { - Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + chl.getConfig().getDouble("sneakdmg") + " §cHP Schaden genommen durch §4SNEAKING"); - } - } else if (e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) { - - } else if (chl.getConfig().getBoolean("dmginchat") == true) { - Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getCause()); - } - if (chl.getConfig().getBoolean("sharedmg") == true) { - for (Player pp : Bukkit.getOnlinePlayers()) { - if (pp != p) { - double health = pp.getHealth() - e.getFinalDamage(); - if(health < 0) { - pp.setHealth(0); - }else { - pp.setHealth(health); - pp.getWorld().playSound(pp.getLocation(), Sound.ENTITY_PLAYER_HURT, (float) 1, 1); - } - - } - } - } - } - } - } - - @EventHandler - public void onEntityDamage(EntityDamageByEntityEvent e) { - if ((e.getEntity() instanceof Player) && (e.getFinalDamage() > 0)) { - Player p = (Player) e.getEntity(); - String dmg = new DecimalFormat("#.##").format(e.getFinalDamage()); - if ((e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) - && chl.getConfig().getBoolean("dmginchat") == true) { - Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getDamager().getName()); - } - } - } - - @EventHandler - public void PlayerSneak(PlayerToggleSneakEvent e) { - Player p = (Player) e.getPlayer(); - if (!p.isSneaking()) { - if (chl.getConfig().getBoolean("damageonsneak") == true) { - p.damage(chl.getConfig().getDouble("sneakdmg")); - } - } - } -} - diff --git a/src/main/java/net/brennholz/challenges/DeathListener.java b/src/main/java/net/brennholz/challenges/DeathListener.java deleted file mode 100644 index d82f479..0000000 --- a/src/main/java/net/brennholz/challenges/DeathListener.java +++ /dev/null @@ -1,67 +0,0 @@ -package net.brennholz.challenges; - - - -import org.bukkit.Bukkit; -import org.bukkit.GameMode; -import org.bukkit.entity.EnderDragon; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.EntityDeathEvent; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.PlayerRespawnEvent; - -public class DeathListener implements Listener { - - private Challenges chl = Challenges.getplugin(); - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (chl.getConfig().getBoolean("onelife") == true) { - chl.getConfig().set("timer.enabled", false); - chl.saveConfig(); - for (Player p : Bukkit.getOnlinePlayers()) { - p.setGameMode(GameMode.SPECTATOR); - } - chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage(""); - e.setDeathMessage("§6" + e.getEntity().getName() + " §cist gestorben!"); - chl.getServer().broadcastMessage("§cDie Challenge wurde nach §6" + chl.getConfig().getInt("timer.hrs") + ":" + chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek") + " §cabgebrochen!"); - chl.getServer().broadcastMessage("§aSeed: §b" + Bukkit.getWorlds().get(0).getSeed()); - chl.getServer().broadcastMessage("§6Um alle wiederzubeleben benutze §c/revive ALL"); - } else { - e.setDeathMessage("§6" + e.getEntity().getName() + " §cist gestorben! §6(" + e.getEntity().getWorld().getName() + " " + e.getEntity().getLocation().getBlockX() + " " + e.getEntity().getLocation().getBlockY() + " " + e.getEntity().getLocation().getBlockZ() + "§c)"); - if (chl.getConfig().getBoolean("respawn") == false) { - Bukkit.getServer().broadcastMessage("§6Benutze §c/revive " + e.getEntity().getName() + " [world] [x] [y] [z] §6um ihn wiederzubeleben!"); - } - } - } - - @EventHandler - public void onPlayerRespawn(PlayerRespawnEvent e) { - if (chl.getConfig().getBoolean("respawn") == false) { - e.getPlayer().sendTitle("§cDu bist gestorben!", "§4Du bist nun Zuschauer", 10, 80, 10); - Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() { - @Override - public void run() { - e.getPlayer().setGameMode(GameMode.SPECTATOR); - } - }, 1); - } - } - - @EventHandler - public void DragonDeath(EntityDeathEvent e) { - if (e.getEntity() instanceof EnderDragon) { - chl.getConfig().set("timer.enabled", false); - chl.getServer().broadcastMessage("§6§kLIpwjwdjmpwdjmimjPiwjdÜOaiwjdüoJwoüdMdJM"); - chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage("§aGRATULATION! IHR HABT DIE CHALLENGE ERFOLGREICH ABGESCHLOSSEN!"); - chl.getServer().broadcastMessage("§aBenötigte Zeit: §b" + chl.getConfig().getInt("timer.hrs") + ":"+ chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek")); - chl.getServer().broadcastMessage("§cSeed: §b" + Bukkit.getWorlds().get(0).getSeed()); - chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage("§6§kLIpwjwdjmpwdjmimjPiwjdÜOaiwjdüoJwoüdMdJM"); - } - } -} diff --git a/src/main/java/net/brennholz/challenges/HP_Command.java b/src/main/java/net/brennholz/challenges/HP_Command.java deleted file mode 100644 index fccedb9..0000000 --- a/src/main/java/net/brennholz/challenges/HP_Command.java +++ /dev/null @@ -1,97 +0,0 @@ -package net.brennholz.challenges; - - - -import org.bukkit.Bukkit; -import org.bukkit.OfflinePlayer; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class HP_Command implements CommandExecutor { - - @SuppressWarnings("deprecation") - @Override - public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { - if (sender.hasPermission("challenges.hp.modify")) { - if (args.length >= 2) { - if (args[0].equalsIgnoreCase("max")) { - if (Double.parseDouble(args[1]) > 0) { - for (Player pp : Bukkit.getOnlinePlayers()) { - pp.setMaxHealth(Double.parseDouble(args[1])); - pp.setHealth(pp.getMaxHealth()); - } - sender.sendMessage("§6Du hast die maximalen HP auf §c" + args[1] + " §6gesetzt!"); - } - } else if (args[0].equalsIgnoreCase("get")) { - OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1])); - if (other.isOnline()) { - Player p = (Player) other; - sender.sendMessage("§6" + p.getName() + " §ebesitzt derzeit §6" + p.getHealth() + "HP§e!"); - } else - sender.sendMessage("§cDieser Spieler ist nicht online!"); - } else if (args.length >= 3) { - OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1])); - if (other.isOnline()) { - Player p = (Player) other; - double finaladdhp = p.getHealth() + Double.parseDouble(args[2]); - double finalremhp = p.getHealth() - Double.parseDouble(args[2]); - if (args[0].equalsIgnoreCase("add")) { - if (!(finaladdhp > p.getMaxHealth()) && !(finaladdhp < 0)) { - p.setHealth(finaladdhp); - p.sendMessage("§aDu wurdest von §b" + sender.getName() + " §aum §c" + args[2] - + "HP §ageheilt!"); - sender.sendMessage( - "§aDu hast §b" + p.getName() + " §aum §c" + args[2] + "HP §ageheilt!"); - } else - sender.sendMessage("§cUnm§gliche Operation"); - } - if (args[0].equalsIgnoreCase("remove")) { - if (!(finalremhp > p.getMaxHealth()) && !(finalremhp < 0)) { - p.setHealth(finalremhp); - p.sendMessage("§4" + sender.getName() + " §chat dir §4" + args[2] + "HP §centfernt!"); - sender.sendMessage("§cDu hast §4" + p.getName() + " " + args[2] + "HP §centfernt!"); - } else - sender.sendMessage("§cUnmögliche Operation!"); - } - if (args[0].equalsIgnoreCase("set")) { - if (!(Double.parseDouble(args[2]) > p.getMaxHealth()) - && !(Double.parseDouble(args[2]) < 0)) { - p.setHealth(Double.parseDouble(args[2])); - p.sendMessage( - "§6" + sender.getName() + " §ehat deine HP auf §6" + args[2] + " §egesetzt!"); - sender.sendMessage("§eDu hast die HP von §6" + p.getName() + " §eauf §6" + args[2] - + " §egesetzt!"); - } else - sender.sendMessage("§cUnmögliche Operation"); - } - } else - sender.sendMessage("§cDieser Spieler ist nicht online!"); - } else { - sender.sendMessage("§c~~~~~ §6HP command §c~~~~~"); - sender.sendMessage("§c/HP Get §4- §6Erhalte die aktuelen HP eines Spielers"); - sender.sendMessage( - "§c/HP Add §4- §6Füge einem Spieler die angegebene Zahl an Herzen hinzu"); - sender.sendMessage( - "§c/HP Remove §4- §6Entferne einem Spieler die angegebene Zahl an Herzen"); - sender.sendMessage( - "§c/HP Set §4- §6Setze die Herzen eines Spieler auf die angegebene Zahl"); - sender.sendMessage("§c/HP Max §4- §6Setze die maximalen HP aller Spieler"); - } - } else { - sender.sendMessage("§c~~~~~ §6HP command §c~~~~~"); - sender.sendMessage("§c/HP Get §4- §6Erhalte die aktuelen HP eines Spielers"); - sender.sendMessage( - "§c/HP Add §4- §6Füge einem Spieler die angegebene Zahl an Herzen hinzu"); - sender.sendMessage( - "§c/HP Remove §4- §6Entferne einem Spieler die angegebene Zahl an Herzen"); - sender.sendMessage( - "§c/HP Set §4- §6Setze die Herzen eines Spieler auf die angegebene Zahl"); - sender.sendMessage("§c/HP Max §4- §6Setze die maximalen HP aller Spieler"); - } - } else - sender.sendMessage("§cDu hast hierfür keine Berechtigung"); - return true; - } -} diff --git a/src/main/java/net/brennholz/challenges/InteractListener.java b/src/main/java/net/brennholz/challenges/InteractListener.java deleted file mode 100644 index eb697f4..0000000 --- a/src/main/java/net/brennholz/challenges/InteractListener.java +++ /dev/null @@ -1,43 +0,0 @@ -package net.brennholz.challenges; - - - -import org.bukkit.Material; -import org.bukkit.entity.EntityType; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.block.Action; -import org.bukkit.event.player.PlayerInteractEntityEvent; -import org.bukkit.event.player.PlayerInteractEvent; - -public class InteractListener implements Listener { - - private Challenges chl = Challenges.getplugin(); - - @EventHandler - public void onBlockClick(PlayerInteractEvent e) { - if (e.getAction() == Action.RIGHT_CLICK_BLOCK) { - if (e.getClickedBlock().getType() == Material.CRAFTING_TABLE) { - if (chl.getConfig().getBoolean("craftingtable") == false) { - e.setCancelled(true); - } - } - if (this.chl.getConfig().getBoolean("timer.enabled") == false) { - e.setCancelled(true); - } - } - } - - @EventHandler - public void onEntityClick(PlayerInteractEntityEvent e) { - if (e.getRightClicked().getType() == EntityType.VILLAGER) { - if (chl.getConfig().getBoolean("allowtrading") == false) { - e.setCancelled(true); - } - } - if (this.chl.getConfig().getBoolean("timer.enabled") == false) { - e.setCancelled(true); - } - } -} - diff --git a/src/main/java/net/brennholz/challenges/InventoryClickListener.java b/src/main/java/net/brennholz/challenges/InventoryClickListener.java deleted file mode 100644 index 7a730c4..0000000 --- a/src/main/java/net/brennholz/challenges/InventoryClickListener.java +++ /dev/null @@ -1,111 +0,0 @@ -package net.brennholz.challenges; - - - -import org.bukkit.Bukkit; -import org.bukkit.World; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.inventory.InventoryClickEvent; - -public class InventoryClickListener implements Listener { - - private Challenges chl = Challenges.getplugin(); - - Challenges chall; - Coords_Command coco; - - @SuppressWarnings({ "deprecation", "static-access" }) - @EventHandler - public void InvClick(InventoryClickEvent e) { - World wld = Bukkit.getWorlds().get(0); - World nth = Bukkit.getWorlds().get(1); - World end = Bukkit.getWorlds().get(2); - String invname = e.getView().getTitle(); - Player p = (Player) e.getWhoClicked(); - int slot = e.getRawSlot(); - if (invname.equals(chall.GUIName)) { - e.setCancelled(true); - if (p.hasPermission("challenges.settings.modify")) { - switch (slot) { - case 18: - chl.getConfig().set("craftingtable", !(chl.getConfig().getBoolean("craftingtable"))); - break; - case 19: - chl.getConfig().set("allowtrading", !(chl.getConfig().getBoolean("allowtrading"))); - break; - case 20: - chl.getConfig().set("deathonfall", !(chl.getConfig().getBoolean("deathonfall"))); - break; - case 21: - chl.getConfig().set("damageonsneak", !(chl.getConfig().getBoolean("damageonsneak"))); - break; - case 22: - chl.getConfig().set("rnddrops", !(chl.getConfig().getBoolean("rnddrops"))); - break; - case 23: - chl.getConfig().set("sharedmg", !(chl.getConfig().getBoolean("sharedmg"))); - break; - case 24: - chl.getConfig().set("respawn", !(chl.getConfig().getBoolean("respawn"))); - break; - case 25: - chl.getConfig().set("onelife", !(chl.getConfig().getBoolean("onelife"))); - break; - case 26: - chl.getConfig().set("dmginchat", !(chl.getConfig().getBoolean("dmginchat"))); - break; - case 37: - if (wld.getGameRuleValue("keepInventory").equals("true")) { - wld.setGameRuleValue("keepInventory", "false"); - nth.setGameRuleValue("keepInventory", "false"); - end.setGameRuleValue("keepInventory", "false"); - } else if (wld.getGameRuleValue("keepInventory").equals("false")) { - wld.setGameRuleValue("keepInventory", "true"); - nth.setGameRuleValue("keepInventory", "true"); - end.setGameRuleValue("keepInventory", "true"); - } - break; - case 43: - if (wld.getGameRuleValue("naturalRegeneration").equals("true")) { - wld.setGameRuleValue("naturalRegeneration", "false"); - nth.setGameRuleValue("naturalRegeneration", "false"); - end.setGameRuleValue("naturalRegeneration", "false"); - } else if (wld.getGameRuleValue("naturalRegeneration").equals("false")) { - wld.setGameRuleValue("naturalRegeneration", "true"); - nth.setGameRuleValue("naturalRegeneration", "true"); - end.setGameRuleValue("naturalRegeneration", "true"); - } - break; - default: - break; - } - chl.saveConfig(); - p.performCommand("settings"); - } - } - if (invname.equals(coco.CGUIN)) { - e.setCancelled(true); - if (slot >= 0 && slot <= 44) { - if (coco.CoordsGUI.getItem(slot) != null && p.hasPermission("challenges.coords.delete")) { - p.performCommand("coords delete " + e.getCurrentItem().getItemMeta().getDisplayName()); - } - } - } - if (invname.equals(coco.CDGUIN)) { - e.setCancelled(true); - if (slot == 0) { - String cname = coco.CoordsDeleteGUI.getItem(4).getItemMeta().getDisplayName(); - chl.getConfig().set("Saved_Locations." + cname, null); - chl.saveConfig(); - p.sendMessage("§cPosition §6" + cname + " §cwurde gelöscht!"); - p.closeInventory(); - } - if (slot == 8) { - p.performCommand("coords"); - } - } - } -} - diff --git a/src/main/java/net/brennholz/challenges/QuitJoinListener.java b/src/main/java/net/brennholz/challenges/QuitJoinListener.java deleted file mode 100644 index dd64531..0000000 --- a/src/main/java/net/brennholz/challenges/QuitJoinListener.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.brennholz.challenges; - - - -import java.util.Random; - -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -public class QuitJoinListener implements Listener { - - private Challenges chl = Challenges.getplugin(); - - @EventHandler - public void PlayerJoinEvent(PlayerJoinEvent e) { - Player p = e.getPlayer(); - e.setJoinMessage("§6" + p.getName() + " §chat den Server betreten!"); - if (chl.getConfig().getBoolean("sharedmg") == true) { - int rnd = new Random().nextInt(Bukkit.getOnlinePlayers().size()); - Player rp = (Player) Bukkit.getServer().getOnlinePlayers().toArray()[rnd]; - p.setHealth(rp.getHealth()); - } - if (this.chl.getConfig().getBoolean("tabhp") == true) { - this.chl.getSBManager().createScoreboard(p); - } - } - - @EventHandler - public void PlayerQuitEvent(PlayerQuitEvent e) { - Player p = e.getPlayer(); - e.setQuitMessage("§6" + p.getName() + " §chat den Server verlassen!"); - } -} diff --git a/src/main/java/net/brennholz/challenges/Reset_Command.java b/src/main/java/net/brennholz/challenges/Reset_Command.java deleted file mode 100644 index abdde2b..0000000 --- a/src/main/java/net/brennholz/challenges/Reset_Command.java +++ /dev/null @@ -1,51 +0,0 @@ -package net.brennholz.challenges; - - - -import org.bukkit.Bukkit; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.entity.Player; - -public class Reset_Command implements CommandExecutor { - - private Challenges chl = Challenges.getplugin(); - Backpack backpack; - - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - { - - } - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "lb clearlog all world world"); - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "lb clearlog all world world_nether"); - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "lb clearlog all world world_the_end"); - - chl.getConfig().set("World_Name", Bukkit.getWorlds().get(0).getName()); - chl.getConfig().set("World_Reset", true); - chl.getConfig().set("timer.enabled", false); - chl.getConfig().set("timer.time", 0); - chl.getConfig().set("timer.sek", "00"); - chl.getConfig().set("timer.min", "00"); - chl.getConfig().set("timer.hrs", 0); - for (String key : chl.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { - chl.getConfig().set("Saved_Locations." + key, null); - } - chl.saveConfig(); - - Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() { - @Override - public void run() { - for (Player p : Bukkit.getOnlinePlayers()) { - p.sendTitle("§aWelt wird zurückgesetzt!", "§cBitte warte einen Moment§a.§b.§e.", 10, 400, 10); - p.kickPlayer("§cWelt wird zurückgesetzt!\n§cBitte warte einen Moment..."); - } - ConsoleCommandSender console = Bukkit.getServer().getConsoleSender(); - Bukkit.dispatchCommand(console, "restart"); - } - }, 60); - return true; - } -} diff --git a/src/main/java/net/brennholz/challenges/Revive_Command.java b/src/main/java/net/brennholz/challenges/Revive_Command.java deleted file mode 100644 index 446400a..0000000 --- a/src/main/java/net/brennholz/challenges/Revive_Command.java +++ /dev/null @@ -1,73 +0,0 @@ -package net.brennholz.challenges; - - - -import org.bukkit.Bukkit; -import org.bukkit.GameMode; -import org.bukkit.Location; -import org.bukkit.OfflinePlayer; -import org.bukkit.World; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Revive_Command implements CommandExecutor { - - private Challenges chl = Challenges.getplugin(); - - @SuppressWarnings("deprecation") - @Override - public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { - if (sender.hasPermission("challenges.revive")) { - if (args.length == 1) { - if (args[0].equalsIgnoreCase("all")) { - for (Player p : Bukkit.getOnlinePlayers()) { - p.setHealth(p.getMaxHealth()); - p.setGameMode(GameMode.SURVIVAL); - } - chl.getServer().broadcastMessage("§bAlle Spieler wurden wiederbelebt! §aEs kann weiter gehen!"); - } else { - OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[0])); - if (other.isOnline()) { - Player p = (Player) other; - p.setHealth(p.getMaxHealth()); - p.setGameMode(GameMode.SURVIVAL); - chl.getServer().broadcastMessage( - "§b" + p.getName() + " §awurde von §b" + sender.getName() + " §awiederbelebt!"); - } else - sender.sendMessage("§cDieser Spieler ist nicht online!"); - } - } else if (args.length >= 4) { - World w = Bukkit.getWorld(args[1]); - double x = Double.parseDouble(args[2]); - double y = Double.parseDouble(args[3]); - double z = Double.parseDouble(args[4]); - Location loc = new Location(w, x, y, z); - if (args[0].equalsIgnoreCase("all")) { - for (Player p : Bukkit.getOnlinePlayers()) { - p.teleport(loc); - p.setHealth(p.getMaxHealth()); - p.setGameMode(GameMode.SURVIVAL); - } - chl.getServer().broadcastMessage("§bAlle Spieler wurden bei §c" + w.getName() + " " + x + " " + y - + " " + z + " §bwiederbelebt! §aEs kann weiter gehen!"); - } else { - OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[0])); - if (other.isOnline()) { - Player p = (Player) other; - p.teleport(loc); - p.setHealth(p.getMaxHealth()); - p.setGameMode(GameMode.SURVIVAL); - chl.getServer().broadcastMessage("§b" + p.getName() + " §awurde von §b" + sender.getName() - + " §abei §c" + w.getName() + " " + x + " " + y + " " + z + " §awiederbelebt!"); - } else - sender.sendMessage("§cDieser Spieler ist nicht online!"); - } - } else - sender.sendMessage("§cBenutze: /revive [world] [x] [y] [z]"); - } else - sender.sendMessage("§cDu hast hierfür keine Berechtigung"); - return true; - } -} diff --git a/src/main/java/net/brennholz/challenges/Settings_Command.java b/src/main/java/net/brennholz/challenges/Settings_Command.java deleted file mode 100644 index a103e0e..0000000 --- a/src/main/java/net/brennholz/challenges/Settings_Command.java +++ /dev/null @@ -1,101 +0,0 @@ -package net.brennholz.challenges; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Settings_Command implements CommandExecutor { - - private Challenges chl = Challenges.getplugin(); - - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player p = (Player) sender; - if (args.length == 0) { - if (p.hasPermission("challenges.settings.view")) { - chl.createGUI(p); - } else { - p.sendMessage("hast hierfkeine Berechtigung"); - } - } else if (args.length == 1) { - if (args[0].equalsIgnoreCase("get")) { - if (p.hasPermission("challenges.settings.get")) { - p.sendMessage("Einstellungen"); - p.sendMessage("Crafting =" + chl.getConfig().getBoolean("craftingtable")); - p.sendMessage("Handeln =" + chl.getConfig().getBoolean("allowtrading")); - p.sendMessage("bei Fallschaden =" + chl.getConfig().getBoolean("deathonfall")); - p.sendMessage("bei Schleichen =" + chl.getConfig().getBoolean("damageonsneak")); - p.sendMessage("Schaden bei Schleichen =" + chl.getConfig().getInt("sneakdmg")); - p.sendMessage("Drops =" + chl.getConfig().getBoolean("rnddrops")); - p.sendMessage("Schaden =" + chl.getConfig().getBoolean("sharedmg")); - p.sendMessage("Leben falle =" + chl.getConfig().getBoolean("onelife")); - p.sendMessage("in Chat =" + chl.getConfig().getBoolean("dmginchat")); - p.sendMessage("=" + chl.getConfig().getBoolean("respawn")); - } else { - p.sendMessage("hast hierfkeine Berechtigung"); - } - } else { - p.sendMessage("/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG [True/False]"); - } - } else if (args.length >= 2) { - if (p.hasPermission("challenges.settings.modify")) { - Boolean Bwert = Boolean.valueOf(Boolean.parseBoolean(args[1])); - if (args[0].equalsIgnoreCase("crafting")) { - chl.getConfig().set("craftingtable", Bwert); - chl.saveConfig(); - p.sendMessage("Crafting =" + chl.getConfig().getBoolean("craftingtable")); - } else if (args[0].equalsIgnoreCase("deathfall")) { - chl.getConfig().set("deathonfall", Bwert); - chl.saveConfig(); - p.sendMessage("bei Fallschaden =" + chl.getConfig().getBoolean("deathonfall")); - } else if (args[0].equalsIgnoreCase("trading")) { - chl.getConfig().set("allowtrading", Bwert); - chl.saveConfig(); - p.sendMessage("Handeln =" + chl.getConfig().getBoolean("allowtrading")); - } else if (args[0].equalsIgnoreCase("dmgonsneak")) { - chl.getConfig().set("damageonsneak", Bwert); - chl.saveConfig(); - p.sendMessage("bei Schleichen =" + chl.getConfig().getBoolean("damageonsneak")); - } else if (args[0].equalsIgnoreCase("sneakdmg")) { - Double Dwert = Double.valueOf(Double.parseDouble(args[1])); - chl.getConfig().set("sneakdmg", Dwert); - chl.saveConfig(); - p.sendMessage("Schaden bei Schleichen =" + chl.getConfig().getString("sneakdmg")); - } else if (args[0].equalsIgnoreCase("rnddrops")) { - chl.getConfig().set("rnddrops", Bwert); - chl.saveConfig(); - p.sendMessage("Drops =" + chl.getConfig().getBoolean("rnddrops")); - } else if (args[0].equalsIgnoreCase("sharedmg")) { - chl.getConfig().set("sharehp", Bwert); - chl.saveConfig(); - p.sendMessage("Schaden =" + chl.getConfig().getBoolean("sharedmg")); - } else if (args[0].equalsIgnoreCase("respawn")) { - chl.getConfig().set("respawn", Bwert); - chl.saveConfig(); - p.sendMessage("=" + chl.getConfig().getBoolean("respawn")); - } else if (args[0].equalsIgnoreCase("onelife")) { - chl.getConfig().set("onelife", Bwert); - chl.saveConfig(); - p.sendMessage("Leben falle =" + chl.getConfig().getBoolean("onelife")); - } else if (args[0].equalsIgnoreCase("chatdmg")) { - chl.getConfig().set("dmginchat", Bwert); - chl.saveConfig(); - p.sendMessage("in Chat =" + chl.getConfig().getBoolean("dmginchat")); - } else { - p.sendMessage("Parameter!"); - } - } else { - p.sendMessage("hast hierfkeine Berechtigung"); - } - } else { - p.sendMessage( - "/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG [True/False]"); - } - } else { - sender.sendMessage("Konsolenbefehl!"); - } - return true; - } -} diff --git a/src/main/java/net/brennholz/challenges/Timer_Command.java b/src/main/java/net/brennholz/challenges/Timer_Command.java deleted file mode 100644 index 13abc6f..0000000 --- a/src/main/java/net/brennholz/challenges/Timer_Command.java +++ /dev/null @@ -1,124 +0,0 @@ -package net.brennholz.challenges; - - - -import org.bukkit.Bukkit; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Timer_Command implements CommandExecutor { - - private Challenges chl = Challenges.getplugin(); - public boolean timer; - private int zeit = chl.getConfig().getInt("timer.time"); - private int sek; - private int min; - private int hrs; - private String ssek; - private String smin; - - @Override - public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { - timer = chl.getConfig().getBoolean("timer.enabled"); - if (sender.hasPermission("challenges.timer")) { - if (args.length >= 1) { - if (args[0].equalsIgnoreCase("resume")) { - if (timer == false) { - timer = true; - chl.getServer().broadcastMessage("§aDer Timer wird fortgesetzt!"); - chl.getConfig().set("timer.enabled", timer); - chl.saveConfig(); - } else - sender.sendMessage("§cDer Timer läuft bereits!"); - } else if (args[0].equalsIgnoreCase("pause")) { - if (timer == true) { - timer = false; - chl.getServer().broadcastMessage("§6Der Timer wurde angehalten"); - chl.getConfig().set("timer.enabled", timer); - chl.saveConfig(); - } else - sender.sendMessage("§cDer Timer ist bereits pausiert!"); - } else if (args[0].equalsIgnoreCase("reset")) { - timer = false; - chl.getConfig().set("timer.enabled", timer); - chl.saveConfig(); - zeit = 0; - sek = 0; - min = 0; - hrs = 0; - RefreshConfig(); - chl.getServer().broadcastMessage("§cDer Timer wurde zurückgesetzt!"); - } else if (args.length >= 2) { - if (args[0].equalsIgnoreCase("set")) { - timer = false; - chl.getConfig().set("timer.enabled", timer); - chl.saveConfig(); - zeit = Integer.parseInt(args[1]); - RefreshConfig(); - chl.getServer().broadcastMessage( - "§bDer Timer wurde auf §a" + hrs + ":" + smin + ":" + ssek + " §bgesetzt!"); - } - } else - sender.sendMessage("§cBenutze: /timer resume/pause/reset/set [Zeit in Sekunden]"); - } else { - sender.sendMessage("§c~~~~~ §6Timer command §c~~~~~"); - sender.sendMessage("§c/timer resume §4- §6Setze den Timer fort"); - sender.sendMessage("§c/timer pause §4- §6Pausiere den Timer"); - sender.sendMessage("§c/timer reset §4- §6Setze den Timer zurück"); - sender.sendMessage("§c/timer set [Zeit in Sekunden] §4- §6Setze den Timer auf eine bestimmte Zeit"); - } - } else - sender.sendMessage("§cDu hast hierfür keine Berechtigung"); - return true; - - } - - @SuppressWarnings("deprecation") - public void Run_Timer() { - Bukkit.getScheduler().scheduleAsyncRepeatingTask(chl, new Runnable() { - @Override - public void run() { - boolean ttimer = chl.getConfig().getBoolean("timer.enabled"); - int ttime = chl.getConfig().getInt("timer.time"); - int thrs = chl.getConfig().getInt("timer.hrs"); - String tsek = chl.getConfig().getString("timer.sek"); - String tmin = chl.getConfig().getString("timer.min"); - if (ttimer) { - ttime = ttime + 1; - zeit = ttime; - RefreshConfig(); - for (Player p : chl.getServer().getOnlinePlayers()) { - p.sendActionBar("§aIn Challenge: §b" + thrs + ":" + tmin + ":" + tsek); - } - } else { - for (Player p : chl.getServer().getOnlinePlayers()) { - p.sendActionBar("§6Timer pausiert..."); - } - } - } - }, 1 * 20L, 1 * 20L); - } - - public void RefreshConfig() { - min = zeit / 60; - hrs = min / 60; - min = min % 60; - sek = zeit % 60; - if (sek >= 10) { - ssek = Integer.toString(sek); - } else - ssek = '0' + Integer.toString(sek); - if (min >= 10) { - smin = Integer.toString(min); - } else - smin = '0' + Integer.toString(min); - chl.getConfig().set("timer.time", zeit); - chl.getConfig().set("timer.sek", ssek); - chl.getConfig().set("timer.min", smin); - chl.getConfig().set("timer.hrs", hrs); - chl.saveConfig(); - } - -} diff --git a/src/main/java/net/brennholz/commands/Challenges_Command.java b/src/main/java/net/brennholz/commands/Challenges_Command.java new file mode 100644 index 0000000..9b3f5a8 --- /dev/null +++ b/src/main/java/net/brennholz/commands/Challenges_Command.java @@ -0,0 +1,27 @@ +package net.brennholz.commands; + + + +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; + +public class Challenges_Command implements CommandExecutor { + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { + if (sender.hasPermission("challenges.challenges")) { + sender.sendMessage("§6Challenges Ver 1.9 by Brennholz3000"); + sender.sendMessage("§6Verfügbare Befehle:"); + sender.sendMessage("§c/HP §4- §6Verwalte die HP einzelner Spieler"); + sender.sendMessage("§c/Coords §4- §6Teile oder speichere Coordinaten"); + sender.sendMessage("§c/Settings §4- §6Verwalte die Challenges Einstellungen"); + sender.sendMessage("§c/Timer §4- §6Verwalte den Timer"); + sender.sendMessage("§c/Revive §4- §6Wiederbelebe Spieler"); + sender.sendMessage("§c/Backpack §6| §c/bp §4- §6öffne das Backpack"); + sender.sendMessage("§c/Reset §4- §6Generiert eine neue Welt, setzt den Timer zurück und löscht gespeicherte Positionen"); + } else + sender.sendMessage("§cDu hast hierfür keine Berechtigung"); + return true; + } +} diff --git a/src/main/java/net/brennholz/commands/Coords_Command.java b/src/main/java/net/brennholz/commands/Coords_Command.java new file mode 100644 index 0000000..abdf14b --- /dev/null +++ b/src/main/java/net/brennholz/commands/Coords_Command.java @@ -0,0 +1,166 @@ +package net.brennholz.commands; + + + +import java.util.ArrayList; + +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; + +import net.brennholz.challenges.Challenges; + +public class Coords_Command implements CommandExecutor { + + private Challenges chl = Challenges.getplugin(); + + public static Inventory CoordsGUI = Bukkit.createInventory(null, 45, "§6Koordinaten"); + public static Inventory CoordsDeleteGUI = Bukkit.createInventory(null, 9, "§6Entferne Koordinate"); + + public static String CGUIN = "§6Koordinaten"; + public static String CDGUIN = "§6Entferne Koordinate"; + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { + if (sender instanceof Player) { + Player p = (Player) sender; + if (args.length == 0) { + if (p.hasPermission("challenges.coords.view")) { + createMainGUI(p); + } else + p.sendMessage("§cDu hast hierfür keine Berechtigung"); + } else if (args.length == 1) { + if (args[0].equalsIgnoreCase("share")) { + if (p.hasPermission("challenges.coords.share")) { + chl.getServer() + .broadcastMessage("§c" + p.getName() + " §6ist bei §c" + p.getLocation().getBlockX() + + " " + p.getLocation().getBlockY() + " " + p.getLocation().getBlockZ() + + " §6in Welt §6" + p.getWorld().getName()); + } else + p.sendMessage("§cDu hast hierfür keine Berechtigung"); + } else if (args[0].equalsIgnoreCase("get")) { + if (p.hasPermission("challenges.coords.get")) { + p.sendMessage("§6Verfügbare Positionen:"); + for (String key : chl.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { + p.sendMessage("§c" + key); + } + } else + p.sendMessage("§cDu hast hierfür keine Berechtigung"); + } else + p.sendMessage("§cBenutze: /coords share/save/get/delete [Name]"); + } else if (args.length >= 2) { + if (args[0].equalsIgnoreCase("save")) { + if (p.hasPermission("challenges.coords.save")) { + if (!chl.getConfig().contains("Saved_Locations." + args[1])) { + chl.getServer() + .broadcastMessage("§6Die Position §c" + args[1] + " §6(§c" + p.getWorld().getName() + + " " + p.getLocation().getBlockX() + " " + p.getLocation().getBlockY() + + " " + p.getLocation().getBlockZ() + "§6) wurde von §c" + p.getName() + + " §6gespeichert"); + chl.getConfig().set("Saved_Locations." + args[1] + ".World", p.getWorld().getName()); + chl.getConfig().set("Saved_Locations." + args[1] + ".BlockX", p.getLocation().getBlockX()); + chl.getConfig().set("Saved_Locations." + args[1] + ".BlockY", p.getLocation().getBlockY()); + chl.getConfig().set("Saved_Locations." + args[1] + ".BlockZ", p.getLocation().getBlockZ()); + chl.saveConfig(); + } else + p.sendMessage("§cDiese Position existiert bereits! Benutze einen anderen Namen oder lösche die alte zuerst mit /coords delete " + args[1]); + } else + p.sendMessage("§cDu hast hierfür keine Berechtigung"); + } else if (args[0].equalsIgnoreCase("get")) { + if (p.hasPermission("challenges.coords.get")) { + if (chl.getConfig().contains("Saved_Locations." + args[1])) { + String w = chl.getConfig().getString("Saved_Locations." + args[1] + ".World"); + String x = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockX"); + String y = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockY"); + String z = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockZ"); + p.sendMessage("§6" + args[1] + ": §c" + w + " " + x + " " + y + " " + z); + } else + p.sendMessage("§cDiese Position existiert nicht!"); + } else + p.sendMessage("§cDu hast hierfür keine Berechtigung"); + } else if (args[0].equalsIgnoreCase("delete")) { + if (p.hasPermission("challenges.coords.delete")) { + if (chl.getConfig().contains("Saved_Locations." + args[1])) { + createDeleteGUI(p, args[1]); + p.openInventory(CoordsDeleteGUI); + } else + p.sendMessage("§cDiese Position existiert nicht!"); + } else + p.sendMessage("§cDu hast hierfür keine Berechtigung"); + } else + p.sendMessage("§cBenutze: /coords share/save/get/delete [Name]"); + } + } else + sender.sendMessage("§cKein Konsolenbefehl!"); + return true; + } + + public void createMainGUI(Player p) { + int i = 0; + String w; + String x; + String y; + String z; + for (String key : chl.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { + if (i >= 45) { + break; + } + w = chl.getConfig().getString("Saved_Locations." + key + ".World"); + x = chl.getConfig().getString("Saved_Locations." + key + ".BlockX"); + y = chl.getConfig().getString("Saved_Locations." + key + ".BlockY"); + z = chl.getConfig().getString("Saved_Locations." + key + ".BlockZ"); + CoordsGUI.setItem(i, addGUIItem(getBlock(w), key, "§bX: §c" + x, "§bY: §c" + y, "§bZ: §c" + z)); + i++; + } + for (int ii = i; ii < 45; ii++) { + CoordsGUI.setItem(ii, addGUIItem(Material.AIR, "")); + } + p.openInventory(CoordsGUI); + } + + public void createDeleteGUI(Player p, String dname) { + CoordsDeleteGUI.setItem(0, addGUIItem(Material.LIME_TERRACOTTA, "§aLöschen bestätigen", "§bWegpunkt: §c" + dname)); + CoordsDeleteGUI.setItem(4, addGUIItem(Material.ORANGE_BANNER, dname)); + for (int i = 1; i < 8; i++) { + if (CoordsDeleteGUI.getItem(i) == null) { + CoordsDeleteGUI.setItem(i, addGUIItem(Material.ORANGE_STAINED_GLASS_PANE, "")); + } + } + CoordsDeleteGUI.setItem(8, addGUIItem(Material.RED_TERRACOTTA, "§cLöschen abbrechen", "§bWegpunkt: §c" + dname)); + p.openInventory(CoordsDeleteGUI); + } + + private ItemStack addGUIItem(Material mat, String name, String... lore) { + ItemStack item = new ItemStack(mat, 1); + ItemMeta meta = item.getItemMeta(); + if (mat != Material.AIR) { + meta.setDisplayName(name); + ArrayList metalore = new ArrayList(); + if (lore != null) { + for (String lorecomments : lore) { + metalore.add(lorecomments); + } + } + meta.setLore(metalore); + item.setItemMeta(meta); + } + return item; + } + + private Material getBlock(String wname) { + ItemStack mat = new ItemStack(Material.GRASS_BLOCK); + if (wname.equals(Bukkit.getWorlds().get(1).getName())) { + mat.setType(Material.NETHERRACK); + } else if (wname.equals(Bukkit.getWorlds().get(2).getName())) { + mat.setType(Material.END_STONE); + } + return mat.getType(); + } + +} \ No newline at end of file diff --git a/src/main/java/net/brennholz/commands/HP_Command.java b/src/main/java/net/brennholz/commands/HP_Command.java new file mode 100644 index 0000000..8fde042 --- /dev/null +++ b/src/main/java/net/brennholz/commands/HP_Command.java @@ -0,0 +1,97 @@ +package net.brennholz.commands; + + + +import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class HP_Command implements CommandExecutor { + + @SuppressWarnings("deprecation") + @Override + public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { + if (sender.hasPermission("challenges.hp.modify")) { + if (args.length >= 2) { + if (args[0].equalsIgnoreCase("max")) { + if (Double.parseDouble(args[1]) > 0) { + for (Player pp : Bukkit.getOnlinePlayers()) { + pp.setMaxHealth(Double.parseDouble(args[1])); + pp.setHealth(pp.getMaxHealth()); + } + sender.sendMessage("§6Du hast die maximalen HP auf §c" + args[1] + " §6gesetzt!"); + } + } else if (args[0].equalsIgnoreCase("get")) { + OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1])); + if (other.isOnline()) { + Player p = (Player) other; + sender.sendMessage("§6" + p.getName() + " §ebesitzt derzeit §6" + p.getHealth() + "HP§e!"); + } else + sender.sendMessage("§cDieser Spieler ist nicht online!"); + } else if (args.length >= 3) { + OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1])); + if (other.isOnline()) { + Player p = (Player) other; + double finaladdhp = p.getHealth() + Double.parseDouble(args[2]); + double finalremhp = p.getHealth() - Double.parseDouble(args[2]); + if (args[0].equalsIgnoreCase("add")) { + if (!(finaladdhp > p.getMaxHealth()) && !(finaladdhp < 0)) { + p.setHealth(finaladdhp); + p.sendMessage("§aDu wurdest von §b" + sender.getName() + " §aum §c" + args[2] + + "HP §ageheilt!"); + sender.sendMessage( + "§aDu hast §b" + p.getName() + " §aum §c" + args[2] + "HP §ageheilt!"); + } else + sender.sendMessage("§cUnm§gliche Operation"); + } + if (args[0].equalsIgnoreCase("remove")) { + if (!(finalremhp > p.getMaxHealth()) && !(finalremhp < 0)) { + p.setHealth(finalremhp); + p.sendMessage("§4" + sender.getName() + " §chat dir §4" + args[2] + "HP §centfernt!"); + sender.sendMessage("§cDu hast §4" + p.getName() + " " + args[2] + "HP §centfernt!"); + } else + sender.sendMessage("§cUnmögliche Operation!"); + } + if (args[0].equalsIgnoreCase("set")) { + if (!(Double.parseDouble(args[2]) > p.getMaxHealth()) + && !(Double.parseDouble(args[2]) < 0)) { + p.setHealth(Double.parseDouble(args[2])); + p.sendMessage( + "§6" + sender.getName() + " §ehat deine HP auf §6" + args[2] + " §egesetzt!"); + sender.sendMessage("§eDu hast die HP von §6" + p.getName() + " §eauf §6" + args[2] + + " §egesetzt!"); + } else + sender.sendMessage("§cUnmögliche Operation"); + } + } else + sender.sendMessage("§cDieser Spieler ist nicht online!"); + } else { + sender.sendMessage("§c~~~~~ §6HP command §c~~~~~"); + sender.sendMessage("§c/HP Get §4- §6Erhalte die aktuelen HP eines Spielers"); + sender.sendMessage( + "§c/HP Add §4- §6Füge einem Spieler die angegebene Zahl an Herzen hinzu"); + sender.sendMessage( + "§c/HP Remove §4- §6Entferne einem Spieler die angegebene Zahl an Herzen"); + sender.sendMessage( + "§c/HP Set §4- §6Setze die Herzen eines Spieler auf die angegebene Zahl"); + sender.sendMessage("§c/HP Max §4- §6Setze die maximalen HP aller Spieler"); + } + } else { + sender.sendMessage("§c~~~~~ §6HP command §c~~~~~"); + sender.sendMessage("§c/HP Get §4- §6Erhalte die aktuelen HP eines Spielers"); + sender.sendMessage( + "§c/HP Add §4- §6Füge einem Spieler die angegebene Zahl an Herzen hinzu"); + sender.sendMessage( + "§c/HP Remove §4- §6Entferne einem Spieler die angegebene Zahl an Herzen"); + sender.sendMessage( + "§c/HP Set §4- §6Setze die Herzen eines Spieler auf die angegebene Zahl"); + sender.sendMessage("§c/HP Max §4- §6Setze die maximalen HP aller Spieler"); + } + } else + sender.sendMessage("§cDu hast hierfür keine Berechtigung"); + return true; + } +} diff --git a/src/main/java/net/brennholz/commands/Reset_Command.java b/src/main/java/net/brennholz/commands/Reset_Command.java new file mode 100644 index 0000000..8b22540 --- /dev/null +++ b/src/main/java/net/brennholz/commands/Reset_Command.java @@ -0,0 +1,54 @@ +package net.brennholz.commands; + + + +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.command.ConsoleCommandSender; +import org.bukkit.entity.Player; + +import net.brennholz.challenges.Backpack; +import net.brennholz.challenges.Challenges; + +public class Reset_Command implements CommandExecutor { + + private Challenges chl = Challenges.getplugin(); + Backpack backpack; + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + { + + } + Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "lb clearlog all world world"); + Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "lb clearlog all world world_nether"); + Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "lb clearlog all world world_the_end"); + + chl.getConfig().set("World_Name", Bukkit.getWorlds().get(0).getName()); + chl.getConfig().set("World_Reset", true); + chl.getConfig().set("timer.enabled", false); + chl.getConfig().set("timer.time", 0); + chl.getConfig().set("timer.sek", "00"); + chl.getConfig().set("timer.min", "00"); + chl.getConfig().set("timer.hrs", 0); + for (String key : chl.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { + chl.getConfig().set("Saved_Locations." + key, null); + } + chl.saveConfig(); + + Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() { + @Override + public void run() { + for (Player p : Bukkit.getOnlinePlayers()) { + p.sendTitle("§aWelt wird zurückgesetzt!", "§cBitte warte einen Moment§a.§b.§e.", 10, 400, 10); + p.kickPlayer("§cWelt wird zurückgesetzt!\n§cBitte warte einen Moment..."); + } + ConsoleCommandSender console = Bukkit.getServer().getConsoleSender(); + Bukkit.dispatchCommand(console, "restart"); + } + }, 60); + return true; + } +} diff --git a/src/main/java/net/brennholz/commands/Revive_Command.java b/src/main/java/net/brennholz/commands/Revive_Command.java new file mode 100644 index 0000000..d47fc30 --- /dev/null +++ b/src/main/java/net/brennholz/commands/Revive_Command.java @@ -0,0 +1,75 @@ +package net.brennholz.commands; + + + +import org.bukkit.Bukkit; +import org.bukkit.GameMode; +import org.bukkit.Location; +import org.bukkit.OfflinePlayer; +import org.bukkit.World; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import net.brennholz.challenges.Challenges; + +public class Revive_Command implements CommandExecutor { + + private Challenges chl = Challenges.getplugin(); + + @SuppressWarnings("deprecation") + @Override + public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { + if (sender.hasPermission("challenges.revive")) { + if (args.length == 1) { + if (args[0].equalsIgnoreCase("all")) { + for (Player p : Bukkit.getOnlinePlayers()) { + p.setHealth(p.getMaxHealth()); + p.setGameMode(GameMode.SURVIVAL); + } + chl.getServer().broadcastMessage("§bAlle Spieler wurden wiederbelebt! §aEs kann weiter gehen!"); + } else { + OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[0])); + if (other.isOnline()) { + Player p = (Player) other; + p.setHealth(p.getMaxHealth()); + p.setGameMode(GameMode.SURVIVAL); + chl.getServer().broadcastMessage( + "§b" + p.getName() + " §awurde von §b" + sender.getName() + " §awiederbelebt!"); + } else + sender.sendMessage("§cDieser Spieler ist nicht online!"); + } + } else if (args.length >= 4) { + World w = Bukkit.getWorld(args[1]); + double x = Double.parseDouble(args[2]); + double y = Double.parseDouble(args[3]); + double z = Double.parseDouble(args[4]); + Location loc = new Location(w, x, y, z); + if (args[0].equalsIgnoreCase("all")) { + for (Player p : Bukkit.getOnlinePlayers()) { + p.teleport(loc); + p.setHealth(p.getMaxHealth()); + p.setGameMode(GameMode.SURVIVAL); + } + chl.getServer().broadcastMessage("§bAlle Spieler wurden bei §c" + w.getName() + " " + x + " " + y + + " " + z + " §bwiederbelebt! §aEs kann weiter gehen!"); + } else { + OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[0])); + if (other.isOnline()) { + Player p = (Player) other; + p.teleport(loc); + p.setHealth(p.getMaxHealth()); + p.setGameMode(GameMode.SURVIVAL); + chl.getServer().broadcastMessage("§b" + p.getName() + " §awurde von §b" + sender.getName() + + " §abei §c" + w.getName() + " " + x + " " + y + " " + z + " §awiederbelebt!"); + } else + sender.sendMessage("§cDieser Spieler ist nicht online!"); + } + } else + sender.sendMessage("§cBenutze: /revive [world] [x] [y] [z]"); + } else + sender.sendMessage("§cDu hast hierfür keine Berechtigung"); + return true; + } +} diff --git a/src/main/java/net/brennholz/commands/Settings_Command.java b/src/main/java/net/brennholz/commands/Settings_Command.java new file mode 100644 index 0000000..c4d308c --- /dev/null +++ b/src/main/java/net/brennholz/commands/Settings_Command.java @@ -0,0 +1,103 @@ +package net.brennholz.commands; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import net.brennholz.challenges.Challenges; + +public class Settings_Command implements CommandExecutor { + + private Challenges chl = Challenges.getplugin(); + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + if (sender instanceof Player) { + Player p = (Player) sender; + if (args.length == 0) { + if (p.hasPermission("challenges.settings.view")) { + chl.createGUI(p); + } else { + p.sendMessage("hast hierfkeine Berechtigung"); + } + } else if (args.length == 1) { + if (args[0].equalsIgnoreCase("get")) { + if (p.hasPermission("challenges.settings.get")) { + p.sendMessage("Einstellungen"); + p.sendMessage("Crafting =" + chl.getConfig().getBoolean("craftingtable")); + p.sendMessage("Handeln =" + chl.getConfig().getBoolean("allowtrading")); + p.sendMessage("bei Fallschaden =" + chl.getConfig().getBoolean("deathonfall")); + p.sendMessage("bei Schleichen =" + chl.getConfig().getBoolean("damageonsneak")); + p.sendMessage("Schaden bei Schleichen =" + chl.getConfig().getInt("sneakdmg")); + p.sendMessage("Drops =" + chl.getConfig().getBoolean("rnddrops")); + p.sendMessage("Schaden =" + chl.getConfig().getBoolean("sharedmg")); + p.sendMessage("Leben falle =" + chl.getConfig().getBoolean("onelife")); + p.sendMessage("in Chat =" + chl.getConfig().getBoolean("dmginchat")); + p.sendMessage("=" + chl.getConfig().getBoolean("respawn")); + } else { + p.sendMessage("hast hierfkeine Berechtigung"); + } + } else { + p.sendMessage("/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG [True/False]"); + } + } else if (args.length >= 2) { + if (p.hasPermission("challenges.settings.modify")) { + Boolean Bwert = Boolean.valueOf(Boolean.parseBoolean(args[1])); + if (args[0].equalsIgnoreCase("crafting")) { + chl.getConfig().set("craftingtable", Bwert); + chl.saveConfig(); + p.sendMessage("Crafting =" + chl.getConfig().getBoolean("craftingtable")); + } else if (args[0].equalsIgnoreCase("deathfall")) { + chl.getConfig().set("deathonfall", Bwert); + chl.saveConfig(); + p.sendMessage("bei Fallschaden =" + chl.getConfig().getBoolean("deathonfall")); + } else if (args[0].equalsIgnoreCase("trading")) { + chl.getConfig().set("allowtrading", Bwert); + chl.saveConfig(); + p.sendMessage("Handeln =" + chl.getConfig().getBoolean("allowtrading")); + } else if (args[0].equalsIgnoreCase("dmgonsneak")) { + chl.getConfig().set("damageonsneak", Bwert); + chl.saveConfig(); + p.sendMessage("bei Schleichen =" + chl.getConfig().getBoolean("damageonsneak")); + } else if (args[0].equalsIgnoreCase("sneakdmg")) { + Double Dwert = Double.valueOf(Double.parseDouble(args[1])); + chl.getConfig().set("sneakdmg", Dwert); + chl.saveConfig(); + p.sendMessage("Schaden bei Schleichen =" + chl.getConfig().getString("sneakdmg")); + } else if (args[0].equalsIgnoreCase("rnddrops")) { + chl.getConfig().set("rnddrops", Bwert); + chl.saveConfig(); + p.sendMessage("Drops =" + chl.getConfig().getBoolean("rnddrops")); + } else if (args[0].equalsIgnoreCase("sharedmg")) { + chl.getConfig().set("sharehp", Bwert); + chl.saveConfig(); + p.sendMessage("Schaden =" + chl.getConfig().getBoolean("sharedmg")); + } else if (args[0].equalsIgnoreCase("respawn")) { + chl.getConfig().set("respawn", Bwert); + chl.saveConfig(); + p.sendMessage("=" + chl.getConfig().getBoolean("respawn")); + } else if (args[0].equalsIgnoreCase("onelife")) { + chl.getConfig().set("onelife", Bwert); + chl.saveConfig(); + p.sendMessage("Leben falle =" + chl.getConfig().getBoolean("onelife")); + } else if (args[0].equalsIgnoreCase("chatdmg")) { + chl.getConfig().set("dmginchat", Bwert); + chl.saveConfig(); + p.sendMessage("in Chat =" + chl.getConfig().getBoolean("dmginchat")); + } else { + p.sendMessage("Parameter!"); + } + } else { + p.sendMessage("hast hierfkeine Berechtigung"); + } + } else { + p.sendMessage( + "/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG [True/False]"); + } + } else { + sender.sendMessage("Konsolenbefehl!"); + } + return true; + } +} diff --git a/src/main/java/net/brennholz/commands/Timer_Command.java b/src/main/java/net/brennholz/commands/Timer_Command.java new file mode 100644 index 0000000..a0f407b --- /dev/null +++ b/src/main/java/net/brennholz/commands/Timer_Command.java @@ -0,0 +1,126 @@ +package net.brennholz.commands; + + + +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import net.brennholz.challenges.Challenges; + +public class Timer_Command implements CommandExecutor { + + private Challenges chl = Challenges.getplugin(); + public boolean timer; + private int zeit = chl.getConfig().getInt("timer.time"); + private int sek; + private int min; + private int hrs; + private String ssek; + private String smin; + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { + timer = chl.getConfig().getBoolean("timer.enabled"); + if (sender.hasPermission("challenges.timer")) { + if (args.length >= 1) { + if (args[0].equalsIgnoreCase("resume")) { + if (timer == false) { + timer = true; + chl.getServer().broadcastMessage("§aDer Timer wird fortgesetzt!"); + chl.getConfig().set("timer.enabled", timer); + chl.saveConfig(); + } else + sender.sendMessage("§cDer Timer läuft bereits!"); + } else if (args[0].equalsIgnoreCase("pause")) { + if (timer == true) { + timer = false; + chl.getServer().broadcastMessage("§6Der Timer wurde angehalten"); + chl.getConfig().set("timer.enabled", timer); + chl.saveConfig(); + } else + sender.sendMessage("§cDer Timer ist bereits pausiert!"); + } else if (args[0].equalsIgnoreCase("reset")) { + timer = false; + chl.getConfig().set("timer.enabled", timer); + chl.saveConfig(); + zeit = 0; + sek = 0; + min = 0; + hrs = 0; + RefreshConfig(); + chl.getServer().broadcastMessage("§cDer Timer wurde zurückgesetzt!"); + } else if (args.length >= 2) { + if (args[0].equalsIgnoreCase("set")) { + timer = false; + chl.getConfig().set("timer.enabled", timer); + chl.saveConfig(); + zeit = Integer.parseInt(args[1]); + RefreshConfig(); + chl.getServer().broadcastMessage( + "§bDer Timer wurde auf §a" + hrs + ":" + smin + ":" + ssek + " §bgesetzt!"); + } + } else + sender.sendMessage("§cBenutze: /timer resume/pause/reset/set [Zeit in Sekunden]"); + } else { + sender.sendMessage("§c~~~~~ §6Timer command §c~~~~~"); + sender.sendMessage("§c/timer resume §4- §6Setze den Timer fort"); + sender.sendMessage("§c/timer pause §4- §6Pausiere den Timer"); + sender.sendMessage("§c/timer reset §4- §6Setze den Timer zurück"); + sender.sendMessage("§c/timer set [Zeit in Sekunden] §4- §6Setze den Timer auf eine bestimmte Zeit"); + } + } else + sender.sendMessage("§cDu hast hierfür keine Berechtigung"); + return true; + + } + + @SuppressWarnings("deprecation") + public void Run_Timer() { + Bukkit.getScheduler().scheduleAsyncRepeatingTask(chl, new Runnable() { + @Override + public void run() { + boolean ttimer = chl.getConfig().getBoolean("timer.enabled"); + int ttime = chl.getConfig().getInt("timer.time"); + int thrs = chl.getConfig().getInt("timer.hrs"); + String tsek = chl.getConfig().getString("timer.sek"); + String tmin = chl.getConfig().getString("timer.min"); + if (ttimer) { + ttime = ttime + 1; + zeit = ttime; + RefreshConfig(); + for (Player p : chl.getServer().getOnlinePlayers()) { + p.sendActionBar("§aIn Challenge: §b" + thrs + ":" + tmin + ":" + tsek); + } + } else { + for (Player p : chl.getServer().getOnlinePlayers()) { + p.sendActionBar("§6Timer pausiert..."); + } + } + } + }, 1 * 20L, 1 * 20L); + } + + public void RefreshConfig() { + min = zeit / 60; + hrs = min / 60; + min = min % 60; + sek = zeit % 60; + if (sek >= 10) { + ssek = Integer.toString(sek); + } else + ssek = '0' + Integer.toString(sek); + if (min >= 10) { + smin = Integer.toString(min); + } else + smin = '0' + Integer.toString(min); + chl.getConfig().set("timer.time", zeit); + chl.getConfig().set("timer.sek", ssek); + chl.getConfig().set("timer.min", smin); + chl.getConfig().set("timer.hrs", hrs); + chl.saveConfig(); + } + +} diff --git a/src/main/java/net/brennholz/events/BlockCreateListener.java b/src/main/java/net/brennholz/events/BlockCreateListener.java new file mode 100644 index 0000000..dd4df6c --- /dev/null +++ b/src/main/java/net/brennholz/events/BlockCreateListener.java @@ -0,0 +1,29 @@ +package net.brennholz.events; + + + +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.event.player.PlayerBucketEmptyEvent; + +import net.brennholz.challenges.Challenges; + +public class BlockCreateListener implements Listener { + + private Challenges chl = Challenges.getplugin(); + + @EventHandler + public void onBlockPlace(BlockPlaceEvent e) { + if (this.chl.getConfig().getBoolean("timer.enabled") == false) { + e.setCancelled(true); + } + } + + @EventHandler + public void onBucketPlace(PlayerBucketEmptyEvent e) { + if (this.chl.getConfig().getBoolean("timer.enabled") == false) { + e.setCancelled(true); + } + } +} diff --git a/src/main/java/net/brennholz/events/BlockDestroyListener.java b/src/main/java/net/brennholz/events/BlockDestroyListener.java new file mode 100644 index 0000000..458db8d --- /dev/null +++ b/src/main/java/net/brennholz/events/BlockDestroyListener.java @@ -0,0 +1,59 @@ +package net.brennholz.events; + + + +import org.bukkit.Material; +import org.bukkit.Sound; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockExplodeEvent; +import org.bukkit.event.entity.EntityExplodeEvent; +import org.bukkit.inventory.ItemStack; + +import net.brennholz.challenges.Challenges; + +public class BlockDestroyListener implements Listener { + + private Challenges chl = Challenges.getplugin(); + + @EventHandler + public void onBlockBreak(BlockBreakEvent e) { + if (this.chl.getConfig().getBoolean("rnddrops") == true && this.chl.getConfig().getBoolean("timer.enabled") == true) { + e.setDropItems(false); + e.getBlock().getWorld().dropItem(e.getBlock().getLocation().add(0.5D, 0.5D, 0.5D), new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(e.getBlock()))); + } + if (this.chl.getConfig().getBoolean("timer.enabled") == false) { + e.setCancelled(true); + } + } + + @EventHandler + public void onBlockExplode(BlockExplodeEvent e) { + if (this.chl.getConfig().getBoolean("rnddrops") == true) { + e.setCancelled(true); + e.getBlock().getWorld().playSound(e.getBlock().getLocation(), Sound.ENTITY_GENERIC_EXPLODE, (float) 0.1, 1); + e.blockList().forEach(block -> { + if(!block.getType().isAir()){ + block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(block))); + block.setType(Material.AIR); + } + }); + } + } + + @EventHandler + public void onEntityExplode(EntityExplodeEvent e) { + if (this.chl.getConfig().getBoolean("rnddrops") == true) { + e.setCancelled(true); + e.getEntity().getWorld().playSound(e.getEntity().getLocation(), Sound.ENTITY_GENERIC_EXPLODE, (float) 0.1, 1); + e.blockList().forEach(block -> { + if(!block.getType().isAir()){ + block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(block))); + block.setType(Material.AIR); + } + }); + } + } +} + diff --git a/src/main/java/net/brennholz/events/DamageListener.java b/src/main/java/net/brennholz/events/DamageListener.java new file mode 100644 index 0000000..2599cb0 --- /dev/null +++ b/src/main/java/net/brennholz/events/DamageListener.java @@ -0,0 +1,91 @@ +package net.brennholz.events; + + + +import java.text.DecimalFormat; +import org.bukkit.Bukkit; +import org.bukkit.Sound; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.entity.EntityDamageEvent.DamageCause; +import org.bukkit.event.player.PlayerToggleSneakEvent; + +import net.brennholz.challenges.Challenges; + +public class DamageListener implements Listener { + + private Challenges chl = Challenges.getplugin(); + + @EventHandler + public void onDamage(EntityDamageEvent e) { + if (e.getEntity() instanceof Player) { + Player p = (Player) e.getEntity(); + String dmg = new DecimalFormat("#.##").format(e.getFinalDamage()); + if (e.getFinalDamage() > 0) { + if (e.getCause() == DamageCause.FALL) { + if (chl.getConfig().getBoolean("deathonfall") == true) { + if (chl.getConfig().getBoolean("dmginchat") == true) { + Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + p.getHealth() + " §cHP Schaden genommen durch §4" + e.getCause()); + } + Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() { + @Override + public void run() { + p.setHealth(0); + } + }, 1); + } else if (chl.getConfig().getBoolean("dmginchat") == true) { + Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getCause()); + } + } else if (e.getCause() == DamageCause.CUSTOM) { + if (!p.isSneaking() && (chl.getConfig().getBoolean("dmginchat") == true)) { + Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + chl.getConfig().getDouble("sneakdmg") + " §cHP Schaden genommen durch §4SNEAKING"); + } + } else if (e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) { + + } else if (chl.getConfig().getBoolean("dmginchat") == true) { + Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getCause()); + } + if (chl.getConfig().getBoolean("sharedmg") == true) { + for (Player pp : Bukkit.getOnlinePlayers()) { + if (pp != p) { + double health = pp.getHealth() - e.getFinalDamage(); + if(health < 0) { + pp.setHealth(0); + }else { + pp.setHealth(health); + pp.getWorld().playSound(pp.getLocation(), Sound.ENTITY_PLAYER_HURT, (float) 1, 1); + } + + } + } + } + } + } + } + + @EventHandler + public void onEntityDamage(EntityDamageByEntityEvent e) { + if ((e.getEntity() instanceof Player) && (e.getFinalDamage() > 0)) { + Player p = (Player) e.getEntity(); + String dmg = new DecimalFormat("#.##").format(e.getFinalDamage()); + if ((e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) + && chl.getConfig().getBoolean("dmginchat") == true) { + Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getDamager().getName()); + } + } + } + + @EventHandler + public void PlayerSneak(PlayerToggleSneakEvent e) { + Player p = (Player) e.getPlayer(); + if (!p.isSneaking()) { + if (chl.getConfig().getBoolean("damageonsneak") == true) { + p.damage(chl.getConfig().getDouble("sneakdmg")); + } + } + } +} + diff --git a/src/main/java/net/brennholz/events/DeathListener.java b/src/main/java/net/brennholz/events/DeathListener.java new file mode 100644 index 0000000..aedcc08 --- /dev/null +++ b/src/main/java/net/brennholz/events/DeathListener.java @@ -0,0 +1,69 @@ +package net.brennholz.events; + + + +import org.bukkit.Bukkit; +import org.bukkit.GameMode; +import org.bukkit.entity.EnderDragon; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.event.entity.PlayerDeathEvent; +import org.bukkit.event.player.PlayerRespawnEvent; + +import net.brennholz.challenges.Challenges; + +public class DeathListener implements Listener { + + private Challenges chl = Challenges.getplugin(); + + @EventHandler + public void onPlayerDeath(PlayerDeathEvent e) { + if (chl.getConfig().getBoolean("onelife") == true) { + chl.getConfig().set("timer.enabled", false); + chl.saveConfig(); + for (Player p : Bukkit.getOnlinePlayers()) { + p.setGameMode(GameMode.SPECTATOR); + } + chl.getServer().broadcastMessage(""); + chl.getServer().broadcastMessage(""); + e.setDeathMessage("§6" + e.getEntity().getName() + " §cist gestorben!"); + chl.getServer().broadcastMessage("§cDie Challenge wurde nach §6" + chl.getConfig().getInt("timer.hrs") + ":" + chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek") + " §cabgebrochen!"); + chl.getServer().broadcastMessage("§aSeed: §b" + Bukkit.getWorlds().get(0).getSeed()); + chl.getServer().broadcastMessage("§6Um alle wiederzubeleben benutze §c/revive ALL"); + } else { + e.setDeathMessage("§6" + e.getEntity().getName() + " §cist gestorben! §6(" + e.getEntity().getWorld().getName() + " " + e.getEntity().getLocation().getBlockX() + " " + e.getEntity().getLocation().getBlockY() + " " + e.getEntity().getLocation().getBlockZ() + "§c)"); + if (chl.getConfig().getBoolean("respawn") == false) { + Bukkit.getServer().broadcastMessage("§6Benutze §c/revive " + e.getEntity().getName() + " [world] [x] [y] [z] §6um ihn wiederzubeleben!"); + } + } + } + + @EventHandler + public void onPlayerRespawn(PlayerRespawnEvent e) { + if (chl.getConfig().getBoolean("respawn") == false) { + e.getPlayer().sendTitle("§cDu bist gestorben!", "§4Du bist nun Zuschauer", 10, 80, 10); + Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() { + @Override + public void run() { + e.getPlayer().setGameMode(GameMode.SPECTATOR); + } + }, 1); + } + } + + @EventHandler + public void DragonDeath(EntityDeathEvent e) { + if (e.getEntity() instanceof EnderDragon) { + chl.getConfig().set("timer.enabled", false); + chl.getServer().broadcastMessage("§6§kLIpwjwdjmpwdjmimjPiwjdÜOaiwjdüoJwoüdMdJM"); + chl.getServer().broadcastMessage(""); + chl.getServer().broadcastMessage("§aGRATULATION! IHR HABT DIE CHALLENGE ERFOLGREICH ABGESCHLOSSEN!"); + chl.getServer().broadcastMessage("§aBenötigte Zeit: §b" + chl.getConfig().getInt("timer.hrs") + ":"+ chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek")); + chl.getServer().broadcastMessage("§cSeed: §b" + Bukkit.getWorlds().get(0).getSeed()); + chl.getServer().broadcastMessage(""); + chl.getServer().broadcastMessage("§6§kLIpwjwdjmpwdjmimjPiwjdÜOaiwjdüoJwoüdMdJM"); + } + } +} diff --git a/src/main/java/net/brennholz/events/InteractListener.java b/src/main/java/net/brennholz/events/InteractListener.java new file mode 100644 index 0000000..265bb06 --- /dev/null +++ b/src/main/java/net/brennholz/events/InteractListener.java @@ -0,0 +1,45 @@ +package net.brennholz.events; + + + +import org.bukkit.Material; +import org.bukkit.entity.EntityType; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.Action; +import org.bukkit.event.player.PlayerInteractEntityEvent; +import org.bukkit.event.player.PlayerInteractEvent; + +import net.brennholz.challenges.Challenges; + +public class InteractListener implements Listener { + + private Challenges chl = Challenges.getplugin(); + + @EventHandler + public void onBlockClick(PlayerInteractEvent e) { + if (e.getAction() == Action.RIGHT_CLICK_BLOCK) { + if (e.getClickedBlock().getType() == Material.CRAFTING_TABLE) { + if (chl.getConfig().getBoolean("craftingtable") == false) { + e.setCancelled(true); + } + } + if (this.chl.getConfig().getBoolean("timer.enabled") == false) { + e.setCancelled(true); + } + } + } + + @EventHandler + public void onEntityClick(PlayerInteractEntityEvent e) { + if (e.getRightClicked().getType() == EntityType.VILLAGER) { + if (chl.getConfig().getBoolean("allowtrading") == false) { + e.setCancelled(true); + } + } + if (this.chl.getConfig().getBoolean("timer.enabled") == false) { + e.setCancelled(true); + } + } +} + diff --git a/src/main/java/net/brennholz/events/InventoryClickListener.java b/src/main/java/net/brennholz/events/InventoryClickListener.java new file mode 100644 index 0000000..9971803 --- /dev/null +++ b/src/main/java/net/brennholz/events/InventoryClickListener.java @@ -0,0 +1,113 @@ +package net.brennholz.events; + + + +import org.bukkit.Bukkit; +import org.bukkit.World; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.InventoryClickEvent; + +import net.brennholz.challenges.Challenges; + +public class InventoryClickListener implements Listener { + + private Challenges chl = Challenges.getplugin(); + + Challenges chall; + net.brennholz.commands.Coords_Command coco; + + @SuppressWarnings({ "deprecation", "static-access" }) + @EventHandler + public void InvClick(InventoryClickEvent e) { + World wld = Bukkit.getWorlds().get(0); + World nth = Bukkit.getWorlds().get(1); + World end = Bukkit.getWorlds().get(2); + String invname = e.getView().getTitle(); + Player p = (Player) e.getWhoClicked(); + int slot = e.getRawSlot(); + if (invname.equals(chall.GUIName)) { + e.setCancelled(true); + if (p.hasPermission("challenges.settings.modify")) { + switch (slot) { + case 18: + chl.getConfig().set("craftingtable", !(chl.getConfig().getBoolean("craftingtable"))); + break; + case 19: + chl.getConfig().set("allowtrading", !(chl.getConfig().getBoolean("allowtrading"))); + break; + case 20: + chl.getConfig().set("deathonfall", !(chl.getConfig().getBoolean("deathonfall"))); + break; + case 21: + chl.getConfig().set("damageonsneak", !(chl.getConfig().getBoolean("damageonsneak"))); + break; + case 22: + chl.getConfig().set("rnddrops", !(chl.getConfig().getBoolean("rnddrops"))); + break; + case 23: + chl.getConfig().set("sharedmg", !(chl.getConfig().getBoolean("sharedmg"))); + break; + case 24: + chl.getConfig().set("respawn", !(chl.getConfig().getBoolean("respawn"))); + break; + case 25: + chl.getConfig().set("onelife", !(chl.getConfig().getBoolean("onelife"))); + break; + case 26: + chl.getConfig().set("dmginchat", !(chl.getConfig().getBoolean("dmginchat"))); + break; + case 37: + if (wld.getGameRuleValue("keepInventory").equals("true")) { + wld.setGameRuleValue("keepInventory", "false"); + nth.setGameRuleValue("keepInventory", "false"); + end.setGameRuleValue("keepInventory", "false"); + } else if (wld.getGameRuleValue("keepInventory").equals("false")) { + wld.setGameRuleValue("keepInventory", "true"); + nth.setGameRuleValue("keepInventory", "true"); + end.setGameRuleValue("keepInventory", "true"); + } + break; + case 43: + if (wld.getGameRuleValue("naturalRegeneration").equals("true")) { + wld.setGameRuleValue("naturalRegeneration", "false"); + nth.setGameRuleValue("naturalRegeneration", "false"); + end.setGameRuleValue("naturalRegeneration", "false"); + } else if (wld.getGameRuleValue("naturalRegeneration").equals("false")) { + wld.setGameRuleValue("naturalRegeneration", "true"); + nth.setGameRuleValue("naturalRegeneration", "true"); + end.setGameRuleValue("naturalRegeneration", "true"); + } + break; + default: + break; + } + chl.saveConfig(); + p.performCommand("settings"); + } + } + if (invname.equals(coco.CGUIN)) { + e.setCancelled(true); + if (slot >= 0 && slot <= 44) { + if (coco.CoordsGUI.getItem(slot) != null && p.hasPermission("challenges.coords.delete")) { + p.performCommand("coords delete " + e.getCurrentItem().getItemMeta().getDisplayName()); + } + } + } + if (invname.equals(coco.CDGUIN)) { + e.setCancelled(true); + if (slot == 0) { + String cname = coco.CoordsDeleteGUI.getItem(4).getItemMeta().getDisplayName(); + chl.getConfig().set("Saved_Locations." + cname, null); + chl.saveConfig(); + p.sendMessage("§cPosition §6" + cname + " §cwurde gelöscht!"); + p.closeInventory(); + } + if (slot == 8) { + p.performCommand("coords"); + } + } + } +} + diff --git a/src/main/java/net/brennholz/events/QuitJoinListener.java b/src/main/java/net/brennholz/events/QuitJoinListener.java new file mode 100644 index 0000000..48e84cb --- /dev/null +++ b/src/main/java/net/brennholz/events/QuitJoinListener.java @@ -0,0 +1,39 @@ +package net.brennholz.events; + + + +import java.util.Random; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; + +import net.brennholz.challenges.Challenges; + +public class QuitJoinListener implements Listener { + + private Challenges chl = Challenges.getplugin(); + + @EventHandler + public void PlayerJoinEvent(PlayerJoinEvent e) { + Player p = e.getPlayer(); + e.setJoinMessage("§6" + p.getName() + " §chat den Server betreten!"); + if (chl.getConfig().getBoolean("sharedmg") == true) { + int rnd = new Random().nextInt(Bukkit.getOnlinePlayers().size()); + Player rp = (Player) Bukkit.getServer().getOnlinePlayers().toArray()[rnd]; + p.setHealth(rp.getHealth()); + } + if (this.chl.getConfig().getBoolean("tabhp") == true) { + this.chl.getSBManager().createScoreboard(p); + } + } + + @EventHandler + public void PlayerQuitEvent(PlayerQuitEvent e) { + Player p = e.getPlayer(); + e.setQuitMessage("§6" + p.getName() + " §chat den Server verlassen!"); + } +}