mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Some bug fixes
This commit is contained in:
parent
057fad1f08
commit
83aa84ca3b
@ -1,6 +1,9 @@
|
||||
package io.github.thebusybiscuit.slimefun4.implementation.items.electric.machines.auto_crafters;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
@ -29,13 +32,20 @@ class EnhancedRecipe extends AbstractRecipe {
|
||||
private final SlimefunItem item;
|
||||
|
||||
EnhancedRecipe(@Nonnull SlimefunItem item) {
|
||||
super(new ArrayList<>(), item.getRecipeOutput());
|
||||
super(getInputs(item), item.getRecipeOutput());
|
||||
this.item = item;
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
private static Collection<Predicate<ItemStack>> getInputs(@Nonnull SlimefunItem item) {
|
||||
List<Predicate<ItemStack>> predicates = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
ItemStack ingredient = item.getRecipe()[i];
|
||||
getInputs().add(stack -> SlimefunUtils.isItemSimilar(stack, ingredient, true));
|
||||
predicates.add(stack -> SlimefunUtils.isItemSimilar(stack, ingredient, true));
|
||||
}
|
||||
|
||||
return predicates;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -35,7 +35,6 @@ import me.mrCookieSlime.Slimefun.Lists.RecipeType;
|
||||
import me.mrCookieSlime.Slimefun.Objects.Category;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
|
||||
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
|
||||
|
||||
public class VanillaAutoCrafter extends AbstractAutoCrafter {
|
||||
|
||||
@ -102,13 +101,18 @@ public class VanillaAutoCrafter extends AbstractAutoCrafter {
|
||||
|
||||
ChestMenuUtils.drawBackground(menu, background);
|
||||
ChestMenuUtils.drawBackground(menu, 45, 47, 48, 50, 51, 53);
|
||||
// 46 // 52
|
||||
|
||||
AsyncRecipeChoiceTask task = new AsyncRecipeChoiceTask();
|
||||
offerRecipe(p, b, recipes, 0, menu, task);
|
||||
|
||||
menu.open(p);
|
||||
task.start(menu.toInventory());
|
||||
p.playSound(p.getLocation(), Sound.UI_BUTTON_CLICK, 1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
private void offerRecipe(Player p, Block b, List<Recipe> recipes, int index, BlockMenu menu, AsyncRecipeChoiceTask task) {
|
||||
private void offerRecipe(Player p, Block b, List<Recipe> recipes, int index, ChestMenu menu, AsyncRecipeChoiceTask task) {
|
||||
Validate.isTrue(index >= 0 && index < recipes.size(), "page must be between 0 and " + (recipes.size() - 1));
|
||||
|
||||
menu.addItem(46, ChestMenuUtils.getPreviousButton(p, index + 1, recipes.size()));
|
||||
|
Loading…
Reference in New Issue
Block a user