electric workbench

This commit is contained in:
minjaesong
2024-03-14 02:49:00 +09:00
parent 3481502c1a
commit ef7199fd8b
6 changed files with 51 additions and 5 deletions

View File

@@ -49,6 +49,7 @@ id;classname;tags
48;net.torvald.terrarum.modulebasegame.gameitems.ItemAlloyingFurnace;FIXTURE,STATION
49;net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalAdder;FIXTURE,SIGNAL
50;net.torvald.terrarum.modulebasegame.gameitems.ItemSolderingWire;
51;net.torvald.terrarum.modulebasegame.gameitems.ItemElectricWorkbench;FIXTURE,CRAFTING
# ingots
112;net.torvald.terrarum.modulebasegame.gameitems.IngotCopper;INGOT
1 id classname tags
49 49 net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalAdder FIXTURE,SIGNAL
50 50 net.torvald.terrarum.modulebasegame.gameitems.ItemSolderingWire
51 # ingots 51 net.torvald.terrarum.modulebasegame.gameitems.ItemElectricWorkbench FIXTURE,CRAFTING
52 # ingots
53 112 net.torvald.terrarum.modulebasegame.gameitems.IngotCopper INGOT
54 113 net.torvald.terrarum.modulebasegame.gameitems.IngotIron INGOT
55 114 net.torvald.terrarum.modulebasegame.gameitems.ItemCoalCoke COMBUSTIBLE

View File

@@ -9,6 +9,7 @@
"ITEM_DOOR_EBONY": "Ebony Door",
"ITEM_DOOR_BIRCH": "Birch Door",
"ITEM_DOOR_ROSEWOOD": "Rosewood Door",
"ITEM_ELECTRIC_WORKBENCH": "Electric Workbench",
"ITEM_FURNACE_AND_ANVIL": "Furnace and Anvil",
"ITEM_GEM_RUBY": "Raw Ruby",
"ITEM_GEM_EMERALD": "Raw Emerald",

View File

@@ -9,6 +9,7 @@
"ITEM_DOOR_EBONY": "흑단 문",
"ITEM_DOOR_BIRCH": "백단 문",
"ITEM_DOOR_ROSEWOOD": "자단 문",
"ITEM_ELECTRIC_WORKBENCH": "전기 작업대",
"ITEM_FURNACE_AND_ANVIL": "화로와 모루",
"ITEM_GEM_RUBY": "홍옥석",
"ITEM_GEM_EMERALD": "취옥석",

View File

@@ -32,4 +32,30 @@ class FixtureWorkbench : FixtureBase, CraftingStation {
actorValue[AVKey.BASEMASS] = 20.0
}
}
/**
* Created by minjaesong on 2024-03-14.
*/
class FixtureElectricWorkbench : FixtureBase, CraftingStation {
@Transient override val tags = listOf("soldering")
constructor() : super(
BlockBox(BlockBox.NO_COLLISION, 2, 2),
nameFun = { Lang["ITEM_ELECTRIC_WORKBENCH"] },
mainUI = UICrafting(null)
) {
val itemImage = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/electric_workbench.tga")
density = BlockCodex[Block.PLANK_NORMAL].density.toDouble()
setHitboxDimension(itemImage.texture.width, itemImage.texture.height, 0, 0)
makeNewSprite(TextureRegionPack(itemImage.texture, 32, 32)).let {
it.setRowsAndFrames(2,1)
}
actorValue[AVKey.BASEMASS] = 40.0
}
}

View File

@@ -114,16 +114,16 @@ open class FixtureItemBase(originalID: ItemID, val fixtureClassName: String) : G
*/
companion object {
/** Always use with Getter! */
fun getItemImageFromSheet(module: String, path: String, tileW: Int, tileH: Int): TextureRegion {
val id = "$module/${path.replace('\\','/')}"
fun getItemImageFromSheet(module: String, path: String, tileW: Int, tileH: Int, tileIndexX: Int = 0, tileIndexY: Int = 0): TextureRegion {
val id = "sheet:$module/${path.replace('\\','/')}"
return (CommonResourcePool.getOrPut(id) {
TextureRegionPack(ModMgr.getGdxFile(module, path), tileW, tileH)
} as TextureRegionPack).get(0,0)
} as TextureRegionPack).get(tileIndexX, tileIndexY)
}
/** Always use with Getter! */
fun getItemImageFromSingleImage(module: String, path: String): TextureRegion {
val id = "$module/${path.replace('\\','/')}"
val id = "singleton:$module/${path.replace('\\','/')}"
return CommonResourcePool.getOrPut(id) {
TextureRegion(Texture(ModMgr.getGdxFile(module, path)))
} as TextureRegion

View File

@@ -18,4 +18,21 @@ class ItemWorkbench(originalID: ItemID) : FixtureItemBase(originalID, "net.torva
override var baseToolSize: Double? = baseMass
override var originalName = "ITEM_WORKBENCH"
}
}
/**
* Created by minjaesong on 2024-03-14.
*/
class ItemElectricWorkbench(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureElectricWorkbench") {
override var baseMass = 40.0
override val canBeDynamic = false
override val materialId = ""
override val itemImage: TextureRegion
get() = getItemImageFromSheet("basegame", "sprites/fixtures/electric_workbench.tga", 32, 32, 0, 1)
override var baseToolSize: Double? = baseMass
override var originalName = "ITEM_ELECTRIC_WORKBENCH"
}