diff --git a/pom.xml b/pom.xml index ff21402..31ec7b3 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 de.fanta.challenges Challenges - 1.16.4-DEV + 1.17-DEV UTF-8 UTF-8 @@ -22,9 +22,9 @@ - com.destroystokyo.paper - paper - 1.16.5-R0.1-SNAPSHOT + io.papermc.paper + Paper-API + 1.17-R0.1-SNAPSHOT provided @@ -46,6 +46,12 @@ provided + de.cubeside.nmsutils + nmsutils-plugin + 0.0.1-SNAPSHOT + provided + + org.jetbrains annotations RELEASE @@ -91,7 +97,15 @@ maven-compiler-plugin 3.8.1 - 11 + 16 + + + + org.apache.maven.plugins + maven-compiler-plugin + + 16 + 16 diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java index 279e155..b9d2971 100644 --- a/src/main/java/de/fanta/challenges/Challenges.java +++ b/src/main/java/de/fanta/challenges/Challenges.java @@ -1,5 +1,6 @@ package de.fanta.challenges; +import de.cubeside.nmsutils.NMSUtils; import de.fanta.challenges.challenges.Bingo; import de.fanta.challenges.challenges.RandomDrops; import de.fanta.challenges.challenges.TiedTogether; @@ -86,6 +87,8 @@ public RandomDrops rndDrops; + public NMSUtils nmsUtils; + public static Challenges getPlugin() { return plugin; } @@ -149,6 +152,7 @@ @Override public void onEnable() { plugin = this; + nmsUtils = getServer().getServicesManager().load(NMSUtils.class); //getCommand("gamemode").setExecutor(new GamemodeCommand()); @@ -399,4 +403,8 @@ public ScoreManager getScoreManager() { return scoreManager; } + + public NMSUtils getNMSUtils() { + return nmsUtils; + } } diff --git a/src/main/java/de/fanta/challenges/Timer.java b/src/main/java/de/fanta/challenges/Timer.java index 51269e3..27d8c10 100644 --- a/src/main/java/de/fanta/challenges/Timer.java +++ b/src/main/java/de/fanta/challenges/Timer.java @@ -95,8 +95,7 @@ } for (Player pp : Bukkit.getOnlinePlayers()) { for (final Entity entity : pp.getNearbyEntities(100, 100, 100)) { - if ((entity instanceof Creature)) { - final Creature creature = ((Creature) entity); + if ((entity instanceof final Creature creature)) { if ((creature.getTarget() != null) && creature.getTarget().equals(pp)) { creature.setTarget(null); } diff --git a/src/main/java/de/fanta/challenges/challenges/RIPBoden.java b/src/main/java/de/fanta/challenges/challenges/RIPBoden.java index ec52d21..3f0526e 100644 --- a/src/main/java/de/fanta/challenges/challenges/RIPBoden.java +++ b/src/main/java/de/fanta/challenges/challenges/RIPBoden.java @@ -8,7 +8,7 @@ import java.util.ArrayList; public class RIPBoden { - private static Challenges plugin = Challenges.getPlugin(); + private static final Challenges plugin = Challenges.getPlugin(); public static ArrayList LAVA_BLOCKS = new ArrayList<>(); public static void setMagma(Block b, Material old) { diff --git a/src/main/java/de/fanta/challenges/challenges/RandomDrops.java b/src/main/java/de/fanta/challenges/challenges/RandomDrops.java index d1142de..8e2ef00 100644 --- a/src/main/java/de/fanta/challenges/challenges/RandomDrops.java +++ b/src/main/java/de/fanta/challenges/challenges/RandomDrops.java @@ -18,17 +18,16 @@ private final ArrayList ITEM_DROPS; - private HashMap drops = new HashMap<>(); + private final HashMap drops = new HashMap<>(); public RandomDrops() { - this.BLOCKS = (ArrayList) Arrays. stream(Material.values()).filter(mat -> mat.isBlock()).collect(Collectors.toList()); + this.BLOCKS = (ArrayList) Arrays. stream(Material.values()).filter(Material::isBlock).collect(Collectors.toList()); this.ITEM_DROPS = (ArrayList) Arrays. stream(Material.values()).filter(mat -> (mat.isItem() || mat == Material.BEDROCK)).collect(Collectors.toList()); } public void shuffleItems() { Collections.shuffle(this.ITEM_DROPS); - ArrayList itemDropsCopy = new ArrayList<>(); - this.ITEM_DROPS.forEach(m -> itemDropsCopy.add(m)); + ArrayList itemDropsCopy = new ArrayList<>(this.ITEM_DROPS); this.BLOCKS.forEach(mat -> { int r = (new Random()).nextInt(itemDropsCopy.size() - 1); this.drops.put(mat, itemDropsCopy.get(r)); @@ -39,7 +38,7 @@ public void saveItems() { FileConfiguration config = Challenges.getPlugin().getRndDropsConfig(); - config.set("drops", this.drops.entrySet().stream().map(entry -> (new StringBuilder()).append(entry.getKey()).append(":").append(entry.getValue()).toString()).collect(Collectors.toList())); + config.set("drops", this.drops.entrySet().stream().map(entry -> entry.getKey() + ":" + entry.getValue()).collect(Collectors.toList())); try { Challenges.getPlugin().RndDropsConfig.save(Challenges.getPlugin().RndDropsConfigFile); } catch (IOException e) { diff --git a/src/main/java/de/fanta/challenges/commands/BackpackCommand.java b/src/main/java/de/fanta/challenges/commands/BackpackCommand.java index 75d16c3..747f7dc 100644 --- a/src/main/java/de/fanta/challenges/commands/BackpackCommand.java +++ b/src/main/java/de/fanta/challenges/commands/BackpackCommand.java @@ -17,11 +17,10 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { - if (!(sender instanceof Player)) { + if (!(sender instanceof Player p)) { ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); return true; } - Player p = (Player) sender; if (!plugin.getBingo().isRunning()) { plugin.getBackpack().open(p); } else { diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsCommand.java index 705fc8d..d8c8583 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsCommand.java @@ -15,7 +15,7 @@ public class CoordsCommand extends SubCommand { - private Challenges plugin = Challenges.getPlugin(); + private Challenges plugin; public static final Inventory CoordsGUI = Bukkit.createInventory(null, 45, "§6Koordinaten"); diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java index e8709e0..1e9ef94 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java @@ -25,11 +25,10 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { - if (!(sender instanceof Player)) { + if (!(sender instanceof Player player)) { ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); return true; } - Player player = (Player) sender; if (args.hasNext()) { String next = args.getNext(); diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java index 2d358ce..f970e60 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java @@ -20,11 +20,10 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { - if (!(sender instanceof Player)) { + if (!(sender instanceof Player player)) { ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); return true; } - Player player = (Player) sender; if (!args.hasNext()) { ChatUtil.sendNormalMessage(player, "Verfügbare Positionen:"); diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java index 43f90f7..557711b 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java @@ -18,11 +18,10 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { - if (!(sender instanceof Player)) { + if (!(sender instanceof Player player)) { ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); return true; } - Player player = (Player) sender; if (args.hasNext()) { String next = args.getNext(); 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 f2df13f..a2c3d73 100644 --- a/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java @@ -19,11 +19,10 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { - if (!(sender instanceof Player)) { + if (!(sender instanceof Player player)) { ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); return true; } - Player player = (Player) sender; String w = player.getLocation().getWorld().getName().toLowerCase(); int x = player.getLocation().getBlockX(); int y = player.getLocation().getBlockY(); diff --git a/src/main/java/de/fanta/challenges/commands/editor/EditorCommand.java b/src/main/java/de/fanta/challenges/commands/editor/EditorCommand.java index 976db29..0545338 100644 --- a/src/main/java/de/fanta/challenges/commands/editor/EditorCommand.java +++ b/src/main/java/de/fanta/challenges/commands/editor/EditorCommand.java @@ -30,12 +30,11 @@ ChatUtil.sendNormalMessage(sender, "-------- Editor --------"); ChatSkull.sendPlayer(plugin.getCurrentEditor(), (Player) sender, lines); ChatUtil.sendNormalMessage(sender, "-------- Editor --------"); - 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; } + return true; } } diff --git a/src/main/java/de/fanta/challenges/commands/settings/SettingsCommand.java b/src/main/java/de/fanta/challenges/commands/settings/SettingsCommand.java index 42a3b34..b73f94f 100644 --- a/src/main/java/de/fanta/challenges/commands/settings/SettingsCommand.java +++ b/src/main/java/de/fanta/challenges/commands/settings/SettingsCommand.java @@ -19,8 +19,7 @@ @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String s1, ArgsParser args) { - if (sender instanceof Player) { - Player p = (Player) sender; + if (sender instanceof Player p) { if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) { MainGui.createMainGUI(p); } else { diff --git a/src/main/java/de/fanta/challenges/guis/SettingsGui.java b/src/main/java/de/fanta/challenges/guis/SettingsGui.java deleted file mode 100644 index cf51761..0000000 --- a/src/main/java/de/fanta/challenges/guis/SettingsGui.java +++ /dev/null @@ -1,63 +0,0 @@ -/*package de.fanta.challenges.guis; - -import de.fanta.challenges.Challenges; -import java.util.ArrayList; -import java.util.List; - -import me.wolfyscript.utilities.api.inventory.GuiUpdateEvent; -import me.wolfyscript.utilities.api.inventory.GuiWindow; -import me.wolfyscript.utilities.api.inventory.InventoryAPI; -import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.event.EventHandler; - -public class SettingsGui extends GuiWindow { - - private Challenges challenges = Challenges.getPlugin(); - - public SettingsGui(InventoryAPI inventoryAPI) { - super("settings", inventoryAPI, 54); - } - - @Override - public void onInit() { - registerButton(new SettingButton("craftingtable", Material.CRAFTING_TABLE, "Erlaube Crafting")); - registerButton(new SettingButton("allowtrading", Material.EMERALD, "Erlaube Handeln")); - registerButton(new SettingButton("deathonfall", Material.BONE, "Tod bei Fallschaden", ChatColor.RED + "Spieler stirbt bei Fallschaden")); - registerButton(new SettingButton("damageonsneak", Material.MAGMA_BLOCK, "Schaden bei Schleichen",ChatColor.RED + "Spieler erhält " + challenges.getConfig().getInt("sneakdmg") + " Schaden bei Schleichen")); - registerButton(new SettingButton("rnddrops", Material.DIAMOND_PICKAXE, "Drops", ChatColor.RED + "Random Drops")); - registerButton(new SettingButton("sharedmg", Material.GLISTERING_MELON_SLICE, "Geteilter Schaden",ChatColor.RED + "Alle Spieler erhalten den gleichen Schaden")); - registerButton(new SettingButton("respawn", Material.TOTEM_OF_UNDYING, "Respawn")); - registerButton(new SettingButton("onelife", Material.POPPY, "Ein Leben für alle", ChatColor.RED + "Stirbt ein Spieler ist die", ChatColor.RED + "Challenge fehlgeschlagen")); - registerButton(new SettingButton("dmginchat", Material.BOOK, "Schaden in Chat", ChatColor.RED + "Zeigt Spielerschaden im Chat an")); - registerButton(new SettingButton("deathonsprint", Material.DIAMOND_BOOTS, "Tod bei Sprinten", ChatColor.RED + "Spieler Stirbt beim Sprinten")); - registerButton(new SettingButton("deathonjump", Material.LEATHER_BOOTS, "Tod bei Springen", ChatColor.RED + "Spieler Stirbt beim Springen")); - registerButton(new SettingButton("clinvdmg", Material.BARRIER, "Inv Löschen bei DMG",ChatColor.RED + "Löscht das Inventar von allen wenn ein Spieler schaden bekommt!")); - - registerButton(new SettingButton("tntdeath", Material.TNT, "Sterben durch TnT",ChatColor.RED + "Tötet dich mit tnt bei der nicht Springen Schleichen und Jumpen Challenge")); - registerButton(new SettingButton("xpdeath", Material.ENCHANTING_TABLE, "Sterben durch XP", ChatColor.RED + "Tötet dich wenn du XP einsammelst")); - registerButton(new SettingButton("mlg.enabled", Material.WATER_BUCKET, "MLG", "an aus")); - registerButton(new SettingButton("mlg.killall", Material.WATER_BUCKET, "MLG killall", "an aus")); - registerButton(new SettingButton("wither", Material.NETHER_STAR, "Wither Töten", "Ziel: Töte denn Wither")); - registerButton(new SettingButton("dragon", Material.DRAGON_EGG, "Ender Dragon Töten", "Ziel: Töte denn Ender Dragon")); - - // TODO Gamerules xpdeath - } - - @EventHandler - public void onUpdate(GuiUpdateEvent event) { - - //Other - event.setButton(46, "mlg.killall"); - } - - @Override - protected String getInventoryName() { - return ChatColor.DARK_GREEN + "" + ChatColor.BOLD + "Settings"; - } - - @Override - public List getHelpInformation() { - return new ArrayList<>(); - } -}*/ 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 65f855a..462441c 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/EventGui.java @@ -87,12 +87,8 @@ createEventGUI(p); switch (slot) { - case BINGO_ITEMS_INDEX: - EventItemsGui.openEventGUI(p); - break; - case CLOSE_IDEX: - p.closeInventory(); - break; + case BINGO_ITEMS_INDEX -> EventItemsGui.openEventGUI(p); + case CLOSE_IDEX -> p.closeInventory(); } } e.setCancelled(true); 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 8f5e03b..a1cd5e5 100644 --- a/src/main/java/de/fanta/challenges/guis/eventgui/EventItemsGui.java +++ b/src/main/java/de/fanta/challenges/guis/eventgui/EventItemsGui.java @@ -25,12 +25,12 @@ public class EventItemsGui implements Listener { - private static Challenges plugin = Challenges.getPlugin(); + private static final Challenges plugin = Challenges.getPlugin(); 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<>(); + private static final Map playerInvs = new HashMap<>(); public static void openEventGUI(Player p) { p.openInventory(event_items); 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 5dfd5d9..fbed5b7 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java @@ -42,18 +42,10 @@ Player p = (Player) e.getWhoClicked(); if (e.getInventory() == MAIN_GUI) { switch (slot) { - case CHALLENGES_INDEX: - SettingsGui.createSettingsGUI(p); - break; - case CLOSE_IDEX: - p.closeInventory(); - break; - case SERVER_SETTINGS_INDEX: - ServerSettingsGui.createServerSettingsGUI(p); - break; - case OTHER_SETTINGS_INDEX: - OtherSettingsGui.createOtherSettingsGUI(p); - break; + case CHALLENGES_INDEX -> SettingsGui.createSettingsGUI(p); + case CLOSE_IDEX -> p.closeInventory(); + case SERVER_SETTINGS_INDEX -> ServerSettingsGui.createServerSettingsGUI(p); + case OTHER_SETTINGS_INDEX -> OtherSettingsGui.createOtherSettingsGUI(p); } e.setCancelled(true); } 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 ab06a11..a58a636 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java @@ -120,12 +120,8 @@ } createOtherSettingsGUI(p); switch (slot) { - case BACK_INDEX: - MainGui.createMainGUI(p); - break; - case CLOSE_IDEX: - p.closeInventory(); - break; + case BACK_INDEX -> MainGui.createMainGUI(p); + case CLOSE_IDEX -> p.closeInventory(); } e.setCancelled(true); } 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 75fed35..4f2dfdc 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java @@ -165,12 +165,8 @@ createServerSettingsGUI(p); switch (slot) { - case BACK_INDEX: - MainGui.createMainGUI(p); - break; - case CLOSE_INDEX: - p.closeInventory(); - break; + case BACK_INDEX -> MainGui.createMainGUI(p); + case CLOSE_INDEX -> p.closeInventory(); } e.setCancelled(true); } 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 71b31be..3780ea7 100644 --- a/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java +++ b/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java @@ -297,12 +297,8 @@ } createSettingsGUI(p); switch (slot) { - case CLOSE_GUI_INDEX: - p.closeInventory(); - break; - case BACK_BUTTON_INDEX: - MainGui.createMainGUI(p); - break; + case CLOSE_GUI_INDEX -> p.closeInventory(); + case BACK_BUTTON_INDEX -> MainGui.createMainGUI(p); } e.setCancelled(true); } diff --git a/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java b/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java index b5abaf5..f1b60e1 100644 --- a/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java +++ b/src/main/java/de/fanta/challenges/listeners/BlockDestroyListener.java @@ -14,7 +14,7 @@ public class BlockDestroyListener implements Listener { - private Challenges plugin = Challenges.getPlugin(); + private final Challenges plugin = Challenges.getPlugin(); @EventHandler public void onBlockBreak(BlockBreakEvent e) { diff --git a/src/main/java/de/fanta/challenges/listeners/DamageListener.java b/src/main/java/de/fanta/challenges/listeners/DamageListener.java index 1859aca..5191657 100644 --- a/src/main/java/de/fanta/challenges/listeners/DamageListener.java +++ b/src/main/java/de/fanta/challenges/listeners/DamageListener.java @@ -23,7 +23,7 @@ public class DamageListener implements Listener { - private Challenges plugin = Challenges.getPlugin(); + private final Challenges plugin = Challenges.getPlugin(); @EventHandler public void onDamage(EntityDamageEvent e) { @@ -31,14 +31,12 @@ e.setCancelled(true); return; } - if (e.getEntity() instanceof Player) { - Player p = (Player) e.getEntity(); + if (e.getEntity() instanceof Player p) { if (plugin.getVanish().isVanish(p)) { return; } } - if (e.getEntity() instanceof Player) { - Player p = (Player) e.getEntity(); + if (e.getEntity() instanceof Player p) { String dmg = new DecimalFormat("#.##").format(e.getFinalDamage()); if (e.getFinalDamage() > 0) { if (e.getCause() == DamageCause.FALL) { @@ -52,10 +50,8 @@ } } else if (e.getCause() == DamageCause.CUSTOM) { if (!p.isSneaking() && (plugin.getConfig().getBoolean("dmginchat"))) { - 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"); + 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 + " Server"); } - } else if (e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) { - } else if (plugin.getConfig().getBoolean("dmginchat")) { Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getCause()); } @@ -91,14 +87,12 @@ e.setCancelled(true); return; } - if (e.getEntity() instanceof Player) { - Player p = (Player) e.getEntity(); + if (e.getEntity() instanceof Player p) { if (plugin.getVanish().isVanish(p)) { return; } } - if ((e.getEntity() instanceof Player) && (e.getFinalDamage() > 0) && (plugin.getTimer().isRunning())) { - Player p = (Player) e.getEntity(); + if ((e.getEntity() instanceof Player p) && (e.getFinalDamage() > 0) && (plugin.getTimer().isRunning())) { 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.PREFIX + " " + ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getDamager().getName()); @@ -185,8 +179,7 @@ e.setCancelled(true); return; } - if (e.getEntity() instanceof Player) { - Player p = (Player) e.getEntity(); + if (e.getEntity() instanceof Player p) { if (e.getEntity() instanceof Player) { if (plugin.getConfig().getBoolean("clinvdmg")) { if (plugin.getTimer().isRunning() && p.getGameMode() == GameMode.SURVIVAL && !plugin.getVanish().isVanish(p)) { diff --git a/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java b/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java index e6ab2a9..66a2e8b 100644 --- a/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java +++ b/src/main/java/de/fanta/challenges/scoreboard/ScoreManager.java @@ -72,18 +72,14 @@ @Override public void onSuccess(String url) { System.out.println(); - if (player != null) { - ChatUtil.sendNormalMessage(player, "Event Log gepastet: " + url); - } + ChatUtil.sendNormalMessage(player, "Event Log gepastet: " + url); plugin.getLogger().log(Level.SEVERE, "Event Log gepastet: " + url); plugin.getScoreManager().resetScores(); } @Override public void onError(Exception e) { - if (player != null) { - ChatUtil.sendErrorMessage(player, "Paste konnte nicht erstellt werden"); - } + ChatUtil.sendErrorMessage(player, "Paste konnte nicht erstellt werden"); plugin.getLogger().log(Level.SEVERE, "Could not paste event log", e); } }); 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 d4ad069..cfc7aa6 100644 --- a/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/Message.java +++ b/src/main/java/de/fanta/challenges/utils/ChatSkullAPI/Message.java @@ -20,9 +20,8 @@ public Message appendText(String[] text) { for (int y = 0; y < this.lines.length; y++) { if (text.length > y) { - int tmp16_15 = y; String[] tmp16_12 = this.lines; - tmp16_12[tmp16_15] = tmp16_12[tmp16_15] + " " + text[y]; + tmp16_12[y] = tmp16_12[y] + " " + text[y]; } } return this; diff --git a/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java b/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java index 0cd9455..45f3c22 100644 --- a/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java +++ b/src/main/java/de/fanta/challenges/utils/SaveWorldUtils.java @@ -1,11 +1,10 @@ package de.fanta.challenges.utils; +import de.cubeside.nmsutils.NMSUtils; import de.fanta.challenges.Challenges; -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_R3.CraftWorld; import org.bukkit.entity.Player; import java.io.File; @@ -15,6 +14,8 @@ public class SaveWorldUtils { + private static final Challenges plugin = Challenges.getPlugin(); + public static void saveWorld(UUID uuid) { Challenges.getPlugin().getConfig().set("timertime", Challenges.getPlugin().getTimer().getTime()); Challenges.getPlugin().saveConfig(); @@ -27,21 +28,14 @@ world_world.save(); world_nether.save(); world_end.save(); - CraftWorld craftWorld = (CraftWorld) world_world; - WorldServer handle = craftWorld.getHandle(); - CraftWorld craftEnd = (CraftWorld) world_end; - WorldServer handleend = craftEnd.getHandle(); - CraftWorld craftNether = (CraftWorld) world_nether; - WorldServer handlenether = craftNether.getHandle(); for (Player p : Bukkit.getOnlinePlayers()) { p.saveData(); } - try { - handle.save(null, true, false); - handleend.save(null, true, false); - handlenether.save(null, true, false); - } catch (Exception e) { - Bukkit.getLogger().log(Level.SEVERE, "Exception while saving world", e); + NMSUtils nms = plugin.getNMSUtils(); + if (nms != null) { + nms.getWorldUtils().saveWorldNow(world_world); + nms.getWorldUtils().saveWorldNow(world_end); + nms.getWorldUtils().saveWorldNow(world_nether); } File dir = new File(uuid.toString()); File configs = new File("plugins/Challenges"); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index c9541c8..8c13281 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,9 +2,9 @@ main: ${mainClass} version: ${project.version} load: STARTUP -api-version: 1.16 +api-version: 1.17 author: ${project.author} -depend: [CubesideUtils, VanishNoPacket, GlobalPort] +depend: [CubesideUtils, VanishNoPacket, GlobalPort, CubesideNMSUtils] loadbefore: - CubesideSettings commands: