diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureComputerConsole.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureComputerConsole.kt index 84774d667..9703a9dc2 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureComputerConsole.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureComputerConsole.kt @@ -50,6 +50,7 @@ class FixtureComputerProcessor : Electric { it.setRowsAndFrames(1,1) } + setWireSinkAt(0, 0, "memory_bus") setWireSinkAt(0, 1, "serial") setWireSinkAt(1, 1, "serial") setWireSinkAt(0, 2, "io_bus") @@ -83,7 +84,6 @@ class FixtureNetworkInterface : Electric { } } - /** * Created by minjaesong on 2025-04-01. */ @@ -109,4 +109,27 @@ class FixtureNetworkBridge : Electric { setWireSinkAt(1, 1, "token_ring") setWireSinkAt(1, 2, "power_low") } +} + +/** + * Created by minjaesong on 2025-04-01. + */ +class FixtureMemoryCabinet : Electric { + + @Transient override val spawnNeedsStableFloor = true + @Transient override val spawnNeedsWall = false + + constructor() : super( + BlockBox(BlockBox.ALLOW_MOVE_DOWN, 2, 3), + nameFun = { Lang["ITEM_MEMORY_CABINET"] } + ) + + init { + val itemImage = FixtureItemBase.getItemImageFromSingleImage("dwarventech", "sprites/fixtures/computer_memory_stack_1.tga") + makeNewSprite(TextureRegionPack(itemImage.texture, 1*TILE_SIZE, 3*TILE_SIZE)).let { + it.setRowsAndFrames(1,1) + } + + setWireSinkAt(0, 0, "memory_bus") + } } \ No newline at end of file diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemComputerConsole.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemComputerConsole.kt index 2d7a000f0..daf570d53 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemComputerConsole.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemComputerConsole.kt @@ -69,4 +69,21 @@ class ItemNetworkBridge(originalID: ItemID) : FixtureItemBase(originalID, "net.t override var baseToolSize: Double? = baseMass override var originalName = "ITEM_NETWORK_BRIDGE" +} + +/** + * Created by minjaesong on 2025-04-01. + */ +class ItemMemoryCabinet(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulecomputers.gameactors.FixtureMemoryCabinet") { + + override var dynamicID: ItemID = originalID + override var baseMass = 80.0 + override val canBeDynamic = false + override val materialId = "STAL" + init { + itemImage = FixtureItemBase.getItemImageFromSingleImage("dwarventech", "sprites/fixtures/computer_memory_stack_1.tga") + } + override var baseToolSize: Double? = baseMass + override var originalName = "ITEM_MEMORY_CABINET" + } \ No newline at end of file diff --git a/assets/mods/dwarventech/wires/wireports.csv b/assets/mods/dwarventech/wires/wireports.csv index d0d69ec1d..ce7ddfb23 100644 --- a/assets/mods/dwarventech/wires/wireports.csv +++ b/assets/mods/dwarventech/wires/wireports.csv @@ -2,3 +2,4 @@ "serial";"dwarventech";"wires/ports.tga";0;0 "io_bus";"dwarventech";"wires/ports.tga";1;0 "token_ring";"dwarventech";"wires/ports.tga";2;0 +"memory_bus";"memory_bus";"wires/ports.tga";2;0 diff --git a/assets/mods/dwarventech/wires/wires.csv b/assets/mods/dwarventech/wires/wires.csv index f857d1095..1b02e6aa6 100644 --- a/assets/mods/dwarventech/wires/wires.csv +++ b/assets/mods/dwarventech/wires/wires.csv @@ -3,6 +3,7 @@ id;drop;name;renderclass;accept;inputcount;inputtype;outputtype;javaclass;invent 2;2;WIRE_IO_BUS;io_bus;io_bus;1;N/A;N/A;net.torvald.terrarum.modulecomputers.gameitems.WirePieceIOBus;dwarventech.items,1,1;1;"" 3;3;WIRE_TOKENRING_BLACK;token_ring;token_ring;1;N/A;N/A;net.torvald.terrarum.modulecomputers.gameitems.WirePieceNetworkBus;dwarventech.items,0,1;1;"" 4;4;WIRE_TOKENRING_BLUE;token_ring;token_ring;1;N/A;N/A;net.torvald.terrarum.modulecomputers.gameitems.WirePieceNetworkBus;dwarventech.items,0,1;1;"" +5;5;WIRE_MEMORY_BUS;memory_bus;memory_bus;1;N/A;N/A;net.torvald.terrarum.modulecomputers.gameitems.WirePieceNetworkBus;dwarventech.items,0,1;1;"" # accept: which wiretype (defined elsewhere) the wires acceps. Use comma to separate multiple. N/A for electronic components (aka not wires)