From 28522ccbf61cc57d4913bb2e319bab9a0797db4d Mon Sep 17 00:00:00 2001 From: Pim van der Loos Date: Thu, 4 Nov 2021 13:39:45 +0100 Subject: [PATCH] Drop support for all versions of MC < 1.17 - Only versions 1.17 and up are supported from now on. --- .../armoredElytra/ArmoredElytra.java | 41 +++---------------- .../armoredElytra/util/ConfigLoader.java | 26 +++--------- 2 files changed, 10 insertions(+), 57 deletions(-) diff --git a/src/main/java/nl/pim16aap2/armoredElytra/ArmoredElytra.java b/src/main/java/nl/pim16aap2/armoredElytra/ArmoredElytra.java index a438b65..4ffc377 100644 --- a/src/main/java/nl/pim16aap2/armoredElytra/ArmoredElytra.java +++ b/src/main/java/nl/pim16aap2/armoredElytra/ArmoredElytra.java @@ -5,7 +5,6 @@ import nl.pim16aap2.armoredElytra.handlers.CommandHandler; import nl.pim16aap2.armoredElytra.handlers.EventHandlers; import nl.pim16aap2.armoredElytra.handlers.FlyDurabilityHandler; import nl.pim16aap2.armoredElytra.handlers.ItemDropListener; -import nl.pim16aap2.armoredElytra.handlers.LoginHandler; import nl.pim16aap2.armoredElytra.handlers.NetheriteUpgradeListener; import nl.pim16aap2.armoredElytra.handlers.SmithingTableCraftHandler; import nl.pim16aap2.armoredElytra.handlers.Uninstaller; @@ -30,10 +29,9 @@ import org.bukkit.plugin.java.JavaPlugin; import javax.annotation.Nullable; import java.util.Collections; import java.util.EnumMap; -import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Set; +import java.util.Objects; import java.util.logging.Level; public class ArmoredElytra extends JavaPlugin implements Listener @@ -42,7 +40,6 @@ public class ArmoredElytra extends JavaPlugin implements Listener .get(Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3]); private static ArmoredElytra INSTANCE; - private final Set allowedEnchantments = new HashSet<>(); private Messages messages; private ConfigLoader config; @@ -50,34 +47,23 @@ public class ArmoredElytra extends JavaPlugin implements Listener private UpdateManager updateManager; private NBTEditor nbtEditor; - private DurabilityManager durabilityManager; @Override public void onEnable() { INSTANCE = this; - if (minecraftVersion.isOlderThan(MinecraftVersion.v1_15)) + if (minecraftVersion.isOlderThan(MinecraftVersion.v1_17)) { myLogger(Level.SEVERE, "Trying to run this plugin on an unsupported version... ABORT!"); setEnabled(false); return; } - if (isBlacklistedVersion()) - { - myLogger(Level.SEVERE, - "You are trying to run this plugin on a blacklisted version of Spigot! Please update Spigot!"); - Bukkit.getPluginManager().registerEvents( - new LoginHandler(this, ChatColor.RED + - "[ArmoredElytra] The plugin failed to start because you are running on a " + - "blacklisted version of Spiogt! Please update Spigot!"), this); - return; - } nbtEditor = new NBTEditor(); config = new ConfigLoader(this); - durabilityManager = new DurabilityManager(nbtEditor, config); + DurabilityManager durabilityManager = new DurabilityManager(nbtEditor, config); messages = new Messages(this); readMessages(); @@ -99,7 +85,8 @@ public class ArmoredElytra extends JavaPlugin implements Listener "seeing higher user numbers helps me stay motivated!"); Bukkit.getPluginManager().registerEvents(new EventHandlers(this, nbtEditor, durabilityManager), this); - getCommand("ArmoredElytra").setExecutor(new CommandHandler(this, nbtEditor, durabilityManager)); + Objects.requireNonNull(getCommand("ArmoredElytra"), "ArmoredElytra base command not found!") + .setExecutor(new CommandHandler(this, nbtEditor, durabilityManager)); // Load the plugin normally if not in uninstall mode. if (!config.uninstallMode()) @@ -131,24 +118,6 @@ public class ArmoredElytra extends JavaPlugin implements Listener } } - /** - * Checks if the current version is blacklisted. - *

