Change model of crafter manager and handle redstone mode
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.raoulvdberge.refinedstorage.container;
|
package com.raoulvdberge.refinedstorage.container;
|
||||||
|
|
||||||
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafterManager;
|
||||||
import com.raoulvdberge.refinedstorage.container.slot.SlotCrafterManager;
|
import com.raoulvdberge.refinedstorage.container.slot.SlotCrafterManager;
|
||||||
import com.raoulvdberge.refinedstorage.gui.IResizableDisplay;
|
import com.raoulvdberge.refinedstorage.gui.IResizableDisplay;
|
||||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||||
@@ -64,6 +65,7 @@ public class ContainerCrafterManager extends ContainerBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private IResizableDisplay display;
|
private IResizableDisplay display;
|
||||||
|
private NetworkNodeCrafterManager crafterManager;
|
||||||
private Map<String, Integer> containerData;
|
private Map<String, Integer> containerData;
|
||||||
private Map<String, IItemHandlerModifiable> dummyInventories = new HashMap<>();
|
private Map<String, IItemHandlerModifiable> dummyInventories = new HashMap<>();
|
||||||
|
|
||||||
@@ -80,6 +82,7 @@ public class ContainerCrafterManager extends ContainerBase {
|
|||||||
super(crafterManager, player);
|
super(crafterManager, player);
|
||||||
|
|
||||||
this.display = display;
|
this.display = display;
|
||||||
|
this.crafterManager = crafterManager.getNode();
|
||||||
|
|
||||||
if (!player.world.isRemote) {
|
if (!player.world.isRemote) {
|
||||||
addPlayerInventory(8, display.getYPlayerInventory());
|
addPlayerInventory(8, display.getYPlayerInventory());
|
||||||
@@ -132,7 +135,7 @@ public class ContainerCrafterManager extends ContainerBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (int slot = 0; slot < entry.getValue(); ++slot) {
|
for (int slot = 0; slot < entry.getValue(); ++slot) {
|
||||||
addSlotToContainer(new SlotCrafterManager(dummy, slot, x, y, visible, display));
|
addSlotToContainer(new SlotCrafterManager(dummy, slot, x, y, visible, display, crafterManager));
|
||||||
|
|
||||||
if (visible) {
|
if (visible) {
|
||||||
x += 18;
|
x += 18;
|
||||||
|
|||||||
@@ -1,22 +1,25 @@
|
|||||||
package com.raoulvdberge.refinedstorage.container.slot;
|
package com.raoulvdberge.refinedstorage.container.slot;
|
||||||
|
|
||||||
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafterManager;
|
||||||
import com.raoulvdberge.refinedstorage.gui.IResizableDisplay;
|
import com.raoulvdberge.refinedstorage.gui.IResizableDisplay;
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
import net.minecraftforge.items.SlotItemHandler;
|
import net.minecraftforge.items.SlotItemHandler;
|
||||||
|
|
||||||
public class SlotCrafterManager extends SlotItemHandler {
|
public class SlotCrafterManager extends SlotItemHandler {
|
||||||
private boolean visible;
|
private boolean visible;
|
||||||
|
private NetworkNodeCrafterManager crafterManager;
|
||||||
private IResizableDisplay display;
|
private IResizableDisplay display;
|
||||||
|
|
||||||
public SlotCrafterManager(IItemHandler itemHandler, int index, int xPosition, int yPosition, boolean visible, IResizableDisplay display) {
|
public SlotCrafterManager(IItemHandler itemHandler, int index, int xPosition, int yPosition, boolean visible, IResizableDisplay display, NetworkNodeCrafterManager crafterManager) {
|
||||||
super(itemHandler, index, xPosition, yPosition);
|
super(itemHandler, index, xPosition, yPosition);
|
||||||
|
|
||||||
this.visible = visible;
|
this.visible = visible;
|
||||||
this.display = display;
|
this.display = display;
|
||||||
|
this.crafterManager = crafterManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEnabled() {
|
public boolean isEnabled() {
|
||||||
return yPos >= display.getTopHeight() && yPos < display.getTopHeight() + 18 * display.getVisibleRows() && visible;
|
return yPos >= display.getTopHeight() && yPos < display.getTopHeight() + 18 * display.getVisibleRows() && visible && crafterManager.isActive();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ public class GuiCrafterManager extends GuiBase implements IResizableDisplay {
|
|||||||
|
|
||||||
drawTexture(x, yy, 0, getTopHeight() + (18 * 3), screenWidth, getBottomHeight());
|
drawTexture(x, yy, 0, getTopHeight() + (18 * 3), screenWidth, getBottomHeight());
|
||||||
|
|
||||||
if (container != null) {
|
if (container != null && crafterManager.isActive()) {
|
||||||
for (Slot slot : container.inventorySlots) {
|
for (Slot slot : container.inventorySlots) {
|
||||||
if (slot instanceof SlotCrafterManager && slot.isEnabled()) {
|
if (slot instanceof SlotCrafterManager && slot.isEnabled()) {
|
||||||
drawTexture(x + slot.xPos - 1, y + slot.yPos - 1, 0, 193, 18, 18);
|
drawTexture(x + slot.xPos - 1, y + slot.yPos - 1, 0, 193, 18, 18);
|
||||||
@@ -197,7 +197,7 @@ public class GuiCrafterManager extends GuiBase implements IResizableDisplay {
|
|||||||
drawString(7, 7, t("gui.refinedstorage:crafter_manager"));
|
drawString(7, 7, t("gui.refinedstorage:crafter_manager"));
|
||||||
drawString(7, getYPlayerInventory() - 12, t("container.inventory"));
|
drawString(7, getYPlayerInventory() - 12, t("container.inventory"));
|
||||||
|
|
||||||
if (container != null && container.getContainerData() != null) {
|
if (container != null && container.getContainerData() != null && crafterManager.isActive()) {
|
||||||
int x = 7;
|
int x = 7;
|
||||||
int y = 18 - getCurrentOffset() * 18;
|
int y = 18 - getCurrentOffset() * 18;
|
||||||
|
|
||||||
|
|||||||
@@ -99,7 +99,9 @@ public abstract class GridViewBase implements IGridView {
|
|||||||
|
|
||||||
GridSorterDirection sortingDirection = grid.getSortingDirection() == IGrid.SORTING_DIRECTION_DESCENDING ? GridSorterDirection.DESCENDING : GridSorterDirection.ASCENDING;
|
GridSorterDirection sortingDirection = grid.getSortingDirection() == IGrid.SORTING_DIRECTION_DESCENDING ? GridSorterDirection.DESCENDING : GridSorterDirection.ASCENDING;
|
||||||
|
|
||||||
stacks.sort((left, right) -> new GridSorterName().compare(left, right, sortingDirection));
|
GridSorterName defaultSorting = new GridSorterName();
|
||||||
|
|
||||||
|
stacks.sort((left, right) -> defaultSorting.compare(left, right, sortingDirection));
|
||||||
|
|
||||||
sorters.stream().filter(s -> s.isApplicable(grid)).forEach(s -> {
|
sorters.stream().filter(s -> s.isApplicable(grid)).forEach(s -> {
|
||||||
stacks.sort((left, right) -> s.compare(left, right, sortingDirection));
|
stacks.sort((left, right) -> s.compare(left, right, sortingDirection));
|
||||||
|
|||||||
@@ -3,91 +3,37 @@
|
|||||||
"defaults": {
|
"defaults": {
|
||||||
"model": "cube",
|
"model": "cube",
|
||||||
"textures": {
|
"textures": {
|
||||||
"particle": "refinedstorage:blocks/crafter_side",
|
"particle": "refinedstorage:blocks/side",
|
||||||
"side": "refinedstorage:blocks/crafter_side",
|
"north": "refinedstorage:blocks/crafter_manager_front",
|
||||||
"side_90": "refinedstorage:blocks/crafter_side_90",
|
"east": "refinedstorage:blocks/grid_left",
|
||||||
"side_180": "refinedstorage:blocks/crafter_side_180",
|
"south": "refinedstorage:blocks/grid_back",
|
||||||
"side_270": "refinedstorage:blocks/crafter_side_270",
|
"west": "refinedstorage:blocks/grid_right",
|
||||||
"front": "refinedstorage:blocks/grid_front"
|
"up": "refinedstorage:blocks/grid_top",
|
||||||
},
|
"down": "refinedstorage:blocks/bottom"
|
||||||
"uvlock": true
|
}
|
||||||
},
|
},
|
||||||
"variants": {
|
"variants": {
|
||||||
"connected": {
|
"connected": {
|
||||||
"true": {
|
"true": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"side": "refinedstorage:blocks/crafter_side_connected",
|
"north": "refinedstorage:blocks/crafter_manager_front_connected"
|
||||||
"side_90": "refinedstorage:blocks/crafter_side_connected_90",
|
|
||||||
"side_180": "refinedstorage:blocks/crafter_side_connected_180",
|
|
||||||
"side_270": "refinedstorage:blocks/crafter_side_connected_270",
|
|
||||||
"front": "refinedstorage:blocks/grid_front_connected"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"false": {
|
"false": {
|
||||||
"textures": {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"direction": {
|
"direction": {
|
||||||
"north": {
|
"north": {
|
||||||
"textures": {
|
"y": 0
|
||||||
"down": "#side",
|
|
||||||
"up": "#side",
|
|
||||||
"north": "#front",
|
|
||||||
"east": "#side_90",
|
|
||||||
"south": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"west": "#side_270"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"east": {
|
"east": {
|
||||||
"textures": {
|
"y": 90
|
||||||
"down": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"up": "#side_90",
|
|
||||||
"north": "#side_270",
|
|
||||||
"east": "#front",
|
|
||||||
"south": "#side_90",
|
|
||||||
"west": "refinedstorage:blocks/crafter_bottom"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"south": {
|
"south": {
|
||||||
"textures": {
|
"y": 180
|
||||||
"down": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"up": "#side_180",
|
|
||||||
"north": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"east": "#side_270",
|
|
||||||
"south": "#front",
|
|
||||||
"west": "#side_90"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"west": {
|
"west": {
|
||||||
"textures": {
|
"y": 270
|
||||||
"down": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"up": "#side_270",
|
|
||||||
"north": "#side_90",
|
|
||||||
"east": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"south": "#side_270",
|
|
||||||
"west": "#front"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"up": {
|
|
||||||
"textures": {
|
|
||||||
"down": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"up": "#front",
|
|
||||||
"north": "#side",
|
|
||||||
"east": "#side",
|
|
||||||
"south": "#side",
|
|
||||||
"west": "#side"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"down": {
|
|
||||||
"textures": {
|
|
||||||
"down": "#front",
|
|
||||||
"up": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"north": "#side_180",
|
|
||||||
"east": "#side_180",
|
|
||||||
"south": "#side_180",
|
|
||||||
"west": "#side_180"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,134 +3,44 @@
|
|||||||
"defaults": {
|
"defaults": {
|
||||||
"model": "refinedstorage:cube_glow",
|
"model": "refinedstorage:cube_glow",
|
||||||
"textures": {
|
"textures": {
|
||||||
"particle": "refinedstorage:blocks/crafter_side",
|
"particle": "refinedstorage:blocks/side",
|
||||||
"side": "refinedstorage:blocks/crafter_side",
|
"north": "refinedstorage:blocks/crafter_manager_front",
|
||||||
"side_90": "refinedstorage:blocks/crafter_side_90",
|
"east": "refinedstorage:blocks/grid_left",
|
||||||
"side_180": "refinedstorage:blocks/crafter_side_180",
|
"south": "refinedstorage:blocks/grid_back",
|
||||||
"side_270": "refinedstorage:blocks/crafter_side_270",
|
"west": "refinedstorage:blocks/grid_right",
|
||||||
"front": "refinedstorage:blocks/grid_front",
|
"up": "refinedstorage:blocks/grid_top",
|
||||||
"glow_side": "refinedstorage:blocks/none",
|
"down": "refinedstorage:blocks/bottom",
|
||||||
"glow_side_90": "refinedstorage:blocks/none",
|
"glow_north": "refinedstorage:blocks/none",
|
||||||
"glow_side_180": "refinedstorage:blocks/none",
|
"glow_east": "refinedstorage:blocks/none",
|
||||||
"glow_side_270": "refinedstorage:blocks/none",
|
"glow_south": "refinedstorage:blocks/none",
|
||||||
"glow_front": "refinedstorage:blocks/none",
|
"glow_west": "refinedstorage:blocks/none",
|
||||||
"glow_up": "refinedstorage:blocks/none",
|
"glow_up": "refinedstorage:blocks/none",
|
||||||
"glow_down": "refinedstorage:blocks/none"
|
"glow_down": "refinedstorage:blocks/none"
|
||||||
},
|
}
|
||||||
"uvlock": true
|
|
||||||
},
|
},
|
||||||
"variants": {
|
"variants": {
|
||||||
"connected": {
|
"connected": {
|
||||||
"true": {
|
"true": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"side": "refinedstorage:blocks/crafter_side_connected",
|
"north": "refinedstorage:blocks/crafter_manager_front_connected",
|
||||||
"side_90": "refinedstorage:blocks/crafter_side_connected_90",
|
"glow_north": "refinedstorage:blocks/crafter_manager_front_connected_glow"
|
||||||
"side_180": "refinedstorage:blocks/crafter_side_connected_180",
|
|
||||||
"side_270": "refinedstorage:blocks/crafter_side_connected_270",
|
|
||||||
"front": "refinedstorage:blocks/grid_front_connected",
|
|
||||||
"glow_side": "refinedstorage:blocks/crafter_side_connected_glow",
|
|
||||||
"glow_side_90": "refinedstorage:blocks/crafter_side_connected_90_glow",
|
|
||||||
"glow_side_180": "refinedstorage:blocks/crafter_side_connected_180_glow",
|
|
||||||
"glow_side_270": "refinedstorage:blocks/crafter_side_connected_270_glow",
|
|
||||||
"glow_front": "refinedstorage:blocks/grid_front_connected_glow"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"false": {
|
"false": {
|
||||||
"textures": {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"direction": {
|
"direction": {
|
||||||
"north": {
|
"north": {
|
||||||
"textures": {
|
"y": 0
|
||||||
"down": "#side",
|
|
||||||
"up": "#side",
|
|
||||||
"north": "#front",
|
|
||||||
"east": "#side_90",
|
|
||||||
"south": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"west": "#side_270",
|
|
||||||
"glow_down": "#glow_side",
|
|
||||||
"glow_up": "#glow_side",
|
|
||||||
"glow_north": "#glow_front",
|
|
||||||
"glow_east": "#glow_side_90",
|
|
||||||
"glow_south": "refinedstorage:blocks/none",
|
|
||||||
"glow_west": "#glow_side_270"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"east": {
|
"east": {
|
||||||
"textures": {
|
"y": 90
|
||||||
"down": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"up": "#side_90",
|
|
||||||
"north": "#side_270",
|
|
||||||
"east": "#front",
|
|
||||||
"south": "#side_90",
|
|
||||||
"west": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"glow_up": "#glow_side_90",
|
|
||||||
"glow_north": "#glow_side_270",
|
|
||||||
"glow_east": "#glow_front",
|
|
||||||
"glow_south": "#glow_side_90",
|
|
||||||
"glow_west": "refinedstorage:blocks/none"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"south": {
|
"south": {
|
||||||
"textures": {
|
"y": 180
|
||||||
"down": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"up": "#side_180",
|
|
||||||
"north": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"east": "#side_270",
|
|
||||||
"south": "#front",
|
|
||||||
"west": "#side_90",
|
|
||||||
"glow_up": "#glow_side_180",
|
|
||||||
"glow_north": "refinedstorage:blocks/none",
|
|
||||||
"glow_east": "#glow_side_270",
|
|
||||||
"glow_south": "#glow_front",
|
|
||||||
"glow_west": "#glow_side_90"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"west": {
|
"west": {
|
||||||
"textures": {
|
"y": 270
|
||||||
"down": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"up": "#side_270",
|
|
||||||
"north": "#side_90",
|
|
||||||
"east": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"south": "#side_270",
|
|
||||||
"west": "#front",
|
|
||||||
"glow_up": "#glow_side_270",
|
|
||||||
"glow_north": "#glow_side_90",
|
|
||||||
"glow_east": "refinedstorage:blocks/none",
|
|
||||||
"glow_south": "#glow_side_270",
|
|
||||||
"glow_west": "#glow_front"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"up": {
|
|
||||||
"textures": {
|
|
||||||
"down": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"up": "#front",
|
|
||||||
"north": "#side",
|
|
||||||
"east": "#side",
|
|
||||||
"south": "#side",
|
|
||||||
"west": "#side",
|
|
||||||
"glow_up": "#glow_front",
|
|
||||||
"glow_north": "#glow_side",
|
|
||||||
"glow_east": "#glow_side",
|
|
||||||
"glow_south": "#glow_side",
|
|
||||||
"glow_west": "#glow_side"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"down": {
|
|
||||||
"textures": {
|
|
||||||
"down": "#front",
|
|
||||||
"up": "refinedstorage:blocks/crafter_bottom",
|
|
||||||
"north": "#side_180",
|
|
||||||
"east": "#side_180",
|
|
||||||
"south": "#side_180",
|
|
||||||
"west": "#side_180",
|
|
||||||
"glow_down": "#glow_front",
|
|
||||||
"glow_north": "#glow_side_180",
|
|
||||||
"glow_east": "#glow_side_180",
|
|
||||||
"glow_south": "#glow_side_180",
|
|
||||||
"glow_west": "#glow_side_180"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 596 B |
Binary file not shown.
|
After Width: | Height: | Size: 794 B |
Binary file not shown.
|
After Width: | Height: | Size: 533 B |
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"ctm": {
|
||||||
|
"ctm_version": 1,
|
||||||
|
"layer": "CUTOUT",
|
||||||
|
"extra": {
|
||||||
|
"light": 15
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user