diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm
index a61b11e70b5..0ea2ddbcba4 100644
--- a/code/modules/mining/machine_stacking.dm
+++ b/code/modules/mining/machine_stacking.dm
@@ -43,6 +43,8 @@
data["contents"] = list()
if(machine)
data["stacking_amount"] = machine.stack_amt
+ data["input_direction"] = dir2text(machine.input_dir)
+ data["output_direction"] = dir2text(machine.output_dir)
for(var/stack_type in machine.stack_list)
var/obj/item/stack/sheet/stored_sheet = machine.stack_list[stack_type]
if(stored_sheet.amount <= 0)
@@ -69,6 +71,10 @@
inp.amount = 0
machine.unload_mineral(out)
return TRUE
+ if("rotate")
+ var/input = text2num(params["input"])
+ machine.rotate(input)
+ return TRUE
/**********************Mineral stacking unit**************************/
@@ -118,6 +124,14 @@
to_chat(user, span_notice("You link [src] to the console in [M]'s buffer."))
return TRUE
+/obj/machinery/mineral/stacking_machine/proc/rotate(input)
+ if (input)
+ input_dir = turn(input_dir, 90)
+ else
+ output_dir = turn(output_dir, 90)
+ if (input_dir == output_dir)
+ rotate(input)
+
/obj/machinery/mineral/stacking_machine/proc/process_sheet(obj/item/stack/sheet/inp)
if(QDELETED(inp))
return
diff --git a/tgui/packages/tgui/interfaces/StackingConsole.js b/tgui/packages/tgui/interfaces/StackingConsole.js
index 66b16d92d55..1bde2c460be 100644
--- a/tgui/packages/tgui/interfaces/StackingConsole.js
+++ b/tgui/packages/tgui/interfaces/StackingConsole.js
@@ -1,5 +1,5 @@
import { useBackend } from '../backend';
-import { Button, LabeledList, NoticeBox, Section } from '../components';
+import { Box, Button, LabeledList, NoticeBox, Section } from '../components';
import { Window } from '../layouts';
export const StackingConsole = (props, context) => {
@@ -20,7 +20,12 @@ export const StackingConsole = (props, context) => {
export const StackingConsoleContent = (props, context) => {
const { act, data } = useBackend(context);
- const { stacking_amount, contents = [] } = data;
+ const {
+ input_direction,
+ output_direction,
+ stacking_amount,
+ contents = [],
+ } = data;
return (
<>
@@ -28,6 +33,40 @@ export const StackingConsoleContent = (props, context) => {
{stacking_amount || 'Unknown'}
+
+ act('rotate', {
+ input: 1,
+ })
+ }
+ />
+ }>
+
+ {input_direction}
+
+
+
+ act('rotate', {
+ input: 0,
+ })
+ }
+ />
+ }>
+
+ {output_direction}
+
+