From 32a922ec7f07cdba56a00493052941d782a3cdc2 Mon Sep 17 00:00:00 2001 From: TheBusyBiscuit Date: Tue, 17 Mar 2020 00:43:57 +0100 Subject: [PATCH] Fixes #1706 --- CHANGELOG.md | 1 + .../items/multiblocks/PressureChamber.java | 3 +-- .../implementation/items/multiblocks/Smeltery.java | 8 +++++--- .../implementation/items/multiblocks/TableSaw.java | 3 +-- .../java/me/mrCookieSlime/Slimefun/Lists/RecipeType.java | 9 +++++++-- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0a0fb9aa..2b1e37cd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,6 +65,7 @@ * Fixed #1686 * Fixed #1648 * Fixed #1397 +* Fixed #1706 ## Release Candidate 9 (07 Mar 2020) diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/PressureChamber.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/PressureChamber.java index e1c7ebd44..ffde3aa4b 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/PressureChamber.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/PressureChamber.java @@ -21,12 +21,11 @@ import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.MultiBlockMachine; import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; -import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class PressureChamber extends MultiBlockMachine { public PressureChamber() { - super(Categories.MACHINES_1, (SlimefunItemStack) SlimefunItems.PRESSURE_CHAMBER, new ItemStack[] { new ItemStack(Material.SMOOTH_STONE_SLAB), new CustomItem(Material.DISPENSER, "Dispenser (Facing down)"), new ItemStack(Material.SMOOTH_STONE_SLAB), new ItemStack(Material.PISTON), new ItemStack(Material.GLASS), new ItemStack(Material.PISTON), new ItemStack(Material.PISTON), new ItemStack(Material.CAULDRON), new ItemStack(Material.PISTON) }, new ItemStack[0], BlockFace.UP); + super(Categories.MACHINES_1, SlimefunItems.PRESSURE_CHAMBER, new ItemStack[] { new ItemStack(Material.SMOOTH_STONE_SLAB), new CustomItem(Material.DISPENSER, "Dispenser (Facing down)"), new ItemStack(Material.SMOOTH_STONE_SLAB), new ItemStack(Material.PISTON), new ItemStack(Material.GLASS), new ItemStack(Material.PISTON), new ItemStack(Material.PISTON), new ItemStack(Material.CAULDRON), new ItemStack(Material.PISTON) }, new ItemStack[0], BlockFace.UP); } @Override diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/Smeltery.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/Smeltery.java index 45a9a4f4c..daff3c341 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/Smeltery.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/Smeltery.java @@ -29,7 +29,6 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.MultiBlockMach import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.BlockStorage; import me.mrCookieSlime.Slimefun.api.Slimefun; -import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; public class Smeltery extends MultiBlockMachine { @@ -37,7 +36,7 @@ public class Smeltery extends MultiBlockMachine { private int fireBreakingChance; public Smeltery() { - super(Categories.MACHINES_1, (SlimefunItemStack) SlimefunItems.SMELTERY, new ItemStack[] { + super(Categories.MACHINES_1, SlimefunItems.SMELTERY, new ItemStack[] { null, new ItemStack(Material.NETHER_BRICK_FENCE), null, new ItemStack(Material.NETHER_BRICKS), new CustomItem(Material.DISPENSER, "Dispenser (Facing up)"), new ItemStack(Material.NETHER_BRICKS), null, new ItemStack(Material.FLINT_AND_STEEL), null @@ -88,12 +87,15 @@ public class Smeltery extends MultiBlockMachine { if (outputInv != null) { craft(p, dispBlock, b, inv, inputs.get(i), output, outputInv); } - else SlimefunPlugin.getLocal().sendMessage(p, "machines.full-inventory", true); + else { + SlimefunPlugin.getLocal().sendMessage(p, "machines.full-inventory", true); + } } return; } } + SlimefunPlugin.getLocal().sendMessage(p, "machines.pattern-not-found", true); } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/TableSaw.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/TableSaw.java index cfba8adf8..e08ce3c59 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/TableSaw.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/TableSaw.java @@ -19,7 +19,6 @@ import io.github.thebusybiscuit.cscorelib2.materials.MaterialConverter; import me.mrCookieSlime.Slimefun.Lists.Categories; import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.multiblocks.MultiBlockMachine; -import me.mrCookieSlime.Slimefun.api.SlimefunItemStack; /** * The {@link TableSaw} is an implementation of a {@link MultiBlockMachine} that allows @@ -37,7 +36,7 @@ public class TableSaw extends MultiBlockMachine { private final List displayRecipes = new ArrayList<>(); public TableSaw() { - super(Categories.MACHINES_1, (SlimefunItemStack) SlimefunItems.TABLE_SAW, new ItemStack[] { + super(Categories.MACHINES_1, SlimefunItems.TABLE_SAW, new ItemStack[] { null, null, null, new ItemStack(Material.SMOOTH_STONE_SLAB), new ItemStack(Material.STONECUTTER), new ItemStack(Material.SMOOTH_STONE_SLAB), null, new ItemStack(Material.IRON_BLOCK), null diff --git a/src/main/java/me/mrCookieSlime/Slimefun/Lists/RecipeType.java b/src/main/java/me/mrCookieSlime/Slimefun/Lists/RecipeType.java index f4cf6c524..9a5e2f979 100644 --- a/src/main/java/me/mrCookieSlime/Slimefun/Lists/RecipeType.java +++ b/src/main/java/me/mrCookieSlime/Slimefun/Lists/RecipeType.java @@ -2,6 +2,7 @@ package me.mrCookieSlime.Slimefun.Lists; import java.util.ArrayList; import java.util.Arrays; +import java.util.Comparator; import java.util.HashSet; import java.util.List; import java.util.Locale; @@ -180,13 +181,17 @@ public class RecipeType implements Keyed { public static List getRecipeInputList(SlimefunMachine machine) { if (machine == null) return new ArrayList<>(); + List recipes = machine.getRecipes(); List convertible = new ArrayList<>(); for (int i = 0; i < recipes.size(); i++) { - if (i % 2 == 0) convertible.add(recipes.get(i)); + if (i % 2 == 0) { + convertible.add(recipes.get(i)); + } } + convertible.sort(Comparator.comparing(recipe -> -recipe.length)); return convertible; } @@ -197,6 +202,6 @@ public class RecipeType implements Keyed { public static ItemStack getRecipeOutputList(SlimefunMachine machine, ItemStack[] input) { List recipes = machine.getRecipes(); - return recipes.get(((getRecipeInputList(machine).indexOf(input) * 2) + 1))[0]; + return recipes.get((recipes.indexOf(input) + 1))[0]; } }