From 24cea8dadee3222f38b87fe7c285b96f344e03ea Mon Sep 17 00:00:00 2001 From: TheBusyBiscuit Date: Sat, 20 Jun 2020 21:39:41 +0200 Subject: [PATCH] Further Improvements on the backwards-compatibility toggle --- CHANGELOG.md | 1 + pom.xml | 1 + .../commands/subcommands/VersionsCommand.java | 6 ++++++ .../energy/EnergyNetComponentType.java | 2 +- .../Objects/SlimefunItem/SlimefunItem.java | 18 +++++++++++------- 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 99930d4a4..43c4c83a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ * Added a starting sound for the Ancient Altar * Added config option to disable backwards compatibility and improve performance * Added ReactorExplodeEvent to the API +* Compatibility mode status is now included in /sf versions #### Changes * Coolant Cells now last twice as long diff --git a/pom.xml b/pom.xml index 506190eb5..0b9d857c5 100644 --- a/pom.xml +++ b/pom.xml @@ -347,6 +347,7 @@ me.minebuilders clearlag-core 3.1.6 + provided \ No newline at end of file diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/subcommands/VersionsCommand.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/subcommands/VersionsCommand.java index f00ca84f5..7807fea70 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/subcommands/VersionsCommand.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/commands/subcommands/VersionsCommand.java @@ -3,6 +3,7 @@ package io.github.thebusybiscuit.slimefun4.core.commands.subcommands; import java.util.Collection; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.plugin.Plugin; @@ -36,6 +37,11 @@ class VersionsCommand extends SubCommand { sender.sendMessage(""); sender.sendMessage(ChatColors.color("&aCS-CoreLib &2v" + SlimefunPlugin.getCSCoreLibVersion())); sender.sendMessage(ChatColors.color("&aSlimefun &2v" + SlimefunPlugin.getVersion())); + + if (SlimefunPlugin.getRegistry().isBackwardsCompatible()) { + sender.sendMessage(ChatColor.YELLOW + "Backwards compatiblity enabled!"); + } + sender.sendMessage(""); Collection addons = SlimefunPlugin.getInstalledAddons(); diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/networks/energy/EnergyNetComponentType.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/networks/energy/EnergyNetComponentType.java index eb2db0952..fe62f19ad 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/networks/energy/EnergyNetComponentType.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/networks/energy/EnergyNetComponentType.java @@ -22,7 +22,7 @@ public enum EnergyNetComponentType { /** * A Generator generates Energy and feeds it into the network. - * Also see: {@link AGenerator} or {@link AReactor} + * Also see: {@link AGenerator} or {@link Reactor} */ GENERATOR, diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java index b5ea85b6e..99e4390cc 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java @@ -525,7 +525,9 @@ public class SlimefunItem implements Placeable { * @return Whether the given {@link ItemStack} represents this {@link SlimefunItem} */ public boolean isItem(ItemStack item) { - if (item == null) return false; + if (item == null) { + return false; + } if (item.hasItemMeta()) { Optional itemId = SlimefunPlugin.getItemDataService().getItemData(item); @@ -535,13 +537,13 @@ public class SlimefunItem implements Placeable { } } - // Support for legacy items - if (this instanceof ChargableItem && SlimefunUtils.isItemSimilar(item, this.item, false)) { - return true; + // Backwards compatibility + if (SlimefunPlugin.getMinecraftVersion().isBefore(MinecraftVersion.MINECRAFT_1_14) || SlimefunPlugin.getRegistry().isBackwardsCompatible()) { + boolean loreInsensitive = this instanceof ChargableItem || this instanceof SlimefunBackpack || id.equals("BROKEN_SPAWNER") || id.equals("REINFORCED_SPAWNER"); + return SlimefunUtils.isItemSimilar(item, this.item, !loreInsensitive); } else { - boolean loreInsensitive = this instanceof SlimefunBackpack || id.equals("BROKEN_SPAWNER") || id.equals("REINFORCED_SPAWNER"); - return SlimefunUtils.isItemSimilar(item, this.item, !loreInsensitive); + return false; } } @@ -790,7 +792,9 @@ public class SlimefunItem implements Placeable { } public static SlimefunItem getByItem(ItemStack item) { - if (item == null || item.getType() == Material.AIR) return null; + if (item == null || item.getType() == Material.AIR) { + return null; + } if (item instanceof SlimefunItemStack) { return getByID(((SlimefunItemStack) item).getItemId());