Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.MrJonton01.NotyCombatTag;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.List;
- import org.bukkit.Bukkit;
- import org.bukkit.World;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- 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.player.PlayerJoinEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitRunnable;
- public class Main extends JavaPlugin implements Listener {
- String prefix = "§7<§aNoty§8CombatTag§7> ";
- HashMap<String, Long> combat = new HashMap<String, Long>();
- List<String> activeworlds = new ArrayList<String>();
- List<String> latestworlds = new ArrayList<String>();
- HashMap<String, Integer> tp = new HashMap<String, Integer>();
- public void onEnable() {
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- check("delay", 100);
- for (World w : Bukkit.getWorlds()) {
- activeworlds.add(w.getName());
- if (activeworlds.size() == Bukkit.getWorlds().size()) {
- cfgSet("active-worlds", activeworlds);
- }
- }
- check("latest-worlds", Arrays.asList("Placeholder"));
- check("inactive-worlds", Arrays.asList("Placeholder"));
- check("registered-players", Arrays.asList("Placeholder"));
- for (String n : getConfig().getStringList("registered-players")) {
- if (getConfig().getStringList("registered-players").contains("Placeholder")) {
- continue;
- } else {
- for (String iw : getConfig().getStringList("inactive-worlds")) {
- if (getConfig().contains(n + "." + iw)) {
- cfgSet(n + "." + iw, null);
- } else {
- continue;
- }
- }
- }
- }
- if (getConfig().getStringList("latest-worlds").contains("Placeholder")) {
- cfgSet("latest-worlds", Bukkit.getWorlds());
- for (World w : Bukkit.getWorlds()) {
- latestworlds.add(w.getName());
- if (latestworlds.size() == Bukkit.getWorlds().size()) {
- cfgSet("latest-worlds", latestworlds);
- }
- }
- } else {
- for (String w : getConfig().getStringList("latest-worlds")) {
- if (getConfig().getStringList("active-worlds").contains(w)) {
- continue;
- } else {
- if (getConfig().getStringList("inactive-worlds").contains("Placeholder")) {
- cfgSet("inactive-worlds", getConfig().getStringList("inactive-worlds").add(w));
- cfgSet("inactive-worlds", getConfig().getStringList("inactive-worlds").remove("Placeholder"));
- } else {
- cfgSet("inactive-worlds", getConfig().getStringList("inactive-worlds").add(w));
- }
- }
- }
- }
- }
- private void check(String path, Object value) {
- if (!getConfig().contains(path)) {
- getConfig().set(path, value);
- saveConfig();
- }
- }
- private void cfgSet(String path, Object value) {
- getConfig().set(path, value);
- saveConfig();
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- for (World w : Bukkit.getWorlds()) {
- String wn = w.getName();
- check(p.getUniqueId() + "." + wn, true);
- }
- if (!getConfig().getStringList("registered-players").contains(p.getUniqueId().toString())) {
- cfgSet("registered-players",
- getConfig().getStringList("registered-players").add(p.getUniqueId().toString()));
- }
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- Player p = (Player) sender;
- if (cmd.getName().equalsIgnoreCase("combattag")) {
- if (args.length == 0) {
- msg("§6Plugin von §eMrJonton01", p);
- msg("", p);
- msg("§aHelp-Befehl: §2/combattag help", p);
- }
- if (args.length == 1) {
- if (args[0].equalsIgnoreCase("help")) {
- msg("§bListe aller verfügbaren Befehle:", p);
- msg("§bWeitere Infos findest du beim Nutzen des Befehls.", p);
- msg("", p);
- msg("§e/combattag", p);
- msg("§e/combattag toggle", p);
- msg("§e/combattag help", p);
- } else if (args[0].equalsIgnoreCase("toggle")) {
- if (p.hasPermission("combattag.vip")) {
- msg("§6Befehl-Nutzung:", p);
- msg("§e/combattag toggle here§7- §e(De)Aktiviert die \"CombatTag\"-Nachrichten für dich für die Welt/den Spielmodus indem du dich gerade befindest.",
- p);
- msg("§e/combattag toggle all §7- §e(De)Aktiviert die \"CombatTag\"-Nachrichten für dich für alle Spielmodi/Welten.",
- p);
- msg("§e/combattag toggle WELT/SPIELMODUS§7- §e(De)Aktiviert die \"CombatTag\"-Nachrichten für dich für die Welt/den Spielmodus welche(n) du angegeben hast.",
- p);
- } else {
- msg("§6Befehl-Nutzung:", p);
- msg("§e/combattag toggle here§7- §e(De)Aktiviert die \"CombatTag\"-Nachrichten für dich für die Welt/den Spielmodus indem du dich gerade befindest.",
- p);
- msg("§e/combattag toggle all §7- §e(De)Aktiviert die \"CombatTag\"-Nachrichten für dich für alle Spielmodi/Welten.",
- p);
- }
- } else {
- p.chat("/combattag help");
- }
- } else if (args.length == 2) {
- if (args[0].equalsIgnoreCase("toggle")) {
- if (args[1].equalsIgnoreCase("here")) {
- if (getConfig().contains(p.getUniqueId() + "." + p.getWorld().getName())) {
- if (getConfig().getBoolean(p.getUniqueId() + "." + p.getWorld().getName()) == true) {
- cfgSet(p.getUniqueId() + "." + p.getWorld().getName(), false);
- } else {
- cfgSet(p.getUniqueId() + "." + p.getWorld().getName(), true);
- }
- } else {
- msg("§cEs ist ein Fehler aufgetreten! Bitte melde ihn an MrJonton01:", p);
- msg("§cConfig-Pfad für UUID" + p.getUniqueId().toString() + " (" + p.getName() + ", "
- + p.getWorld().getName() + ") nicht gefunden.", p);
- }
- } else if (args[1].equalsIgnoreCase("all")) {
- for (String w : getConfig().getStringList("active-worlds")) {
- if (!getConfig().contains(p.getUniqueId().toString() + ".all")) {
- cfgSet(p.getUniqueId().toString() + ".all", "1");
- } else {
- if (getConfig().getString(p.getUniqueId().toString() + ".all").equalsIgnoreCase("0")) {
- cfgSet(p.getUniqueId() + "." + w, true);
- } else {
- cfgSet(p.getUniqueId() + "." + w, false);
- }
- }
- }
- if (getConfig().getString(p.getUniqueId().toString() + ".all").equalsIgnoreCase("0")) {
- cfgSet(p.getUniqueId().toString() + ".all", "1");
- msg("§aDu hast alle Nachrichten für dich §2aktiviert§a!", p);
- } else {
- cfgSet(p.getUniqueId().toString() + ".all", "0");
- msg("§aDu hast alle Nachrichten für dich §cdeaktiviert§a!", p);
- }
- } else {
- if (p.hasPermission("combattag.vip")) {
- if (Bukkit.getWorlds().contains(Bukkit.getWorld(args[1]))) {
- if (getConfig().getBoolean(p.getUniqueId().toString() + "." + args[1]) == true) {
- cfgSet(p.getUniqueId().toString() + "." + args[1], false);
- msg("§aDu hast die Nachrichten in der Welt/in dem Spielmodus §3" + args[1]
- + " §cdeaktiviert§a!", p);
- } else {
- cfgSet(p.getUniqueId().toString() + "." + args[1], true);
- msg("§aDu hast die Nachrichten in der Welt/in dem Spielmodus §3" + args[1]
- + " §2aktiviert§a!", p);
- }
- } else {
- msg("§cDiese Welt/Dieser Spielmodus ist nicht verfügbar. Bitte achte auch auf Groß- und Kleinschreibung!",
- p);
- }
- } else {
- msg("§cDu benötigst mindestens den §6VIP§c-Rang um dies nutzen zu dürfen!", p);
- }
- }
- } else {
- p.chat("/combattag help");
- }
- } else {
- p.chat("/combattag help");
- }
- }
- return true;
- }
- @EventHandler
- public void onDamage(EntityDamageByEntityEvent e) {
- Player p = (Player) e.getEntity();
- Player d = (Player) e.getDamager();
- if (e.getEntity() instanceof Player && e.getDamager() instanceof Player) {
- if (!combat.containsKey(p.getName())) {
- if (!combat.containsKey(d.getName())) {
- if (getConfig().getBoolean(p.getUniqueId() + "." + p.getWorld().getName()) == true) {
- if (getConfig().getBoolean(d.getUniqueId() + "." + d.getWorld().getName()) == true) {
- msg("§eDu bist nun im §aKampf §emit " + d.getDisplayName() + "§e! Logge dich nicht aus!",
- p);
- msg("§eDu bist nun im §aKampf §emit " + p.getDisplayName() + "§e! Logge dich nicht aus!",
- d);
- } else {
- msg("§eDu bist nun im §aKampf §emit " + d.getDisplayName() + "§e! Logge dich nicht aus!",
- p);
- }
- } else {
- if (getConfig().getBoolean(d.getUniqueId() + "." + d.getWorld().getName()) == true) {
- msg("§eDu bist nun im §aKampf §emit " + p.getDisplayName() + "§e! Logge dich nicht aus!",
- d);
- } else {
- }
- }
- }
- }
- combat.put(p.getName(), getConfig().getLong("delay"));
- combat.put(d.getName(), getConfig().getLong("delay"));
- timer(d);
- timer(p);
- } else {
- return;
- }
- }
- @SuppressWarnings("deprecation")
- private void timer(Player p) {
- int cid = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new BukkitRunnable() {
- public void run() {
- if (combat.containsKey(p.getName())) {
- if (combat.get(p.getName()) == 0) {
- if (getConfig().getBoolean(p.getUniqueId().toString() + "." + p.getWorld().getName()) == true) {
- msg("§eDu bist nun §cnicht mehr §eim Kampf und kannst dich sicher ausloggen!", p);
- combat.remove(p.getName());
- p.sendMessage("ok");
- this.cancel();
- // Bukkit.getScheduler().cancelTask(cid);
- return;
- } else {
- combat.remove(p.getName());
- p.sendMessage("okkk");
- this.cancel();
- //Bukkit.getScheduler().cancelTasks(pl);
- //Bukkit.getScheduler().cancelTask();
- return;
- }
- }
- else{
- combat.replace(p.getName(), combat.get(p.getName()) - 1);
- }
- } else {
- }
- // p.sendMessage("" + combat.get(p.getName()) + " §c" +
- // this.getTaskId());
- }
- }, 1L, 1L);
- /*BukkitTask cid = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new BukkitRunnable() {
- public void run() {
- tp.put(p.getName(), cid);
- if (combat.containsKey(p.getName())) {
- Bukkit.getServer().getConsoleSender().sendMessage("" + this.getTaskId());
- if (combat.get(p.getName()) == 0) {
- if (getConfig().getBoolean(p.getUniqueId().toString() + "." + p.getWorld().getName()) == true) {
- msg("§eDu bist nun §cnicht mehr §eim Kampf und kannst dich sicher ausloggen!", p);
- combat.remove(p.getName());
- // Bukkit.getScheduler().cancelTask(cid);
- return;
- } else {
- combat.remove(p.getName());
- //Bukkit.getScheduler().cancelTasks(pl);
- //Bukkit.getScheduler().cancelTask();
- return;
- }
- }
- else{
- }
- combat.replace(p.getName(), combat.get(p.getName()) - 1);
- } else {
- }
- // p.sendMessage("" + combat.get(p.getName()) + " §c" +
- // this.getTaskId());
- }
- }, 1L, 1L);*/
- if (!combat.containsKey(p.getName())) {
- return;
- }
- /*
- * if (!combat.containsKey(p.getName())) {
- * Bukkit.getScheduler().cancelTask(cid); }
- */
- }
- private void msg(String message, Player p) {
- p.sendMessage(prefix + message);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement