From 57c3f29e067077b3433cbf4c72b9c1ea54fedf59 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Mon, 19 Mar 2018 13:34:12 +0100 Subject: [PATCH] Change model of crafter manager and handle redstone mode --- .../container/ContainerCrafterManager.java | 5 +- .../container/slot/SlotCrafterManager.java | 7 +- .../refinedstorage/gui/GuiCrafterManager.java | 4 +- .../gui/grid/view/GridViewBase.java | 4 +- .../blockstates/crafter_manager.json | 80 ++--------- .../blockstates/crafter_manager_glow.json | 126 +++--------------- .../textures/blocks/crafter_manager_front.png | Bin 0 -> 596 bytes .../crafter_manager_front_connected.png | Bin 0 -> 794 bytes .../crafter_manager_front_connected_glow.png | Bin 0 -> 533 bytes ...er_manager_front_connected_glow.png.mcmeta | 9 ++ 10 files changed, 54 insertions(+), 181 deletions(-) create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front.png create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front_connected.png create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front_connected_glow.png create mode 100644 src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front_connected_glow.png.mcmeta diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java index 91b8064f8..4cae24eaa 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.container; +import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafterManager; import com.raoulvdberge.refinedstorage.container.slot.SlotCrafterManager; import com.raoulvdberge.refinedstorage.gui.IResizableDisplay; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase; @@ -64,6 +65,7 @@ public class ContainerCrafterManager extends ContainerBase { } private IResizableDisplay display; + private NetworkNodeCrafterManager crafterManager; private Map containerData; private Map dummyInventories = new HashMap<>(); @@ -80,6 +82,7 @@ public class ContainerCrafterManager extends ContainerBase { super(crafterManager, player); this.display = display; + this.crafterManager = crafterManager.getNode(); if (!player.world.isRemote) { addPlayerInventory(8, display.getYPlayerInventory()); @@ -132,7 +135,7 @@ public class ContainerCrafterManager extends ContainerBase { } 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) { x += 18; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotCrafterManager.java b/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotCrafterManager.java index bb0bb90d5..15a4fda8e 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotCrafterManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotCrafterManager.java @@ -1,22 +1,25 @@ package com.raoulvdberge.refinedstorage.container.slot; +import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafterManager; import com.raoulvdberge.refinedstorage.gui.IResizableDisplay; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.SlotItemHandler; public class SlotCrafterManager extends SlotItemHandler { private boolean visible; + private NetworkNodeCrafterManager crafterManager; 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); this.visible = visible; this.display = display; + this.crafterManager = crafterManager; } @Override 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(); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java index abcf2323d..7aca89110 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java @@ -155,7 +155,7 @@ public class GuiCrafterManager extends GuiBase implements IResizableDisplay { drawTexture(x, yy, 0, getTopHeight() + (18 * 3), screenWidth, getBottomHeight()); - if (container != null) { + if (container != null && crafterManager.isActive()) { for (Slot slot : container.inventorySlots) { if (slot instanceof SlotCrafterManager && slot.isEnabled()) { 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, getYPlayerInventory() - 12, t("container.inventory")); - if (container != null && container.getContainerData() != null) { + if (container != null && container.getContainerData() != null && crafterManager.isActive()) { int x = 7; int y = 18 - getCurrentOffset() * 18; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/grid/view/GridViewBase.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/grid/view/GridViewBase.java index 8dd1795c6..2a63aeced 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/grid/view/GridViewBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/grid/view/GridViewBase.java @@ -99,7 +99,9 @@ public abstract class GridViewBase implements IGridView { 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 -> { stacks.sort((left, right) -> s.compare(left, right, sortingDirection)); diff --git a/src/main/resources/assets/refinedstorage/blockstates/crafter_manager.json b/src/main/resources/assets/refinedstorage/blockstates/crafter_manager.json index bbe862c3a..993595235 100644 --- a/src/main/resources/assets/refinedstorage/blockstates/crafter_manager.json +++ b/src/main/resources/assets/refinedstorage/blockstates/crafter_manager.json @@ -3,91 +3,37 @@ "defaults": { "model": "cube", "textures": { - "particle": "refinedstorage:blocks/crafter_side", - "side": "refinedstorage:blocks/crafter_side", - "side_90": "refinedstorage:blocks/crafter_side_90", - "side_180": "refinedstorage:blocks/crafter_side_180", - "side_270": "refinedstorage:blocks/crafter_side_270", - "front": "refinedstorage:blocks/grid_front" - }, - "uvlock": true + "particle": "refinedstorage:blocks/side", + "north": "refinedstorage:blocks/crafter_manager_front", + "east": "refinedstorage:blocks/grid_left", + "south": "refinedstorage:blocks/grid_back", + "west": "refinedstorage:blocks/grid_right", + "up": "refinedstorage:blocks/grid_top", + "down": "refinedstorage:blocks/bottom" + } }, "variants": { "connected": { "true": { "textures": { - "side": "refinedstorage:blocks/crafter_side_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" + "north": "refinedstorage:blocks/crafter_manager_front_connected" } }, "false": { - "textures": { - } } }, "direction": { "north": { - "textures": { - "down": "#side", - "up": "#side", - "north": "#front", - "east": "#side_90", - "south": "refinedstorage:blocks/crafter_bottom", - "west": "#side_270" - } + "y": 0 }, "east": { - "textures": { - "down": "refinedstorage:blocks/crafter_bottom", - "up": "#side_90", - "north": "#side_270", - "east": "#front", - "south": "#side_90", - "west": "refinedstorage:blocks/crafter_bottom" - } + "y": 90 }, "south": { - "textures": { - "down": "refinedstorage:blocks/crafter_bottom", - "up": "#side_180", - "north": "refinedstorage:blocks/crafter_bottom", - "east": "#side_270", - "south": "#front", - "west": "#side_90" - } + "y": 180 }, "west": { - "textures": { - "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" - } + "y": 270 } } } diff --git a/src/main/resources/assets/refinedstorage/blockstates/crafter_manager_glow.json b/src/main/resources/assets/refinedstorage/blockstates/crafter_manager_glow.json index 6b818be6f..45b2fb9d4 100644 --- a/src/main/resources/assets/refinedstorage/blockstates/crafter_manager_glow.json +++ b/src/main/resources/assets/refinedstorage/blockstates/crafter_manager_glow.json @@ -3,134 +3,44 @@ "defaults": { "model": "refinedstorage:cube_glow", "textures": { - "particle": "refinedstorage:blocks/crafter_side", - "side": "refinedstorage:blocks/crafter_side", - "side_90": "refinedstorage:blocks/crafter_side_90", - "side_180": "refinedstorage:blocks/crafter_side_180", - "side_270": "refinedstorage:blocks/crafter_side_270", - "front": "refinedstorage:blocks/grid_front", - "glow_side": "refinedstorage:blocks/none", - "glow_side_90": "refinedstorage:blocks/none", - "glow_side_180": "refinedstorage:blocks/none", - "glow_side_270": "refinedstorage:blocks/none", - "glow_front": "refinedstorage:blocks/none", + "particle": "refinedstorage:blocks/side", + "north": "refinedstorage:blocks/crafter_manager_front", + "east": "refinedstorage:blocks/grid_left", + "south": "refinedstorage:blocks/grid_back", + "west": "refinedstorage:blocks/grid_right", + "up": "refinedstorage:blocks/grid_top", + "down": "refinedstorage:blocks/bottom", + "glow_north": "refinedstorage:blocks/none", + "glow_east": "refinedstorage:blocks/none", + "glow_south": "refinedstorage:blocks/none", + "glow_west": "refinedstorage:blocks/none", "glow_up": "refinedstorage:blocks/none", "glow_down": "refinedstorage:blocks/none" - }, - "uvlock": true + } }, "variants": { "connected": { "true": { "textures": { - "side": "refinedstorage:blocks/crafter_side_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", - "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" + "north": "refinedstorage:blocks/crafter_manager_front_connected", + "glow_north": "refinedstorage:blocks/crafter_manager_front_connected_glow" } }, "false": { - "textures": { - } } }, "direction": { "north": { - "textures": { - "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" - } + "y": 0 }, "east": { - "textures": { - "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" - } + "y": 90 }, "south": { - "textures": { - "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" - } + "y": 180 }, "west": { - "textures": { - "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" - } + "y": 270 } } } diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front.png b/src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front.png new file mode 100644 index 0000000000000000000000000000000000000000..25d49acea7974bd3a41d877138d360740a8b1ade GIT binary patch literal 596 zcmV-a0;~OrP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E-^XO*0N*(00G2FL_t(IPi>OfiUL6lMf)ejT@jt1825Hm zly+CtaY0nv7j*E!6~qU9_lM_HM+OEAbVyg_=H@1)#p7{Z*CUZgC=|kDi9{k6i+!3F z3rReYcxm@BGiv^_>;B-25yWMZo z+U+*JR;v-esZ?q>94dx%It`#&t=jE&o6UxIxm<3y+vD*N@N2bNEfz~A zlc5ByYRP00K)qfk`{SKC91g$V4+G2!KyC8jS|hH9*JXv0N_0 z?)7?oJ|7;VCFx2SXr$R}hQncv?{GN403Z+ukVIASC=mt#Ftl1N#lVc2oiK=8F^TE( zj{yK9)tJC@BpU){V znM`;*ygy*Xyrq|D09S>-D%sC4CPDgMPn18jUz)%NlKgLk(g8(;)$c iVJE;yz;lJ^y8a7`4#MM)B!lJv0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E-^XO*0N*(00N3hL_t(IPi<1$Ym#vo_8(XW=%PU}2s&K^ zQQa(^y3eWTJRg|m6w%>n2hs3CHznD{ybW)H7!~A}j&(q^MM}9-u-bK3HQMyk`FTid zic-<@*)DtGdwIX#@AtgV`@HYV7#~!}a=EvA#$+;a^3US|hr^)( z;c$3iVPSrL9zGh4Mk0}5Fo<8j-|u$2?RNY0^fdg`)D%+FfVsIjlgV_aXXE4J@LH`F z0lZSFR45cusZ<~kOiWDB3__t00F6dtU8jt@g?pdM;g6-zhhku}sSG}!55U;in0m9BYIL(le|9RJmZ*5|&8n3i2 zB+Kzq6AT7}fo4FD(K|5kQq3C> zQLEJ$Dqxr^^kKAkfr>|ZhI+sN4fJZDBy`E=^Fhhoo=r|pB89`@!17@K07HyjIu;E8 zE^y>@I^kU|7k0*MHscy9QMc7z(5-&j0`b07*qoM6N<$g5>#QssI20 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front_connected_glow.png b/src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front_connected_glow.png new file mode 100644 index 0000000000000000000000000000000000000000..9e25a25d44d0487f060d8cbd75c7ab93730aff60 GIT binary patch literal 533 zcmV+w0_y#VP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E-^XO*0N*(00D(bL_t(IPot2h8IfEx(bb(3)&&n?2ippfM#&o&HRMFviUL~Sv4CO2yY*l!t{Sc^3 zkU!J z++V8_TCcLAeHW-iF!=G1lz8j#hWIRT;-8IiG4`w-i;rw_D^X)vz2XM?ed4661f5GFi{At)5&TaA%XSi2wv)i}-$Tc5 Xh(H4G2jC7p00000NkvXXu0mjfP~zjd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front_connected_glow.png.mcmeta b/src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front_connected_glow.png.mcmeta new file mode 100644 index 000000000..eea6c1fe1 --- /dev/null +++ b/src/main/resources/assets/refinedstorage/textures/blocks/crafter_manager_front_connected_glow.png.mcmeta @@ -0,0 +1,9 @@ +{ + "ctm": { + "ctm_version": 1, + "layer": "CUTOUT", + "extra": { + "light": 15 + } + } +} \ No newline at end of file