Patterns in the Crafter slots now automatically render the output without pressing shift
This commit is contained in:
		@@ -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)
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@ public interface ICraftingPatternContainer {
 | 
			
		||||
    List<ICraftingPattern> 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();
 | 
			
		||||
 
 | 
			
		||||
@@ -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<String, List<IItemHandlerModifiable>> 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));
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 
 | 
			
		||||
@@ -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");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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) {
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user