From a4b6ad1d5f1c6277420a42129555c9d3049dd6cf Mon Sep 17 00:00:00 2001 From: minjaesong Date: Tue, 1 Apr 2025 20:50:57 +0900 Subject: [PATCH] more minor codes --- .../gameactors/FixtureComputerConsole.kt | 62 +++++++++++++++++++ .../gameitems/ItemComputerConsole.kt | 35 ++++++++++- assets/mods/dwarventech/wires/wireports.csv | 4 ++ assets/mods/dwarventech/wires/wires.csv | 4 +- 4 files changed, 103 insertions(+), 2 deletions(-) create mode 100644 assets/mods/dwarventech/wires/wireports.csv diff --git a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureComputerConsole.kt b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureComputerConsole.kt index 69eb09b12..84774d667 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureComputerConsole.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameactors/FixtureComputerConsole.kt @@ -25,6 +25,9 @@ class FixtureComputerConsole : Electric { makeNewSprite(TextureRegionPack(itemImage.texture, 2*TILE_SIZE, 2*TILE_SIZE)).let { it.setRowsAndFrames(1,1) } + + setWireSinkAt(0, 1, "io_bus") + setWireSinkAt(1, 1, "power_low") } } @@ -46,5 +49,64 @@ class FixtureComputerProcessor : Electric { makeNewSprite(TextureRegionPack(itemImage.texture, 2*TILE_SIZE, 3*TILE_SIZE)).let { it.setRowsAndFrames(1,1) } + + setWireSinkAt(0, 1, "serial") + setWireSinkAt(1, 1, "serial") + setWireSinkAt(0, 2, "io_bus") + setWireSinkAt(1, 2, "power_low") + } +} + +/** + * Created by minjaesong on 2025-04-01. + */ +class FixtureNetworkInterface : Electric { + + @Transient override val spawnNeedsStableFloor = true + @Transient override val spawnNeedsWall = false + + constructor() : super( + BlockBox(BlockBox.ALLOW_MOVE_DOWN, 2, 3), + nameFun = { Lang["ITEM_NETWORK_INTERFACE"] } + ) + + init { + val itemImage = FixtureItemBase.getItemImageFromSingleImage("dwarventech", "sprites/fixtures/computer_network_interface.tga") + makeNewSprite(TextureRegionPack(itemImage.texture, 2*TILE_SIZE, 3*TILE_SIZE)).let { + it.setRowsAndFrames(1,1) + } + + setWireSinkAt(0, 0, "token_ring") + setWireSinkAt(1, 0, "token_ring") + setWireSinkAt(0, 2, "serial") + setWireSinkAt(1, 2, "power_low") + } +} + + +/** + * Created by minjaesong on 2025-04-01. + */ +class FixtureNetworkBridge : Electric { + + @Transient override val spawnNeedsStableFloor = true + @Transient override val spawnNeedsWall = false + + constructor() : super( + BlockBox(BlockBox.ALLOW_MOVE_DOWN, 2, 3), + nameFun = { Lang["ITEM_NETWORK_BRIDGE"] } + ) + + init { + val itemImage = FixtureItemBase.getItemImageFromSingleImage("dwarventech", "sprites/fixtures/computer_network_bridge.tga") + makeNewSprite(TextureRegionPack(itemImage.texture, 2*TILE_SIZE, 3*TILE_SIZE)).let { + it.setRowsAndFrames(1,1) + } + + setWireSinkAt(0, 0, "token_ring") + setWireSinkAt(1, 0, "token_ring") + setWireSinkAt(0, 1, "token_ring") + setWireSinkAt(1, 1, "token_ring") + setWireSinkAt(1, 2, "power_low") } } \ 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 6866caa44..2d7a000f0 100644 --- a/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemComputerConsole.kt +++ b/ModuleComputers/src/net/torvald/terrarum/modulecomputers/gameitems/ItemComputerConsole.kt @@ -20,7 +20,6 @@ class ItemComputerConsole(originalID: ItemID) : FixtureItemBase(originalID, "net } - /** * Created by minjaesong on 2025-03-30. */ @@ -36,4 +35,38 @@ class ItemComputerProcessor(originalID: ItemID) : FixtureItemBase(originalID, "n override var baseToolSize: Double? = baseMass override var originalName = "ITEM_COMPUTER_PROCESSOR" +} + +/** + * Created by minjaesong on 2025-04-01. + */ +class ItemNetworkInterface(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulecomputers.gameactors.FixtureNetworkInterface") { + + override var dynamicID: ItemID = originalID + override var baseMass = 200.0 + override val canBeDynamic = false + override val materialId = "STAL" + init { + itemImage = FixtureItemBase.getItemImageFromSingleImage("dwarventech", "sprites/fixtures/computer_network_interface.tga") + } + override var baseToolSize: Double? = baseMass + override var originalName = "ITEM_NETWORK_INTERFACE" + +} + +/** + * Created by minjaesong on 2025-04-01. + */ +class ItemNetworkBridge(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulecomputers.gameactors.FixtureNetworkBridge") { + + override var dynamicID: ItemID = originalID + override var baseMass = 200.0 + override val canBeDynamic = false + override val materialId = "STAL" + init { + itemImage = FixtureItemBase.getItemImageFromSingleImage("dwarventech", "sprites/fixtures/computer_network_bridge.tga") + } + override var baseToolSize: Double? = baseMass + override var originalName = "ITEM_NETWORK_BRIDGE" + } \ No newline at end of file diff --git a/assets/mods/dwarventech/wires/wireports.csv b/assets/mods/dwarventech/wires/wireports.csv new file mode 100644 index 000000000..d0d69ec1d --- /dev/null +++ b/assets/mods/dwarventech/wires/wireports.csv @@ -0,0 +1,4 @@ +"accepts";"fileModule";"file";"xpos";"ypos" +"serial";"dwarventech";"wires/ports.tga";0;0 +"io_bus";"dwarventech";"wires/ports.tga";1;0 +"token_ring";"dwarventech";"wires/ports.tga";2;0 diff --git a/assets/mods/dwarventech/wires/wires.csv b/assets/mods/dwarventech/wires/wires.csv index 31cab7345..f857d1095 100644 --- a/assets/mods/dwarventech/wires/wires.csv +++ b/assets/mods/dwarventech/wires/wires.csv @@ -1,6 +1,8 @@ id;drop;name;renderclass;accept;inputcount;inputtype;outputtype;javaclass;inventoryimg;branching;tags -1;1;WIRE_THINNET;network;netframe;1;N/A;N/A;net.torvald.terrarum.modulecomputers.gameitems.WirePieceNetworkBus;dwarventech.items,0,1;1;"" +1;1;WIRE_SERIAL;serial;serial;1;N/A;N/A;net.torvald.terrarum.modulecomputers.gameitems.WirePieceNetworkBus;dwarventech.items,0,1;1;"" 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;"" # accept: which wiretype (defined elsewhere) the wires acceps. Use comma to separate multiple. N/A for electronic components (aka not wires)