Patterns in the Crafter slots now automatically render the output without pressing shift
This commit is contained in:
@@ -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