TODO new fluid container system

This commit is contained in:
minjaesong
2025-04-29 21:11:36 +09:00
parent 946824f861
commit 488a214a19
8 changed files with 86 additions and 18 deletions

View File

@@ -0,0 +1,3 @@
id;itemid;tags
1;item@basegame:59;FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
2;item@basegame:60;FLUIDSTORAGE,OPENSTORAGE
1 id itemid tags
2 1 item@basegame:59 FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
3 2 item@basegame:60 FLUIDSTORAGE,OPENSTORAGE

View File

@@ -58,6 +58,8 @@ id;classname;tags
57;net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalPushbutton;FIXTURE,SIGNAL
58;net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalPressurePlate;FIXTURE,SIGNAL
59;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden;CONTAINER
60;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron;CONTAINER
# ingots
112;net.torvald.terrarum.modulebasegame.gameitems.IngotCopper;INGOT
@@ -171,10 +173,16 @@ id;classname;tags
65536;net.torvald.terrarum.modulebasegame.gameitems.ItemFileRef;BASEOBJECT
# fluids on storage
# FUTURE QUEST: autogenerate them using FLUID CODEX
# FUTURE QUEST: autogenerate them using CONTAINERS CODEX
# with new ItemID scheme:
# basegame_2<fluid@basegame:1
# stands for a wooden bucket (CONTAINERS basegame_2) holding a block of water (fluid@basegame:1)
#
# FLUIDSTORAGE: required tag for buckets/canisters
# OPENSTORAGE: cannot hold gas. Canisters need LIDDEDSTORAGE/SEALEDSTORAGE
# NOEXTREMETHERM: cannot hold cryogenic/molten fluids (can only hold fluid with therm 0 or 1)
#
# BELOW ARE COMPELETY IRRELEVANT AND PENDING FOR REMOVAL
# 100000h..1000FFh : container type 0 x Fluid type 0..255
# 100100h..1001FFh : container type 1 x Fluid type 0..255
# 100200h..1002FFh : container type 2 x Fluid type 0..255
@@ -183,18 +191,18 @@ id;classname;tags
# 100500h..1005FFh : container type 5 x Fluid type 0..255
# ...
# 10FF00h..10FFFFh : container type 255 x Fluid type 0..255
1048576;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden00;FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM,FLUIDSTORAGEEMPTY
1048577;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden01;FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
#1048578;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden02;FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
1048579;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden03;FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
1048832;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron00;FLUIDSTORAGE,OPENSTORAGE,FLUIDSTORAGEEMPTY
1048833;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron01;FLUIDSTORAGE,OPENSTORAGE
1048834;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron02;FLUIDSTORAGE,OPENSTORAGE
1048835;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron03;FLUIDSTORAGE,OPENSTORAGE
# reserved for debug items
#16777216;net.torvald.terrarum.modulebasegame.gameitems.ItemBottomlessWaterBucket;DEBUG,TOOL
#16777217;net.torvald.terrarum.modulebasegame.gameitems.ItemBottomlessLavaBucket;DEBUG,TOOL
16777472;net.torvald.terrarum.modulebasegame.gameitems.ItemMysteriousATM;DEBUG
16777473;net.torvald.terrarum.modulebasegame.gameitems.ItemDebugInventron;DEBUG
#1048576;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden00;FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM,FLUIDSTORAGEEMPTY
#1048577;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden01;FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
##1048578;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden02;FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
#1048579;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden03;FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
#
#1048832;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron00;FLUIDSTORAGE,OPENSTORAGE,FLUIDSTORAGEEMPTY
#1048833;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron01;FLUIDSTORAGE,OPENSTORAGE
#1048834;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron02;FLUIDSTORAGE,OPENSTORAGE
#1048835;net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron03;FLUIDSTORAGE,OPENSTORAGE
#
## reserved for debug items
##16777216;net.torvald.terrarum.modulebasegame.gameitems.ItemBottomlessWaterBucket;DEBUG,TOOL
##16777217;net.torvald.terrarum.modulebasegame.gameitems.ItemBottomlessLavaBucket;DEBUG,TOOL
#16777472;net.torvald.terrarum.modulebasegame.gameitems.ItemMysteriousATM;DEBUG
#16777473;net.torvald.terrarum.modulebasegame.gameitems.ItemDebugInventron;DEBUG
1 id classname tags
58 58 net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalPressurePlate FIXTURE,SIGNAL
59 # ingots 59 net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden CONTAINER
60 112 60 net.torvald.terrarum.modulebasegame.gameitems.IngotCopper net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron INGOT CONTAINER
61 # ingots
62 112 net.torvald.terrarum.modulebasegame.gameitems.IngotCopper INGOT
63 113 net.torvald.terrarum.modulebasegame.gameitems.IngotIron INGOT
64 114 net.torvald.terrarum.modulebasegame.gameitems.ItemCoalCoke COMBUSTIBLE
65 115 net.torvald.terrarum.modulebasegame.gameitems.IngotZinc INGOT
173 1048835 #1048577 net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron03 net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden01 FLUIDSTORAGE,OPENSTORAGE FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
174 # reserved for debug items ##1048578 net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden02 FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
175 #16777216 #1048579 net.torvald.terrarum.modulebasegame.gameitems.ItemBottomlessWaterBucket net.torvald.terrarum.modulebasegame.gameitems.ItemBucketWooden03 DEBUG,TOOL FLUIDSTORAGE,OPENSTORAGE,NOEXTREMETHERM
176 #16777217 #
177 #1048832 net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron00 FLUIDSTORAGE,OPENSTORAGE,FLUIDSTORAGEEMPTY
178 #1048833 net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron01 FLUIDSTORAGE,OPENSTORAGE
179 #1048834 net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron02 FLUIDSTORAGE,OPENSTORAGE
180 #1048835 net.torvald.terrarum.modulebasegame.gameitems.ItemBucketIron03 FLUIDSTORAGE,OPENSTORAGE
181 16777472 #
182 16777473 ## reserved for debug items
183 ##16777216 net.torvald.terrarum.modulebasegame.gameitems.ItemBottomlessWaterBucket DEBUG,TOOL
184 ##16777217 net.torvald.terrarum.modulebasegame.gameitems.ItemBottomlessLavaBucket DEBUG,TOOL
185 #16777472 net.torvald.terrarum.modulebasegame.gameitems.ItemMysteriousATM DEBUG
186 #16777473 net.torvald.terrarum.modulebasegame.gameitems.ItemDebugInventron DEBUG
187
188
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -3,7 +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;""
#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)
1 id drop name renderclass accept inputcount inputtype outputtype javaclass inventoryimg branching tags
3 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
4 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
5 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
6 5 #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
7 # accept: which wiretype (defined elsewhere) the wires acceps. Use comma to separate multiple. N/A for electronic components (aka not wires)
8 # inputcount: how many sides are input (outputcount is deduced from the inputcount). N/A for wires
9 # inputtype: which wiretype it accepts. N/A for wires

