diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/ChargableItem.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/ChargableItem.java index 84cbafa3b..994e15738 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/ChargableItem.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/ChargableItem.java @@ -7,7 +7,7 @@ import org.bukkit.inventory.ItemStack; public class ChargableItem extends SlimefunItem { - String chargeType; + private String chargeType; public ChargableItem(Category category, ItemStack item, String id, RecipeType recipeType, ItemStack[] recipe, String chargeType) { super(category, item, id, recipeType, recipe); @@ -19,6 +19,8 @@ public class ChargableItem extends SlimefunItem { this.chargeType = chargeType; } - public String getChargeType() { return this.chargeType; } + public String getChargeType() { + return chargeType; + } } diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/ChargedItem.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/ChargedItem.java index 255851dd3..3ddd3a129 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/ChargedItem.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/ChargedItem.java @@ -1,13 +1,13 @@ package me.mrCookieSlime.Slimefun.Objects.SlimefunItem; +import org.bukkit.inventory.ItemStack; + import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Objects.Category; -import org.bukkit.inventory.ItemStack; - public class ChargedItem extends SlimefunItem { - String chargeType; + private String chargeType; public ChargedItem(Category category, ItemStack item, String id, RecipeType recipeType, ItemStack[] recipe, String chargeType) { super(category, item, id, recipeType, recipe); @@ -19,6 +19,8 @@ public class ChargedItem extends SlimefunItem { this.chargeType = chargeType; } - public String getChargeType() { return this.chargeType; } + public String getChargeType() { + return chargeType; + } } diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/EnderTalisman.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/EnderTalisman.java index e7700a3e9..b133b19c9 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/EnderTalisman.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/EnderTalisman.java @@ -26,6 +26,7 @@ public class EnderTalisman extends SlimefunItem { this.suffix = parent.getSuffix(); this.effects = parent.getEffects(); this.chance = parent.getChance(); + Slimefun.addHint("ENDER_" + parent.getID(), "&eEnder Talismans have the advantage", "&eof still working while they", "&eare in your Ender Chest"); } diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockBreakHandler.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockBreakHandler.java index 276057433..92c5d46b2 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockBreakHandler.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockBreakHandler.java @@ -5,10 +5,8 @@ import java.util.List; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.inventory.ItemStack; -import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler; - @Deprecated -public abstract class BlockBreakHandler implements ItemHandler { +public abstract class BlockBreakHandler extends ItemHandler { public abstract boolean onBlockBreak(BlockBreakEvent e, ItemStack item, int fortune, List drops); diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockPlaceHandler.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockPlaceHandler.java index bb635b5e1..16f55ecfb 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockPlaceHandler.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockPlaceHandler.java @@ -3,10 +3,8 @@ package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.handlers; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.inventory.ItemStack; -import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler; - @Deprecated -public abstract class BlockPlaceHandler implements ItemHandler { +public abstract class BlockPlaceHandler extends ItemHandler { public abstract boolean onBlockPlace(BlockPlaceEvent e, ItemStack item); diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockTicker.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockTicker.java index 348207e45..b42812a72 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockTicker.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/BlockTicker.java @@ -4,10 +4,9 @@ import org.bukkit.block.Block; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem; -import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler; @Deprecated -public abstract class BlockTicker implements ItemHandler { +public abstract class BlockTicker extends ItemHandler { public boolean unique = true; diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/ItemHandler.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/ItemHandler.java new file mode 100644 index 000000000..8d9913f5b --- /dev/null +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/ItemHandler.java @@ -0,0 +1,6 @@ +package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.handlers; + +@Deprecated +public abstract class ItemHandler implements me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler { + +} diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/ItemInteractionHandler.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/ItemInteractionHandler.java index cd17546bf..484107a49 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/ItemInteractionHandler.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/ItemInteractionHandler.java @@ -4,10 +4,9 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import me.mrCookieSlime.CSCoreLibPlugin.events.ItemUseEvent; -import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler; @Deprecated -public abstract class ItemInteractionHandler implements ItemHandler { +public abstract class ItemInteractionHandler extends ItemHandler { public abstract boolean onRightClick(ItemUseEvent e, Player p, ItemStack item); diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/MultiBlockInteractionHandler.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/MultiBlockInteractionHandler.java index d594cf746..c2810155e 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/MultiBlockInteractionHandler.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/handlers/MultiBlockInteractionHandler.java @@ -4,10 +4,9 @@ import org.bukkit.block.Block; import org.bukkit.entity.Player; import me.mrCookieSlime.Slimefun.Objects.MultiBlock; -import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler; @Deprecated -public abstract class MultiBlockInteractionHandler implements ItemHandler { +public abstract class MultiBlockInteractionHandler extends ItemHandler { public abstract boolean onInteract(Player p, MultiBlock mb, Block b); diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/OreWasher.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/OreWasher.java index 7623de0d9..d177dd611 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/OreWasher.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/machines/OreWasher.java @@ -50,6 +50,7 @@ public class OreWasher extends SlimefunMachine { Block dispBlock = b.getRelative(BlockFace.UP); Dispenser disp = (Dispenser) dispBlock.getState(); Inventory inv = disp.getInventory(); + for (ItemStack current: inv.getContents()) { if (current != null) { if (SlimefunManager.isItemSimiliar(current, SlimefunItems.SIFTED_ORE, true)) { diff --git a/src/me/mrCookieSlime/Slimefun/Utilities.java b/src/me/mrCookieSlime/Slimefun/Utilities.java index 7f84286a3..888af5e99 100644 --- a/src/me/mrCookieSlime/Slimefun/Utilities.java +++ b/src/me/mrCookieSlime/Slimefun/Utilities.java @@ -13,6 +13,7 @@ import org.bukkit.entity.Entity; import org.bukkit.inventory.ItemStack; import me.mrCookieSlime.Slimefun.ancient_altar.AltarRecipe; +import me.mrCookieSlime.Slimefun.api.item_transport.CargoTransportEvent; import me.mrCookieSlime.Slimefun.hooks.github.GitHubConnector; /** @@ -47,6 +48,8 @@ public final class Utilities { public Set connectors = new HashSet<>(); public Map contributorHeads = new HashMap<>(); + public List cargoTransportEvents = new ArrayList<>(); + /** * Contains all the players (UUIDs) that are currently unlocking a research. * @since 4.0 diff --git a/src/me/mrCookieSlime/Slimefun/api/inventory/ItemManipulationEvent.java b/src/me/mrCookieSlime/Slimefun/api/inventory/ItemManipulationEvent.java index e1be5239e..3f2a17128 100644 --- a/src/me/mrCookieSlime/Slimefun/api/inventory/ItemManipulationEvent.java +++ b/src/me/mrCookieSlime/Slimefun/api/inventory/ItemManipulationEvent.java @@ -2,8 +2,9 @@ package me.mrCookieSlime.Slimefun.api.inventory; import org.bukkit.inventory.ItemStack; +@FunctionalInterface public interface ItemManipulationEvent { - public ItemStack onEvent(int slot, ItemStack previous, ItemStack next); + ItemStack onEvent(int slot, ItemStack previous, ItemStack next); } diff --git a/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoTransportEvent.java b/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoTransportEvent.java index 17905428f..4dbbc2d5b 100644 --- a/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoTransportEvent.java +++ b/src/me/mrCookieSlime/Slimefun/api/item_transport/CargoTransportEvent.java @@ -3,8 +3,9 @@ package me.mrCookieSlime.Slimefun.api.item_transport; import org.bukkit.block.Block; import org.bukkit.inventory.ItemStack; +@FunctionalInterface public interface CargoTransportEvent { - public ItemStack onEvent(Block b, int slot, ItemStack previous, ItemStack next); - + ItemStack onEvent(Block b, int slot, ItemStack previous, ItemStack next); + } diff --git a/src/me/mrCookieSlime/Slimefun/api/item_transport/ChestManipulator.java b/src/me/mrCookieSlime/Slimefun/api/item_transport/ChestManipulator.java index 921b0ab9f..a97d8f244 100644 --- a/src/me/mrCookieSlime/Slimefun/api/item_transport/ChestManipulator.java +++ b/src/me/mrCookieSlime/Slimefun/api/item_transport/ChestManipulator.java @@ -1,21 +1,20 @@ package me.mrCookieSlime.Slimefun.api.item_transport; -import java.util.ArrayList; -import java.util.List; - import org.bukkit.block.Block; import org.bukkit.inventory.ItemStack; -public class ChestManipulator { +import me.mrCookieSlime.Slimefun.SlimefunStartup; - public static List listeners = new ArrayList<>(); +public final class ChestManipulator { + + private ChestManipulator() {} public static void registerListener(CargoTransportEvent listener) { - listeners.add(listener); + SlimefunStartup.instance.getUtilities().cargoTransportEvents.add(listener); } public static ItemStack trigger(Block b, int slot, ItemStack prev, ItemStack next) { - for (CargoTransportEvent listener: listeners) { + for (CargoTransportEvent listener: SlimefunStartup.instance.getUtilities().cargoTransportEvents) { next = listener.onEvent(b, slot, prev, next); }