From 861ddba8695f36d8f9f430f6adc50f63c5ffa937 Mon Sep 17 00:00:00 2001 From: TheBusyBiscuit Date: Wed, 4 Sep 2019 20:55:45 +0200 Subject: [PATCH] Fixes #1084 --- .../Objects/SlimefunItem/EnderTalisman.java | 17 +++++ .../Objects/SlimefunItem/Talisman.java | 65 +++++++++---------- .../SlimefunItem/multiblocks/Juicer.java | 3 +- .../Slimefun/Setup/SlimefunSetup.java | 2 +- 4 files changed, 52 insertions(+), 35 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/EnderTalisman.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/EnderTalisman.java index f8cad8cc6..f6b515413 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/EnderTalisman.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/EnderTalisman.java @@ -22,4 +22,21 @@ public class EnderTalisman extends Talisman { Slimefun.addHint("ENDER_" + parent.getID(), "&eEnder Talismans have the advantage", "&eof still working while they", "&eare in your Ender Chest"); } + + @Override + public ItemStack upgrade() { + throw new UnsupportedOperationException(); + } + + @Override + public void install() { + // Let's override that, otherwise we would be creating Ender Talismans + // for every Ender Talisman + } + + @Override + public void create() { + // Let's override that, otherwise we would be creating Ender Talismans + // for every Ender Talisman + } } diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/Talisman.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/Talisman.java index 7d437e575..ef0d493e4 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/Talisman.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/Talisman.java @@ -83,39 +83,6 @@ public class Talisman extends SlimefunItem { return this.chance; } - public static boolean checkFor(Event e, SlimefunItem item) { - if (!(item instanceof Talisman)) { - return false; - } - - Talisman talisman = (Talisman) item; - if (new Random().nextInt(100) < talisman.getChance()) { - return false; - } - - Player p = getPlayerByEventType(e); - if (p == null || !pass(p, talisman)) { - return false; - } - - if (p.getInventory().containsAtLeast(talisman.getItem(), 1)) { - if (Slimefun.hasUnlocked(p, talisman.getItem(), true)) { - executeTalismanAttributes(e,p,talisman); - return true; - } - else return false; - } - else if (p.getEnderChest().containsAtLeast(talisman.upgrade(), 1)) { - if (Slimefun.hasUnlocked(p, talisman.upgrade(), true)) { - executeTalismanAttributes(e,p,talisman); - return true; - } - else return false; - } - else return false; - - } - public ItemStack upgrade() { List lore = new ArrayList<>(); lore.add("&7&oEnder Infused"); @@ -147,6 +114,38 @@ public class Talisman extends SlimefunItem { private static boolean isTalismanMessage(Talisman talisman){ return !("").equalsIgnoreCase(talisman.getSuffix()); } + + public static boolean checkFor(Event e, SlimefunItem item) { + if (!(item instanceof Talisman)) { + return false; + } + + Talisman talisman = (Talisman) item; + if (new Random().nextInt(100) < talisman.getChance()) { + return false; + } + + Player p = getPlayerByEventType(e); + if (p == null || !pass(p, talisman)) { + return false; + } + + if (p.getInventory().containsAtLeast(talisman.getItem(), 1)) { + if (Slimefun.hasUnlocked(p, talisman.getItem(), true)) { + executeTalismanAttributes(e,p,talisman); + return true; + } + else return false; + } + else if (p.getEnderChest().containsAtLeast(talisman.upgrade(), 1)) { + if (Slimefun.hasUnlocked(p, talisman.upgrade(), true)) { + executeTalismanAttributes(e,p,talisman); + return true; + } + else return false; + } + else return false; + } private static void executeTalismanAttributes(Event e, Player p, Talisman talisman){ consumeItem(p,talisman); diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Juicer.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Juicer.java index e3222e9cb..789434a83 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Juicer.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/multiblocks/Juicer.java @@ -29,7 +29,8 @@ public class Juicer extends MultiBlockMachine { new ItemStack(Material.APPLE), SlimefunItems.APPLE_JUICE, new ItemStack(Material.MELON), SlimefunItems.MELON_JUICE, new ItemStack(Material.CARROT), SlimefunItems.CARROT_JUICE, - new ItemStack(Material.PUMPKIN), SlimefunItems.PUMPKIN_JUICE + new ItemStack(Material.PUMPKIN), SlimefunItems.PUMPKIN_JUICE, + new ItemStack(Material.GOLDEN_APPLE), SlimefunItems.GOLDEN_APPLE_JUICE }, Material.NETHER_BRICK_FENCE ); diff --git a/src/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java b/src/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java index 334e2469f..7f8196b71 100644 --- a/src/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java +++ b/src/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java @@ -1461,7 +1461,7 @@ public final class SlimefunSetup { .register(true); new Juice(Categories.FOOD, SlimefunItems.GOLDEN_APPLE_JUICE, "GOLDEN_APPLE_JUICE", RecipeType.JUICER, - new ItemStack[] {new ItemStack(Material.GOLDEN_APPLE), null, null, null, null, null, null, null, null}) + new ItemStack[] {null, null, null, null, new ItemStack(Material.GOLDEN_APPLE), null, null, null, null}) .register(true); new SlimefunItem(Categories.LUMPS_AND_MAGIC, SlimefunItems.BROKEN_SPAWNER, "BROKEN_SPAWNER", new RecipeType(SlimefunItems.PICKAXE_OF_CONTAINMENT),