View File

@@ -82,12 +82,14 @@ open class ItemFluidStoragePrototype(originalID: ItemID, sheetX: Int, sheetY: In
}
class ItemBucketWooden(originalID: ItemID) : ItemFluidStoragePrototype(originalID, 0, 0, "basegame.buckets", "ITEM_BUCKET_WOODEN")
class ItemBucketWooden00(originalID: ItemID) : ItemFluidStoragePrototype(originalID, 0, 0, "basegame.buckets", "ITEM_BUCKET_WOODEN")
class ItemBucketWooden01(originalID: ItemID) : ItemFluidStoragePrototype(originalID, 1, 0, "basegame.buckets", "ITEM_BUCKET_WOODEN")
class ItemBucketWooden02(originalID: ItemID) : ItemFluidStoragePrototype(originalID, 2, 0, "basegame.buckets", "ITEM_BUCKET_WOODEN")
class ItemBucketWooden03(originalID: ItemID) : ItemFluidStoragePrototype(originalID, 3, 0, "basegame.buckets", "ITEM_BUCKET_WOODEN")
class ItemBucketIron(originalID: ItemID) : ItemFluidStoragePrototype(originalID, 0, 1, "basegame.buckets", "ITEM_BUCKET_IRON")
class ItemBucketIron00(originalID: ItemID) : ItemFluidStoragePrototype(originalID, 0, 1, "basegame.buckets", "ITEM_BUCKET_IRON")
class ItemBucketIron01(originalID: ItemID) : ItemFluidStoragePrototype(originalID, 1, 1, "basegame.buckets", "ITEM_BUCKET_IRON")
class ItemBucketIron02(originalID: ItemID) : ItemFluidStoragePrototype(originalID, 2, 1, "basegame.buckets", "ITEM_BUCKET_IRON")

View File

@@ -0,0 +1,49 @@
package net.torvald.terrarum.modulebasegame.ui
import com.badlogic.gdx.graphics.OrthographicCamera
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import net.torvald.terrarum.App
import net.torvald.terrarum.ControlPresets
import net.torvald.terrarum.RunningEnvironment
import net.torvald.terrarum.langpack.Lang
import net.torvald.terrarum.ui.Toolkit
import net.torvald.terrarum.ui.UICanvas
import net.torvald.unicode.getKeycapPC
/**
* UI for ItemClipboard
*
* Created by minjaesong on 2025-04-13.
*/
class UIClipboardItem : UICanvas(
toggleKeyLiteral = "control_key_inventory",
toggleButtonLiteral = "control_gamepad_start",
) {
override var width: Int = 800
override var height: Int = App.scr.height
private val y = UIInventoryFull.INVENTORY_CELLS_OFFSET_Y() + 1 - 34
private val drawStartX = (Toolkit.drawWidth - width) / 2 - 4
private val cellsStartY = y + 34
private val SP = "\u3000 "
val controlHelp: String
get() = if (App.environment == RunningEnvironment.PC)
"${getKeycapPC(ControlPresets.getKey("control_key_inventory"))} ${Lang["GAME_ACTION_CLOSE"]}"
else
"${App.gamepadLabelStart} ${Lang["GAME_ACTION_CLOSE"]}"
override fun updateImpl(delta: Float) {
TODO("Not yet implemented")
}
override fun renderImpl(frameDelta: Float, batch: SpriteBatch, camera: OrthographicCamera) {
TODO("Not yet implemented")
}
override fun dispose() {
TODO("Not yet implemented")
}
}