diff --git a/pom.xml b/pom.xml index b3be2c8..6da6989 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 de.fanta.challenges Challenges - 1.16.2-DEV + 1.16.4-DEV UTF-8 UTF-8 @@ -24,7 +24,7 @@ com.destroystokyo.paper paper - 1.16.3-R0.1-SNAPSHOT + 1.16.4-R0.1-SNAPSHOT provided @@ -34,6 +34,12 @@ provided + de.iani.cubeside + GlobalPort + 0.0.1-SNAPSHOT + provided + + org.kitteh VanishNoPacket 3.20.1 diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java index 2a943d8..cb9d579 100644 --- a/src/main/java/de/fanta/challenges/Challenges.java +++ b/src/main/java/de/fanta/challenges/Challenges.java @@ -2,6 +2,7 @@ import de.fanta.challenges.challenges.RandomDrops; import de.fanta.challenges.commands.CommandRegistration; +import de.fanta.challenges.commands.GamemodeCommand; import de.fanta.challenges.events.PlayerCountChangedEvent; import de.fanta.challenges.events.ServerStatusChangedEvent; import de.fanta.challenges.events.TimerChangedEvent; @@ -33,6 +34,7 @@ import org.bukkit.Bukkit; import org.bukkit.GameRule; import org.bukkit.Material; +import org.bukkit.Server; import org.bukkit.World; import org.bukkit.WorldCreator; import org.bukkit.WorldType; @@ -81,11 +83,9 @@ return plugin; } - public static final String CHALLENGESPREFIX = ChatColor.of("#455aad") + "[" + ChatUtil.GREEN + "Challenge" + ChatColor.of("#455aad") + "]"; - public static final String CHALLENGEGUIPREFIX = ChatColor.of("#2d8745") + "Challenge"; - - public static final String ADVENTUREPREFIX = ChatColor.of("#455aad") + "[" + ChatUtil.GREEN + "Adventure" + ChatColor.of("#455aad") + "]"; - public static final String ADVENTUREGUIPREFIX = ChatColor.of("#2d8745") + "Adventure"; + private static final String prefix = Bukkit.getMotd(); + public static final String PREFIX = ChatColor.of("#455aad") + "[" + ChatUtil.GREEN + prefix + ChatColor.of("#455aad") + "]"; + public static final String GUIPREFIX = ChatColor.of("#2d8745") + prefix; private Player currentEditor; @@ -95,6 +95,8 @@ public void onEnable() { plugin = this; + getCommand("gamemode").setExecutor(new GamemodeCommand()); + this.timer = new Timer(this); this.rndDrops = new RandomDrops(); this.bingo = new Bingo(); @@ -125,8 +127,6 @@ pM.registerEvents(new BingoListener(), this); pM.registerEvents(new EventItemsGui(), this); - - saveDefaultConfig(); reloadConfig(); createRndDropsConfig(); @@ -269,17 +269,8 @@ this.currentEditor = currentEditor; if (currentEditor != null) { ChatUtil.sendNormalMessage(currentEditor, "Du bist nun der Editor dieser Lobby!"); - ChatUtil.sendNormalMessage(currentEditor, "Verfügbare Befehle:"); - ChatUtil.sendNormalMessage(currentEditor, "/HP - Verwalte die HP einzelner Spieler"); - ChatUtil.sendNormalMessage(currentEditor, "/Coords - Teile oder speichere Coordinaten"); - ChatUtil.sendNormalMessage(currentEditor, "/Settings - Verwalte die Challenges Einstellungen"); - ChatUtil.sendNormalMessage(currentEditor, "/Timer - Verwalte den Timer"); - ChatUtil.sendNormalMessage(currentEditor, "/Revive - Wiederbelebe Spieler"); - ChatUtil.sendNormalMessage(currentEditor, "/Backpack | /bp - öffne das Backpack"); - ChatUtil.sendNormalMessage(currentEditor, "/Reset - Generiert eine neue Welt, setzt den Timer zurück und löscht gespeicherte Positionen"); - ChatUtil.sendNormalMessage(currentEditor, "/forcemlg - Triggert einen MLG wenn MLG aktiv ist"); - ChatUtil.sendNormalMessage(currentEditor, "/editor - zeigt dir den aktuellen Editor an"); - ChatUtil.sendNormalMessage(currentEditor, "/challenges hilfe Seite und Spieler kicken"); + ChatUtil.sendNormalMessage(currentEditor, "Alle Befehle und Funktionen vom Challenge Plugin findest du in unserem Wiki."); + ChatUtil.sendNormalMessage(currentEditor, "Hier Klicken --> https://wiki.cubeside.de/Challenge"); ChatUtil.sendBrodcastMessage(currentEditor.getName() + " ist nun der Editor dieser Lobby!"); } } diff --git a/src/main/java/de/fanta/challenges/RIPBoden.java b/src/main/java/de/fanta/challenges/RIPBoden.java index 406e175..87d2e41 100644 --- a/src/main/java/de/fanta/challenges/RIPBoden.java +++ b/src/main/java/de/fanta/challenges/RIPBoden.java @@ -1,28 +1,47 @@ package de.fanta.challenges; -import org.bukkit.entity.Player; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.scheduler.BukkitRunnable; + +import java.util.ArrayList; public class RIPBoden { - private final Challenges plugin = Challenges.getPlugin(); + private static Challenges plugin = Challenges.getPlugin(); + public static ArrayList LAVA_BLOCKS = new ArrayList<>(); - private boolean running; - private int time; + public static void setMagma(Block b, Material old) { + new BukkitRunnable() { - - - - public boolean isRunning() { - return running; + @Override + public void run() { + b.setType(Material.MAGMA_BLOCK); + setLava(b, old); + } + }.runTaskLater(plugin, 20L); } - public void setRunning(boolean running) { - this.running = running; + public static void setLava(Block b, Material old) { + new BukkitRunnable() { + + @Override + public void run() { + b.setType(Material.LAVA); + setOld(b, old); + } + }.runTaskLater(plugin, 60L); } - public int gettime() { - return time; - } - public void setTime(int seconds) { - this.time = seconds; + public static void setOld(Block b, Material old) { + new BukkitRunnable() { + + @Override + public void run() { + if (b.getType() == Material.LAVA || b.getType() == Material.OBSIDIAN || b.getType() == Material.COBBLESTONE || b.getType() == Material.STONE) { + b.setType(old); + } + LAVA_BLOCKS.remove(b); + } + }.runTaskLater(plugin, 200L); } } diff --git a/src/main/java/de/fanta/challenges/Timer.java b/src/main/java/de/fanta/challenges/Timer.java index 5d10ceb..51269e3 100644 --- a/src/main/java/de/fanta/challenges/Timer.java +++ b/src/main/java/de/fanta/challenges/Timer.java @@ -62,8 +62,8 @@ p.setGameMode(GameMode.SPECTATOR); p.sendTitle(ChatColor.DARK_RED + "ZEIT ABGELAUFEN!", ChatColor.RED + "Challenge fehgeschlagen", 10, 60, 10); } - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + ChatColor.DARK_RED + " Die Zeit ist abgelaufen und die Challenge somit fehlgeschlagen!"); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + ChatColor.GREEN + " Seed: " + ChatColor.AQUA + Bukkit.getWorlds().get(0).getSeed()); + Bukkit.broadcastMessage(Challenges.PREFIX + ChatColor.DARK_RED + " Die Zeit ist abgelaufen und die Challenge somit fehlgeschlagen!"); + Bukkit.broadcastMessage(Challenges.PREFIX + ChatColor.GREEN + " Seed: " + ChatColor.AQUA + Bukkit.getWorlds().get(0).getSeed()); } else { for (Player p : Bukkit.getOnlinePlayers()) { @@ -122,7 +122,7 @@ public boolean triggerMLG() { if (plugin.getConfig().getBoolean("mlg.enabled") && !mlgActive && Bukkit.getOnlinePlayers().size() >= 1) { mlgActive = true; - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " §bZeit für einen MLG! §6Viel Glück!"); + Bukkit.broadcastMessage(Challenges.PREFIX + " §bZeit für einen MLG! §6Viel Glück!"); timeSinceMLG = 0; for (Player p : Bukkit.getOnlinePlayers()) { if (p.getGameMode() == GameMode.SURVIVAL && !p.isDead()) { diff --git a/src/main/java/de/fanta/challenges/commands/LeaveCommand.java b/src/main/java/de/fanta/challenges/commands/LeaveCommand.java index 2f1e9d6..26fa2bd 100644 --- a/src/main/java/de/fanta/challenges/commands/LeaveCommand.java +++ b/src/main/java/de/fanta/challenges/commands/LeaveCommand.java @@ -3,6 +3,7 @@ import de.fanta.challenges.utils.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; +import de.speedy64.globalport.GlobalApi; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -18,7 +19,7 @@ ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); return true; } else { - ((Player) sender).performCommand("tt challenge"); + GlobalApi.portOnlinePlayerToLocation(sender.getName(), "challenge"); } return true; } diff --git a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesCommand.java b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesCommand.java index 51de8bf..4e7c522 100644 --- a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesCommand.java +++ b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesCommand.java @@ -1,11 +1,13 @@ package de.fanta.challenges.commands.challenges; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.ChatSkullAPI.ChatSkull; import de.fanta.challenges.utils.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; public class ChallengesCommand extends SubCommand { @@ -17,8 +19,8 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { - ChatUtil.sendNormalMessage(sender, "Challenges v" + plugin.getDescription().getVersion() + " by " + plugin.getDescription().getAuthors()); - ChatUtil.sendNormalMessage(sender, "Nutze /challenges help für Hilfe"); - return true; + ChatUtil.sendNormalMessage(sender, "Challenges v" + plugin.getDescription().getVersion() + " by " + plugin.getDescription().getAuthors()); + ChatUtil.sendNormalMessage(sender, "Nutze /challenges help für Hilfe"); + return true; } } diff --git a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesHelpCommand.java b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesHelpCommand.java index 490c459..a500c62 100644 --- a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesHelpCommand.java +++ b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesHelpCommand.java @@ -24,17 +24,8 @@ } if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { - ChatUtil.sendNormalMessage(sender, "Verfügbare Befehle:"); - ChatUtil.sendNormalMessage(sender, "/HP - Verwalte die HP einzelner Spieler"); - ChatUtil.sendNormalMessage(sender, "/Coords - Teile oder speichere Coordinaten"); - ChatUtil.sendNormalMessage(sender, "/Settings - Verwalte die Challenges Einstellungen"); - ChatUtil.sendNormalMessage(sender, "/Timer - Verwalte den Timer"); - ChatUtil.sendNormalMessage(sender, "/Revive - Wiederbelebe Spieler"); - ChatUtil.sendNormalMessage(sender, "/Backpack | /bp - öffne das Backpack"); - ChatUtil.sendNormalMessage(sender, "/Reset - Generiert eine neue Welt, setzt den Timer zurück und löscht gespeicherte Positionen"); - ChatUtil.sendNormalMessage(sender, "/forcemlg - Triggert einen MLG wenn MLG aktiv ist"); - ChatUtil.sendNormalMessage(sender, "/editor - zeigt dir den aktuellen Editor an"); - ChatUtil.sendNormalMessage(sender, "/challenges hilfe Seite und Spieler kicken"); + ChatUtil.sendNormalMessage(sender, "Alle Befehle und Funktionen vom Challenge Plugin findest du in unserem Wiki."); + ChatUtil.sendNormalMessage(sender, "Hier Klicken --> https://wiki.cubeside.de/Challenge"); return true; } else if (plugin.getCurrentEditor() != null) { ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); diff --git a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesKickCommand.java b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesKickCommand.java index e0043df..ba75886 100644 --- a/src/main/java/de/fanta/challenges/commands/challenges/ChallengesKickCommand.java +++ b/src/main/java/de/fanta/challenges/commands/challenges/ChallengesKickCommand.java @@ -4,6 +4,7 @@ import de.fanta.challenges.utils.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; +import de.speedy64.globalport.GlobalApi; import org.bukkit.BanList; import org.bukkit.Bukkit; import org.bukkit.command.Command; @@ -28,29 +29,35 @@ String playerName = args.getNext(); Player player = Bukkit.getPlayer(playerName); - if (player == sender) { - ChatUtil.sendErrorMessage(sender,"Du kannst dich nicht selbst kicken"); + if (player == null) { + ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!"); return true; } - if (player == null) { - ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!"); - } else { - player.performCommand("tt challenge"); - ChatUtil.sendWarningMessage(player, "Du wurdest vom Editor gekickt!"); - ChatUtil.sendWarningMessage(player, "Du kannst in einer Minute wieder joinen"); - Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { - player.banPlayer("Du wurdest vom Editor gekickt"); - }, 5L); - Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { - Bukkit.getBanList(BanList.Type.NAME).pardon(player.getName()); - }, 20 * 60); + if (player == sender) { + ChatUtil.sendErrorMessage(sender, "Du kannst dich nicht selbst kicken."); + return true; } + + if (player.hasPermission("Challenges.editor.override")) { + ChatUtil.sendErrorMessage(sender, "Diese Person kannst du nicht kicken."); + return true; + } + + ChatUtil.sendWarningMessage(player, "Du wurdest vom Editor gekickt!"); + ChatUtil.sendWarningMessage(player, "Du kannst in einer Minute wieder joinen"); + GlobalApi.portOnlinePlayerToLocation(player.getName(), "challenge"); + Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { + player.banPlayer("Du wurdest vom Editor gekickt."); + }, 5L); + Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> { + Bukkit.getBanList(BanList.Type.NAME).pardon(player.getName()); + }, 20 * 60); return true; } return false; } else if (plugin.getCurrentEditor() != null) { - ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! Nur " + plugin.getCurrentEditor().getName() + " kann Spieler kicken"); + ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! Nur " + plugin.getCurrentEditor().getName() + " kann Spieler kicken."); return true; } else { ChatUtil.sendErrorMessage(sender, "Aktuell gibt es keinen Editor!"); diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java index 9925ec1..f2df13f 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java @@ -28,7 +28,7 @@ int x = player.getLocation().getBlockX(); int y = player.getLocation().getBlockY(); int z = player.getLocation().getBlockZ(); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " " + ChatUtil.BLUE + sender.getName() + ChatUtil.GREEN + " ist bei " + ChatUtil.ORANGE + x + "/" + y + "/" + z + " " + ChatUtil.ORANGE + w); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatUtil.BLUE + sender.getName() + ChatUtil.GREEN + " ist bei " + ChatUtil.ORANGE + x + "/" + y + "/" + z + " " + ChatUtil.ORANGE + w); return true; } } diff --git a/src/main/java/de/fanta/challenges/commands/editor/EditorSetCommand.java b/src/main/java/de/fanta/challenges/commands/editor/EditorSetCommand.java index 1167bd0..1cfc619 100644 --- a/src/main/java/de/fanta/challenges/commands/editor/EditorSetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/editor/EditorSetCommand.java @@ -34,7 +34,7 @@ return true; } else if (!plugin.isEditor(player)){ plugin.setCurrentEditor(player); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " " + ChatColor.GREEN + player.getName() + " wurde von " + sender.getName() + " zum Editor ernannt"); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatColor.GREEN + player.getName() + " wurde von " + sender.getName() + " zum Editor ernannt"); ChatUtil.sendNormalMessage(player, "Du bist jetzt Editor und kannst diese Lobby bearbeiten. (/challenges)"); return true; } else { diff --git a/src/main/java/de/fanta/challenges/commands/event/EventStartCommand.java b/src/main/java/de/fanta/challenges/commands/event/EventStartCommand.java index 8289231..b5663fb 100644 --- a/src/main/java/de/fanta/challenges/commands/event/EventStartCommand.java +++ b/src/main/java/de/fanta/challenges/commands/event/EventStartCommand.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.guis.eventgui.EventItemsGui; +import de.fanta.challenges.scoreboard.ScoreManager; import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.guiutils.GUIUtils; import de.iani.cubesideutils.bukkit.commands.SubCommand; @@ -45,6 +46,9 @@ World world = Bukkit.getWorld("world"); world.setGameRule(GameRule.DO_DAYLIGHT_CYCLE, true); plugin.getTimer().startTimer(); + + Bukkit.getOnlinePlayers().forEach(p -> plugin.getScoreManager().updateScore(p, 0)); + if (Objects.equals(plugin.getConfig().getString("event.type"), "bingo")) { for (Player p : Bukkit.getOnlinePlayers()) { BossBar bossBar = Bukkit.createBossBar(ChatUtil.GREEN + "Nutze " + ChatUtil.BLUE + "/bingo" + ChatUtil.GREEN + " um die Items zu sehen", BarColor.GREEN, BarStyle.SOLID); diff --git a/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java b/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java index 7e2a93f..15dda89 100644 --- a/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java +++ b/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java @@ -4,6 +4,7 @@ import de.fanta.challenges.utils.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; +import de.speedy64.globalport.GlobalApi; import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.command.Command; @@ -49,7 +50,7 @@ plugin.getTimer().setTime(0); for (Player p : Bukkit.getOnlinePlayers()) { p.sendTitle(ChatColor.of("#0ddead") + "Server wird zurückgesetzt!", ChatColor.RED + "Bitte warte einen Moment" + ChatColor.of("#0ddead") + "." + ChatColor.AQUA + "." + ChatColor.YELLOW + ".", 10, 220, 10); - p.performCommand("tt challenge"); + GlobalApi.portOnlinePlayerToLocation(p.getName(), "challenge"); } plugin.getConfig().set("World_Name", Bukkit.getWorlds().get(0).getName()); plugin.getConfig().set("World_Reset", true); diff --git a/src/main/java/de/fanta/challenges/commands/settings/SettingsCommandTODO.java b/src/main/java/de/fanta/challenges/commands/settings/SettingsCommandTODO.java index 88ba167..49408b3 100644 --- a/src/main/java/de/fanta/challenges/commands/settings/SettingsCommandTODO.java +++ b/src/main/java/de/fanta/challenges/commands/settings/SettingsCommandTODO.java @@ -10,7 +10,6 @@ public class SettingsCommandTODO implements CommandExecutor { - private final Challenges plugin; public SettingsCommandTODO(Challenges plugin) { @@ -28,127 +27,14 @@ } else { ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); } - } else if (args.length == 1) { - if (args[0].equalsIgnoreCase("get")) { - if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { - ChatUtil.sendNormalMessage(p, "Einstellungen"); - ChatUtil.sendNormalMessage(p, "Crafting = " + plugin.getConfig().getBoolean("craftingtable")); - ChatUtil.sendNormalMessage(p, "Villager Handel = " + plugin.getConfig().getBoolean("allowtrading")); - ChatUtil.sendNormalMessage(p, "Sterben bei Fallschaden = " + plugin.getConfig().getBoolean("deathonfall")); - ChatUtil.sendNormalMessage(p, "Schaden beim Schleichen = " + plugin.getConfig().getBoolean("damageonsneak")); - ChatUtil.sendNormalMessage(p, "Schadenswert beim Schleichen = " + plugin.getConfig().getString("sneakdmg")); - ChatUtil.sendNormalMessage(p, "Geteilter Schaden = " + plugin.getConfig().getBoolean("sharedmg")); - ChatUtil.sendNormalMessage(p, "Ein Leben für alle = " + plugin.getConfig().getBoolean("onelife")); - ChatUtil.sendNormalMessage(p, "Schaden im Chat = " + plugin.getConfig().getBoolean("dmginchat")); - ChatUtil.sendNormalMessage(p, "Respawn = " + plugin.getConfig().getBoolean("respawn")); - ChatUtil.sendNormalMessage(p, "MLG " + plugin.getConfig().getBoolean("mlg.enabled")); - ChatUtil.sendNormalMessage(p, "MLG Kill All " + plugin.getConfig().getBoolean("mlg.killall")); - ChatUtil.sendNormalMessage(p, "Maximale Zeit bis zum nächsten MLG = " + plugin.getConfig().getString("mlg.maxtime") + " Sekunden"); - ChatUtil.sendNormalMessage(p, "Sterben beim XP aufheben: " + plugin.getConfig().getBoolean("xpdeath")); - - } else { - ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); - } - } else { - ChatUtil.sendWarningMessage(p, "/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG/MLG/MLGkillall/MLGTime/DeathXP/SprintDeath/JumpDeath [True/False]"); - } + } else if (plugin.getCurrentEditor() != null) { + ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); + return true; } else { - if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { - Boolean Bwert = Boolean.parseBoolean(args[1]); - switch (args[0].toLowerCase()) { - case "crafting": - plugin.getConfig().set("craftingtable", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Crafting = " + plugin.getConfig().getBoolean("craftingtable")); - break; - case "deathfall": - plugin.getConfig().set("deathonfall", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben bei Fallschaden = " + plugin.getConfig().getBoolean("deathonfall")); - break; - case "trading": - plugin.getConfig().set("allowtrading", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Villager Handel = " + plugin.getConfig().getBoolean("allowtrading")); - break; - case "dmgonsneak": - plugin.getConfig().set("damageonsneak", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Schaden beim Schleichen = " + plugin.getConfig().getBoolean("damageonsneak")); - break; - case "sneakdmg": - Double Dwert = Double.parseDouble(args[1]); - plugin.getConfig().set("sneakdmg", Dwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Schadenswert beim Schleichen = " + plugin.getConfig().getString("sneakdmg")); - break; - case "rnddrops": - plugin.getConfig().set("rnddrops", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Random Drops = " + plugin.getConfig().getBoolean("rnddrops")); - break; - case "sharedmg": - plugin.getConfig().set("sharehp", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Geteielter Schaden = " + plugin.getConfig().getBoolean("sharedmg")); - case "respawn": - plugin.getConfig().set("respawn", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Respawn = " + plugin.getConfig().getBoolean("respawn")); - break; - case "onelife": - plugin.getConfig().set("onelife", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Ein Leben für alle = " + plugin.getConfig().getBoolean("onelife")); - break; - case "chatdmg": - plugin.getConfig().set("dmginchat", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Schaden im Chat = " + plugin.getConfig().getBoolean("dmginchat")); - break; - case "mlg": - plugin.getConfig().set("mlg.enabled", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "MLG " + plugin.getConfig().getBoolean("mlg.enabled")); - break; - case "mlgkillall": - plugin.getConfig().set("mlg.killall", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "MLG Kill All " + plugin.getConfig().getBoolean("mlg.killall")); - break; - case "mlgtime": - Double time = Double.parseDouble(args[1]); - plugin.getConfig().set("mlg.maxtime", time); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Maximale zeit bis zum nächsten MLG = " + plugin.getConfig().getString("mlg.maxtime") + " Sekunden"); - break; - case "deathxp": - plugin.getConfig().set("xpdeath", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben beim XP aufheben: " + plugin.getConfig().getBoolean("xpdeath")); - break; - case "sprintdeath": - plugin.getConfig().set("deathonsprint", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben durch sprinten: " + plugin.getConfig().getBoolean("deathonsprint")); - break; - case "jumpdeath": - plugin.getConfig().set("deathonjump", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben durch springenn: " + plugin.getConfig().getBoolean("deathonjump")); - break; - } - } else if (plugin.getCurrentEditor() != null) { - ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); - return true; - } else { - ChatUtil.sendErrorMessage(sender, "Aktuell gibt es keinen Editor!"); - ChatUtil.sendErrorMessage(sender, "Um selbst Editor zu werden musst du dir im Freebuild VIP Kaufen!"); - return true; - } + ChatUtil.sendErrorMessage(sender, "Aktuell gibt es keinen Editor!"); + ChatUtil.sendErrorMessage(sender, "Um selbst Editor zu werden musst du dir im Freebuild VIP Kaufen!"); + return true; } - } else { - ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); } return true; } diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java index a56bb8d..fa17f77 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerResetCommand.java @@ -26,7 +26,7 @@ } if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { plugin.getTimer().setTime(0); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + ChatColor.RED + " Der Timer wurde zurückgesetzt!"); + Bukkit.broadcastMessage(Challenges.PREFIX + ChatColor.RED + " Der Timer wurde zurückgesetzt!"); } else if (plugin.getCurrentEditor() != null) { ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); return true; diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java index 8a1530c..f145059 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerReverseCommand.java @@ -26,9 +26,9 @@ if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { plugin.getTimer().reverseTimer(); if (plugin.getTimer().isReverse()) { - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + ChatUtil.BLUE + " Der Timer läuft nun rückwärts!"); + Bukkit.broadcastMessage(Challenges.PREFIX + ChatUtil.BLUE + " Der Timer läuft nun rückwärts!"); } else { - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + ChatUtil.GREEN + " Der Timer läuft nun vorwärts!"); + Bukkit.broadcastMessage(Challenges.PREFIX + ChatUtil.GREEN + " Der Timer läuft nun vorwärts!"); } } else if (plugin.getCurrentEditor() != null) { ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); diff --git a/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java b/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java index 2e2aa67..88c6b2e 100644 --- a/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/timer/TimerSetCommand.java @@ -29,7 +29,7 @@ if (time >= 0) { if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { plugin.getTimer().setTime(time); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " §bDer Timer wurde auf " + plugin.getTimer().formatTime(ChatColor.GREEN) + " §bgesetzt!"); + Bukkit.broadcastMessage(Challenges.PREFIX + " §bDer Timer wurde auf " + plugin.getTimer().formatTime(ChatColor.GREEN) + " §bgesetzt!"); } else if (plugin.getCurrentEditor() != null) { ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); return true; diff --git a/src/main/java/de/fanta/challenges/guis/BackpackGui.java b/src/main/java/de/fanta/challenges/guis/BackpackGui.java index 9347346..e7e030b 100644 --- a/src/main/java/de/fanta/challenges/guis/BackpackGui.java +++ b/src/main/java/de/fanta/challenges/guis/BackpackGui.java @@ -16,7 +16,7 @@ public class BackpackGui { - public static final String TITLE = Challenges.CHALLENGEGUIPREFIX + " >> Backpack"; + public static final String TITLE = Challenges.GUIPREFIX + " >> Backpack"; private Inventory backpack; public BackpackGui(int size) { @@ -42,7 +42,7 @@ ItemStack item = backpack.getItem(i); if (item != null && item.getType() != Material.AIR) { if (!newBackpack.addItem(item).isEmpty()) { - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + ChatColor.DARK_RED + " Backpack kann nicht verkleinert werden. Zu wenig Platz!"); // TODO COLOR + Bukkit.broadcastMessage(Challenges.PREFIX + ChatColor.DARK_RED + " Backpack kann nicht verkleinert werden. Zu wenig Platz!"); // TODO COLOR return; } } diff --git a/src/main/java/de/fanta/challenges/guis/ResetGui.java b/src/main/java/de/fanta/challenges/guis/ResetGui.java index 047b570..91f4e93 100644 --- a/src/main/java/de/fanta/challenges/guis/ResetGui.java +++ b/src/main/java/de/fanta/challenges/guis/ResetGui.java @@ -17,7 +17,7 @@ private static final int RESET_INDEX = 2; public static final int INVENTORY_SIZE = 5; - public static final Inventory RESET_GUI = Bukkit.createInventory(null, InventoryType.HOPPER, Challenges.CHALLENGEGUIPREFIX + " >> Reset"); + public static final Inventory RESET_GUI = Bukkit.createInventory(null, InventoryType.HOPPER, Challenges.GUIPREFIX + " >> Reset"); public static void createResetGUI(Player p) { RESET_GUI.setItem(RESET_INDEX, GUIUtils.createGuiItem(Material.REPEATING_COMMAND_BLOCK, ChatColor.DARK_RED + "Server resetten", ChatColor.RED + "Wenn du denn Server resettest wird", ChatColor.RED + "der Server komplett zurückgesetzt", ChatColor.RED + "und du musst von vorne beginnen!")); diff --git a/src/main/java/de/fanta/challenges/guis/TimerGui.java b/src/main/java/de/fanta/challenges/guis/TimerGui.java index 85adc99..054e4a9 100644 --- a/src/main/java/de/fanta/challenges/guis/TimerGui.java +++ b/src/main/java/de/fanta/challenges/guis/TimerGui.java @@ -19,7 +19,7 @@ private static final Challenges plugin = Challenges.getPlugin(); public static final int INVENTORY_SIZE = 27; - public static final Inventory TIMER_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.CHALLENGEGUIPREFIX + " >> Timer"); + public static final Inventory TIMER_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Timer"); public static void createTimerGUI(Player p) { diff --git a/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java b/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java index 33acc80..65f855a 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java @@ -18,7 +18,7 @@ private static final Challenges plugin = Challenges.getPlugin(); public static final int INVENTORY_SIZE = 27; - public static final Inventory EVENT_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.CHALLENGEGUIPREFIX + " >> Event Settings"); + public static final Inventory EVENT_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Event Settings"); private static final int NULL_EVENT_INDEX = 0; private static final int BINGO_EVENT_INDEX = 10; diff --git a/src/main/java/de/fanta/challenges/guis/eventgui/EventItemsGui.java b/src/main/java/de/fanta/challenges/guis/eventgui/EventItemsGui.java index a5762cc..62b0ff3 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/EventItemsGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/EventItemsGui.java @@ -27,7 +27,7 @@ private static Challenges plugin = Challenges.getPlugin(); - public static final String TITLE = Challenges.CHALLENGEGUIPREFIX + " >> Event Items"; + public static final String TITLE = Challenges.GUIPREFIX + " >> Event Items"; private static final Inventory event_items = Bukkit.createInventory(null, InventoryType.DISPENSER, TITLE); private static Map playerInvs = new HashMap<>(); @@ -45,7 +45,7 @@ } public static void openPlayerInv(Player player) { - Inventory inventory = Bukkit.createInventory(player, InventoryType.DISPENSER, Challenges.CHALLENGEGUIPREFIX + " >> Bingo"); + Inventory inventory = Bukkit.createInventory(player, InventoryType.DISPENSER, Challenges.GUIPREFIX + " >> Bingo"); Bingo bingo = plugin.getBingo(); List playerMaterials = bingo.getPlayerMaterials().getOrDefault(player.getUniqueId(), new ArrayList<>()); bingo.getMaterials().forEach(material -> { diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java index 6ad5958..5dfd5d9 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java @@ -16,7 +16,7 @@ private static final Challenges plugin = Challenges.getPlugin(); public static final int INVENTORY_SIZE = 27; - public static final Inventory MAIN_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.CHALLENGEGUIPREFIX + " >> Settings"); + public static final Inventory MAIN_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Settings"); private static final int CHALLENGES_INDEX = 10; private static final int OTHER_SETTINGS_INDEX = 13; diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java index eaaa63b..ab06a11 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java @@ -25,7 +25,7 @@ private static final int BACKPACK_ADD_INDEX = 1; private static final int BACKPACK_REMOVE_INDEX = 19; - public static final Inventory OTHER_SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.CHALLENGEGUIPREFIX + " >> Other Settings"); + public static final Inventory OTHER_SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Other Settings"); private static final int CLOSE_IDEX = 26; diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java index 6dcc26d..75fed35 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java @@ -18,7 +18,7 @@ private static final Challenges plugin = Challenges.getPlugin(); public static final int INVENTORY_SIZE = 27; - public static final Inventory SERVER_SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.CHALLENGEGUIPREFIX + " >> Server Settings"); + public static final Inventory SERVER_SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Server Settings"); private static final int DIFFICULTY_INDEX = 10; private static final int KEEP_INVENTORY_INDEX = 11; diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java index 89bc92c..8310de0 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java @@ -17,7 +17,7 @@ private static final Challenges plugin = Challenges.getPlugin(); public static final int INVENTORY_SIZE = 54; - public static final Inventory SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.CHALLENGEGUIPREFIX + " >> Challenges"); + public static final Inventory SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Challenges"); private static final int CRAFTING_TABLE_INDEX = 0; private static final int TRADING_INDEX = 9; @@ -35,6 +35,7 @@ private static final int SHUFFLE_RANDOM_DROP_INDEX = 17; private static final int TARGET_INDEX = 4; private static final int SHARE_DMG_INDEX = 28; + private static final int LAVA_FLOOR_INDEX = 29; private static final int DMG_ON_SNEAK_INDEX = 43; private static final int DMG_ON_SNEAK_ADD_INDEX = 34; @@ -106,6 +107,11 @@ } else { SETTINGS_GUI.setItem(SHARE_DMG_INDEX, GUIUtils.createGuiItem(Material.MELON_SLICE, ChatColor.RED + "Geteilter Schaden deaktiviert")); } + if (plugin.getConfig().getBoolean("lavafloor")) { + SETTINGS_GUI.setItem(LAVA_FLOOR_INDEX, GUIUtils.createGuiItem(Material.MAGMA_BLOCK, ChatColor.GREEN + "Der Boden ist Lava aktiviert", true)); + } else { + SETTINGS_GUI.setItem(LAVA_FLOOR_INDEX, GUIUtils.createGuiItem(Material.MAGMA_BLOCK, ChatColor.RED + "Der Boden ist Lava deaktiviert")); + } SETTINGS_GUI.setItem(SHUFFLE_RANDOM_DROP_INDEX, GUIUtils.createGuiItem(Material.CHORUS_FLOWER, ChatColor.GREEN + "Zufällige Drops neu mischen")); SETTINGS_GUI.setItem(CLOSE_GUI_INDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.RED + "Menü verlassen!")); SETTINGS_GUI.setItem(BACK_BUTTON_INDEX, GUIUtils.createGuiItem(Material.ARROW, ChatColor.GREEN + "Zurück")); @@ -247,7 +253,15 @@ GUIUtils.sendTitleToAll("Challenge", "Geteielter Schaden aktiviert", ChatColor.GREEN); } break; - + case LAVA_FLOOR_INDEX: + if (plugin.getConfig().getBoolean("lavafloor")) { + GUIUtils.setConfig("lavafloor", false); + GUIUtils.sendTitleToAll("Challenge", "Der Boden ist Lava deaktiviert", ChatColor.RED); + } else { + GUIUtils.setConfig("lavafloor", true); + GUIUtils.sendTitleToAll("Challenge", "Der Boden ist Lava aktiviert", ChatColor.GREEN); + } + break; default: break; } diff --git a/src/main/java/de/fanta/challenges/listeners/DamageListener.java b/src/main/java/de/fanta/challenges/listeners/DamageListener.java index 4964f77..8021dbd 100644 --- a/src/main/java/de/fanta/challenges/listeners/DamageListener.java +++ b/src/main/java/de/fanta/challenges/listeners/DamageListener.java @@ -40,20 +40,20 @@ if (e.getCause() == DamageCause.FALL) { if (plugin.getConfig().getBoolean("deathonfall")) { if (plugin.getConfig().getBoolean("dmginchat")) { - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getCause()); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getCause()); } Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> p.setHealth(0), 1); } else if (plugin.getConfig().getBoolean("dmginchat") && (plugin.getTimer().isRunning())) { - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getCause()); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getCause()); } } else if (e.getCause() == DamageCause.CUSTOM) { if (!p.isSneaking() && (plugin.getConfig().getBoolean("dmginchat"))) { - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + plugin.getConfig().getDouble("sneakdmg") + ChatUtil.GREEN + " HP Schaden genommen durch" + ChatUtil.ORANGE + " SNEAKING"); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + plugin.getConfig().getDouble("sneakdmg") + ChatUtil.GREEN + " HP Schaden genommen durch" + ChatUtil.ORANGE + " SNEAKING"); } } else if (e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) { } else if (plugin.getConfig().getBoolean("dmginchat") && (plugin.getTimer().isRunning())) { - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getCause()); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getCause()); } if (plugin.getConfig().getBoolean("sharedmg") && plugin.getTimer().isRunning()) { for (Player pp : Bukkit.getOnlinePlayers()) { @@ -93,7 +93,7 @@ Player p = (Player) e.getEntity(); String dmg = new DecimalFormat("#.##").format(e.getFinalDamage()); if ((e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) && plugin.getConfig().getBoolean("dmginchat")) { - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getDamager().getName()); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getDamager().getName()); } } if (!plugin.getTimer().isRunning()) { diff --git a/src/main/java/de/fanta/challenges/listeners/DeathListener.java b/src/main/java/de/fanta/challenges/listeners/DeathListener.java index 3d568b8..6e76a1d 100644 --- a/src/main/java/de/fanta/challenges/listeners/DeathListener.java +++ b/src/main/java/de/fanta/challenges/listeners/DeathListener.java @@ -26,15 +26,15 @@ for (Player p : Bukkit.getOnlinePlayers()) { p.setGameMode(GameMode.SPECTATOR); } - e.setDeathMessage(Challenges.CHALLENGESPREFIX + " " + ChatUtil.BLUE + e.getEntity().getName() + ChatUtil.GREEN + " ist gestorben!"); + e.setDeathMessage(Challenges.PREFIX + " " + ChatUtil.BLUE + e.getEntity().getName() + ChatUtil.GREEN + " ist gestorben!"); ChatUtil.sendBrodcastMessage("Verschwendete Zeit " + plugin.getTimer().formatTime(ChatColor.GOLD)); ChatUtil.sendBrodcastMessage("Welt Seed: " + Bukkit.getWorlds().get(0).getSeed()); ChatUtil.sendBrodcastMessage("Um alle wiederzubeleben benutze §c/revive ALL"); } else { if (plugin.getConfig().getBoolean("event.enabled")) { - e.setDeathMessage(Challenges.CHALLENGESPREFIX + " " + ChatUtil.BLUE + e.getEntity().getName() + ChatUtil.GREEN + " ist gestorben!"); + e.setDeathMessage(Challenges.PREFIX + " " + ChatUtil.BLUE + e.getEntity().getName() + ChatUtil.GREEN + " ist gestorben!"); } else { - e.setDeathMessage(Challenges.CHALLENGESPREFIX + " " + ChatUtil.BLUE + e.getEntity().getName() + ChatUtil.GREEN + " ist gestorben!" + ChatUtil.ORANGE + " (" + e.getEntity().getLocation().getBlockX() + "/" + e.getEntity().getLocation().getBlockY() + "/" + e.getEntity().getLocation().getBlockZ() + ")"); + e.setDeathMessage(Challenges.PREFIX + " " + ChatUtil.BLUE + e.getEntity().getName() + ChatUtil.GREEN + " ist gestorben!" + ChatUtil.ORANGE + " (" + e.getEntity().getLocation().getBlockX() + "/" + e.getEntity().getLocation().getBlockY() + "/" + e.getEntity().getLocation().getBlockZ() + ")"); } if (!plugin.getConfig().getBoolean("respawn")) { Player editor = plugin.getCurrentEditor(); @@ -48,17 +48,17 @@ if (Objects.equals(plugin.getConfig().getString("event.type"), "nix")) { if ((e.getEntity() instanceof EnderDragon && plugin.getConfig().getBoolean("target")) || (e.getEntity() instanceof Wither && !plugin.getConfig().getBoolean("target"))) { plugin.getTimer().stopTimer(); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + ChatColor.GREEN + ChatColor.BOLD + ChatColor.MAGIC + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " §8>> §7Der §2§l" + e.getEntity().getName().toLowerCase() + " §7wurde besiegt."); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " §8>> §7Benötigte Zeit: §2§l" + plugin.getTimer().formatTime(ChatColor.GREEN) + "§7!"); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " §8>> §7Seed: §2§l" + Bukkit.getWorlds().get(0).getSeed()); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX); - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + ChatColor.GREEN + ChatColor.BOLD + ChatColor.MAGIC + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + Bukkit.broadcastMessage(Challenges.PREFIX + ChatColor.GREEN + ChatColor.BOLD + ChatColor.MAGIC + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §7Der §2§l" + e.getEntity().getName().toLowerCase() + " §7wurde besiegt."); + Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §7Benötigte Zeit: §2§l" + plugin.getTimer().formatTime(ChatColor.GREEN) + "§7!"); + Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §7Seed: §2§l" + Bukkit.getWorlds().get(0).getSeed()); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX + ChatColor.GREEN + ChatColor.BOLD + ChatColor.MAGIC + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); } } } diff --git a/src/main/java/de/fanta/challenges/listeners/InteractListener.java b/src/main/java/de/fanta/challenges/listeners/InteractListener.java index 74b9a08..4944bfa 100644 --- a/src/main/java/de/fanta/challenges/listeners/InteractListener.java +++ b/src/main/java/de/fanta/challenges/listeners/InteractListener.java @@ -1,6 +1,7 @@ package de.fanta.challenges.listeners; import de.fanta.challenges.Challenges; +import de.fanta.challenges.utils.ChatUtil; import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.EntityType; diff --git a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java index e66765e..6098ca2 100644 --- a/src/main/java/de/fanta/challenges/listeners/PlayerListener.java +++ b/src/main/java/de/fanta/challenges/listeners/PlayerListener.java @@ -2,6 +2,7 @@ import de.fanta.challenges.Bingo; import de.fanta.challenges.Challenges; +import de.fanta.challenges.RIPBoden; import de.fanta.challenges.events.PlayerCountChangedEvent; import de.fanta.challenges.guis.eventgui.EventItemsGui; import de.fanta.challenges.utils.ChatUtil; @@ -9,6 +10,7 @@ import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.Material; +import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -26,6 +28,7 @@ import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import org.bukkit.scheduler.BukkitRunnable; import org.kitteh.vanish.event.VanishStatusChangeEvent; import java.util.Objects; @@ -108,15 +111,41 @@ Location netherspawn = Bukkit.getWorlds().get(1).getSpawnLocation(); if (playerloc.distance(netherspawn) > 20) { player.teleport(netherspawn); - ChatUtil.sendWarningMessage(player, "Du kommst erst vom Spawn weg, wenn die Challenge gestartet wurde!"); + ChatUtil.sendWarningMessage(player, "Du kommst erst vom Spawn weg, wenn die Map gestartet wurde!"); } } else { Location spawn = Bukkit.getWorlds().get(0).getSpawnLocation(); if (playerloc.distance(spawn) > 20) { player.teleport(spawn); - ChatUtil.sendWarningMessage(player, "Du kommst erst vom Spawn weg, wenn die Challenge gestartet wurde!"); + ChatUtil.sendWarningMessage(player, "Du kommst erst vom Spawn weg, wenn die Map gestartet wurde!"); } } + + } + } + if (plugin.getTimer().isRunning() && player.getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(player)) { + if (plugin.getConfig().getBoolean("lavafloor")) { + Location oldLoc = e.getFrom(); + Location newLoc = e.getTo(); + int oldx = oldLoc.getBlockX(); + int oldy = oldLoc.getBlockY(); + int oldz = oldLoc.getBlockZ(); + int newx = newLoc.getBlockX(); + int newy = newLoc.getBlockY(); + int newz = newLoc.getBlockZ(); + if (newx != oldx || newy != oldy || newz != oldz) { + new BukkitRunnable() { + + @Override + public void run() { + Block b = player.getLocation().subtract(0, 1, 0).getBlock(); + if (!b.isPassable() && !RIPBoden.LAVA_BLOCKS.contains(b)) { + RIPBoden.LAVA_BLOCKS.add(b); + RIPBoden.setMagma(b, b.getType()); + } + } + }.runTaskLater(plugin, 1L); + } } } } diff --git a/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java b/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java index 7bc8f02..be13ce2 100644 --- a/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java +++ b/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java @@ -37,7 +37,7 @@ return; } Bukkit.broadcastMessage( - Challenges.CHALLENGESPREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat die Lobby betreten! " + ChatColor.of("#E4E737") + "[" + (Bukkit.getServer().getOnlinePlayers().size() - plugin.getVanish().countVanishPlayers()) + "/" + Bukkit.getServer().getMaxPlayers() + "]"); + Challenges.PREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat die Lobby betreten! " + ChatColor.of("#E4E737") + "[" + (Bukkit.getServer().getOnlinePlayers().size() - plugin.getVanish().countVanishPlayers()) + "/" + Bukkit.getServer().getMaxPlayers() + "]"); e.setJoinMessage(null); if (plugin.getConfig().getBoolean("sharedmg")) { int rnd = new Random().nextInt(Bukkit.getOnlinePlayers().size()); @@ -81,7 +81,7 @@ } if (!plugin.getVanish().isVanish(player)) { - e.setQuitMessage(Challenges.CHALLENGESPREFIX + " " + ChatColor.of("#3D98DC") + player.getName() + ChatColor.of("#C45B3D") + " hat die Lobby verlassen! " + ChatColor.of("#E4E737") + "[" + (Bukkit.getServer().getOnlinePlayers().size() - plugin.getVanish().countVanishPlayers() - 1) + "/" + Bukkit.getServer().getMaxPlayers() + "]"); + e.setQuitMessage(Challenges.PREFIX + " " + ChatColor.of("#3D98DC") + player.getName() + ChatColor.of("#C45B3D") + " hat die Lobby verlassen! " + ChatColor.of("#E4E737") + "[" + (Bukkit.getServer().getOnlinePlayers().size() - plugin.getVanish().countVanishPlayers() - 1) + "/" + Bukkit.getServer().getMaxPlayers() + "]"); this.plugin.getSBManager().removeScoreboard(player); if (Bukkit.getServer().getOnlinePlayers().size() - 1 == 0) { diff --git a/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java b/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java index 77dceea..751c5c2 100644 --- a/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java +++ b/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java @@ -33,7 +33,7 @@ } public int getScore(Player player) { - return scores.getOrDefault(player.getName(), -1); + return scores.getOrDefault(player.getName(), 0); } public void saveScores() { diff --git a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/ChatSkull.java b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/ChatSkull.java index 68c340f..219d89a 100644 --- a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/ChatSkull.java +++ b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/ChatSkull.java @@ -5,7 +5,6 @@ import org.bukkit.plugin.java.JavaPlugin; public class ChatSkull extends JavaPlugin implements Listener { - public void onEnable() {} public static void sendAll(Player head, String[] lines) { SkullClass cs = new SkullClass(head, lines); @@ -16,4 +15,9 @@ SkullClass cs = new SkullClass(head, lines); cs.sendPlayer(target); } + + public static void setItemLore(Player head, Player target, String[] lines) { + SkullClass cs = new SkullClass(head, lines); + cs.setItemLore(target); + } } diff --git a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/Message.java b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/Message.java index ce2f2bf..9b9bf0c 100644 --- a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/Message.java +++ b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/Message.java @@ -1,10 +1,10 @@ package de.fanta.challenges.utils.ChatSkullAPI; -import java.awt.Color; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; +import de.fanta.challenges.utils.ChatUtil; import net.md_5.bungee.api.ChatColor; import org.bukkit.entity.Player; @@ -78,6 +78,17 @@ } } + public void setItemLore(Player player) { + byte b; + int i; + String[] arrayOfString; + for (i = (arrayOfString = this.lines).length, b = 0; b < i; ) { + String line = arrayOfString[b]; + player.performCommand("additemlore " + line); + b++; + } + } + private ChatColor getClosestChatColor(ChatColor color) { return color; } diff --git a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/SkullClass.java b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/SkullClass.java index 6d6b072..1d2a2e6 100644 --- a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/SkullClass.java +++ b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/SkullClass.java @@ -3,6 +3,9 @@ import java.awt.image.BufferedImage; import java.net.URL; import javax.imageio.ImageIO; + +import de.fanta.challenges.utils.ChatUtil; +import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -15,7 +18,7 @@ this.player = head; this.lines = lines; } - + public void sendAll() { for (Player player : Bukkit.getOnlinePlayers()) sendPlayer(player); @@ -31,6 +34,18 @@ } (new Message(imageToSend, 8, '█')).appendText(this.lines).sendToPlayer(player); } + + public void setItemLore(Player player) { + String name = this.player.getPlayer().getName(); + BufferedImage imageToSend = null; + try { + imageToSend = ImageIO.read(newURL(name)); + } catch (Exception e) { + e.printStackTrace(); + } + player.performCommand("setitemlore " + "|&x1FFF00&lEigentum von &x3D98DC&l" + player.getName()); + (new Message(imageToSend, 8, '█')).appendText(this.lines).setItemLore(player); + } private static URL newURL(String name) throws Exception { String url = "https://mineskin.de/helm/%pname%/8.png"; diff --git a/src/main/java/de/fanta/challenges/utils/ChatUtil.java b/src/main/java/de/fanta/challenges/utils/ChatUtil.java index d8fdd3f..637a960 100644 --- a/src/main/java/de/fanta/challenges/utils/ChatUtil.java +++ b/src/main/java/de/fanta/challenges/utils/ChatUtil.java @@ -5,6 +5,7 @@ import net.md_5.bungee.api.ChatColor; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; public class ChatUtil { @@ -18,7 +19,7 @@ } public static void sendMessage(CommandSender sender, String colors, Object message, Object... messageParts) { - ChatUtilBukkit.sendMessage(sender, Challenges.CHALLENGESPREFIX, colors, message, messageParts); + ChatUtilBukkit.sendMessage(sender, Challenges.PREFIX, colors, message, messageParts); } public static void sendNormalMessage(CommandSender sender, Object message, Object... messageParts) { @@ -34,6 +35,6 @@ } public static void sendBrodcastMessage(Object message) { - Bukkit.broadcastMessage(Challenges.CHALLENGESPREFIX + " " + GREEN + message); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + GREEN + message); } } diff --git a/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java b/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java index 6c610b4..505c400 100644 --- a/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java +++ b/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java @@ -1,11 +1,11 @@ package de.fanta.challenges.utils; import de.fanta.challenges.Challenges; -import net.minecraft.server.v1_16_R2.WorldServer; +import net.minecraft.server.v1_16_R3.WorldServer; import org.apache.commons.io.FileUtils; import org.bukkit.Bukkit; import org.bukkit.World; -import org.bukkit.craftbukkit.v1_16_R2.CraftWorld; +import org.bukkit.craftbukkit.v1_16_R3.CraftWorld; import org.bukkit.entity.Player; import java.io.File; diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 5bc93a1..55921fb 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -15,6 +15,7 @@ tabhp: false tntdeath: false target: true +lavafloor: false #Mögliche werte: 1-6 backpack_size: 3 mlg: diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index b09019c..ee8ebe5 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -4,7 +4,9 @@ load: STARTUP api-version: 1.16 author: ${project.author} -depend: [CubesideUtils, VanishNoPacket] +depend: [CubesideUtils, VanishNoPacket, GlobalPort] +loadbefore: + - CubesideSettings commands: hp: description: Verwalte die HP eines Spielers @@ -64,4 +66,9 @@ - dorf nether: description: Spiele die Challenge vom Nether ins End durch - usage: Use /nether \ No newline at end of file + usage: Use /nether + gamemode: + aliases: + - gm + test: + description: test command \ No newline at end of file