From 0d80759496afd6a669839f022facc3b6838e2a05 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sat, 17 Mar 2018 23:12:18 +0100 Subject: [PATCH] Fix some position bugs in crafter manager container and add model and recipe --- .../raoulvdberge/refinedstorage/RSItems.java | 1 + .../node/NetworkNodeCrafterManager.java | 5 + .../block/BlockCrafterManager.java | 5 + .../container/ContainerCrafterManager.java | 5 +- .../refinedstorage/gui/GuiCrafterManager.java | 1 + .../refinedstorage/proxy/ProxyClient.java | 3 + .../refinedstorage/blockstates/crafter.json | 74 +++++----- .../blockstates/crafter_glow.json | 74 +++++----- .../blockstates/crafter_manager.json | 94 ++++++++++++ .../blockstates/crafter_manager_glow.json | 137 ++++++++++++++++++ .../recipes/crafter_manager.json | 29 ++++ 11 files changed, 352 insertions(+), 76 deletions(-) create mode 100644 src/main/resources/assets/refinedstorage/blockstates/crafter_manager.json create mode 100644 src/main/resources/assets/refinedstorage/blockstates/crafter_manager_glow.json create mode 100644 src/main/resources/assets/refinedstorage/recipes/crafter_manager.json diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java b/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java index bf39133fa..e6ac5e8c8 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java @@ -3,6 +3,7 @@ package com.raoulvdberge.refinedstorage; import com.raoulvdberge.refinedstorage.item.*; public final class RSItems { + // @todo: Switch to registry inject public static final ItemStorageDisk STORAGE_DISK = new ItemStorageDisk(); public static final ItemWirelessGrid WIRELESS_GRID = new ItemWirelessGrid(); public static final ItemWirelessFluidGrid WIRELESS_FLUID_GRID = new ItemWirelessFluidGrid(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafterManager.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafterManager.java index 9b109dbe3..e06de9995 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafterManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafterManager.java @@ -61,4 +61,9 @@ public class NetworkNodeCrafterManager extends NetworkNode { size = tag.getInteger(NBT_SIZE); } } + + @Override + public boolean hasConnectivityState() { + return true; + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockCrafterManager.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockCrafterManager.java index e67a72514..cffe14e07 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockCrafterManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockCrafterManager.java @@ -30,4 +30,9 @@ public class BlockCrafterManager extends BlockNode { return true; } + + @Override + public boolean hasConnectivityState() { + return true; + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java index 1ac0e994c..623a6f414 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCrafterManager.java @@ -116,7 +116,7 @@ public class ContainerCrafterManager extends ContainerBase { int x = 8; for (Map.Entry entry : containerData.entrySet()) { - // @todo: broken on servers prolly + // @todo: Test on servers boolean visible = I18n.format(entry.getKey()).toLowerCase().contains(display.getSearchFieldText().toLowerCase()); IItemHandlerModifiable dummy; @@ -133,7 +133,8 @@ public class ContainerCrafterManager extends ContainerBase { if (visible) { x += 18; - if ((slot + 1) % 9 == 0) { + // Don't increase y level if we are on our last slot row (otherwise we do y += 18 * 3) + if ((slot + 1) % 9 == 0 && slot + 1 < entry.getValue()) { x = 8; y += 18; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java index 0315dde41..abcf2323d 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCrafterManager.java @@ -122,6 +122,7 @@ public class GuiCrafterManager extends GuiBase implements IResizableDisplay { if (searchField == null) { searchField = new TextFieldSearch(0, fontRenderer, sx, sy, 88 - 6); + searchField.addListener(() -> container.initSlots(null)); } else { searchField.x = sx; searchField.y = sy; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java index 0ac02b928..13761c11e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java @@ -265,6 +265,9 @@ public class ProxyClient extends ProxyCommon { ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.DESTRUCTOR), 0, new ModelResourceLocation("refinedstorage:destructor", "inventory")); ModelLoader.setCustomStateMapper(RSBlocks.DESTRUCTOR, new StateMapperCTM("refinedstorage:destructor")); + ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(RSBlocks.CRAFTER_MANAGER), 0, new ModelResourceLocation("refinedstorage:crafter_manager", "connected=false,direction=north")); + ModelLoader.setCustomStateMapper(RSBlocks.CRAFTER_MANAGER, new StateMapperCTM("refinedstorage:crafter_manager")); + ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(RSBlocks.CONTROLLER), stack -> { ControllerEnergyType energyType = stack.getItemDamage() == ControllerType.CREATIVE.getId() ? ControllerEnergyType.ON : TileController.getEnergyType(ItemBlockController.getEnergyStored(stack), ItemBlockController.getEnergyCapacity(stack)); diff --git a/src/main/resources/assets/refinedstorage/blockstates/crafter.json b/src/main/resources/assets/refinedstorage/blockstates/crafter.json index 1d763d418..9e52efe40 100755 --- a/src/main/resources/assets/refinedstorage/blockstates/crafter.json +++ b/src/main/resources/assets/refinedstorage/blockstates/crafter.json @@ -4,11 +4,11 @@ "model": "cube", "textures": { "particle": "refinedstorage:blocks/crafter_side", - "crafter_side": "refinedstorage:blocks/crafter_side", - "crafter_side_90": "refinedstorage:blocks/crafter_side_90", - "crafter_side_180": "refinedstorage:blocks/crafter_side_180", - "crafter_side_270": "refinedstorage:blocks/crafter_side_270", - "crafter_front": "refinedstorage:blocks/crafter_front" + "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/crafter_front" }, "uvlock": true }, @@ -16,11 +16,11 @@ "connected": { "true": { "textures": { - "crafter_side": "refinedstorage:blocks/crafter_side_connected", - "crafter_side_90": "refinedstorage:blocks/crafter_side_connected_90", - "crafter_side_180": "refinedstorage:blocks/crafter_side_connected_180", - "crafter_side_270": "refinedstorage:blocks/crafter_side_connected_270", - "crafter_front": "refinedstorage:blocks/crafter_front_connected" + "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/crafter_front_connected" } }, "false": { @@ -31,62 +31,62 @@ "direction": { "north": { "textures": { - "down": "#crafter_side", - "up": "#crafter_side", - "north": "#crafter_front", - "east": "#crafter_side_90", + "down": "#side", + "up": "#side", + "north": "#front", + "east": "#side_90", "south": "refinedstorage:blocks/crafter_bottom", - "west": "#crafter_side_270" + "west": "#side_270" } }, "east": { "textures": { "down": "refinedstorage:blocks/crafter_bottom", - "up": "#crafter_side_90", - "north": "#crafter_side_270", - "east": "#crafter_front", - "south": "#crafter_side_90", + "up": "#side_90", + "north": "#side_270", + "east": "#front", + "south": "#side_90", "west": "refinedstorage:blocks/crafter_bottom" } }, "south": { "textures": { "down": "refinedstorage:blocks/crafter_bottom", - "up": "#crafter_side_180", + "up": "#side_180", "north": "refinedstorage:blocks/crafter_bottom", - "east": "#crafter_side_270", - "south": "#crafter_front", - "west": "#crafter_side_90" + "east": "#side_270", + "south": "#front", + "west": "#side_90" } }, "west": { "textures": { "down": "refinedstorage:blocks/crafter_bottom", - "up": "#crafter_side_270", - "north": "#crafter_side_90", + "up": "#side_270", + "north": "#side_90", "east": "refinedstorage:blocks/crafter_bottom", - "south": "#crafter_side_270", - "west": "#crafter_front" + "south": "#side_270", + "west": "#front" } }, "up": { "textures": { "down": "refinedstorage:blocks/crafter_bottom", - "up": "#crafter_front", - "north": "#crafter_side", - "east": "#crafter_side", - "south": "#crafter_side", - "west": "#crafter_side" + "up": "#front", + "north": "#side", + "east": "#side", + "south": "#side", + "west": "#side" } }, "down": { "textures": { - "down": "#crafter_front", + "down": "#front", "up": "refinedstorage:blocks/crafter_bottom", - "north": "#crafter_side_180", - "east": "#crafter_side_180", - "south": "#crafter_side_180", - "west": "#crafter_side_180" + "north": "#side_180", + "east": "#side_180", + "south": "#side_180", + "west": "#side_180" } } } diff --git a/src/main/resources/assets/refinedstorage/blockstates/crafter_glow.json b/src/main/resources/assets/refinedstorage/blockstates/crafter_glow.json index 2d59d8c30..4cf9d227e 100644 --- a/src/main/resources/assets/refinedstorage/blockstates/crafter_glow.json +++ b/src/main/resources/assets/refinedstorage/blockstates/crafter_glow.json @@ -4,11 +4,11 @@ "model": "refinedstorage:cube_glow", "textures": { "particle": "refinedstorage:blocks/crafter_side", - "crafter_side": "refinedstorage:blocks/crafter_side", - "crafter_side_90": "refinedstorage:blocks/crafter_side_90", - "crafter_side_180": "refinedstorage:blocks/crafter_side_180", - "crafter_side_270": "refinedstorage:blocks/crafter_side_270", - "crafter_front": "refinedstorage:blocks/crafter_front", + "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/crafter_front", "glow_side": "refinedstorage:blocks/none", "glow_side_90": "refinedstorage:blocks/none", "glow_side_180": "refinedstorage:blocks/none", @@ -23,11 +23,11 @@ "connected": { "true": { "textures": { - "crafter_side": "refinedstorage:blocks/crafter_side_connected", - "crafter_side_90": "refinedstorage:blocks/crafter_side_connected_90", - "crafter_side_180": "refinedstorage:blocks/crafter_side_connected_180", - "crafter_side_270": "refinedstorage:blocks/crafter_side_connected_270", - "crafter_front": "refinedstorage:blocks/crafter_front_connected", + "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/crafter_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", @@ -43,12 +43,12 @@ "direction": { "north": { "textures": { - "down": "#crafter_side", - "up": "#crafter_side", - "north": "#crafter_front", - "east": "#crafter_side_90", + "down": "#side", + "up": "#side", + "north": "#front", + "east": "#side_90", "south": "refinedstorage:blocks/crafter_bottom", - "west": "#crafter_side_270", + "west": "#side_270", "glow_down": "#glow_side", "glow_up": "#glow_side", "glow_north": "#glow_front", @@ -60,10 +60,10 @@ "east": { "textures": { "down": "refinedstorage:blocks/crafter_bottom", - "up": "#crafter_side_90", - "north": "#crafter_side_270", - "east": "#crafter_front", - "south": "#crafter_side_90", + "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", @@ -75,11 +75,11 @@ "south": { "textures": { "down": "refinedstorage:blocks/crafter_bottom", - "up": "#crafter_side_180", + "up": "#side_180", "north": "refinedstorage:blocks/crafter_bottom", - "east": "#crafter_side_270", - "south": "#crafter_front", - "west": "#crafter_side_90", + "east": "#side_270", + "south": "#front", + "west": "#side_90", "glow_up": "#glow_side_180", "glow_north": "refinedstorage:blocks/none", "glow_east": "#glow_side_270", @@ -90,11 +90,11 @@ "west": { "textures": { "down": "refinedstorage:blocks/crafter_bottom", - "up": "#crafter_side_270", - "north": "#crafter_side_90", + "up": "#side_270", + "north": "#side_90", "east": "refinedstorage:blocks/crafter_bottom", - "south": "#crafter_side_270", - "west": "#crafter_front", + "south": "#side_270", + "west": "#front", "glow_up": "#glow_side_270", "glow_north": "#glow_side_90", "glow_east": "refinedstorage:blocks/none", @@ -105,11 +105,11 @@ "up": { "textures": { "down": "refinedstorage:blocks/crafter_bottom", - "up": "#crafter_front", - "north": "#crafter_side", - "east": "#crafter_side", - "south": "#crafter_side", - "west": "#crafter_side", + "up": "#front", + "north": "#side", + "east": "#side", + "south": "#side", + "west": "#side", "glow_up": "#glow_front", "glow_north": "#glow_side", "glow_east": "#glow_side", @@ -119,12 +119,12 @@ }, "down": { "textures": { - "down": "#crafter_front", + "down": "#front", "up": "refinedstorage:blocks/crafter_bottom", - "north": "#crafter_side_180", - "east": "#crafter_side_180", - "south": "#crafter_side_180", - "west": "#crafter_side_180", + "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", diff --git a/src/main/resources/assets/refinedstorage/blockstates/crafter_manager.json b/src/main/resources/assets/refinedstorage/blockstates/crafter_manager.json new file mode 100644 index 000000000..bbe862c3a --- /dev/null +++ b/src/main/resources/assets/refinedstorage/blockstates/crafter_manager.json @@ -0,0 +1,94 @@ +{ + "forge_marker": 1, + "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 + }, + "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" + } + }, + "false": { + "textures": { + } + } + }, + "direction": { + "north": { + "textures": { + "down": "#side", + "up": "#side", + "north": "#front", + "east": "#side_90", + "south": "refinedstorage:blocks/crafter_bottom", + "west": "#side_270" + } + }, + "east": { + "textures": { + "down": "refinedstorage:blocks/crafter_bottom", + "up": "#side_90", + "north": "#side_270", + "east": "#front", + "south": "#side_90", + "west": "refinedstorage:blocks/crafter_bottom" + } + }, + "south": { + "textures": { + "down": "refinedstorage:blocks/crafter_bottom", + "up": "#side_180", + "north": "refinedstorage:blocks/crafter_bottom", + "east": "#side_270", + "south": "#front", + "west": "#side_90" + } + }, + "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" + } + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/blockstates/crafter_manager_glow.json b/src/main/resources/assets/refinedstorage/blockstates/crafter_manager_glow.json new file mode 100644 index 000000000..6b818be6f --- /dev/null +++ b/src/main/resources/assets/refinedstorage/blockstates/crafter_manager_glow.json @@ -0,0 +1,137 @@ +{ + "forge_marker": 1, + "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", + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/recipes/crafter_manager.json b/src/main/resources/assets/refinedstorage/recipes/crafter_manager.json new file mode 100644 index 000000000..8610adf94 --- /dev/null +++ b/src/main/resources/assets/refinedstorage/recipes/crafter_manager.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "PCG", + "EMG", + "PCG" + ], + "key": { + "P": { + "item": "#advanced_processor" + }, + "C": { + "item": "minecraft:chest" + }, + "G": { + "type": "forge:ore_dict", + "ore": "blockGlass" + }, + "E": { + "item": "refinedstorage:quartz_enriched_iron" + }, + "M": { + "item": "refinedstorage:machine_casing" + } + }, + "result": { + "item": "refinedstorage:crafter_manager" + } +} \ No newline at end of file