1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00
This commit is contained in:
TheBusyBiscuit 2019-09-04 20:55:45 +02:00
parent b4dff80dcc
commit 861ddba869
4 changed files with 52 additions and 35 deletions

View File

@ -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
}
}

View File

@ -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<String> lore = new ArrayList<>();
lore.add("&7&oEnder Infused");
@ -148,6 +115,38 @@ public class Talisman extends SlimefunItem {
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);
applyTalismanEffects(p,talisman);

View File

@ -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
);

View File

@ -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),