diff --git a/CHANGELOG.md b/CHANGELOG.md index 71f1b900b..5babd9199 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ### 1.5.33 - Added Crafter Manager (raoulvdberge) +- Patterns in the Crafter slots now automatically render the output without pressing shift (raoulvdberge) - Fixed Disk Manipulator not extracting items (ineternet) - Fixed filter slots not caring about max stack size (raoulvdberge) - Various internal refactors (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java index 488bd1bb9..30899c5c8 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java @@ -33,7 +33,7 @@ public interface ICraftingPatternContainer { List getPatterns(); /** - * @return the pattern inventory, or null if no pattern is present + * @return the pattern inventory, or null if no pattern inventory is present */ @Nullable IItemHandlerModifiable getPatternInventory(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java index 910b97a7e..e3b4399f3 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java @@ -19,7 +19,6 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; import net.minecraftforge.items.IItemHandlerModifiable; -import net.minecraftforge.items.SlotItemHandler; import javax.annotation.Nullable; import java.util.Collections; @@ -99,7 +98,7 @@ public class ContainerCrafterManager extends ContainerBase { for (Map.Entry> entry : crafterManager.getNode().getNetwork().getCraftingManager().getNamedContainers().entrySet()) { for (IItemHandlerModifiable handler : entry.getValue()) { for (int i = 0; i < handler.getSlots(); ++i) { - addSlotToContainer(new SlotItemHandler(handler, i, 0, 0)); + addSlotToContainer(new SlotCrafterManager(handler, i, 0, 0, true, display, this.crafterManager)); } } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/integration/inventorysorter/IntegrationInventorySorter.java b/src/main/java/com/raoulvdberge/refinedstorage/integration/inventorysorter/IntegrationInventorySorter.java index 3cf501f4f..19bf25e55 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/integration/inventorysorter/IntegrationInventorySorter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/integration/inventorysorter/IntegrationInventorySorter.java @@ -6,5 +6,6 @@ public class IntegrationInventorySorter { public static void register() { // Prevent items moving while scrolling through slots with Inventory Sorter in the Crafter Manager FMLInterModComms.sendMessage("inventorysorter", "containerblacklist", "com.raoulvdberge.refinedstorage.container.ContainerCrafterManager"); + FMLInterModComms.sendMessage("inventorysorter", "slotblacklist", "com.raoulvdberge.refinedstorage.container.slot.SlotCrafterManager"); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java index 017509a08..01796bcac 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java @@ -224,6 +224,8 @@ public class ProxyCommon { registerItem(RSItems.NETWORK_CARD); registerItem(RSItems.WRENCH); registerItem(RSItems.SECURITY_CARD); + + IntegrationInventorySorter.register(); } public void init(FMLInitializationEvent e) { @@ -265,8 +267,6 @@ public class ProxyCommon { if (IntegrationProjectE.isLoaded()) { IntegrationProjectE.register(); } - - IntegrationInventorySorter.register(); } public void postInit(FMLPostInitializationEvent e) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/BakedModelPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/render/BakedModelPattern.java index 2cf7587b7..e7403d870 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/BakedModelPattern.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/BakedModelPattern.java @@ -1,6 +1,7 @@ package com.raoulvdberge.refinedstorage.render; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern; +import com.raoulvdberge.refinedstorage.container.ContainerCrafter; import com.raoulvdberge.refinedstorage.container.ContainerCrafterManager; import com.raoulvdberge.refinedstorage.container.slot.SlotCrafterManager; import com.raoulvdberge.refinedstorage.gui.GuiBase; @@ -88,10 +89,10 @@ public class BakedModelPattern implements IBakedModel { } public static boolean canDisplayPatternOutput(ItemStack patternStack, CraftingPattern pattern) { - return (GuiBase.isShiftKeyDown() || isPatternInCrafterManagerSlot(patternStack)) && pattern.isValid() && pattern.getOutputs().size() == 1; + return (GuiBase.isShiftKeyDown() || isPatternInDisplaySlot(patternStack)) && pattern.isValid() && pattern.getOutputs().size() == 1; } - public static boolean isPatternInCrafterManagerSlot(ItemStack stack) { + public static boolean isPatternInDisplaySlot(ItemStack stack) { Container container = Minecraft.getMinecraft().player.openContainer; if (container instanceof ContainerCrafterManager) { @@ -100,6 +101,12 @@ public class BakedModelPattern implements IBakedModel { return true; } } + } else if (container instanceof ContainerCrafter) { + for (Slot slot : container.inventorySlots) { + if (slot.slotNumber < 9 && slot.getStack() == stack) { + return true; + } + } } return false;