mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
Merge pull request #3795 from JustAHuman-xD/fix/multiblock-shifting-recipes
This commit is contained in:
commit
1beeb8fd8e
@ -9,7 +9,10 @@ import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
@ -105,11 +108,21 @@ public abstract class MultiBlockMachine extends SlimefunItem implements NotPlace
|
||||
public void load() {
|
||||
super.load();
|
||||
|
||||
for (ItemStack recipeItem : displayRecipes) {
|
||||
SlimefunItem item = SlimefunItem.getByItem(recipeItem);
|
||||
Preconditions.checkArgument(displayRecipes.size() % 2 == 0, "This MultiBlockMachine's display recipes were illegally modified!");
|
||||
|
||||
if (item == null || !item.isDisabled()) {
|
||||
recipes.add(new ItemStack[] { recipeItem });
|
||||
for (int i = 0; i < displayRecipes.size(); i += 2) {
|
||||
ItemStack inputStack = displayRecipes.get(i);
|
||||
ItemStack outputStack = null;
|
||||
if (displayRecipes.size() >= i + 2) {
|
||||
outputStack = displayRecipes.get(i + 1);
|
||||
}
|
||||
|
||||
SlimefunItem inputItem = SlimefunItem.getByItem(inputStack);
|
||||
SlimefunItem outputItem = SlimefunItem.getByItem(outputStack);
|
||||
// If the input/output is not a Slimefun item or it's not disabled then it's valid.
|
||||
if ((inputItem == null || !inputItem.isDisabled()) && (outputItem == null || !outputItem.isDisabled())) {
|
||||
recipes.add(new ItemStack[] { inputStack });
|
||||
recipes.add(new ItemStack[] { outputStack });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user