From ea1702ace44fd15d522882df074a246c2f6c1a44 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sat, 2 Mar 2024 02:42:31 +0900 Subject: [PATCH] wire rolling mill --- assets/mods/basegame/crafting/fixtures.json | 6 ++++ assets/mods/basegame/items/itemid.csv | 1 + assets/mods/basegame/locales/en/items.json | 1 + assets/mods/basegame/locales/koKR/items.json | 1 + .../sprites/fixtures/portal_device.tga | 2 +- .../sprites/fixtures/wire_rolling_mill.tga | 3 ++ .../gameactors/FixtureWireRollingMill.kt | 35 +++++++++++++++++++ .../modulebasegame/gameactors/ItemCarrying.kt | 26 -------------- .../gameitems/ItemWireRollingMill.kt | 21 +++++++++++ .../sprites/fixtures/portal_device.kra | 4 +-- .../sprites/fixtures/wire_rolling_mill.kra | 3 ++ 11 files changed, 74 insertions(+), 29 deletions(-) create mode 100644 assets/mods/basegame/sprites/fixtures/wire_rolling_mill.tga create mode 100644 src/net/torvald/terrarum/modulebasegame/gameactors/FixtureWireRollingMill.kt delete mode 100644 src/net/torvald/terrarum/modulebasegame/gameactors/ItemCarrying.kt create mode 100644 src/net/torvald/terrarum/modulebasegame/gameitems/ItemWireRollingMill.kt create mode 100644 work_files/graphics/sprites/fixtures/wire_rolling_mill.kra diff --git a/assets/mods/basegame/crafting/fixtures.json b/assets/mods/basegame/crafting/fixtures.json index 64c907a95..b0c654012 100644 --- a/assets/mods/basegame/crafting/fixtures.json +++ b/assets/mods/basegame/crafting/fixtures.json @@ -31,6 +31,12 @@ [1, 20, "$ROCK", 10, "item@basegame:25", 10, "item@basegame:113"] /* 1 smelter = 20 rocks, 10 clay balls, 10 iron ingots */ ] }, + "item@basegame:36": { /* wire rolling mill */ + "workbench": "basiccrafting", + "ingredients": [ + [1, 1, "$WOOD", 1, "$ROCK", 5, "item@basegame:113"] /* 1 plank, 2 stone, 5 iron ingot */ + ] + }, "item@basegame:256": { /* oak door */ "workbench": "basiccrafting", diff --git a/assets/mods/basegame/items/itemid.csv b/assets/mods/basegame/items/itemid.csv index 5ff243235..bbedbbb3f 100644 --- a/assets/mods/basegame/items/itemid.csv +++ b/assets/mods/basegame/items/itemid.csv @@ -34,6 +34,7 @@ id;classname;tags 33;net.torvald.terrarum.modulebasegame.gameitems.ItemTorch;FIXTURE,LIGHT 34;net.torvald.terrarum.modulebasegame.gameitems.ItemSignalSwitchManual;FIXTURE,SIGNAL 35;net.torvald.terrarum.modulebasegame.gameitems.ItemSignalBulb;FIXTURE,SIGNAL +36;net.torvald.terrarum.modulebasegame.gameitems.ItemWireRollingMill;FIXTURE,CRAFTING # ingots 26;net.torvald.terrarum.modulebasegame.gameitems.IngotSteel;INGOT diff --git a/assets/mods/basegame/locales/en/items.json b/assets/mods/basegame/locales/en/items.json index 56bd11d74..29b326674 100644 --- a/assets/mods/basegame/locales/en/items.json +++ b/assets/mods/basegame/locales/en/items.json @@ -72,6 +72,7 @@ "ITEM_TYPEWRITER": "Typewriter", "ITEM_WIRE": "Wire", "ITEM_WIRE_CUTTER": "Wire Cutter", + "ITEM_WIRE_ROLLING_MILL": "Wire Rolling Mill", "ITEM_WOOD_STICK": "Stick", "ITEM_WOODEN_MALLET": "Wooden Mallet", "ITEM_WORKBENCH": "Workbench", diff --git a/assets/mods/basegame/locales/koKR/items.json b/assets/mods/basegame/locales/koKR/items.json index 7a9bb5d02..387cbc92b 100644 --- a/assets/mods/basegame/locales/koKR/items.json +++ b/assets/mods/basegame/locales/koKR/items.json @@ -72,6 +72,7 @@ "ITEM_TYPEWRITER": "타자기", "ITEM_WIRE": "전선", "ITEM_WIRE_CUTTER": "전선 절단기", + "ITEM_WIRE_ROLLING_MILL": "선재 압연기", "ITEM_WOOD_STICK": "막대기", "ITEM_WOODEN_MALLET": "나무 망치", "ITEM_WORKBENCH": "작업대", diff --git a/assets/mods/basegame/sprites/fixtures/portal_device.tga b/assets/mods/basegame/sprites/fixtures/portal_device.tga index dfd4683ec..4479576fa 100644 --- a/assets/mods/basegame/sprites/fixtures/portal_device.tga +++ b/assets/mods/basegame/sprites/fixtures/portal_device.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f2b92661ac6b6fd2728775be04b873516d6ae86a5720daf9bd16565b6e541fb +oid sha256:7e33fbd4e90c9165490878c29764bf0ea05e3917c8755eba9768e022b29a1229 size 30738 diff --git a/assets/mods/basegame/sprites/fixtures/wire_rolling_mill.tga b/assets/mods/basegame/sprites/fixtures/wire_rolling_mill.tga new file mode 100644 index 000000000..bd409d9ac --- /dev/null +++ b/assets/mods/basegame/sprites/fixtures/wire_rolling_mill.tga @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cd71f170dba159113a5603b1a9bf022f87828113ddf8059fd8dc2894a9e10b9 +size 4114 diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureWireRollingMill.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureWireRollingMill.kt new file mode 100644 index 000000000..9d534f292 --- /dev/null +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/FixtureWireRollingMill.kt @@ -0,0 +1,35 @@ +package net.torvald.terrarum.modulebasegame.gameactors + +import net.torvald.terrarum.BlockCodex +import net.torvald.terrarum.blockproperties.Block +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.UICrafting +import net.torvald.terrarumsansbitmap.gdx.TextureRegionPack + +/** + * Created by minjaesong on 2024-03-02. + */ +class FixtureWireRollingMill : FixtureBase, CraftingStation { + + @Transient override val tags = listOf("wirerollingmill") + + constructor() : super( + BlockBox(BlockBox.NO_COLLISION, 2, 2), + nameFun = { Lang["ITEM_WIRE_ROLLING_MILL"] }, + mainUI = UICrafting(null) + ) { + val itemImage = FixtureItemBase.getItemImageFromSingleImage("basegame", "sprites/fixtures/wire_rolling_mill.tga") + + density = BlockCodex[Block.STONE].density.toDouble() + setHitboxDimension(itemImage.texture.width, itemImage.texture.height, 0, 0) + + makeNewSprite(TextureRegionPack(itemImage.texture, itemImage.texture.width, itemImage.texture.height)).let { + it.setRowsAndFrames(1,1) + } + + actorValue[AVKey.BASEMASS] = 50.0 + } + +} \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/ItemCarrying.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/ItemCarrying.kt deleted file mode 100644 index 323f2596f..000000000 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/ItemCarrying.kt +++ /dev/null @@ -1,26 +0,0 @@ -package net.torvald.terrarum.modulebasegame.gameactors - -import net.torvald.terrarum.gameactors.ActorWithBody -import net.torvald.terrarum.gameactors.PhysProperties -import net.torvald.terrarum.gameitems.ItemID - -/** - * Created by minjaesong on 2016-04-26. - */ -class ItemCarrying : ActorWithBody { - - var itemID: ItemID = ""; private set - - private constructor() - - constructor(itemID: ItemID) : super(RenderOrder.MIDTOP, PhysProperties.IMMOBILE()) { - this.itemID = itemID - } - - - // just let the solver use AABB; it's cheap but works just enough - - init { - - } -} \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWireRollingMill.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWireRollingMill.kt new file mode 100644 index 000000000..8731e189e --- /dev/null +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/ItemWireRollingMill.kt @@ -0,0 +1,21 @@ +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-02. + */ +class ItemWireRollingMill(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureWireRollingMill") { + + + override var baseMass = 50.0 + override val canBeDynamic = false + override val materialId = "" + override val itemImage: TextureRegion + get() = getItemImageFromSingleImage("basegame", "sprites/fixtures/wire_rolling_mill.tga") + + override var baseToolSize: Double? = baseMass + override var originalName = "ITEM_WIRE_ROLLING_MILL" + +} \ No newline at end of file diff --git a/work_files/graphics/sprites/fixtures/portal_device.kra b/work_files/graphics/sprites/fixtures/portal_device.kra index aafcb55f0..cbbbabe31 100644 --- a/work_files/graphics/sprites/fixtures/portal_device.kra +++ b/work_files/graphics/sprites/fixtures/portal_device.kra @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:27f71dbef4b5a99010bced865641b9449603a33379d05bd51588d218b92c1389 -size 595677 +oid sha256:d32827d777e311287a62ab2c44b51e4204ff7f1dbf88d30a68f2cea1abd6ee58 +size 568337 diff --git a/work_files/graphics/sprites/fixtures/wire_rolling_mill.kra b/work_files/graphics/sprites/fixtures/wire_rolling_mill.kra new file mode 100644 index 000000000..5f646938e --- /dev/null +++ b/work_files/graphics/sprites/fixtures/wire_rolling_mill.kra @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2acf8634b8defdff6a768b375f3ee3727d7a080c6f50f1b0fbf7c5bfe1d433a4 +size 121644