From 8391f2222a46e5b2f88b25f5ff10a6b7167f6379 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Sat, 9 May 2020 15:42:09 +0200 Subject: [PATCH] finished the crafting terminal --- .../containers/CraftingTerminalGui.java | 5 ++-- .../blockstates/crafting_terminal.json | 7 ++++++ .../assets/prettypipes/lang/en_us.json | 3 +++ .../models/block/crafting_terminal.json | 7 ++++++ .../models/item/crafting_terminal.json | 3 +++ .../textures/block/crafting_terminal.png | Bin 0 -> 397 bytes .../loot_tables/blocks/crafting_terminal.json | 19 +++++++++++++++ .../recipes/crafting_terminal.json | 22 ++++++++++++++++++ 8 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/assets/prettypipes/blockstates/crafting_terminal.json create mode 100644 src/main/resources/assets/prettypipes/models/block/crafting_terminal.json create mode 100644 src/main/resources/assets/prettypipes/models/item/crafting_terminal.json create mode 100644 src/main/resources/assets/prettypipes/textures/block/crafting_terminal.png create mode 100644 src/main/resources/data/prettypipes/loot_tables/blocks/crafting_terminal.json create mode 100644 src/main/resources/data/prettypipes/recipes/crafting_terminal.json diff --git a/src/main/java/de/ellpeck/prettypipes/terminal/containers/CraftingTerminalGui.java b/src/main/java/de/ellpeck/prettypipes/terminal/containers/CraftingTerminalGui.java index d2e15fb..5cfd5a4 100644 --- a/src/main/java/de/ellpeck/prettypipes/terminal/containers/CraftingTerminalGui.java +++ b/src/main/java/de/ellpeck/prettypipes/terminal/containers/CraftingTerminalGui.java @@ -32,7 +32,7 @@ public class CraftingTerminalGui extends ItemTerminalGui { int all = hasShiftDown() ? 1 : 0; PacketHandler.sendToServer(new PacketButton(this.container.tile.getPos(), PacketButton.ButtonResult.CRAFT_TERMINAL_REQUEST, all)); })); - this.requestButton.active = false; + this.tick(); } @Override @@ -41,7 +41,8 @@ public class CraftingTerminalGui extends ItemTerminalGui { CraftingTerminalTileEntity tile = this.getCraftingContainer().getTile(); this.requestButton.active = false; for (int i = 0; i < tile.craftItems.getSlots(); i++) { - if (!tile.getRequestedCraftItem(i).isEmpty()) { + ItemStack stack = tile.getRequestedCraftItem(i); + if (!stack.isEmpty() && stack.getCount() < stack.getMaxStackSize()) { this.requestButton.active = true; break; } diff --git a/src/main/resources/assets/prettypipes/blockstates/crafting_terminal.json b/src/main/resources/assets/prettypipes/blockstates/crafting_terminal.json new file mode 100644 index 0000000..c9078c4 --- /dev/null +++ b/src/main/resources/assets/prettypipes/blockstates/crafting_terminal.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "prettypipes:block/crafting_terminal" + } + } +} diff --git a/src/main/resources/assets/prettypipes/lang/en_us.json b/src/main/resources/assets/prettypipes/lang/en_us.json index 19560d9..6a5ff9a 100644 --- a/src/main/resources/assets/prettypipes/lang/en_us.json +++ b/src/main/resources/assets/prettypipes/lang/en_us.json @@ -34,11 +34,14 @@ "info.prettypipes.tag_filter_modifier": "Causes any filter slots to filter by tags\n(Modern equivalent of the Ore Dictionary)", "info.prettypipes.redstone_module": "Allows disabling the pipe with a redstone signal\nWorks for both extraction and retrieval", "info.prettypipes.item_terminal": "Allows viewing and requesting all items in a pipe network\nAlso has slots for putting items into the network", + "info.prettypipes.crafting_terminal": "Allows requesting ingredients for crafting recipes\nSupports auto-filling from JEI if installed", "block.prettypipes.pipe": "Pipe", "block.prettypipes.item_terminal": "Item Terminal", + "block.prettypipes.crafting_terminal": "Crafting Terminal", "itemGroup.prettypipes": "Pretty Pipes", "container.prettypipes.pipe": "Pipe", "container.prettypipes.item_terminal": "Item Terminal", + "container.prettypipes.crafting_terminal": "Crafting Terminal", "info.prettypipes.whitelist": "Allowed", "info.prettypipes.blacklist": "Disallowed", "info.prettypipes.shift": "Hold Shift for info", diff --git a/src/main/resources/assets/prettypipes/models/block/crafting_terminal.json b/src/main/resources/assets/prettypipes/models/block/crafting_terminal.json new file mode 100644 index 0000000..f5c539a --- /dev/null +++ b/src/main/resources/assets/prettypipes/models/block/crafting_terminal.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "prettypipes:block/item_terminal_top", + "side": "prettypipes:block/crafting_terminal" + } +} diff --git a/src/main/resources/assets/prettypipes/models/item/crafting_terminal.json b/src/main/resources/assets/prettypipes/models/item/crafting_terminal.json new file mode 100644 index 0000000..97ea040 --- /dev/null +++ b/src/main/resources/assets/prettypipes/models/item/crafting_terminal.json @@ -0,0 +1,3 @@ +{ + "parent": "prettypipes:block/crafting_terminal" +} \ No newline at end of file diff --git a/src/main/resources/assets/prettypipes/textures/block/crafting_terminal.png b/src/main/resources/assets/prettypipes/textures/block/crafting_terminal.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2ceec1794388ed818ce0a3f75fb8982baab476 GIT binary patch literal 397 zcmV;80doF{P)Px$M@d9MR5*>Tlfg;?Q5c24L=;D%K|-ip76gGriy(}k%{)N3is}tqg)3N|>b;xR9IZ$hhdX7`#r|AX#U5?>!&?;XiljptvvjgW>?|YpV;H zUtZq=0Kmh&&2TgZAe~CEwH#wNmj$5N?a}T_2A)qwOCqJ@@W_}>05BYlxw}3EpjNjy z+uK0bH2}6n7SnO5UIq8Z7dL8(*!Qt&b&Il5P-XyK*C-nWYISQSh61Eh31yDb1d>iA z)R~HKvbjQWCm(4JLmrXLPqa^_pBpgQwPnpASA+$y*CFhs7s;;KveyQ^F`-f`a rk3E=lJFLmBb9u-`#EL`ks}|KK;X8Pf(i96#00000NkvXXu0mjf0XeIs literal 0 HcmV?d00001 diff --git a/src/main/resources/data/prettypipes/loot_tables/blocks/crafting_terminal.json b/src/main/resources/data/prettypipes/loot_tables/blocks/crafting_terminal.json new file mode 100644 index 0000000..46913ca --- /dev/null +++ b/src/main/resources/data/prettypipes/loot_tables/blocks/crafting_terminal.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "prettypipes:crafting_terminal" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/prettypipes/recipes/crafting_terminal.json b/src/main/resources/data/prettypipes/recipes/crafting_terminal.json new file mode 100644 index 0000000..858e595 --- /dev/null +++ b/src/main/resources/data/prettypipes/recipes/crafting_terminal.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " C ", + "RTR", + " R " + ], + "key": { + "T": { + "item": "prettypipes:item_terminal" + }, + "C": { + "item": "minecraft:crafting_table" + }, + "R": { + "item": "minecraft:redstone" + } + }, + "result": { + "item": "prettypipes:crafting_terminal" + } +} \ No newline at end of file