1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Fixed Ender Talisman to be consumed inside Ender Chest

This commit is contained in:
jacky 2020-05-10 10:41:31 +08:00
parent 74c40d5ad0
commit 13afbecb90

View File

@ -139,14 +139,14 @@ public class Talisman extends SlimefunItem {
if (p.getInventory().containsAtLeast(talisman.getItem(), 1)) { if (p.getInventory().containsAtLeast(talisman.getItem(), 1)) {
if (Slimefun.hasUnlocked(p, talisman.getItem(), true)) { if (Slimefun.hasUnlocked(p, talisman.getItem(), true)) {
activateTalisman(e, p, p.getInventory(), talisman); activateTalisman(e, p, p.getInventory(), talisman, talisman.getItem());
return true; return true;
} }
else return false; else return false;
} }
else if (p.getEnderChest().containsAtLeast(talisman.upgrade(), 1)) { else if (p.getEnderChest().containsAtLeast(talisman.upgrade(), 1)) {
if (Slimefun.hasUnlocked(p, talisman.upgrade(), true)) { if (Slimefun.hasUnlocked(p, talisman.upgrade(), true)) {
activateTalisman(e, p, p.getEnderChest(), talisman); activateTalisman(e, p, p.getEnderChest(), talisman, talisman.upgrade());
return true; return true;
} }
else return false; else return false;
@ -154,11 +154,12 @@ public class Talisman extends SlimefunItem {
else return false; else return false;
} }
private static void activateTalisman(Event e, Player p, Inventory inv, Talisman talisman) { private static void activateTalisman(Event e, Player p, Inventory inv, Talisman talisman, ItemStack talismantype) {
consumeItem(inv, talisman); consumeItem(inv, talisman, p, talismantype);
applyTalismanEffects(p, talisman); applyTalismanEffects(p, talisman);
cancelEvent(e, talisman); cancelEvent(e, talisman);
sendMessage(p, talisman); sendMessage(p, talisman);
} }
private static void applyTalismanEffects(Player p, Talisman talisman) { private static void applyTalismanEffects(Player p, Talisman talisman) {
@ -179,9 +180,9 @@ public class Talisman extends SlimefunItem {
} }
} }
private static void consumeItem(Inventory inv, Talisman talisman) { private static void consumeItem(Inventory inv, Talisman talisman, Player p, ItemStack talismantype) {
if (talisman.isConsumable()) { if (talisman.isConsumable()) {
inv.removeItem(talisman.getItem()); inv.removeItem(talismantype);
} }
} }