From a22068b9fff1f70d2a941e969d7d8fb8dc86b909 Mon Sep 17 00:00:00 2001 From: TheBusyBiscuit Date: Sun, 8 Dec 2019 12:58:05 +0100 Subject: [PATCH] Optimized SlimefunManager.isItemSimilar --- .../core}/services/BlockDataService.java | 2 +- .../core}/services/CustomItemDataService.java | 2 +- .../core}/services/CustomTextureService.java | 2 +- .../core}/services/MetricsService.java | 2 +- .../Objects/SlimefunItem/SlimefunItem.java | 16 ++-- .../abstractItems/AContainer.java | 2 +- .../abstractItems/AGenerator.java | 8 +- .../SlimefunItem/abstractItems/AReactor.java | 8 +- .../SlimefunItem/items/DietCookie.java | 3 +- .../SlimefunItem/items/EnderBackpack.java | 4 +- .../SlimefunItem/items/FortuneCookie.java | 3 +- .../SlimefunItem/items/GrapplingHook.java | 3 +- .../SlimefunItem/items/HerculesPickaxe.java | 3 +- .../SlimefunItem/items/InfernalBonemeal.java | 3 +- .../SlimefunItem/items/KnowledgeTome.java | 4 +- .../Objects/SlimefunItem/items/LumberAxe.java | 3 +- .../SlimefunItem/items/MagicEyeOfEnder.java | 7 +- .../SlimefunItem/items/MonsterJerky.java | 3 +- .../items/PickaxeOfContainment.java | 3 +- .../SlimefunItem/items/PortableCrafter.java | 4 +- .../SlimefunItem/items/PortableDustbin.java | 4 +- .../SlimefunItem/items/SoulboundRune.java | 9 ++- .../SlimefunItem/items/StormStaff.java | 5 +- .../SlimefunItem/items/SwordOfBeheading.java | 3 +- .../Objects/SlimefunItem/items/WindStaff.java | 3 +- .../SlimefunItem/machines/Composter.java | 2 +- .../SlimefunItem/machines/Crucible.java | 8 +- .../machines/ReactorAccessPort.java | 4 +- .../electric/AnimalGrowthAccelerator.java | 2 +- .../machines/electric/AutoAnvil.java | 2 +- .../machines/electric/AutoBreeder.java | 2 +- .../machines/electric/AutoDrier.java | 2 +- .../electric/CropGrowthAccelerator.java | 4 +- .../machines/electric/ElectricDustWasher.java | 4 +- .../machines/electric/ElectricGoldPan.java | 4 +- .../machines/electric/ElectricSmeltery.java | 2 +- .../machines/electric/FluidPump.java | 2 +- .../electric/HeatedPressureChamber.java | 4 +- .../machines/electric/Refinery.java | 2 +- .../machines/electric/WitherAssembler.java | 10 +-- .../machines/electric/geo/OilPump.java | 2 +- .../SlimefunItem/multiblocks/ArmorForge.java | 2 +- .../multiblocks/AutomatedPanningMachine.java | 2 +- .../SlimefunItem/multiblocks/Compressor.java | 2 +- .../multiblocks/EnhancedCraftingTable.java | 4 +- .../SlimefunItem/multiblocks/GrindStone.java | 2 +- .../SlimefunItem/multiblocks/Juicer.java | 2 +- .../multiblocks/MagicWorkbench.java | 4 +- .../SlimefunItem/multiblocks/OreCrusher.java | 2 +- .../SlimefunItem/multiblocks/OreWasher.java | 6 +- .../multiblocks/PressureChamber.java | 2 +- .../SlimefunItem/multiblocks/Smeltery.java | 6 +- .../Slimefun/Objects/tasks/ArmorTask.java | 10 +-- .../Slimefun/Setup/MiscSetup.java | 18 ++--- .../Slimefun/Setup/SlimefunManager.java | 79 ++++++++++++++++--- .../Slimefun/Setup/SlimefunSetup.java | 20 ++--- .../mrCookieSlime/Slimefun/SlimefunGuide.java | 6 +- .../Slimefun/SlimefunPlugin.java | 8 +- .../Slimefun/ancient_altar/Pedestals.java | 8 +- .../androids/ProgrammableAndroid.java | 4 +- .../Slimefun/api/SlimefunItemStack.java | 13 +++ .../api/item_transport/CargoManager.java | 18 ++--- .../Slimefun/api/item_transport/CargoNet.java | 6 +- .../Slimefun/guides/GuideSettings.java | 6 +- .../Slimefun/listeners/ArmorListener.java | 2 +- .../Slimefun/listeners/BackpackListener.java | 2 +- .../Slimefun/listeners/CoolerListener.java | 2 +- .../Slimefun/listeners/ItemListener.java | 44 +++++------ .../Slimefun/listeners/TalismanListener.java | 2 +- .../Slimefun/listeners/ToolListener.java | 54 ++++++------- 70 files changed, 277 insertions(+), 224 deletions(-) rename src/main/java/{me/mrCookieSlime/Slimefun => io/github/thebusybiscuit/slimefun4/core}/services/BlockDataService.java (92%) rename src/main/java/{me/mrCookieSlime/Slimefun => io/github/thebusybiscuit/slimefun4/core}/services/CustomItemDataService.java (94%) rename src/main/java/{me/mrCookieSlime/Slimefun => io/github/thebusybiscuit/slimefun4/core}/services/CustomTextureService.java (94%) rename src/main/java/{me/mrCookieSlime/Slimefun => io/github/thebusybiscuit/slimefun4/core}/services/MetricsService.java (91%) diff --git a/src/main/java/me/mrCookieSlime/Slimefun/services/BlockDataService.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/BlockDataService.java similarity index 92% rename from src/main/java/me/mrCookieSlime/Slimefun/services/BlockDataService.java rename to src/main/java/io/github/thebusybiscuit/slimefun4/core/services/BlockDataService.java index 504b670a7..4e66061bd 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/services/BlockDataService.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/BlockDataService.java @@ -1,4 +1,4 @@ -package me.mrCookieSlime.Slimefun.services; +package io.github.thebusybiscuit.slimefun4.core.services; import java.util.Optional; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/services/CustomItemDataService.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/CustomItemDataService.java similarity index 94% rename from src/main/java/me/mrCookieSlime/Slimefun/services/CustomItemDataService.java rename to src/main/java/io/github/thebusybiscuit/slimefun4/core/services/CustomItemDataService.java index 9d75560ee..fddcf9b92 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/services/CustomItemDataService.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/CustomItemDataService.java @@ -1,4 +1,4 @@ -package me.mrCookieSlime.Slimefun.services; +package io.github.thebusybiscuit.slimefun4.core.services; import java.util.Optional; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/services/CustomTextureService.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/CustomTextureService.java similarity index 94% rename from src/main/java/me/mrCookieSlime/Slimefun/services/CustomTextureService.java rename to src/main/java/io/github/thebusybiscuit/slimefun4/core/services/CustomTextureService.java index 57b4b6a64..e76d07403 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/services/CustomTextureService.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/CustomTextureService.java @@ -1,4 +1,4 @@ -package me.mrCookieSlime.Slimefun.services; +package io.github.thebusybiscuit.slimefun4.core.services; import java.util.Collection; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/services/MetricsService.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/MetricsService.java similarity index 91% rename from src/main/java/me/mrCookieSlime/Slimefun/services/MetricsService.java rename to src/main/java/io/github/thebusybiscuit/slimefun4/core/services/MetricsService.java index 5702a3791..3ee9277bd 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/services/MetricsService.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/MetricsService.java @@ -1,4 +1,4 @@ -package me.mrCookieSlime.Slimefun.services; +package io.github.thebusybiscuit.slimefun4.core.services; import org.bstats.bukkit.Metrics; 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 ec8840241..85baeda9c 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java @@ -314,8 +314,8 @@ public class SlimefunItem implements Placeable { return sfi; } } - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BROKEN_SPAWNER, false)) return getByID("BROKEN_SPAWNER"); - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.REPAIRED_SPAWNER, false)) return getByID("REINFORCED_SPAWNER"); + if (SlimefunManager.isItemSimilar(item, SlimefunItems.BROKEN_SPAWNER, false)) return getByID("BROKEN_SPAWNER"); + if (SlimefunManager.isItemSimilar(item, SlimefunItems.REPAIRED_SPAWNER, false)) return getByID("REINFORCED_SPAWNER"); return null; } @@ -329,11 +329,11 @@ public class SlimefunItem implements Placeable { } } - if (this instanceof ChargableItem && SlimefunManager.isItemSimiliar(item, this.item, false)) return true; - else if (this instanceof DamagableChargableItem && SlimefunManager.isItemSimiliar(item, this.item, false)) return true; - else if (this instanceof ChargedItem && SlimefunManager.isItemSimiliar(item, this.item, false)) return true; - else if (this instanceof SlimefunBackpack && SlimefunManager.isItemSimiliar(item, this.item, false)) return true; - else return SlimefunManager.isItemSimiliar(item, this.item, true); + if (this instanceof ChargableItem && SlimefunManager.isItemSimilar(item, this.item, false)) return true; + else if (this instanceof DamagableChargableItem && SlimefunManager.isItemSimilar(item, this.item, false)) return true; + else if (this instanceof ChargedItem && SlimefunManager.isItemSimilar(item, this.item, false)) return true; + else if (this instanceof SlimefunBackpack && SlimefunManager.isItemSimilar(item, this.item, false)) return true; + else return SlimefunManager.isItemSimilar(item, this.item, true); } public void load() { @@ -483,7 +483,7 @@ public class SlimefunItem implements Placeable { ItemStack[] recipe = sfi.getRecipe(); for (int i = 0; i < 9; i++) { - if (SlimefunManager.isItemSimiliar(recipe[i], old, true)) recipe[i] = stack; + if (SlimefunManager.isItemSimilar(recipe[i], old, true)) recipe[i] = stack; } sfi.setRecipe(recipe); } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AContainer.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AContainer.java index db64bbf8b..f9b9f00c6 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AContainer.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AContainer.java @@ -210,7 +210,7 @@ public abstract class AContainer extends SlimefunItem implements InventoryBlock for (MachineRecipe recipe: recipes) { for (ItemStack input: recipe.getInput()) { for (int slot: getInputSlots()) { - if (SlimefunManager.isItemSimiliar(inv.getItemInSlot(slot), input, true)) { + if (SlimefunManager.isItemSimilar(inv.getItemInSlot(slot), input, true)) { found.put(slot, input.getAmount()); break; } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AGenerator.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AGenerator.java index ecc131080..2ebd7a84b 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AGenerator.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AGenerator.java @@ -188,9 +188,9 @@ public abstract class AGenerator extends SlimefunItem implements RecipeDisplayIt } else { ItemStack fuel = processing.get(l).getInput(); - if (SlimefunManager.isItemSimiliar(fuel, new ItemStack(Material.LAVA_BUCKET), true) - || SlimefunManager.isItemSimiliar(fuel, SlimefunItems.BUCKET_OF_FUEL, true) - || SlimefunManager.isItemSimiliar(fuel, SlimefunItems.BUCKET_OF_OIL, true)) { + if (SlimefunManager.isItemSimilar(fuel, new ItemStack(Material.LAVA_BUCKET), true) + || SlimefunManager.isItemSimilar(fuel, SlimefunItems.BUCKET_OF_FUEL, true) + || SlimefunManager.isItemSimilar(fuel, SlimefunItems.BUCKET_OF_OIL, true)) { inv.pushItem(new ItemStack(Material.BUCKET), getOutputSlots()); } inv.replaceExistingItem(22, new CustomItem(new ItemStack(Material.BLACK_STAINED_GLASS_PANE), " ")); @@ -226,7 +226,7 @@ public abstract class AGenerator extends SlimefunItem implements RecipeDisplayIt private MachineFuel findRecipe(BlockMenu menu, Map found) { for (MachineFuel recipe: recipes) { for (int slot: getInputSlots()) { - if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), recipe.getInput(), true)) { + if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), recipe.getInput(), true)) { found.put(slot, recipe.getInput().getAmount()); return recipe; } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AReactor.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AReactor.java index 4a3046d77..cd1eb70bd 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AReactor.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AReactor.java @@ -283,7 +283,7 @@ public abstract class AReactor extends SlimefunItem implements RecipeDisplayItem if (coolant) { if (port != null) { for (int slot: getCoolantSlots()) { - if (SlimefunManager.isItemSimiliar(port.getItemInSlot(slot), getCoolant(), true)) { + if (SlimefunManager.isItemSimilar(port.getItemInSlot(slot), getCoolant(), true)) { port.replaceExistingItem(slot, menu.pushItem(port.getItemInSlot(slot), getCoolantSlots())); } } @@ -291,7 +291,7 @@ public abstract class AReactor extends SlimefunItem implements RecipeDisplayItem boolean explosion = true; for (int slot: getCoolantSlots()) { - if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), getCoolant(), true)) { + if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), getCoolant(), true)) { menu.replaceExistingItem(slot, InvUtils.decreaseItem(menu.getItemInSlot(slot), 1)); ReactorHologram.update(l, "&b\u2744 &7100%"); explosion = false; @@ -372,7 +372,7 @@ public abstract class AReactor extends SlimefunItem implements RecipeDisplayItem private void restockFuel(BlockMenu menu, BlockMenu port) { for (int slot: getFuelSlots()) { for (MachineFuel recipe: recipes) { - if (SlimefunManager.isItemSimiliar(port.getItemInSlot(slot), recipe.getInput(), true) && menu.fits(new CustomItem(port.getItemInSlot(slot), 1), getFuelSlots())) { + if (SlimefunManager.isItemSimilar(port.getItemInSlot(slot), recipe.getInput(), true) && menu.fits(new CustomItem(port.getItemInSlot(slot), 1), getFuelSlots())) { port.replaceExistingItem(slot, menu.pushItem(port.getItemInSlot(slot), getFuelSlots())); return; } @@ -383,7 +383,7 @@ public abstract class AReactor extends SlimefunItem implements RecipeDisplayItem private MachineFuel findRecipe(BlockMenu menu, Map found) { for (MachineFuel recipe: recipes) { for (int slot: getInputSlots()) { - if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), recipe.getInput(), true)) { + if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), recipe.getInput(), true)) { found.put(slot, recipe.getInput().getAmount()); return recipe; } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/DietCookie.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/DietCookie.java index 158ae6600..f1ddbaa50 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/DietCookie.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/DietCookie.java @@ -9,7 +9,6 @@ import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemConsumptionHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class DietCookie extends SimpleSlimefunItem { @@ -21,7 +20,7 @@ public class DietCookie extends SimpleSlimefunItem { @Override public ItemConsumptionHandler getItemHandler() { return (e, p, item) -> { - if (SlimefunManager.isItemSimiliar(item, getItem(), true)) { + if (isItem(item)) { p.sendMessage(ChatColor.YELLOW + "You feel so light..."); p.playSound(p.getLocation(), Sound.ENTITY_GENERIC_EAT, 1, 1); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/EnderBackpack.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/EnderBackpack.java index 2f33a489b..4c0ddf7e3 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/EnderBackpack.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/EnderBackpack.java @@ -4,11 +4,9 @@ import org.bukkit.Sound; import org.bukkit.inventory.ItemStack; import me.mrCookieSlime.Slimefun.Lists.RecipeType; -import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class EnderBackpack extends SimpleSlimefunItem { @@ -20,7 +18,7 @@ public class EnderBackpack extends SimpleSlimefunItem { @Override public ItemInteractionHandler getItemHandler() { return (e, p, item) -> { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.ENDER_BACKPACK, true)) { + if (isItem(item)) { e.setCancelled(true); p.openInventory(p.getEnderChest()); p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ENDERMAN_TELEPORT, 1, 1); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/FortuneCookie.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/FortuneCookie.java index 6d282c8b8..5d645bc76 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/FortuneCookie.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/FortuneCookie.java @@ -11,7 +11,6 @@ import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemConsumptionHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class FortuneCookie extends SimpleSlimefunItem { @@ -25,7 +24,7 @@ public class FortuneCookie extends SimpleSlimefunItem { @Override public ItemConsumptionHandler getItemHandler() { return (e, p, item) -> { - if (SlimefunManager.isItemSimiliar(item, getItem(), true)) { + if (isItem(item)) { List messages = SlimefunPlugin.getLocal().getMessages("messages.fortune-cookie"); String message = messages.get(random.nextInt(messages.size())); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/GrapplingHook.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/GrapplingHook.java index 58157de85..bf119a11f 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/GrapplingHook.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/GrapplingHook.java @@ -18,7 +18,6 @@ import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.Slimefun; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; import me.mrCookieSlime.Slimefun.utils.Utilities; @@ -36,7 +35,7 @@ public class GrapplingHook extends SimpleSlimefunItem { Utilities utilities = SlimefunPlugin.getUtilities(); return (e, p, item) -> { - if (SlimefunManager.isItemSimiliar(item, getItem(), true)) { + if (isItem(item)) { UUID uuid = p.getUniqueId(); if (e.getClickedBlock() == null && !utilities.jumpState.containsKey(uuid)) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/HerculesPickaxe.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/HerculesPickaxe.java index df4eca36a..31b47e13c 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/HerculesPickaxe.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/HerculesPickaxe.java @@ -9,7 +9,6 @@ import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.BlockBreakHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class HerculesPickaxe extends SimpleSlimefunItem { @@ -26,7 +25,7 @@ public class HerculesPickaxe extends SimpleSlimefunItem { @Override public BlockBreakHandler getItemHandler() { return (e, item, fortune, drops) -> { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.HERCULES_PICKAXE, true) && e.getBlock().getType().toString().endsWith("_ORE")) { + if (isItem(item) && e.getBlock().getType().toString().endsWith("_ORE")) { if (e.getBlock().getType() == Material.IRON_ORE) { drops.add(new CustomItem(SlimefunItems.IRON_DUST, 2)); } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/InfernalBonemeal.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/InfernalBonemeal.java index b766c52dc..0062f5e68 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/InfernalBonemeal.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/InfernalBonemeal.java @@ -11,7 +11,6 @@ import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class InfernalBonemeal extends SimpleSlimefunItem { @@ -23,7 +22,7 @@ public class InfernalBonemeal extends SimpleSlimefunItem @Override public ItemInteractionHandler getItemHandler() { return (e, p, item) -> { - if (SlimefunManager.isItemSimiliar(item, getItem(), true)) { + if (isItem(item)) { if (e.getClickedBlock() != null && e.getClickedBlock().getType() == Material.NETHER_WART) { Ageable ageable = (Ageable) e.getClickedBlock().getBlockData(); if (ageable.getAge() < ageable.getMaximumAge()) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/KnowledgeTome.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/KnowledgeTome.java index 2689d5aa7..0410b8cdd 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/KnowledgeTome.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/KnowledgeTome.java @@ -29,7 +29,7 @@ public class KnowledgeTome extends SimpleSlimefunItem { @Override public ItemInteractionHandler getItemHandler() { return (e, p, item) -> { - if (SlimefunManager.isItemSimiliar(item, getItem(), true)) { + if (SlimefunManager.isItemSimilar(item, getItem(), true)) { List lore = item.getItemMeta().getLore(); lore.set(0, ChatColor.translateAlternateColorCodes('&', "&7Owner: &b" + p.getName())); lore.set(1, ChatColor.BLACK + "" + p.getUniqueId()); @@ -40,7 +40,7 @@ public class KnowledgeTome extends SimpleSlimefunItem { p.getWorld().playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 1F, 1F); return true; } - else if (SlimefunManager.isItemSimiliar(item, getItem(), false)) { + else if (SlimefunManager.isItemSimilar(item, getItem(), false)) { PlayerProfile.get(p, profile -> { PlayerProfile.fromUUID(UUID.fromString(ChatColor.stripColor(item.getItemMeta().getLore().get(1))), owner -> { Set researches = owner.getResearches(); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/LumberAxe.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/LumberAxe.java index 3c2638169..f458df373 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/LumberAxe.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/LumberAxe.java @@ -16,7 +16,6 @@ import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.interfaces.NotPlaceable; import me.mrCookieSlime.Slimefun.Objects.handlers.BlockBreakHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class LumberAxe extends SimpleSlimefunItem implements NotPlaceable { @@ -33,7 +32,7 @@ public class LumberAxe extends SimpleSlimefunItem implements @Override public BlockBreakHandler getItemHandler() { return (e, item, fortune, drops) -> { - if (SlimefunManager.isItemSimiliar(e.getPlayer().getInventory().getItemInMainHand(), getItem(), true)) { + if (isItem(item)) { if (MaterialCollections.getAllLogs().contains(e.getBlock().getType())) { List logs = Vein.find(e.getBlock(), 100, b -> MaterialCollections.getAllLogs().contains(b.getType())); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/MagicEyeOfEnder.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/MagicEyeOfEnder.java index 50f2cbe05..d811a2331 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/MagicEyeOfEnder.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/MagicEyeOfEnder.java @@ -24,7 +24,12 @@ public class MagicEyeOfEnder extends SimpleSlimefunItem if (isItem(item)) { e.getParentEvent().setCancelled(true); - if (p.getInventory().getHelmet() != null && p.getInventory().getChestplate() != null && p.getInventory().getLeggings() != null && p.getInventory().getBoots() != null && SlimefunManager.isItemSimiliar(p.getInventory().getHelmet(), SlimefunItems.ENDER_HELMET, true) && SlimefunManager.isItemSimiliar(p.getInventory().getChestplate(), SlimefunItems.ENDER_CHESTPLATE, true) && SlimefunManager.isItemSimiliar(p.getInventory().getLeggings(), SlimefunItems.ENDER_LEGGINGS, true) && SlimefunManager.isItemSimiliar(p.getInventory().getBoots(), SlimefunItems.ENDER_BOOTS, true)) { + if ( + SlimefunManager.isItemSimilar(p.getInventory().getHelmet(), SlimefunItems.ENDER_HELMET, true) && + SlimefunManager.isItemSimilar(p.getInventory().getChestplate(), SlimefunItems.ENDER_CHESTPLATE, true) && + SlimefunManager.isItemSimilar(p.getInventory().getLeggings(), SlimefunItems.ENDER_LEGGINGS, true) && + SlimefunManager.isItemSimilar(p.getInventory().getBoots(), SlimefunItems.ENDER_BOOTS, true) + ) { p.launchProjectile(EnderPearl.class); p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ENDERMAN_TELEPORT, 1, 1); } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/MonsterJerky.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/MonsterJerky.java index d75975c57..be1902540 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/MonsterJerky.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/MonsterJerky.java @@ -9,7 +9,6 @@ import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemConsumptionHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class MonsterJerky extends SimpleSlimefunItem { @@ -21,7 +20,7 @@ public class MonsterJerky extends SimpleSlimefunItem { @Override public ItemConsumptionHandler getItemHandler() { return (e, p, item) -> { - if (SlimefunManager.isItemSimiliar(item, getItem(), true)) { + if (isItem(item)) { SlimefunPlugin.instance.getServer().getScheduler().runTaskLater(SlimefunPlugin.instance, () -> { if (p.hasPotionEffect(PotionEffectType.HUNGER)) { p.removePotionEffect(PotionEffectType.HUNGER); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PickaxeOfContainment.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PickaxeOfContainment.java index 47f81c2e7..116f872a6 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PickaxeOfContainment.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PickaxeOfContainment.java @@ -14,7 +14,6 @@ import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.BlockBreakHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.BlockStorage; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; @@ -32,7 +31,7 @@ public class PickaxeOfContainment extends SimpleSlimefunItem @Override public BlockBreakHandler getItemHandler() { return (e, item, fortune, drops) -> { - if (SlimefunManager.isItemSimiliar(item, getItem(), true)) { + if (isItem(item)) { // Refactored it into this so we don't need to call e.getBlock() all the time. Block b = e.getBlock(); if (b.getType() != Material.SPAWNER) return true; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PortableCrafter.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PortableCrafter.java index 3e4a6dc6a..4735ecf79 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PortableCrafter.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PortableCrafter.java @@ -4,11 +4,9 @@ import org.bukkit.Sound; import org.bukkit.inventory.ItemStack; import me.mrCookieSlime.Slimefun.Lists.RecipeType; -import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class PortableCrafter extends SimpleSlimefunItem { @@ -20,7 +18,7 @@ public class PortableCrafter extends SimpleSlimefunItem @Override public ItemInteractionHandler getItemHandler() { return (e, p, item) -> { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.PORTABLE_CRAFTER, true)) { + if (isItem(item)) { p.openWorkbench(p.getLocation(), true); p.getWorld().playSound(p.getLocation(), Sound.BLOCK_WOODEN_BUTTON_CLICK_ON, 1, 1); return true; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PortableDustbin.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PortableDustbin.java index 94cb6efa6..ad46e16df 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PortableDustbin.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/PortableDustbin.java @@ -6,11 +6,9 @@ import org.bukkit.Sound; import org.bukkit.inventory.ItemStack; import me.mrCookieSlime.Slimefun.Lists.RecipeType; -import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class PortableDustbin extends SimpleSlimefunItem { @@ -22,7 +20,7 @@ public class PortableDustbin extends SimpleSlimefunItem @Override public ItemInteractionHandler getItemHandler() { return (e, p, item) -> { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.PORTABLE_DUSTBIN, true)) { + if (isItem(item)) { e.setCancelled(true); p.openInventory(Bukkit.createInventory(null, 9 * 3, ChatColor.DARK_RED + "Delete Items")); p.playSound(p.getLocation(), Sound.BLOCK_ANVIL_LAND, 1, 1); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/SoulboundRune.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/SoulboundRune.java index e327aec36..36fa4e09b 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/SoulboundRune.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/SoulboundRune.java @@ -38,7 +38,7 @@ public class SoulboundRune extends SimpleSlimefunItem { public ItemDropHandler getItemHandler() { return (e, p, i) -> { ItemStack item = i.getItemStack(); - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.RUNE_SOULBOUND, true)) { + if (isItem(item)) { if (!Slimefun.hasUnlocked(p, SlimefunItems.RUNE_SOULBOUND, true)) { return true; @@ -50,8 +50,9 @@ public class SoulboundRune extends SimpleSlimefunItem { Location l = i.getLocation(); Collection entites = l.getWorld().getNearbyEntities(l, 1.5, 1.5, 1.5, - entity -> entity instanceof Item && !SlimefunManager.isItemSoulbound(((Item) entity).getItemStack()) && - !SlimefunManager.isItemSimiliar(((Item) entity).getItemStack(), SlimefunItems.RUNE_SOULBOUND, true) + entity -> entity instanceof Item && + !SlimefunManager.isItemSoulbound(((Item) entity).getItemStack()) && + !SlimefunManager.isItemSimilar(((Item) entity).getItemStack(), SlimefunItems.RUNE_SOULBOUND, true) ); if (entites.isEmpty()) return; @@ -68,7 +69,7 @@ public class SoulboundRune extends SimpleSlimefunItem { // This lightning is just an effect, it deals no damage. l.getWorld().strikeLightningEffect(l); - Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> { + Slimefun.runSync(() -> { // Being sure entities are still valid and not picked up or whatsoever. if (i.isValid() && ent.isValid()) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/StormStaff.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/StormStaff.java index 60c84d439..a2793d8e3 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/StormStaff.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/StormStaff.java @@ -21,7 +21,6 @@ import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class StormStaff extends SimpleSlimefunItem { @@ -49,9 +48,7 @@ public class StormStaff extends SimpleSlimefunItem { @Override public ItemInteractionHandler getItemHandler() { return (e, p, item) -> { - //Not checking if lores equals because we need a special one for that. - if (SlimefunManager.isItemSimiliar(item, getItem(), false)) { - + if (isItem(item)) { if (!item.hasItemMeta()) return false; ItemMeta itemMeta = item.getItemMeta(); if (!itemMeta.hasLore()) return false; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/SwordOfBeheading.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/SwordOfBeheading.java index 6fdd3f3a2..7f463bb42 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/SwordOfBeheading.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/SwordOfBeheading.java @@ -16,7 +16,6 @@ import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.EntityKillHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.Slimefun; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; @@ -42,7 +41,7 @@ public class SwordOfBeheading extends SimpleSlimefunItem { @Override public EntityKillHandler getItemHandler() { return (e, entity, killer, item) -> { - if (SlimefunManager.isItemSimiliar(item, getItem(), true)) { + if (isItem(item)) { if (e.getEntity() instanceof Zombie) { if (random.nextInt(100) < chanceZombie) { e.getDrops().add(new ItemStack(Material.ZOMBIE_HEAD)); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/WindStaff.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/WindStaff.java index 6e7df86c6..d3a1e1406 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/WindStaff.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/items/WindStaff.java @@ -13,7 +13,6 @@ import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SimpleSlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class WindStaff extends SimpleSlimefunItem { @@ -25,7 +24,7 @@ public class WindStaff extends SimpleSlimefunItem { @Override public ItemInteractionHandler getItemHandler() { return (e, p, item) -> { - if (SlimefunManager.isItemSimiliar(item, getItem(), true)) { + if (isItem(item)) { if (p.getFoodLevel() >= 2) { if (p.getInventory().getItemInMainHand().getType() != Material.SHEARS && p.getGameMode() != GameMode.CREATIVE) { FoodLevelChangeEvent event = new FoodLevelChangeEvent(p, p.getFoodLevel() - 2); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/Composter.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/Composter.java index d1bf4f7a3..27537be0b 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/Composter.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/Composter.java @@ -71,7 +71,7 @@ public class Composter extends SlimefunGadget { SlimefunItem machine = SlimefunItem.getByID(id); for (ItemStack convert: RecipeType.getRecipeInputs(machine)) { - if (convert != null && SlimefunManager.isItemSimiliar(input, convert, true)) { + if (convert != null && SlimefunManager.isItemSimilar(input, convert, true)) { ItemStack removing = input.clone(); removing.setAmount(convert.getAmount()); p.getInventory().removeItem(removing); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/Crucible.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/Crucible.java index 9de5300b0..06ecdbe1f 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/Crucible.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/Crucible.java @@ -3,7 +3,6 @@ package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines; import java.util.LinkedList; import java.util.List; -import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.Tag; @@ -24,6 +23,7 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem; import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler; import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.BlockStorage; +import me.mrCookieSlime.Slimefun.api.Slimefun; import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class Crucible extends SlimefunGadget { @@ -74,7 +74,7 @@ public class Crucible extends SlimefunGadget { SlimefunItem machine = SlimefunItem.getByID(id); for (ItemStack convert: RecipeType.getRecipeInputs(machine)) { - if (input != null && SlimefunManager.isItemSimiliar(input, convert, true)) { + if (SlimefunManager.isItemSimilar(input, convert, true)) { e.setCancelled(true); ItemStack removing = input.clone(); removing.setAmount(convert.getAmount()); @@ -82,7 +82,7 @@ public class Crucible extends SlimefunGadget { p.getInventory().removeItem(removing); for (int i = 1; i < 9; i++) {int j = 8 - i; - Bukkit.getScheduler().runTaskLater(SlimefunPlugin.instance, () -> { + Slimefun.runSync(() -> { if (input.getType() == Material.COBBLESTONE || input.getType() == Material.TERRACOTTA || MaterialCollections.getAllTerracottaColors().contains(input.getType())) { block.setType(Material.LAVA); Levelled le = (Levelled) block.getBlockData(); @@ -97,7 +97,7 @@ public class Crucible extends SlimefunGadget { block.setBlockData(le, false); block.getWorld().playSound(block.getLocation(), Sound.ENTITY_PLAYER_SPLASH, 1F, 1F); } - }, i*50L); + }, i * 50L); } return true; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/ReactorAccessPort.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/ReactorAccessPort.java index a58158613..8f6f0f02e 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/ReactorAccessPort.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/ReactorAccessPort.java @@ -76,8 +76,8 @@ public class ReactorAccessPort extends SlimefunItem { @Override public int[] getSlotsAccessedByItemTransport(BlockMenu menu, ItemTransportFlow flow, ItemStack item) { if (flow == ItemTransportFlow.INSERT) { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.REACTOR_COOLANT_CELL, true)) return getCoolantSlots(); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.NETHER_ICE_COOLANT_CELL, true)) return getCoolantSlots(); + if (SlimefunManager.isItemSimilar(item, SlimefunItems.REACTOR_COOLANT_CELL, true)) return getCoolantSlots(); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.NETHER_ICE_COOLANT_CELL, true)) return getCoolantSlots(); else return getFuelSlots(); } else return getOutputSlots(); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AnimalGrowthAccelerator.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AnimalGrowthAccelerator.java index 5342e0e46..e50d6cc96 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AnimalGrowthAccelerator.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AnimalGrowthAccelerator.java @@ -90,7 +90,7 @@ public class AnimalGrowthAccelerator extends SlimefunItem implements InventoryBl protected void tick(Block b) { for (Entity n : b.getWorld().getNearbyEntities(b.getLocation(), 3.0, 3.0, 3.0, n -> n instanceof Ageable && n.isValid() && !((Ageable) n).isAdult())) { for (int slot: getInputSlots()) { - if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.ORGANIC_FOOD, false)) { + if (SlimefunManager.isItemSimilar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.ORGANIC_FOOD, false)) { if (ChargableBlock.getCharge(b) < energyConsumption) return; ChargableBlock.addCharge(b, -energyConsumption); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoAnvil.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoAnvil.java index 32c230732..2b98d2bf2 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoAnvil.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoAnvil.java @@ -80,7 +80,7 @@ public abstract class AutoAnvil extends AContainer { ItemStack item = menu.getItemInSlot(slot); if (item != null && item.getType().getMaxDurability() > 0 && ((Damageable) item.getItemMeta()).getDamage() > 0) { - if (SlimefunManager.isItemSimiliar(target, SlimefunItems.DUCT_TAPE, true)) { + if (SlimefunManager.isItemSimilar(target, SlimefunItems.DUCT_TAPE, true)) { ItemStack newItem = item.clone(); short durability = (short) (((Damageable) newItem.getItemMeta()).getDamage() - (item.getType().getMaxDurability() / getRepairFactor())); if (durability < 0) durability = 0; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoBreeder.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoBreeder.java index 815b50894..7aacfe0a4 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoBreeder.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoBreeder.java @@ -83,7 +83,7 @@ public class AutoBreeder extends SlimefunItem implements InventoryBlock { protected void tick(Block b) { for (Entity n : b.getWorld().getNearbyEntities(b.getLocation(), 4.0, 2.0, 4.0, n -> n instanceof Animals && n.isValid() && ((Animals) n).isAdult() && !((Animals) n).isLoveMode())) { for (int slot : getInputSlots()) { - if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.ORGANIC_FOOD, false)) { + if (SlimefunManager.isItemSimilar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.ORGANIC_FOOD, false)) { if (ChargableBlock.getCharge(b) < energyConsumption) return; ChargableBlock.addCharge(b, -energyConsumption); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoDrier.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoDrier.java index 69e790a43..0d1cc6d73 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoDrier.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/AutoDrier.java @@ -120,7 +120,7 @@ public class AutoDrier extends AContainer implements RecipeDisplayItem { ItemStack output = null; for (int i = 0; i < recipeList.size(); i += 2) { - if (SlimefunManager.isItemSimiliar(item, recipeList.get(i), true)) { + if (SlimefunManager.isItemSimilar(item, recipeList.get(i), true)) { output = recipeList.get(i + 1); } } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/CropGrowthAccelerator.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/CropGrowthAccelerator.java index 0e70eb6f1..1789b0f3d 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/CropGrowthAccelerator.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/CropGrowthAccelerator.java @@ -105,7 +105,7 @@ public abstract class CropGrowthAccelerator extends SlimefunItem implements Inve protected void tick(Block b) { if (work(b) > 0) { for (int slot : getInputSlots()) { - if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.FERTILIZER, false)) { + if (SlimefunManager.isItemSimilar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.FERTILIZER, false)) { BlockStorage.getInventory(b).replaceExistingItem(slot, InvUtils.decreaseItem(BlockStorage.getInventory(b).getItemInSlot(slot), 1)); break; } @@ -121,7 +121,7 @@ public abstract class CropGrowthAccelerator extends SlimefunItem implements Inve Block block = b.getRelative(x, 0, z); if (crops.containsKey(block.getType()) && ((Ageable) block.getBlockData()).getAge() < crops.get(block.getType())) { for (int slot : getInputSlots()) { - if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.FERTILIZER, false)) { + if (SlimefunManager.isItemSimilar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.FERTILIZER, false)) { if (work > (getSpeed() - 1) || ChargableBlock.getCharge(b) < getEnergyConsumption()) return work; ChargableBlock.addCharge(b, -getEnergyConsumption()); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricDustWasher.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricDustWasher.java index 5bedf129f..dcadb222a 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricDustWasher.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricDustWasher.java @@ -69,7 +69,7 @@ public abstract class ElectricDustWasher extends AContainer { ItemStack[] items = SlimefunPlugin.getUtilities().oreWasherOutputs; for (int slot: getInputSlots()) { - if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), SlimefunItems.SIFTED_ORE, true)) { + if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), SlimefunItems.SIFTED_ORE, true)) { if (!SlimefunPlugin.getSettings().legacyDustWasher) { boolean emptySlot = false; @@ -90,7 +90,7 @@ public abstract class ElectricDustWasher extends AContainer { progress.put(b, r.getTicks()); break; } - else if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), SlimefunItems.PULVERIZED_ORE, true)) { + else if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), SlimefunItems.PULVERIZED_ORE, true)) { MachineRecipe r = new MachineRecipe(4 / getSpeed(), new ItemStack[0], new ItemStack[] {SlimefunItems.PURE_ORE_CLUSTER}); if (!menu.fits(r.getOutput()[0], getOutputSlots())) return; menu.replaceExistingItem(slot, InvUtils.decreaseItem(menu.getItemInSlot(slot), 1)); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricGoldPan.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricGoldPan.java index 2985de078..445642067 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricGoldPan.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricGoldPan.java @@ -116,7 +116,7 @@ public abstract class ElectricGoldPan extends AContainer implements RecipeDispla } else { for (int slot: getInputSlots()) { - if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), new ItemStack(Material.GRAVEL), true)) { + if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), new ItemStack(Material.GRAVEL), true)) { ItemStack output = randomizer.getRandom(); MachineRecipe r = new MachineRecipe(3 / getSpeed(), new ItemStack[0], new ItemStack[] {output}); @@ -127,7 +127,7 @@ public abstract class ElectricGoldPan extends AContainer implements RecipeDispla progress.put(b, r.getTicks()); break; } - else if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), new ItemStack(Material.SOUL_SAND), true)) { + else if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), new ItemStack(Material.SOUL_SAND), true)) { ItemStack output = randomizerNether.getRandom(); MachineRecipe r = new MachineRecipe(4 / getSpeed(), new ItemStack[0], new ItemStack[] {output}); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricSmeltery.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricSmeltery.java index b8abd4704..293597d5b 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricSmeltery.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/ElectricSmeltery.java @@ -58,7 +58,7 @@ public abstract class ElectricSmeltery extends AContainer { List slots = new ArrayList<>(); for (int slot : getInputSlots()) { - if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), item, true)) { + if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), item, true)) { slots.add(slot); } } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/FluidPump.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/FluidPump.java index f9da89eb2..d7a49a850 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/FluidPump.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/FluidPump.java @@ -93,7 +93,7 @@ public class FluidPump extends SlimefunItem implements InventoryBlock { if (output != null && ChargableBlock.getCharge(b) >= energyConsumption) { BlockMenu menu = BlockStorage.getInventory(b); for (int slot : getInputSlots()) { - if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), new ItemStack(Material.BUCKET), true)) { + if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), new ItemStack(Material.BUCKET), true)) { if (!menu.fits(output, getOutputSlots())) return; ChargableBlock.addCharge(b, -energyConsumption); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/HeatedPressureChamber.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/HeatedPressureChamber.java index 1c67cd270..a56ce33d4 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/HeatedPressureChamber.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/HeatedPressureChamber.java @@ -62,7 +62,7 @@ public abstract class HeatedPressureChamber extends AContainer { List slots = new ArrayList<>(); for (int slot: getInputSlots()) { - if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), item, true)) { + if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), item, true)) { slots.add(slot); } } @@ -180,7 +180,7 @@ public abstract class HeatedPressureChamber extends AContainer { for (MachineRecipe recipe: recipes) { for (ItemStack input: recipe.getInput()) { for (int slot: getInputSlots()) { - if (SlimefunManager.isItemSimiliar(menu.getItemInSlot(slot), input, true)) { + if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), input, true)) { found.put(slot, input.getAmount()); break; } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/Refinery.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/Refinery.java index bd7c28231..1d582210a 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/Refinery.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/Refinery.java @@ -71,7 +71,7 @@ public abstract class Refinery extends AContainer implements RecipeDisplayItem { } else { for (int slot: getInputSlots()) { - if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.BUCKET_OF_OIL, true)) { + if (SlimefunManager.isItemSimilar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.BUCKET_OF_OIL, true)) { MachineRecipe r = new MachineRecipe(40, new ItemStack[0], new ItemStack[] {SlimefunItems.BUCKET_OF_FUEL}); if (!fits(b, r.getOutput())) return; BlockStorage.getInventory(b).replaceExistingItem(slot, InvUtils.decreaseItem(BlockStorage.getInventory(b).getItemInSlot(slot), 1)); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/WitherAssembler.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/WitherAssembler.java index 1f2870d94..19000c38b 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/WitherAssembler.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/WitherAssembler.java @@ -98,7 +98,7 @@ public class WitherAssembler extends SlimefunItem { @Override public int[] getSlotsAccessedByItemTransport(BlockMenu menu, ItemTransportFlow flow, ItemStack item) { if (flow == ItemTransportFlow.INSERT) { - if (SlimefunManager.isItemSimiliar(item, new ItemStack(Material.SOUL_SAND), true)) return getSoulSandSlots(); + if (SlimefunManager.isItemSimilar(item, new ItemStack(Material.SOUL_SAND), true)) return getSoulSandSlots(); else return getWitherSkullSlots(); } else return new int[0]; @@ -194,7 +194,7 @@ public class WitherAssembler extends SlimefunItem { int skulls = 0; for (int slot : getSoulSandSlots()) { - if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), new ItemStack(Material.SOUL_SAND), true)) { + if (SlimefunManager.isItemSimilar(BlockStorage.getInventory(b).getItemInSlot(slot), new ItemStack(Material.SOUL_SAND), true)) { soulsand = soulsand + BlockStorage.getInventory(b).getItemInSlot(slot).getAmount(); if (soulsand > 3) { soulsand = 4; @@ -204,7 +204,7 @@ public class WitherAssembler extends SlimefunItem { } for (int slot : getWitherSkullSlots()) { - if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), new ItemStack(Material.WITHER_SKELETON_SKULL), true)) { + if (SlimefunManager.isItemSimilar(BlockStorage.getInventory(b).getItemInSlot(slot), new ItemStack(Material.WITHER_SKELETON_SKULL), true)) { skulls = skulls + BlockStorage.getInventory(b).getItemInSlot(slot).getAmount(); if (skulls > 2) { skulls = 3; @@ -215,7 +215,7 @@ public class WitherAssembler extends SlimefunItem { if (soulsand > 3 && skulls > 2) { for (int slot : getSoulSandSlots()) { - if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), new ItemStack(Material.SOUL_SAND), true)) { + if (SlimefunManager.isItemSimilar(BlockStorage.getInventory(b).getItemInSlot(slot), new ItemStack(Material.SOUL_SAND), true)) { final int amount = BlockStorage.getInventory(b).getItemInSlot(slot).getAmount(); if (amount >= soulsand) { BlockStorage.getInventory(b).replaceExistingItem(slot, InvUtils.decreaseItem(BlockStorage.getInventory(b).getItemInSlot(slot), soulsand)); @@ -229,7 +229,7 @@ public class WitherAssembler extends SlimefunItem { } for (int slot : getWitherSkullSlots()) { - if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), new ItemStack(Material.WITHER_SKELETON_SKULL), true)) { + if (SlimefunManager.isItemSimilar(BlockStorage.getInventory(b).getItemInSlot(slot), new ItemStack(Material.WITHER_SKELETON_SKULL), true)) { final int amount = BlockStorage.getInventory(b).getItemInSlot(slot).getAmount(); if (amount >= skulls) { BlockStorage.getInventory(b).replaceExistingItem(slot, InvUtils.decreaseItem(BlockStorage.getInventory(b).getItemInSlot(slot), skulls)); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/geo/OilPump.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/geo/OilPump.java index dd55c5df7..569230191 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/geo/OilPump.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/electric/geo/OilPump.java @@ -101,7 +101,7 @@ public abstract class OilPump extends AContainer { if (supplies > 0) { for (int slot: getInputSlots()) { - if (SlimefunManager.isItemSimiliar(inv.getItemInSlot(slot), new ItemStack(Material.BUCKET), true)) { + if (SlimefunManager.isItemSimilar(inv.getItemInSlot(slot), new ItemStack(Material.BUCKET), true)) { MachineRecipe r = new MachineRecipe(26, new ItemStack[0], new ItemStack[] {SlimefunItems.BUCKET_OF_OIL}); if (!inv.fits(SlimefunItems.BUCKET_OF_OIL, getOutputSlots())) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/ArmorForge.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/ArmorForge.java index e2f801e78..cf43a72ec 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/ArmorForge.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/ArmorForge.java @@ -44,7 +44,7 @@ public class ArmorForge extends MultiBlockMachine { for (int i = 0; i < inputs.size(); i++) { boolean craft = true; for (int j = 0; j < inv.getContents().length; j++) { - if (!SlimefunManager.isItemSimiliar(inv.getContents()[j], inputs.get(i)[j], true)) { + if (!SlimefunManager.isItemSimilar(inv.getContents()[j], inputs.get(i)[j], true)) { craft = false; break; } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/AutomatedPanningMachine.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/AutomatedPanningMachine.java index 0de8b2002..36a564e17 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/AutomatedPanningMachine.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/AutomatedPanningMachine.java @@ -93,7 +93,7 @@ public class AutomatedPanningMachine extends MultiBlockMachine { public void onInteract(Player p, Block b) { final ItemStack input = p.getInventory().getItemInMainHand(); - if (SlimefunManager.isItemSimiliar(input, new ItemStack(Material.GRAVEL), true) || SlimefunManager.isItemSimiliar(input, new ItemStack(Material.SOUL_SAND), true)) { + if (SlimefunManager.isItemSimilar(input, new ItemStack(Material.GRAVEL), true) || SlimefunManager.isItemSimilar(input, new ItemStack(Material.SOUL_SAND), true)) { final Material block = input.getType(); if (p.getGameMode() != GameMode.CREATIVE) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Compressor.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Compressor.java index f2359207e..63294b1c5 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Compressor.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Compressor.java @@ -48,7 +48,7 @@ public class Compressor extends MultiBlockMachine { Inventory inv = disp.getInventory(); for (ItemStack current: inv.getContents()) { for (ItemStack convert: RecipeType.getRecipeInputs(this)) { - if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) { + if (convert != null && SlimefunManager.isItemSimilar(current, convert, true)) { final ItemStack adding = RecipeType.getRecipeOutput(this, convert); Inventory outputInv = findOutputInventory(adding, dispBlock, inv); if (outputInv != null) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/EnhancedCraftingTable.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/EnhancedCraftingTable.java index 0018fa783..13bac965e 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/EnhancedCraftingTable.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/EnhancedCraftingTable.java @@ -55,9 +55,9 @@ public class EnhancedCraftingTable extends MultiBlockMachine { for (int i = 0; i < inputs.size(); i++) { boolean craft = true; for (int j = 0; j < inv.getContents().length; j++) { - if (!SlimefunManager.isItemSimiliar(inv.getContents()[j], inputs.get(i)[j], true)) { + if (!SlimefunManager.isItemSimilar(inv.getContents()[j], inputs.get(i)[j], true)) { if (SlimefunItem.getByItem(inputs.get(i)[j]) instanceof SlimefunBackpack) { - if (!SlimefunManager.isItemSimiliar(inv.getContents()[j], inputs.get(i)[j], false)) { + if (!SlimefunManager.isItemSimilar(inv.getContents()[j], inputs.get(i)[j], false)) { craft = false; break; } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/GrindStone.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/GrindStone.java index 0b8b78692..45bd1c261 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/GrindStone.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/GrindStone.java @@ -56,7 +56,7 @@ public class GrindStone extends MultiBlockMachine { for (ItemStack current: inv.getContents()) { for (ItemStack convert: RecipeType.getRecipeInputs(this)) { - if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) { + if (convert != null && SlimefunManager.isItemSimilar(current, convert, true)) { ItemStack output = RecipeType.getRecipeOutput(this, convert); Inventory outputInv = findOutputInventory(output, dispBlock, inv); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Juicer.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Juicer.java index 8c7b665f9..274076b2a 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Juicer.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Juicer.java @@ -45,7 +45,7 @@ public class Juicer extends MultiBlockMachine { Inventory inv = disp.getInventory(); for (ItemStack current: inv.getContents()) { for (ItemStack convert: RecipeType.getRecipeInputs(this)) { - if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) { + if (convert != null && SlimefunManager.isItemSimilar(current, convert, true)) { ItemStack adding = RecipeType.getRecipeOutput(this, convert); Inventory outputInv = findOutputInventory(adding, dispBlock, inv); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/MagicWorkbench.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/MagicWorkbench.java index 16e721648..e6dbc03fb 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/MagicWorkbench.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/MagicWorkbench.java @@ -58,9 +58,9 @@ public class MagicWorkbench extends MultiBlockMachine { for (int i = 0; i < inputs.size(); i++) { boolean craft = true; for (int j = 0; j < inv.getContents().length; j++) { - if (!SlimefunManager.isItemSimiliar(inv.getContents()[j], inputs.get(i)[j], true)) { + if (!SlimefunManager.isItemSimilar(inv.getContents()[j], inputs.get(i)[j], true)) { if (SlimefunItem.getByItem(inputs.get(i)[j]) instanceof SlimefunBackpack) { - if (!SlimefunManager.isItemSimiliar(inv.getContents()[j], inputs.get(i)[j], false)) { + if (!SlimefunManager.isItemSimilar(inv.getContents()[j], inputs.get(i)[j], false)) { craft = false; break; } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/OreCrusher.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/OreCrusher.java index 7c9459950..25963640d 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/OreCrusher.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/OreCrusher.java @@ -60,7 +60,7 @@ public class OreCrusher extends MultiBlockMachine { Inventory inv = disp.getInventory(); for (ItemStack current: inv.getContents()) { for (ItemStack convert: RecipeType.getRecipeInputs(this)) { - if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) { + if (convert != null && SlimefunManager.isItemSimilar(current, convert, true)) { ItemStack adding = RecipeType.getRecipeOutput(this, convert); Inventory outputInv = findOutputInventory(adding, dispBlock, inv); if (outputInv != null) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/OreWasher.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/OreWasher.java index ac749e265..56b055c4e 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/OreWasher.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/OreWasher.java @@ -50,7 +50,7 @@ public class OreWasher extends MultiBlockMachine { for (ItemStack current: inv.getContents()) { if (current != null) { - if (SlimefunManager.isItemSimiliar(current, SlimefunItems.SIFTED_ORE, true)) { + if (SlimefunManager.isItemSimilar(current, SlimefunItems.SIFTED_ORE, true)) { ItemStack adding = items[new Random().nextInt(items.length)]; Inventory outputInv = null; @@ -77,7 +77,7 @@ public class OreWasher extends MultiBlockMachine { return; } - else if (SlimefunManager.isItemSimiliar(current, new ItemStack(Material.SAND, 4), false)) { + else if (SlimefunManager.isItemSimilar(current, new ItemStack(Material.SAND, 4), false)) { ItemStack adding = SlimefunItems.SALT; Inventory outputInv = findOutputInventory(adding, dispBlock, inv); @@ -93,7 +93,7 @@ public class OreWasher extends MultiBlockMachine { return; } - else if (SlimefunManager.isItemSimiliar(current, SlimefunItems.PULVERIZED_ORE, true)) { + else if (SlimefunManager.isItemSimilar(current, SlimefunItems.PULVERIZED_ORE, true)) { ItemStack adding = SlimefunItems.PURE_ORE_CLUSTER; Inventory outputInv = findOutputInventory(adding, dispBlock, inv); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/PressureChamber.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/PressureChamber.java index 1f882c924..afb9a9cc5 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/PressureChamber.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/PressureChamber.java @@ -55,7 +55,7 @@ public class PressureChamber extends MultiBlockMachine { for (ItemStack current: inv.getContents()) { for (ItemStack convert: RecipeType.getRecipeInputs(this)) { - if (convert != null && SlimefunManager.isItemSimiliar(current, convert, true)) { + if (convert != null && SlimefunManager.isItemSimilar(current, convert, true)) { final ItemStack adding = RecipeType.getRecipeOutput(this, convert); Inventory outputInv = findOutputInventory(adding, dispBlock, inv); if (outputInv != null) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Smeltery.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Smeltery.java index db3bd86c7..b9dd7578b 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Smeltery.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Smeltery.java @@ -73,11 +73,11 @@ public class Smeltery extends MultiBlockMachine { for (ItemStack converting: inputs.get(i)) { if (converting != null) { for (int j = 0; j < inv.getContents().length; j++) { - if (j == (inv.getContents().length - 1) && !SlimefunManager.isItemSimiliar(converting, inv.getContents()[j], true)) { + if (j == (inv.getContents().length - 1) && !SlimefunManager.isItemSimilar(converting, inv.getContents()[j], true)) { craft = false; break; } - else if (SlimefunManager.isItemSimiliar(inv.getContents()[j], converting, true)) break; + else if (SlimefunManager.isItemSimilar(inv.getContents()[j], converting, true)) break; } } } @@ -89,7 +89,7 @@ public class Smeltery extends MultiBlockMachine { if (outputInv != null) { for (ItemStack removing: inputs.get(i)) { if (removing != null) { - InvUtils.removeItem(inv, removing.getAmount(), true, stack -> SlimefunManager.isItemSimiliar(stack, removing, true)); + InvUtils.removeItem(inv, removing.getAmount(), true, stack -> SlimefunManager.isItemSimilar(stack, removing, true)); } } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Objects/tasks/ArmorTask.java b/src/main/java/me/mrCookieSlime/Slimefun/Objects/tasks/ArmorTask.java index f24049fab..4af0bdacc 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Objects/tasks/ArmorTask.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Objects/tasks/ArmorTask.java @@ -71,7 +71,7 @@ public class ArmorTask implements Runnable { } } - if (SlimefunManager.isItemSimiliar(p.getInventory().getHelmet(), SlimefunItems.SOLAR_HELMET, true) + if (SlimefunManager.isItemSimilar(p.getInventory().getHelmet(), SlimefunItems.SOLAR_HELMET, true) && Slimefun.hasUnlocked(p, SlimefunItem.getByID("SOLAR_HELMET"), true) && (p.getWorld().getTime() < 12300 || p.getWorld().getTime() > 23850) && p.getEyeLocation().getBlock().getLightFromSky() == 15) @@ -83,10 +83,10 @@ public class ArmorTask implements Runnable { if (SlimefunManager.containsSimilarItem(p.getInventory(), radioactive, true)) { // Check if player is wearing the hazmat suit // If so, break the loop - if (SlimefunManager.isItemSimiliar(SlimefunItems.SCUBA_HELMET, p.getInventory().getHelmet(), true) && - SlimefunManager.isItemSimiliar(SlimefunItems.HAZMATSUIT_CHESTPLATE, p.getInventory().getChestplate(), true) && - SlimefunManager.isItemSimiliar(SlimefunItems.HAZMATSUIT_LEGGINGS, p.getInventory().getLeggings(), true) && - SlimefunManager.isItemSimiliar(SlimefunItems.RUBBER_BOOTS, p.getInventory().getBoots(), true)) { + if (SlimefunManager.isItemSimilar(SlimefunItems.SCUBA_HELMET, p.getInventory().getHelmet(), true) && + SlimefunManager.isItemSimilar(SlimefunItems.HAZMATSUIT_CHESTPLATE, p.getInventory().getChestplate(), true) && + SlimefunManager.isItemSimilar(SlimefunItems.HAZMATSUIT_LEGGINGS, p.getInventory().getLeggings(), true) && + SlimefunManager.isItemSimilar(SlimefunItems.RUBBER_BOOTS, p.getInventory().getBoots(), true)) { break; } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Setup/MiscSetup.java b/src/main/java/me/mrCookieSlime/Slimefun/Setup/MiscSetup.java index 2e581ae3f..8bde5eac9 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Setup/MiscSetup.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Setup/MiscSetup.java @@ -177,15 +177,15 @@ public final class MiscSetup { for (ItemStack i: input) { if (i != null) { inputs.add(i); - if (SlimefunManager.isItemSimiliar(i, SlimefunItems.ALUMINUM_DUST, true)) dust = true; - if (SlimefunManager.isItemSimiliar(i, SlimefunItems.COPPER_DUST, true)) dust = true; - if (SlimefunManager.isItemSimiliar(i, SlimefunItems.GOLD_DUST, true)) dust = true; - if (SlimefunManager.isItemSimiliar(i, SlimefunItems.IRON_DUST, true)) dust = true; - if (SlimefunManager.isItemSimiliar(i, SlimefunItems.LEAD_DUST, true)) dust = true; - if (SlimefunManager.isItemSimiliar(i, SlimefunItems.MAGNESIUM_DUST, true)) dust = true; - if (SlimefunManager.isItemSimiliar(i, SlimefunItems.SILVER_DUST, true)) dust = true; - if (SlimefunManager.isItemSimiliar(i, SlimefunItems.TIN_DUST, true)) dust = true; - if (SlimefunManager.isItemSimiliar(i, SlimefunItems.ZINC_DUST, true)) dust = true; + if (SlimefunManager.isItemSimilar(i, SlimefunItems.ALUMINUM_DUST, true)) dust = true; + if (SlimefunManager.isItemSimilar(i, SlimefunItems.COPPER_DUST, true)) dust = true; + if (SlimefunManager.isItemSimilar(i, SlimefunItems.GOLD_DUST, true)) dust = true; + if (SlimefunManager.isItemSimilar(i, SlimefunItems.IRON_DUST, true)) dust = true; + if (SlimefunManager.isItemSimilar(i, SlimefunItems.LEAD_DUST, true)) dust = true; + if (SlimefunManager.isItemSimilar(i, SlimefunItems.MAGNESIUM_DUST, true)) dust = true; + if (SlimefunManager.isItemSimilar(i, SlimefunItems.SILVER_DUST, true)) dust = true; + if (SlimefunManager.isItemSimilar(i, SlimefunItems.TIN_DUST, true)) dust = true; + if (SlimefunManager.isItemSimilar(i, SlimefunItems.ZINC_DUST, true)) dust = true; } } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Setup/SlimefunManager.java b/src/main/java/me/mrCookieSlime/Slimefun/Setup/SlimefunManager.java index 8e1234779..45e210be5 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Setup/SlimefunManager.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Setup/SlimefunManager.java @@ -2,6 +2,7 @@ package me.mrCookieSlime.Slimefun.Setup; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import org.bukkit.ChatColor; import org.bukkit.Material; @@ -10,6 +11,7 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.potion.PotionEffect; +import io.github.thebusybiscuit.cscorelib2.item.ImmutableItemMeta; import me.mrCookieSlime.EmeraldEnchants.EmeraldEnchants; import me.mrCookieSlime.EmeraldEnchants.ItemEnchantment; import me.mrCookieSlime.Slimefun.SlimefunPlugin; @@ -21,6 +23,7 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunArmorPiece; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.VanillaItem; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.interfaces.Soulbound; +import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public final class SlimefunManager { @@ -73,30 +76,78 @@ public final class SlimefunManager { } + @Deprecated public static boolean isItemSimiliar(ItemStack item, ItemStack sfitem, boolean lore) { + return isItemSimilar(item, sfitem, lore); + } + + public static boolean isItemSimilar(ItemStack item, ItemStack sfitem, boolean checkLore) { if (item == null) return sfitem == null; if (sfitem == null) return false; if (item.getType() == sfitem.getType() && item.getAmount() >= sfitem.getAmount()) { if (item.hasItemMeta() && sfitem.hasItemMeta()) { - if (item.getItemMeta().hasDisplayName() && sfitem.getItemMeta().hasDisplayName()) { - if (item.getItemMeta().getDisplayName().equals(sfitem.getItemMeta().getDisplayName())) { - if (lore) { - if (item.getItemMeta().hasLore() && sfitem.getItemMeta().hasLore()) { - return equalsLore(item.getItemMeta().getLore(), sfitem.getItemMeta().getLore()); + ItemMeta itemMeta = item.getItemMeta(); + ItemMeta sfitemMeta = sfitem.getItemMeta(); + + if (sfitem instanceof SlimefunItemStack) { + System.out.println(sfitem.clone().getClass().getName()); + + Optional id = SlimefunPlugin.getItemDataService().getItemData(itemMeta); + + if (id.isPresent()) { + return id.equals(((SlimefunItemStack) sfitem).getItemID()); + } + + ImmutableItemMeta meta = ((SlimefunItemStack) sfitem).getImmutableMeta(); + + Optional displayName = meta.getDisplayName(); + + if (itemMeta.hasDisplayName() && displayName.isPresent()) { + if (itemMeta.getDisplayName().equals(displayName.get())) { + Optional> itemLore = meta.getLore(); + + if (checkLore) { + if (itemMeta.hasLore() && itemLore.isPresent()) { + return equalsLore(itemMeta.getLore(), itemLore.get()); + } + else return !itemMeta.hasLore() && !itemLore.isPresent(); } - else return !item.getItemMeta().hasLore() && !sfitem.getItemMeta().hasLore(); + else return true; + } + else return false; + } + else if (!itemMeta.hasDisplayName() && !displayName.isPresent()) { + Optional> itemLore = meta.getLore(); + + if (checkLore) { + if (itemMeta.hasLore() && itemLore.isPresent()) { + return equalsLore(itemMeta.getLore(), itemLore.get()); + } + else return !itemMeta.hasLore() && !itemLore.isPresent(); } else return true; } else return false; } - else if (!item.getItemMeta().hasDisplayName() && !sfitem.getItemMeta().hasDisplayName()) { - if (lore) { - if (item.getItemMeta().hasLore() && sfitem.getItemMeta().hasLore()) { - return equalsLore(item.getItemMeta().getLore(), sfitem.getItemMeta().getLore()); + else if (itemMeta.hasDisplayName() && sfitemMeta.hasDisplayName()) { + if (itemMeta.getDisplayName().equals(sfitemMeta.getDisplayName())) { + if (checkLore) { + if (itemMeta.hasLore() && sfitemMeta.hasLore()) { + return equalsLore(itemMeta.getLore(), sfitemMeta.getLore()); + } + else return !itemMeta.hasLore() && !sfitemMeta.hasLore(); } - else return !item.getItemMeta().hasLore() && !sfitem.getItemMeta().hasLore(); + else return true; + } + else return false; + } + else if (!itemMeta.hasDisplayName() && !sfitemMeta.hasDisplayName()) { + if (checkLore) { + if (itemMeta.hasLore() && sfitemMeta.hasLore()) { + return equalsLore(itemMeta.getLore(), sfitemMeta.getLore()); + } + else return !itemMeta.hasLore() && !sfitemMeta.hasLore(); } else return true; } @@ -128,13 +179,15 @@ public final class SlimefunManager { StringBuilder string2 = new StringBuilder(); String colors = ChatColor.YELLOW.toString() + ChatColor.YELLOW.toString() + ChatColor.GRAY.toString(); - for (String string: lore) { + + for (String string : lore) { if (!string.equals(ChatColor.GRAY + "Soulbound") && !string.startsWith(colors)) string1.append("-NEW LINE-").append(string); } - for (String string: lore2) { + for (String string : lore2) { if (!string.equals(ChatColor.GRAY + "Soulbound") && !string.startsWith(colors)) string2.append("-NEW LINE-").append(string); } + return string1.toString().equals(string2.toString()); } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java b/src/main/java/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java index c486e1eec..428657b5a 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java @@ -611,7 +611,7 @@ public final class SlimefunSetup { @Override public boolean onRightClick(ItemUseEvent e, Player p, ItemStack item) { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.STAFF_WATER, true)) { + if (SlimefunManager.isItemSimilar(item, SlimefunItems.STAFF_WATER, true)) { p.setFireTicks(0); SlimefunPlugin.getLocal().sendMessage(p, "messages.fire-extinguish", true); return true; @@ -896,7 +896,7 @@ public final class SlimefunSetup { @Override public boolean onRightClick(ItemUseEvent e, Player p, ItemStack item) { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.RAG, true)) { + if (SlimefunManager.isItemSimilar(item, SlimefunItems.RAG, true)) { if (p.getGameMode() != GameMode.CREATIVE) ItemUtils.consumeItem(item, false); p.getWorld().playEffect(p.getLocation(), Effect.STEP_SOUND, Material.WHITE_WOOL); p.addPotionEffect(new PotionEffect(PotionEffectType.HEAL, 1, 0)); @@ -914,7 +914,7 @@ public final class SlimefunSetup { @Override public boolean onRightClick(ItemUseEvent e, Player p, ItemStack item) { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BANDAGE, true)) { + if (SlimefunManager.isItemSimilar(item, SlimefunItems.BANDAGE, true)) { if (p.getGameMode() != GameMode.CREATIVE) ItemUtils.consumeItem(item, false); p.getWorld().playEffect(p.getLocation(), Effect.STEP_SOUND, Material.WHITE_WOOL); p.addPotionEffect(new PotionEffect(PotionEffectType.HEAL, 1, 1)); @@ -932,7 +932,7 @@ public final class SlimefunSetup { @Override public boolean onRightClick(ItemUseEvent e, Player p, ItemStack item) { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.SPLINT, true)) { + if (SlimefunManager.isItemSimilar(item, SlimefunItems.SPLINT, true)) { if (p.getGameMode() != GameMode.CREATIVE) ItemUtils.consumeItem(item, false); p.getWorld().playSound(p.getLocation(), Sound.ENTITY_SKELETON_HURT, 1, 1); p.addPotionEffect(new PotionEffect(PotionEffectType.HEAL, 1, 0)); @@ -952,7 +952,7 @@ public final class SlimefunSetup { @Override public boolean onRightClick(ItemUseEvent e, Player p, ItemStack item) { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.VITAMINS, true)) { + if (SlimefunManager.isItemSimilar(item, SlimefunItems.VITAMINS, true)) { if (p.getGameMode() != GameMode.CREATIVE) ItemUtils.consumeItem(item, false); p.getWorld().playSound(p.getLocation(), Sound.ENTITY_GENERIC_EAT, 1, 1); if (p.hasPotionEffect(PotionEffectType.POISON)) p.removePotionEffect(PotionEffectType.POISON); @@ -977,7 +977,7 @@ public final class SlimefunSetup { @Override public boolean onConsume(PlayerItemConsumeEvent e, Player p, ItemStack item) { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.MEDICINE, true)) { + if (SlimefunManager.isItemSimilar(item, SlimefunItems.MEDICINE, true)) { if (p.hasPotionEffect(PotionEffectType.POISON)) p.removePotionEffect(PotionEffectType.POISON); if (p.hasPotionEffect(PotionEffectType.WITHER)) p.removePotionEffect(PotionEffectType.WITHER); if (p.hasPotionEffect(PotionEffectType.SLOW)) p.removePotionEffect(PotionEffectType.SLOW); @@ -1364,7 +1364,7 @@ public final class SlimefunSetup { new SlimefunItem(Categories.MAGIC, (SlimefunItemStack) SlimefunItems.REPAIRED_SPAWNER, RecipeType.ANCIENT_ALTAR, new ItemStack[] {SlimefunItems.RUNE_ENDER, new CustomItem(Material.EXPERIENCE_BOTTLE, "&aFlask of Knowledge"), SlimefunItems.ESSENCE_OF_AFTERLIFE, new CustomItem(Material.EXPERIENCE_BOTTLE, "&aFlask of Knowledge"), SlimefunItems.BROKEN_SPAWNER, new CustomItem(Material.EXPERIENCE_BOTTLE, "&aFlask of Knowledge"), SlimefunItems.ESSENCE_OF_AFTERLIFE, new CustomItem(Material.EXPERIENCE_BOTTLE, "&aFlask of Knowledge"), SlimefunItems.RUNE_ENDER}) .register(true, (BlockPlaceHandler) (e, item) -> { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.REPAIRED_SPAWNER, false)) { + if (SlimefunManager.isItemSimilar(item, SlimefunItems.REPAIRED_SPAWNER, false)) { EntityType type = null; for (String line: item.getItemMeta().getLore()) { @@ -1469,7 +1469,7 @@ public final class SlimefunSetup { @Override public boolean onHit(EntityDamageByEntityEvent e, LivingEntity n) { - if (SlimefunManager.isItemSimiliar(SlimefunPlugin.getUtilities().arrows.get(e.getDamager().getUniqueId()), SlimefunItems.EXPLOSIVE_BOW, true)) { + if (SlimefunManager.isItemSimilar(SlimefunPlugin.getUtilities().arrows.get(e.getDamager().getUniqueId()), SlimefunItems.EXPLOSIVE_BOW, true)) { Vector vector = n.getVelocity(); vector.setY(0.6); n.setVelocity(vector); @@ -1487,7 +1487,7 @@ public final class SlimefunSetup { @Override public boolean onHit(EntityDamageByEntityEvent e, LivingEntity n) { - if (SlimefunManager.isItemSimiliar(SlimefunPlugin.getUtilities().arrows.get(e.getDamager().getUniqueId()), SlimefunItems.ICY_BOW, true)) { + if (SlimefunManager.isItemSimilar(SlimefunPlugin.getUtilities().arrows.get(e.getDamager().getUniqueId()), SlimefunItems.ICY_BOW, true)) { n.getWorld().playEffect(n.getLocation(), Effect.STEP_SOUND, Material.ICE); n.getWorld().playEffect(n.getEyeLocation(), Effect.STEP_SOUND, Material.ICE); n.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 20 * 2, 10)); @@ -1576,7 +1576,7 @@ public final class SlimefunSetup { @Override public boolean onRightClick(ItemUseEvent e, Player p, ItemStack item) { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.EASTER_EGG, true)) { + if (SlimefunManager.isItemSimilar(item, SlimefunItems.EASTER_EGG, true)) { e.setCancelled(true); if (p.getGameMode() != GameMode.CREATIVE) ItemUtils.consumeItem(item, false); FireworkShow.launchRandom(e.getPlayer(), 2); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/SlimefunGuide.java b/src/main/java/me/mrCookieSlime/Slimefun/SlimefunGuide.java index 95bd81c31..84e4fe729 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/SlimefunGuide.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/SlimefunGuide.java @@ -88,13 +88,13 @@ public final class SlimefunGuide { } public static void openGuide(Player p, ItemStack guide) { - if (SlimefunManager.isItemSimiliar(guide, getItem(SlimefunGuideLayout.CHEST), true)) { + if (SlimefunManager.isItemSimilar(guide, getItem(SlimefunGuideLayout.CHEST), true)) { openGuide(p, SlimefunGuideLayout.CHEST); } - else if (SlimefunManager.isItemSimiliar(guide, getItem(SlimefunGuideLayout.BOOK), true)) { + else if (SlimefunManager.isItemSimilar(guide, getItem(SlimefunGuideLayout.BOOK), true)) { openGuide(p, SlimefunGuideLayout.BOOK); } - else if (SlimefunManager.isItemSimiliar(guide, getItem(SlimefunGuideLayout.CHEAT_SHEET), true)) { + else if (SlimefunManager.isItemSimilar(guide, getItem(SlimefunGuideLayout.CHEAT_SHEET), true)) { openGuide(p, SlimefunGuideLayout.CHEAT_SHEET); } } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/SlimefunPlugin.java b/src/main/java/me/mrCookieSlime/Slimefun/SlimefunPlugin.java index e072a5c22..617cfaed7 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/SlimefunPlugin.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/SlimefunPlugin.java @@ -19,6 +19,10 @@ import io.github.thebusybiscuit.cscorelib2.reflection.ReflectionUtils; import io.github.thebusybiscuit.cscorelib2.updater.BukkitUpdater; import io.github.thebusybiscuit.cscorelib2.updater.GitHubBuildsUpdater; import io.github.thebusybiscuit.cscorelib2.updater.Updater; +import io.github.thebusybiscuit.slimefun4.core.services.BlockDataService; +import io.github.thebusybiscuit.slimefun4.core.services.CustomItemDataService; +import io.github.thebusybiscuit.slimefun4.core.services.CustomTextureService; +import io.github.thebusybiscuit.slimefun4.core.services.MetricsService; import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib; import me.mrCookieSlime.CSCoreLibPlugin.PluginUtils; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; @@ -74,10 +78,6 @@ import me.mrCookieSlime.Slimefun.listeners.TalismanListener; import me.mrCookieSlime.Slimefun.listeners.TeleporterListener; import me.mrCookieSlime.Slimefun.listeners.ToolListener; import me.mrCookieSlime.Slimefun.listeners.WorldListener; -import me.mrCookieSlime.Slimefun.services.BlockDataService; -import me.mrCookieSlime.Slimefun.services.CustomItemDataService; -import me.mrCookieSlime.Slimefun.services.CustomTextureService; -import me.mrCookieSlime.Slimefun.services.MetricsService; import me.mrCookieSlime.Slimefun.utils.Settings; import me.mrCookieSlime.Slimefun.utils.Utilities; diff --git a/src/main/java/me/mrCookieSlime/Slimefun/ancient_altar/Pedestals.java b/src/main/java/me/mrCookieSlime/Slimefun/ancient_altar/Pedestals.java index 7b23a31b2..130b13b3a 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/ancient_altar/Pedestals.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/ancient_altar/Pedestals.java @@ -52,7 +52,7 @@ public final class Pedestals { public static ItemStack getRecipeOutput(ItemStack catalyst, List input) { if (input.size() != 8) return null; - if (SlimefunManager.isItemSimiliar(catalyst, SlimefunItems.BROKEN_SPAWNER, false)) { + if (SlimefunManager.isItemSimilar(catalyst, SlimefunItems.BROKEN_SPAWNER, false)) { if (checkRecipe(SlimefunItems.BROKEN_SPAWNER, input) == null) return null; final ItemStack spawner = SlimefunItems.REPAIRED_SPAWNER.clone(); ItemMeta im = spawner.getItemMeta(); @@ -66,11 +66,11 @@ public final class Pedestals { private static ItemStack checkRecipe(ItemStack catalyst, List items) { for (AltarRecipe recipe: SlimefunPlugin.getUtilities().altarRecipes) { - if (SlimefunManager.isItemSimiliar(catalyst, recipe.getCatalyst(), true)) { + if (SlimefunManager.isItemSimilar(catalyst, recipe.getCatalyst(), true)) { for (int i = 0; i < 8; i++) { - if (SlimefunManager.isItemSimiliar(items.get(i), recipe.getInput().get(0), true)) { + if (SlimefunManager.isItemSimilar(items.get(i), recipe.getInput().get(0), true)) { for (int j = 1; j < 8; j++) { - if (!SlimefunManager.isItemSimiliar(items.get((i + j) % items.size()), recipe.getInput().get(j), true)) { + if (!SlimefunManager.isItemSimilar(items.get((i + j) % items.size()), recipe.getInput().get(j), true)) { break; } else if (j == 7) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/androids/ProgrammableAndroid.java b/src/main/java/me/mrCookieSlime/Slimefun/androids/ProgrammableAndroid.java index 011ec4258..a68139c99 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/androids/ProgrammableAndroid.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/androids/ProgrammableAndroid.java @@ -254,7 +254,7 @@ public abstract class ProgrammableAndroid extends SlimefunItem implements Invent if (item != null) { for (MachineFuel recipe: recipes) { - if (SlimefunManager.isItemSimiliar(item, recipe.getInput(), true)) { + if (SlimefunManager.isItemSimilar(item, recipe.getInput(), true)) { menu.replaceExistingItem(43, InvUtils.decreaseItem(item, 1)); if (getTier() == 2) { @@ -371,7 +371,7 @@ public abstract class ProgrammableAndroid extends SlimefunItem implements Invent d.getInventory().setItem(slot, null); break; } - else if (SlimefunManager.isItemSimiliar(item, menu.getItemInSlot(43), true)) { + else if (SlimefunManager.isItemSimilar(item, menu.getItemInSlot(43), true)) { int rest = item.getType().getMaxStackSize() - menu.getItemInSlot(43).getAmount(); if (rest > 0) { diff --git a/src/main/java/me/mrCookieSlime/Slimefun/api/SlimefunItemStack.java b/src/main/java/me/mrCookieSlime/Slimefun/api/SlimefunItemStack.java index 4dc7d856f..6135357c2 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/api/SlimefunItemStack.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/api/SlimefunItemStack.java @@ -9,12 +9,14 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import io.github.thebusybiscuit.cscorelib2.item.CustomItem; +import io.github.thebusybiscuit.cscorelib2.item.ImmutableItemMeta; import me.mrCookieSlime.CSCoreLibPlugin.general.World.CustomSkull; import me.mrCookieSlime.Slimefun.SlimefunPlugin; public class SlimefunItemStack extends CustomItem { private String id; + private ImmutableItemMeta immutableMeta; public SlimefunItemStack(String id, Material type, String name, String... lore) { super(type, name, lore); @@ -76,5 +78,16 @@ public class SlimefunItemStack extends CustomItem { public String getItemID() { return id; } + + public ImmutableItemMeta getImmutableMeta() { + return immutableMeta; + } + + @Override + public boolean setItemMeta(ItemMeta meta) { + immutableMeta = new ImmutableItemMeta(meta); + + return super.setItemMeta(meta); + } } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/api/item_transport/CargoManager.java b/src/main/java/me/mrCookieSlime/Slimefun/api/item_transport/CargoManager.java index beac13811..0a8d6763b 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/api/item_transport/CargoManager.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/api/item_transport/CargoManager.java @@ -24,7 +24,7 @@ public final class CargoManager { UniversalBlockMenu menu = storage.getUniversalInventory(target); for (int slot: menu.getPreset().getSlotsAccessedByItemTransport(menu, ItemTransportFlow.WITHDRAW, null)) { final ItemStack is = menu.getItemInSlot(slot); - if (SlimefunManager.isItemSimiliar(is, template, true) && matchesFilter(node, is, -1)) { + if (SlimefunManager.isItemSimilar(is, template, true) && matchesFilter(node, is, -1)) { if (is.getAmount() > template.getAmount()) { menu.replaceExistingItem(slot, new CustomItem(is, is.getAmount() - template.getAmount())); return template; @@ -40,7 +40,7 @@ public final class CargoManager { BlockMenu menu = BlockStorage.getInventory(target.getLocation()); for (int slot: menu.getPreset().getSlotsAccessedByItemTransport(menu, ItemTransportFlow.WITHDRAW, null)) { final ItemStack is = menu.getItemInSlot(slot); - if (SlimefunManager.isItemSimiliar(is, template, true) && matchesFilter(node, is, -1)) { + if (SlimefunManager.isItemSimilar(is, template, true) && matchesFilter(node, is, -1)) { if (is.getAmount() > template.getAmount()) { menu.replaceExistingItem(slot, new CustomItem(is, is.getAmount() - template.getAmount())); return template; @@ -56,7 +56,7 @@ public final class CargoManager { Inventory inv = ((InventoryHolder) target.getState()).getInventory(); for (int slot = 0; slot < inv.getContents().length; slot++) { final ItemStack is = inv.getContents()[slot]; - if (SlimefunManager.isItemSimiliar(is, template, true) && matchesFilter(node, is, -1)) { + if (SlimefunManager.isItemSimilar(is, template, true) && matchesFilter(node, is, -1)) { if (is.getAmount() > template.getAmount()) { inv.setItem(slot, ChestManipulator.trigger(target, slot, is, new CustomItem(is, is.getAmount() - template.getAmount()))); return template; @@ -115,7 +115,7 @@ public final class CargoManager { menu.replaceExistingItem(slot, stack.clone()); return null; } - else if (SlimefunManager.isItemSimiliar(new CustomItem(is, 1), new CustomItem(stack, 1), true) && is.getAmount() < is.getType().getMaxStackSize()) { + else if (SlimefunManager.isItemSimilar(new CustomItem(is, 1), new CustomItem(stack, 1), true) && is.getAmount() < is.getType().getMaxStackSize()) { int amount = is.getAmount() + stack.getAmount(); if (amount > is.getType().getMaxStackSize()) { @@ -140,7 +140,7 @@ public final class CargoManager { menu.replaceExistingItem(slot, stack.clone()); return null; } - else if (SlimefunManager.isItemSimiliar(new CustomItem(is, 1), new CustomItem(stack, 1), true) && is.getAmount() < is.getType().getMaxStackSize()) { + else if (SlimefunManager.isItemSimilar(new CustomItem(is, 1), new CustomItem(stack, 1), true) && is.getAmount() < is.getType().getMaxStackSize()) { int amount = is.getAmount() + stack.getAmount(); if (amount > is.getType().getMaxStackSize()) { @@ -166,7 +166,7 @@ public final class CargoManager { inv.setItem(slot, ChestManipulator.trigger(target, slot, null, stack.clone())); return null; } - else if (SlimefunManager.isItemSimiliar(new CustomItem(is, 1), new CustomItem(stack, 1), true) && is.getAmount() < is.getType().getMaxStackSize()) { + else if (SlimefunManager.isItemSimilar(new CustomItem(is, 1), new CustomItem(stack, 1), true) && is.getAmount() < is.getType().getMaxStackSize()) { ItemStack prev = is.clone(); int amount = is.getAmount() + stack.getAmount(); @@ -220,18 +220,18 @@ public final class CargoManager { BlockStorage.addBlockInfo(block, "index", String.valueOf(index)); - return SlimefunManager.isItemSimiliar(item, items.get(index), lore); + return SlimefunManager.isItemSimilar(item, items.get(index), lore); } else { for (ItemStack stack: items) { - if (SlimefunManager.isItemSimiliar(item, stack, lore)) return true; + if (SlimefunManager.isItemSimilar(item, stack, lore)) return true; } return false; } } else { for (int slot: slots) { - if (menu.getItemInSlot(slot) != null && SlimefunManager.isItemSimiliar(item, new CustomItem(menu.getItemInSlot(slot), 1), lore)) { + if (menu.getItemInSlot(slot) != null && SlimefunManager.isItemSimilar(item, new CustomItem(menu.getItemInSlot(slot), 1), lore)) { return false; } } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/api/item_transport/CargoNet.java b/src/main/java/me/mrCookieSlime/Slimefun/api/item_transport/CargoNet.java index 05d10b7c6..4083b5d6e 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/api/item_transport/CargoNet.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/api/item_transport/CargoNet.java @@ -286,7 +286,7 @@ public class CargoNet extends Network { int slot = request.getSlot(); ItemStack prevStack = menu.getItemInSlot(slot); - if (!(prevStack == null || (prevStack.getAmount() + request.getItem().getAmount() <= prevStack.getMaxStackSize() && SlimefunManager.isItemSimiliar(prevStack, new CustomItem(request.getItem(), 1), true)))) { + if (!(prevStack == null || (prevStack.getAmount() + request.getItem().getAmount() <= prevStack.getMaxStackSize() && SlimefunManager.isItemSimilar(prevStack, new CustomItem(request.getItem(), 1), true)))) { iterator.remove(); break; } @@ -419,7 +419,7 @@ public class CargoNet extends Network { if (is != null && CargoManager.matchesFilter(l.getBlock(), is, -1)) { boolean add = true; for (StoredItem item: items) { - if (SlimefunManager.isItemSimiliar(is, item.getItem(), true)) { + if (SlimefunManager.isItemSimilar(is, item.getItem(), true)) { add = false; item.add(is.getAmount() + stored); } @@ -521,7 +521,7 @@ public class CargoNet extends Network { if (is != null && CargoManager.matchesFilter(l.getBlock(), is, -1)) { boolean add = true; for (StoredItem item: items) { - if (SlimefunManager.isItemSimiliar(is, item.getItem(), true)) { + if (SlimefunManager.isItemSimilar(is, item.getItem(), true)) { add = false; item.add(is.getAmount()); } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/guides/GuideSettings.java b/src/main/java/me/mrCookieSlime/Slimefun/guides/GuideSettings.java index 64ccd4767..734bf14b0 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/guides/GuideSettings.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/guides/GuideSettings.java @@ -50,7 +50,7 @@ public final class GuideSettings { menu.addMenuClickHandler(i, (pl, slot, item, action) -> false); } - if (SlimefunManager.isItemSimiliar(guide, getItem(SlimefunGuideLayout.CHEST), true)) { + if (SlimefunManager.isItemSimilar(guide, getItem(SlimefunGuideLayout.CHEST), true)) { if (p.hasPermission("slimefun.cheat.items")) { menu.addItem(19, new CustomItem(new ItemStack(Material.CHEST), "&7Guide Layout: &eChest GUI", "", "&aChest GUI", "&7Book GUI", "&7Cheat Sheet", "", "&e Click &8\u21E8 &7Change Layout")); menu.addMenuClickHandler(19, (pl, slot, item, action) -> { @@ -68,7 +68,7 @@ public final class GuideSettings { }); } } - else if (SlimefunManager.isItemSimiliar(guide, getItem(SlimefunGuideLayout.BOOK), true)) { + else if (SlimefunManager.isItemSimilar(guide, getItem(SlimefunGuideLayout.BOOK), true)) { if (p.hasPermission("slimefun.cheat.items")) { menu.addItem(19, new CustomItem(new ItemStack(Material.BOOK), "&7Guide Layout: &eBook GUI", "", "&7Chest GUI", "&aBook GUI", "&7Cheat Sheet", "", "&e Click &8\u21E8 &7Change Layout")); menu.addMenuClickHandler(19, (pl, slot, item, action) -> { @@ -86,7 +86,7 @@ public final class GuideSettings { }); } } - else if (SlimefunManager.isItemSimiliar(guide, getItem(SlimefunGuideLayout.CHEAT_SHEET), true)) { + else if (SlimefunManager.isItemSimilar(guide, getItem(SlimefunGuideLayout.CHEAT_SHEET), true)) { menu.addItem(19, new CustomItem(new ItemStack(Material.COMMAND_BLOCK), "&7Guide Layout: &eCheat Sheet", "", "&7Chest GUI", "&7Book GUI", "&aCheat Sheet", "", "&e Click &8\u21E8 &7Change Layout")); menu.addMenuClickHandler(19, (pl, slot, item, action) -> { pl.getInventory().setItemInMainHand(getItem(SlimefunGuideLayout.CHEST)); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/listeners/ArmorListener.java b/src/main/java/me/mrCookieSlime/Slimefun/listeners/ArmorListener.java index 5d7df7fc8..dec04eee7 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/listeners/ArmorListener.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/listeners/ArmorListener.java @@ -94,7 +94,7 @@ public class ArmorListener implements Listener { if (e.getAction() == Action.PHYSICAL && e.getClickedBlock() != null && e.getClickedBlock().getType() == Material.FARMLAND - && SlimefunManager.isItemSimiliar(e.getPlayer().getInventory().getBoots(), + && SlimefunManager.isItemSimilar(e.getPlayer().getInventory().getBoots(), SlimefunItems.FARMER_SHOES, true) ) e.setCancelled(true); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java b/src/main/java/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java index 045c722a3..9c1f2bea9 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java @@ -67,7 +67,7 @@ public class BackpackListener implements Listener { } else if (e.getCurrentItem() != null && e.getCurrentItem().getType() != Material.AIR) { SlimefunItem sfItem = SlimefunItem.getByItem(e.getCurrentItem()); - if ((SlimefunManager.isItemSimiliar(item, SlimefunItems.COOLER, false) && !(sfItem instanceof Juice)) || + if ((SlimefunManager.isItemSimilar(item, SlimefunItems.COOLER, false) && !(sfItem instanceof Juice)) || e.getCurrentItem().getType().toString().contains("SHULKER_BOX") || sfItem instanceof SlimefunBackpack) diff --git a/src/main/java/me/mrCookieSlime/Slimefun/listeners/CoolerListener.java b/src/main/java/me/mrCookieSlime/Slimefun/listeners/CoolerListener.java index f552ebb75..dab228807 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/listeners/CoolerListener.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/listeners/CoolerListener.java @@ -28,7 +28,7 @@ public class CoolerListener implements Listener { if (e.getFoodLevel() < ((Player) e.getEntity()).getFoodLevel()) { Player p = (Player) e.getEntity(); for (ItemStack item: p.getInventory().getContents()) { - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.COOLER, false)) { + if (SlimefunManager.isItemSimilar(item, SlimefunItems.COOLER, false)) { BackpackInventory backpack = PlayerProfile.getBackpack(item); if (backpack != null) { Inventory inv = backpack.getInventory(); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/listeners/ItemListener.java b/src/main/java/me/mrCookieSlime/Slimefun/listeners/ItemListener.java index da8a97164..6b18702cd 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/listeners/ItemListener.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/listeners/ItemListener.java @@ -89,14 +89,14 @@ public class ItemListener implements Listener { e.setCancelled(true); - if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true)) + if (SlimefunManager.isItemSimilar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)) + else if (SlimefunManager.isItemSimilar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)) e.setCancelled(true); - if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true)) + if (SlimefunManager.isItemSimilar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)) + else if (SlimefunManager.isItemSimilar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)) e.setCancelled(true); } } @@ -122,7 +122,7 @@ public class ItemListener implements Listener { Player p = e.getPlayer(); - if (SlimefunManager.isItemSimiliar(e.getItem(), SlimefunItems.DEBUG_FISH, true)) { + if (SlimefunManager.isItemSimilar(e.getItem(), SlimefunItems.DEBUG_FISH, true)) { e.setCancelled(true); if (p.isOp()) { switch (e.getAction()) { @@ -211,19 +211,19 @@ public class ItemListener implements Listener { final Player p = e.getPlayer(); ItemStack item = e.getItem(); - if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true)) { + if (SlimefunManager.isItemSimilar(item, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true)) { if (p.isSneaking()) GuideSettings.openSettings(p, item); else SlimefunGuide.openGuide(p, SlimefunGuideLayout.BOOK); } - else if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)) { + else if (SlimefunManager.isItemSimilar(item, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)) { if (p.isSneaking()) GuideSettings.openSettings(p, item); else SlimefunGuide.openGuide(p, SlimefunGuideLayout.CHEST); } - else if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(SlimefunGuideLayout.CHEAT_SHEET), true)) { + else if (SlimefunManager.isItemSimilar(item, SlimefunGuide.getItem(SlimefunGuideLayout.CHEAT_SHEET), true)) { if (p.isSneaking()) GuideSettings.openSettings(p, item); else p.chat("/sf cheat"); } - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.DEBUG_FISH, true)) { + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.DEBUG_FISH, true)) { // Ignore the debug fish in here } else { @@ -265,7 +265,7 @@ public class ItemListener implements Listener { utilities.mode.put(p.getUniqueId(), index); } } - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.HEAVY_CREAM, true)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.HEAVY_CREAM, true)) e.setCancelled(true); } else { e.setCancelled(true); @@ -308,11 +308,11 @@ public class ItemListener implements Listener { } private boolean canPlaceCargoNodes(Player p, ItemStack item, Block b) { - if (canPlaceBlock(p, b) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_INPUT, true)) return true; - else if (canPlaceBlock(p, b) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_OUTPUT, true)) return true; - else if (canPlaceBlock(p, b) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_OUTPUT_ADVANCED, true)) return true; - else if (canPlaceBlock(p, b) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CT_IMPORT_BUS, true)) return true; - else if (canPlaceBlock(p, b) && SlimefunManager.isItemSimiliar(item, SlimefunItems.CT_EXPORT_BUS, true)) return true; + if (canPlaceBlock(p, b) && SlimefunManager.isItemSimilar(item, SlimefunItems.CARGO_INPUT, true)) return true; + else if (canPlaceBlock(p, b) && SlimefunManager.isItemSimilar(item, SlimefunItems.CARGO_OUTPUT, true)) return true; + else if (canPlaceBlock(p, b) && SlimefunManager.isItemSimilar(item, SlimefunItems.CARGO_OUTPUT_ADVANCED, true)) return true; + else if (canPlaceBlock(p, b) && SlimefunManager.isItemSimilar(item, SlimefunItems.CT_IMPORT_BUS, true)) return true; + else if (canPlaceBlock(p, b) && SlimefunManager.isItemSimilar(item, SlimefunItems.CT_EXPORT_BUS, true)) return true; else return false; } @@ -339,7 +339,7 @@ public class ItemListener implements Listener { // Determine from which hand the juice is being drunk, and its amount int mode = 0; - if (SlimefunManager.isItemSimiliar(item, p.getInventory().getItemInMainHand(), true)) { + if (SlimefunManager.isItemSimilar(item, p.getInventory().getItemInMainHand(), true)) { if (p.getInventory().getItemInMainHand().getAmount() == 1) { mode = 0; } @@ -347,7 +347,7 @@ public class ItemListener implements Listener { mode = 2; } } - else if (SlimefunManager.isItemSimiliar(item, p.getInventory().getItemInOffHand(), true)) { + else if (SlimefunManager.isItemSimilar(item, p.getInventory().getItemInOffHand(), true)) { if (p.getInventory().getItemInOffHand().getAmount() == 1) { mode = 1; } @@ -422,16 +422,16 @@ public class ItemListener implements Listener { ItemStack slot0 = e.getInventory().getContents()[0]; ItemStack slot1 = e.getInventory().getContents()[1]; - if (SlimefunManager.isItemSimiliar(slot0, SlimefunItems.ELYTRA, true)) return; + if (SlimefunManager.isItemSimilar(slot0, SlimefunItems.ELYTRA, true)) return; if (SlimefunItem.getByItem(slot0) != null && !SlimefunItem.isDisabled(slot0) || SlimefunItem.getByItem(slot1) != null && !SlimefunItem.isDisabled(slot1) || - SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true) || - SlimefunManager.isItemSimiliar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)|| + SlimefunManager.isItemSimilar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true) || + SlimefunManager.isItemSimilar(slot0, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)|| - SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true) || - SlimefunManager.isItemSimiliar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)) { + SlimefunManager.isItemSimilar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.BOOK), true) || + SlimefunManager.isItemSimilar(slot1, SlimefunGuide.getItem(SlimefunGuideLayout.CHEST), true)) { e.setCancelled(true); SlimefunPlugin.getLocal().sendMessage((Player) e.getWhoClicked(), "anvil.not-working", true); diff --git a/src/main/java/me/mrCookieSlime/Slimefun/listeners/TalismanListener.java b/src/main/java/me/mrCookieSlime/Slimefun/listeners/TalismanListener.java index f532e2fa0..9b2671a9a 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/listeners/TalismanListener.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/listeners/TalismanListener.java @@ -49,7 +49,7 @@ public class TalismanListener implements Listener { @EventHandler(priority=EventPriority.MONITOR) public void onDamageGet(EntityDamageEvent e) { if (!e.isCancelled()) { - if (e instanceof EntityDamageByEntityEvent && ((EntityDamageByEntityEvent) e).getDamager() instanceof Player && random.nextInt(100) < 45 && SlimefunManager.isItemSimiliar(((Player) ((EntityDamageByEntityEvent) e).getDamager()).getInventory().getItemInMainHand(), SlimefunItems.BLADE_OF_VAMPIRES, true)) { + if (e instanceof EntityDamageByEntityEvent && ((EntityDamageByEntityEvent) e).getDamager() instanceof Player && random.nextInt(100) < 45 && SlimefunManager.isItemSimilar(((Player) ((EntityDamageByEntityEvent) e).getDamager()).getInventory().getItemInMainHand(), SlimefunItems.BLADE_OF_VAMPIRES, true)) { ((Player) ((EntityDamageByEntityEvent) e).getDamager()).playSound(((EntityDamageByEntityEvent) e).getDamager().getLocation(), Sound.ENTITY_ARROW_HIT_PLAYER, 0.7F, 0.7F); ((Player) ((EntityDamageByEntityEvent) e).getDamager()).addPotionEffect(new PotionEffect(PotionEffectType.HEAL, 1, 1)); } diff --git a/src/main/java/me/mrCookieSlime/Slimefun/listeners/ToolListener.java b/src/main/java/me/mrCookieSlime/Slimefun/listeners/ToolListener.java index c6f3dbd95..4f086888d 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/listeners/ToolListener.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/listeners/ToolListener.java @@ -108,38 +108,38 @@ public class ToolListener implements Listener { if (utilities.cancelPlace.remove(e.getPlayer().getUniqueId())) e.setCancelled(true); - if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BASIC_CIRCUIT_BOARD, true)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.ADVANCED_CIRCUIT_BOARD, true)) e.setCancelled(true); + if (SlimefunManager.isItemSimilar(item, SlimefunItems.BASIC_CIRCUIT_BOARD, true)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.ADVANCED_CIRCUIT_BOARD, true)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.PORTABLE_CRAFTER, true)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.PORTABLE_DUSTBIN, true)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.PORTABLE_CRAFTER, true)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.PORTABLE_DUSTBIN, true)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BACKPACK_SMALL, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BACKPACK_MEDIUM, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BACKPACK_LARGE, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.WOVEN_BACKPACK, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.GILDED_BACKPACK, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.RADIANT_BACKPACK, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BOUND_BACKPACK, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.COOLER, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.ENDER_BACKPACK, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.BACKPACK_SMALL, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.BACKPACK_MEDIUM, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.BACKPACK_LARGE, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.WOVEN_BACKPACK, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.GILDED_BACKPACK, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.RADIANT_BACKPACK, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.BOUND_BACKPACK, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.COOLER, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.ENDER_BACKPACK, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.CARBON, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.COMPRESSED_CARBON, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.CARBON_CHUNK, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.CARBON, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.COMPRESSED_CARBON, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.CARBON_CHUNK, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.ANDROID_MEMORY_CORE, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.LAVA_CRYSTAL, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.ANDROID_MEMORY_CORE, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.LAVA_CRYSTAL, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.TINY_URANIUM, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.SMALL_URANIUM, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.TINY_URANIUM, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.SMALL_URANIUM, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BROKEN_SPAWNER, false)) e.setCancelled(true); - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.GPS_MARKER_TOOL, true)) { + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.BROKEN_SPAWNER, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.GPS_MARKER_TOOL, true)) { e.setCancelled(true); Slimefun.getGPSNetwork().addWaypoint(e.getPlayer(), e.getBlock().getLocation()); } - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.CHRISTMAS_PRESENT, false)) { + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.CHRISTMAS_PRESENT, false)) { e.setCancelled(true); if (e.getPlayer().getGameMode() != GameMode.CREATIVE) { @@ -164,25 +164,25 @@ public class ToolListener implements Listener { e.getBlockPlaced().getWorld().dropItemNaturally(e.getBlockPlaced().getLocation(), gifts.get(random.nextInt(gifts.size()))); } - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_INPUT, false)) { + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.CARGO_INPUT, false)) { if (e.getBlock().getY() != e.getBlockAgainst().getY()) { SlimefunPlugin.getLocal().sendMessage(e.getPlayer(), "machines.CARGO_NODES.must-be-placed", true); e.setCancelled(true); } } - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_OUTPUT, false)) { + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.CARGO_OUTPUT, false)) { if (e.getBlock().getY() != e.getBlockAgainst().getY()) { SlimefunPlugin.getLocal().sendMessage(e.getPlayer(), "machines.CARGO_NODES.must-be-placed", true); e.setCancelled(true); } } - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.CARGO_OUTPUT_ADVANCED, false)) { + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.CARGO_OUTPUT_ADVANCED, false)) { if (e.getBlock().getY() != e.getBlockAgainst().getY()) { SlimefunPlugin.getLocal().sendMessage(e.getPlayer(), "machines.CARGO_NODES.must-be-placed", true); e.setCancelled(true); } } - else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.CT_IMPORT_BUS, false) && e.getBlock().getY() != e.getBlockAgainst().getY()) { + else if (SlimefunManager.isItemSimilar(item, SlimefunItems.CT_IMPORT_BUS, false) && e.getBlock().getY() != e.getBlockAgainst().getY()) { SlimefunPlugin.getLocal().sendMessage(e.getPlayer(), "machines.CARGO_NODES.must-be-placed", true); e.setCancelled(true); }