- * This is needed for 1.16, as on the initial release there was a bug with NBT stuff that would crash clients when - * they saw an Armored Elytra. When they obtained one using a command they wouldn't be able to rejoin the game again - * until an NBTEditor was used to remove the item from their inventory. - * - * @return True if the current version is blacklisted. - */ - public boolean isBlacklistedVersion() - { - if (minecraftVersion != MinecraftVersion.v1_16) - return false; - - String[] parts = Bukkit.getVersion().substring("git-Spigot-".length()).split("-"); - return parts.length > 0 && parts[0].equals("758abbe"); - } - public MinecraftVersion getMinecraftVersion() { return minecraftVersion; diff --git a/src/main/java/nl/pim16aap2/armoredElytra/util/ConfigLoader.java b/src/main/java/nl/pim16aap2/armoredElytra/util/ConfigLoader.java index 7290486..a931c44 100644 --- a/src/main/java/nl/pim16aap2/armoredElytra/util/ConfigLoader.java +++ b/src/main/java/nl/pim16aap2/armoredElytra/util/ConfigLoader.java @@ -137,13 +137,13 @@ public class ConfigLoader }; String[] craftingInSmithingTableComment = { - "This option only works on 1.16+! When enabled, armored elytra creation in anvils is disabled. ", + "When enabled, armored elytra creation in anvils is disabled. ", "Instead, you will have to craft them in a smithy. Enchanting/repairing them still works via the anvil." }; String[] allowUpgradeToNetheriteComment = { "Whether or not to allow upgrading diamond armored elytras to netherite ones is possible.", - "When allowed (on 1.16+), you can combine a diamond one with a netherite ingot in a smithing table", + "When allowed, you can combine a diamond one with a netherite ingot in a smithing table", "and you'll receive a netherite one." }; String[] allowRenamingComment = @@ -189,28 +189,13 @@ public class ConfigLoader throw new IllegalStateException("Incorrect repair counts array size! Expected size " + armorTierCount + " but got size " + repairCounts.length); - - final boolean smithingTableAllowed = plugin.getMinecraftVersion().isNewerThan(MinecraftVersion.v1_15); - craftingInSmithingTable = addNewConfigOption(config, "craftingInSmithingTable", smithingTableAllowed, + craftingInSmithingTable = addNewConfigOption(config, "craftingInSmithingTable", true, craftingInSmithingTableComment); - if (craftingInSmithingTable && !smithingTableAllowed) - { - Bukkit.getLogger().log(Level.WARNING, "You tried to enable crafting in smithing tables, " + - "but this is only supported on 1.16+! Reverting to disabled."); - craftingInSmithingTable = false; - } - allowUpgradeToNetherite = addNewConfigOption(config, "allowUpgradeToNetherite", smithingTableAllowed, + allowUpgradeToNetherite = addNewConfigOption(config, "allowUpgradeToNetherite", true, allowUpgradeToNetheriteComment); - if (allowUpgradeToNetherite && !smithingTableAllowed) - { - Bukkit.getLogger().log(Level.WARNING, "You tried to enable crafting in smithing tables, " + - "but this is only supported on 1.16+! Reverting to disabled."); - allowUpgradeToNetherite = false; - } defaultAllowedEnchantments = addNewConfigOption(config, "allowedEnchantments", defaultAllowedEnchantments, enchantmentsComment); - allowedEnchantments = new LinkedHashSet<>(); defaultAllowedEnchantments.forEach( fullKey -> @@ -253,8 +238,7 @@ public class ConfigLoader private T addNewConfigOption(FileConfiguration config, String optionName, T defaultValue, String[] comment) { - nl.pim16aap2.armoredElytra.util.ConfigOption option = new nl.pim16aap2.armoredElytra.util.ConfigOption<>( - plugin, config, optionName, defaultValue, comment); + ConfigOption option = new ConfigOption<>(plugin, config, optionName, defaultValue, comment); configOptionsList.add(option); return option.getValue(); }