diff --git a/assets/mods/basegame/crafting/fixtures.json b/assets/mods/basegame/crafting/fixtures.json index 0f389f24b..32d94695e 100644 --- a/assets/mods/basegame/crafting/fixtures.json +++ b/assets/mods/basegame/crafting/fixtures.json @@ -92,5 +92,30 @@ "ingredients": [ [1, 4, "item@basegame:144", 14, "$WOOD", 10, "item@basegame:113"] /* 1 turntable = 4 quartz, 14 wood, 10 iron */ ] + }, + + "item@basegame:40": { /* table */ + "workbench": "basiccrafting", + "ingredients": [ + [1, 10, "basegame:48"] /* 10 wood */ + ] + }, + "item@basegame:41": { /* table */ + "workbench": "basiccrafting", + "ingredients": [ + [1, 10, "basegame:49"] /* 10 wood */ + ] + }, + "item@basegame:42": { /* table */ + "workbench": "basiccrafting", + "ingredients": [ + [1, 10, "basegame:50"] /* 10 wood */ + ] + }, + "item@basegame:43": { /* table */ + "workbench": "basiccrafting", + "ingredients": [ + [1, 10, "basegame:51"] /* 10 wood */ + ] } } \ No newline at end of file diff --git a/assets/mods/basegame/items/itemid.csv b/assets/mods/basegame/items/itemid.csv index 487160fa6..b656d4dd8 100644 --- a/assets/mods/basegame/items/itemid.csv +++ b/assets/mods/basegame/items/itemid.csv @@ -20,7 +20,7 @@ id;classname;tags 19;net.torvald.terrarum.modulebasegame.gameitems.AxeCopper;TOOL,AXE 20;net.torvald.terrarum.modulebasegame.gameitems.AxeIron;TOOL,AXE 21;net.torvald.terrarum.modulebasegame.gameitems.AxeSteel;TOOL,AXE -#22;net.torvald.terrarum.modulebasegame.gameitems.AxeWood;TOOL,AXE +22;net.torvald.terrarum.modulebasegame.gameitems.AxeWood;TOOL,AXE 23;net.torvald.terrarum.modulebasegame.gameitems.PickaxeStone;TOOL,PICK 24;net.torvald.terrarum.modulebasegame.gameitems.AxeStone;TOOL,AXE 25;net.torvald.terrarum.modulebasegame.gameitems.ItemClayBall; @@ -38,6 +38,10 @@ id;classname;tags 37;net.torvald.terrarum.modulebasegame.gameitems.ItemStorageChestEbony;FIXTURE,STORAGE 38;net.torvald.terrarum.modulebasegame.gameitems.ItemStorageChestBirch;FIXTURE,STORAGE 39;net.torvald.terrarum.modulebasegame.gameitems.ItemStorageChestRosewood;FIXTURE,STORAGE +40;net.torvald.terrarum.modulebasegame.gameitems.ItemTable;FIXTURE,SURFACE +41;net.torvald.terrarum.modulebasegame.gameitems.ItemTableEbony;FIXTURE,SURFACE +42;net.torvald.terrarum.modulebasegame.gameitems.ItemTableBirch;FIXTURE,SURFACE +43;net.torvald.terrarum.modulebasegame.gameitems.ItemTableRosewood;FIXTURE,SURFACE # ingots 26;net.torvald.terrarum.modulebasegame.gameitems.IngotSteel;INGOT diff --git a/assets/mods/basegame/locales/en/itemdesc.json b/assets/mods/basegame/locales/en/itemdesc.json index b5f6c86f1..efc8cac46 100644 --- a/assets/mods/basegame/locales/en/itemdesc.json +++ b/assets/mods/basegame/locales/en/itemdesc.json @@ -34,6 +34,7 @@ "TOOLTIP_item@basegame:20": "Cuts trees", "TOOLTIP_item@basegame:21": "Cuts trees", "TOOLTIP_item@basegame:22": "Cuts trees, just barely", + /*"TOOLTIP_item@basegame:22": "Perhaps it’s more useful for casting than actually using",*/ "TOOLTIP_item@basegame:23": "Breaks rocks", "TOOLTIP_item@basegame:24": "Cuts trees", "TOOLTIP_item@basegame:25": "Finer grains of dirts that gets stronger when burned", diff --git a/assets/mods/basegame/locales/en/items.json b/assets/mods/basegame/locales/en/items.json index 29b326674..38bc44037 100644 --- a/assets/mods/basegame/locales/en/items.json +++ b/assets/mods/basegame/locales/en/items.json @@ -67,6 +67,10 @@ "ITEM_SLEDGEHAMMER_STEEL": "Steel Sledgehammer", "ITEM_SMELTER_SMALL": "Small Smelter", "ITEM_STORAGE_CHEST": "Storage Chest", + "ITEM_TABLE_OAK": "Oak Table", + "ITEM_TABLE_EBONY": "Ebony Table", + "ITEM_TABLE_BIRCH": "Birch Table", + "ITEM_TABLE_ROSEWOOD": "Rosewood Table", "ITEM_TIKI_TORCH": "Tiki Torch", "ITEM_TURNTABLE": "Turntable", "ITEM_TYPEWRITER": "Typewriter", diff --git a/assets/mods/basegame/locales/koKR/items.json b/assets/mods/basegame/locales/koKR/items.json index b1f045a78..bc4dc8135 100644 --- a/assets/mods/basegame/locales/koKR/items.json +++ b/assets/mods/basegame/locales/koKR/items.json @@ -67,6 +67,10 @@ "ITEM_SLEDGEHAMMER_STEEL": "강철 해머", "ITEM_SMELTER_SMALL": "소형 고로", "ITEM_STORAGE_CHEST": "보관상자", + "ITEM_TABLE_OAK": "나무 탁자", + "ITEM_TABLE_EBONY": "흑단 탁자", + "ITEM_TABLE_BIRCH": "백단 탁자", + "ITEM_TABLE_ROSEWOOD": "자단 탁자", "ITEM_TIKI_TORCH": "티키 토치", "ITEM_TURNTABLE": "전축", "ITEM_TYPEWRITER": "타자기", diff --git a/assets/mods/basegame/sprites/fixtures/table_1.tga b/assets/mods/basegame/sprites/fixtures/table_1.tga new file mode 100644 index 000000000..963a1fa2f --- /dev/null +++ b/assets/mods/basegame/sprites/fixtures/table_1.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:488f85d037986130be19d724aa434276121b4767bed8aa85b7c9df031aea07d8 +size 4242 diff --git a/assets/mods/basegame/sprites/fixtures/table_2.tga b/assets/mods/basegame/sprites/fixtures/table_2.tga new file mode 100644 index 000000000..b5160259a --- /dev/null +++ b/assets/mods/basegame/sprites/fixtures/table_2.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c98ef705a9a00d23ab6e61fbaa75366ae3fc67381b49f1d55269ddf03ee35bdf +size 4242 diff --git a/assets/mods/basegame/sprites/fixtures/table_3.tga b/assets/mods/basegame/sprites/fixtures/table_3.tga new file mode 100644 index 000000000..934f0b13b --- /dev/null +++ b/assets/mods/basegame/sprites/fixtures/table_3.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fc5a6d1d34a0cf3652364ef0f1c39c997199901f0f4780e040e30bfff3e0163 +size 4242 diff --git a/assets/mods/basegame/sprites/fixtures/table_4.tga b/assets/mods/basegame/sprites/fixtures/table_4.tga new file mode 100644 index 000000000..68a38fdf1 --- /dev/null +++ b/assets/mods/basegame/sprites/fixtures/table_4.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea4f45a768fa8c62c617252eac5651fddcc97dbd6aa91de9db1acb02752a2920 +size 4242 diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt index dd044710f..855ee1af7 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureStorageChest.kt @@ -37,7 +37,7 @@ class FixtureStorageChest : FixtureBase { actorValue[AVKey.BASEMASS] = MASS - printStackTrace(this) +// printStackTrace(this) } override fun reload() { diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTable.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTable.kt new file mode 100644 index 000000000..8e8f1ca2f --- /dev/null +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureTable.kt @@ -0,0 +1,89 @@ +package net.torvald.terrarum.modulebasegame.gameactors + +import net.torvald.terrarum.TerrarumAppConfiguration +import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE +import net.torvald.terrarum.gameactors.AVKey +import net.torvald.terrarum.langpack.Lang +import net.torvald.terrarum.modulebasegame.gameitems.FixtureItemBase +import net.torvald.terrarum.modulebasegame.ui.UIStorageChest +import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack + +/** + * Created by minjaesong on 2024-03-03. + */ +class FixtureTable : FixtureBase { + constructor() : super( + BlockBox(BlockBox.ALLOW_MOVE_DOWN, 2, 2), + nameFun = { Lang["ITEM_TABLE_OAK"] } + ) { + val itemImage = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/table_1.tga") + + setHitboxDimension(2*TILE_SIZE, 2*TILE_SIZE, 0, 0) + + makeNewSprite(TextureRegionPack(itemImage.texture, 32, 33)).let { + it.setRowsAndFrames(1,1) + } + + actorValue[AVKey.BASEMASS] = 20.0 + } +} + +/** + * Created by minjaesong on 2024-03-03. + */ +class FixtureTableEbony : FixtureBase { + constructor() : super( + BlockBox(BlockBox.ALLOW_MOVE_DOWN, 2, 2), + nameFun = { Lang["ITEM_TABLE_EBONY"] } + ) { + val itemImage = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/table_2.tga") + + setHitboxDimension(2*TILE_SIZE, 2*TILE_SIZE, 0, 0) + + makeNewSprite(TextureRegionPack(itemImage.texture, 32, 33)).let { + it.setRowsAndFrames(1,1) + } + + actorValue[AVKey.BASEMASS] = 20.0 + } +} + +/** + * Created by minjaesong on 2024-03-03. + */ +class FixtureTableBirch : FixtureBase { + constructor() : super( + BlockBox(BlockBox.ALLOW_MOVE_DOWN, 2, 2), + nameFun = { Lang["ITEM_TABLE_BIRCH"] } + ) { + val itemImage = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/table_3.tga") + + setHitboxDimension(2*TILE_SIZE, 2*TILE_SIZE, 0, 0) + + makeNewSprite(TextureRegionPack(itemImage.texture, 32, 33)).let { + it.setRowsAndFrames(1,1) + } + + actorValue[AVKey.BASEMASS] = 20.0 + } +} + +/** + * Created by minjaesong on 2024-03-03. + */ +class FixtureTableRosewood : FixtureBase { + constructor() : super( + BlockBox(BlockBox.ALLOW_MOVE_DOWN, 2, 2), + nameFun = { Lang["ITEM_TABLE_ROSEWOOD"] } + ) { + val itemImage = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/table_4.tga") + + setHitboxDimension(2*TILE_SIZE, 2*TILE_SIZE, 0, 0) + + makeNewSprite(TextureRegionPack(itemImage.texture, 32, 33)).let { + it.setRowsAndFrames(1,1) + } + + actorValue[AVKey.BASEMASS] = 20.0 + } +} \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTable.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTable.kt new file mode 100644 index 000000000..52545b3cd --- /dev/null +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemTable.kt @@ -0,0 +1,60 @@ +package net.torvald.terrarum.modulebasegame.gameitems + +import com.badlogic.gdx.graphics.g2d.TextureRegion +import net.torvald.terrarum.gameitems.ItemID + +/** + * Created by minjaesong on 2024-03-03. + */ +class ItemTable(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureTable") { + override var dynamicID: ItemID = originalID + override var baseMass = 20.0 + override val canBeDynamic = false + override val materialId = "WOOD" + override val itemImage: TextureRegion + get() = getItemImageFromSingleImage("basegame", "sprites/fixtures/table_1.tga") + override var baseToolSize: Double? = baseMass + override var originalName = "ITEM_TABLE_OAK" +} + +/** + * Created by minjaesong on 2024-03-03. + */ +class ItemTableEbony(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureTableEbony") { + override var dynamicID: ItemID = originalID + override var baseMass = 20.0 + override val canBeDynamic = false + override val materialId = "WOOD" + override val itemImage: TextureRegion + get() = getItemImageFromSingleImage("basegame", "sprites/fixtures/table_2.tga") + override var baseToolSize: Double? = baseMass + override var originalName = "ITEM_TABLE_EBONY" +} + +/** + * Created by minjaesong on 2024-03-03. + */ +class ItemTableBirch(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureTableBirch") { + override var dynamicID: ItemID = originalID + override var baseMass = 20.0 + override val canBeDynamic = false + override val materialId = "WOOD" + override val itemImage: TextureRegion + get() = getItemImageFromSingleImage("basegame", "sprites/fixtures/table_3.tga") + override var baseToolSize: Double? = baseMass + override var originalName = "ITEM_TABLE_BIRCH" +} + +/** + * Created by minjaesong on 2024-03-03. + */ +class ItemTableRosewood(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureTableRosewood") { + override var dynamicID: ItemID = originalID + override var baseMass = 20.0 + override val canBeDynamic = false + override val materialId = "WOOD" + override val itemImage: TextureRegion + get() = getItemImageFromSingleImage("basegame", "sprites/fixtures/table_4.tga") + override var baseToolSize: Double? = baseMass + override var originalName = "ITEM_TABLE_ROSEWOOD" +} \ No newline at end of file diff --git a/work_files/graphics/sprites/fixtures/table.kra b/work_files/graphics/sprites/fixtures/table.kra new file mode 100644 index 000000000..d736d007e --- /dev/null +++ b/work_files/graphics/sprites/fixtures/table.kra @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac171d5b34f01ed4bbb30209423dd6fb6f71e28c6159c75dfd8f6797eeb49c0d +size 97326