From 7da82d8b4808027fc6148b1579c047ad04dd2f74 Mon Sep 17 00:00:00 2001 From: Robert Lang Date: Sat, 11 Apr 2026 00:44:12 +0200 Subject: [PATCH 1/3] Slightly adjusted behavior on Data Input Machine. UI Button works now, send Data on rising edge redstone signal, instead of any signal change. --- .../TileEntityDataInputMachine.java | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java index 5c3913155..3db1d13fb 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java @@ -29,7 +29,7 @@ /** * @author Pabilo8 (pabilo@iiteam.net) - * @updated 08.01.2024 + * @updated 11.04.2026 * @ii-approved 0.3.1 * @since 28.06.2019 */ @@ -45,8 +45,13 @@ public class TileEntityDataInputMachine extends TileEntityMultiblockProductionSi /** * Will send stored packet if true, then switch back to false */ - @SyncNBT(events = {SyncEvents.TILE_CLIENT_MESSAGE}) + @SyncNBT(name = "send_packet", events = {SyncEvents.TILE_CLIENT_MESSAGE}) public boolean sendPacket = false; + + /** + * A temporary value for calculating the falling & rising edge. + */ + boolean prevSignal = false; /** * Stored data packet */ @@ -98,14 +103,18 @@ protected void onUpdate() if(world.isRemote) return; - //Send packet on redstone - if(sendPacket^getRedstoneAtPos(0)) + boolean currentSignal = getRedstoneAtPos(0); + + //Send packet on rising edge redstone signal or ui button press + if(sendPacket || ((prevSignal ^ currentSignal) & currentSignal)) { - sendPacket = !sendPacket; - //Finally! - if(sendPacket) - this.sendData(storedData, getDirection("data"), getPOI(MultiblockPOI.DATA_OUTPUT)[0]); + System.out.println("TE: Sending Packet"); + this.sendData(storedData, getDirection("data"), getPOI(MultiblockPOI.DATA_OUTPUT)[0]); + sendPacket = false; } + + prevSignal = currentSignal; + //Check for item being taken out if(currentProcess!=null&&!currentProcess.recipe.input.matchesItemStack(inventory.get(MultiblockDataInputMachine.SLOT_INPUT))) this.currentProcess.ticks = this.currentProcess.maxTicks; From b9f43a7b0c800c95efad1c4e8882256f4a0b2635 Mon Sep 17 00:00:00 2001 From: Robert Lang Date: Sat, 11 Apr 2026 02:10:25 +0200 Subject: [PATCH 2/3] Slightly adjusted behavior on Data Input Machine. UI Button works now, send Data on rising edge redstone signal, instead of any signal change. --- .../metal_multiblock0/tileentity/TileEntityDataInputMachine.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java index 3db1d13fb..3b2c09ed7 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java @@ -108,7 +108,6 @@ protected void onUpdate() //Send packet on rising edge redstone signal or ui button press if(sendPacket || ((prevSignal ^ currentSignal) & currentSignal)) { - System.out.println("TE: Sending Packet"); this.sendData(storedData, getDirection("data"), getPOI(MultiblockPOI.DATA_OUTPUT)[0]); sendPacket = false; } From 0fc369f803f4d7cc11a19768bd1ccd328cf63943 Mon Sep 17 00:00:00 2001 From: Robert Lang Date: Sat, 11 Apr 2026 05:54:34 +0200 Subject: [PATCH 3/3] Slightly adjusted behavior on Data Input Machine. UI Button works now, send Data on rising edge redstone signal, instead of any signal change. --- .../tileentity/TileEntityDataInputMachine.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java index 3b2c09ed7..286544a05 100644 --- a/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java +++ b/src/main/java/pl/pabilo8/immersiveintelligence/common/block/multiblock/metal_multiblock0/tileentity/TileEntityDataInputMachine.java @@ -103,9 +103,8 @@ protected void onUpdate() if(world.isRemote) return; - boolean currentSignal = getRedstoneAtPos(0); - //Send packet on rising edge redstone signal or ui button press + boolean currentSignal = getRedstoneAtPos(0); if(sendPacket || ((prevSignal ^ currentSignal) & currentSignal)) { this.sendData(storedData, getDirection("data"), getPOI(MultiblockPOI.DATA_OUTPUT)[0]);