mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-12 11:34:05 +09:00
added a typewriter (no gui)
This commit is contained in:
@@ -2,21 +2,21 @@
|
|||||||
"basegame:176": { /* A recipe for Wooden Platform */
|
"basegame:176": { /* A recipe for Wooden Platform */
|
||||||
"workbench": "", /* Optional workbench TAGS separated by commas (e.g. smelter, saw) */
|
"workbench": "", /* Optional workbench TAGS separated by commas (e.g. smelter, saw) */
|
||||||
"ingredients": [ /* Multiple ingredients denotes alternative recipes */
|
"ingredients": [ /* Multiple ingredients denotes alternative recipes */
|
||||||
[2, 1, "$WOOD", 1, "$ROCK"] /* This recipe only requires one Wooden Plank */
|
[2, 1, "$WOOD", 5000, "$ROCK"] /* This recipe only requires one Wooden Plank */
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
"basegame:176": { /* alternative recipes can be added like this */
|
"basegame:176": { /* alternative recipes can be added like this */
|
||||||
"workbench": "SOME_WORKBENCH",
|
"workbench": "SOME_WORKBENCH",
|
||||||
"ingredients": [
|
"ingredients": [
|
||||||
[5, 1, "$ROCKWOOD"]
|
[5, 5000, "basegame:161"]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
"basegame:161": {
|
"basegame:161": {
|
||||||
"workbench": "",
|
"workbench": "",
|
||||||
"ingredients": [
|
"ingredients": [
|
||||||
[4, 1, "$WOOD"]
|
[4, 1, "$WOOD", 2, "$ROCK"]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,5 +7,8 @@ id;classname
|
|||||||
7;net.torvald.terrarum.modulebasegame.gameitems.WireGraphDebugger
|
7;net.torvald.terrarum.modulebasegame.gameitems.WireGraphDebugger
|
||||||
8;net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalEmitter
|
8;net.torvald.terrarum.modulebasegame.gameitems.ItemLogicSignalEmitter
|
||||||
9;net.torvald.terrarum.modulebasegame.gameitems.WireCutterAll
|
9;net.torvald.terrarum.modulebasegame.gameitems.WireCutterAll
|
||||||
|
10;net.torvald.terrarum.modulebasegame.gameitems.ItemTypewriter
|
||||||
|
|
||||||
999;net.torvald.terrarum.modulebasegame.gameitems.ItemTapestry
|
|
||||||
|
999998;net.torvald.terrarum.modulebasegame.gameitems.ItemTestDoor
|
||||||
|
999999;net.torvald.terrarum.modulebasegame.gameitems.ItemTapestry
|
||||||
|
|||||||
|
BIN
assets/mods/basegame/sprites/fixtures/typewriter.tga
LFS
Normal file
BIN
assets/mods/basegame/sprites/fixtures/typewriter.tga
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,42 @@
|
|||||||
|
package net.torvald.terrarum.modulebasegame.gameactors
|
||||||
|
|
||||||
|
import net.torvald.terrarum.gameactors.AVKey
|
||||||
|
import net.torvald.terrarum.langpack.Lang
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by minjaesong on 2022-08-26.
|
||||||
|
*/
|
||||||
|
class FixtureTypewriter : FixtureBase {
|
||||||
|
|
||||||
|
var typewriterKeymapName = "us_qwerty" // used to control the keyboard input behaviour
|
||||||
|
private set
|
||||||
|
|
||||||
|
private var carriagePosition = 0
|
||||||
|
|
||||||
|
// constructor used when new typewriter is created
|
||||||
|
constructor(keymapName: String) : this() {
|
||||||
|
typewriterKeymapName = keymapName
|
||||||
|
}
|
||||||
|
|
||||||
|
// constructor used when the game loads from the savefile
|
||||||
|
constructor() : super(
|
||||||
|
BlockBox(BlockBox.NO_COLLISION, 1, 1),
|
||||||
|
nameFun = { Lang["ITEM_TYPEWRITER"] }
|
||||||
|
) {
|
||||||
|
|
||||||
|
density = 2000.0
|
||||||
|
|
||||||
|
setHitboxDimension(16, 16, 8, 0)
|
||||||
|
|
||||||
|
makeNewSprite(FixtureBase.getSpritesheet("basegame", "sprites/fixtures/typewriter.tga", 32, 16)).let {
|
||||||
|
it.setRowsAndFrames(1,1)
|
||||||
|
}
|
||||||
|
|
||||||
|
actorValue[AVKey.BASEMASS] = 3.6
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val TYPEWRITER_COLUMNS = 64
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package net.torvald.terrarum.modulebasegame.gameitems
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.g2d.TextureRegion
|
||||||
|
import net.torvald.terrarum.gameitems.ItemID
|
||||||
|
import net.torvald.terrarum.itemproperties.Material
|
||||||
|
import net.torvald.terrarum.modulebasegame.gameactors.FixtureTikiTorch
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by minjaesong on 2022-08-26.
|
||||||
|
*/
|
||||||
|
class ItemTypewriter(originalID: ItemID) : FixtureItemBase(originalID, "net.torvald.terrarum.modulebasegame.gameactors.FixtureTypewriter") {
|
||||||
|
|
||||||
|
override var dynamicID: ItemID = originalID
|
||||||
|
override val originalName = "ITEM_TYPEWRITER"
|
||||||
|
override var baseMass = FixtureTikiTorch.MASS
|
||||||
|
override var stackable = true
|
||||||
|
override var inventoryCategory = Category.MISC
|
||||||
|
override val isUnique = false
|
||||||
|
override val isDynamic = false
|
||||||
|
override val material = Material()
|
||||||
|
override val itemImage: TextureRegion
|
||||||
|
get() = getItemImageFromSheet("basegame", "sprites/fixtures/typewriter.tga", 32, 16)
|
||||||
|
|
||||||
|
override var baseToolSize: Double? = baseMass
|
||||||
|
|
||||||
|
init {
|
||||||
|
equipPosition = EquipPosition.HAND_GRIP
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -56,8 +56,8 @@ object Common {
|
|||||||
json.writeValue(obj?.toString())
|
json.writeValue(obj?.toString())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun read(json: Json, jsonData: JsonValue, type: Class<*>?): BigInteger {
|
override fun read(json: Json, jsonData: JsonValue, type: Class<*>?): BigInteger? {
|
||||||
return BigInteger(jsonData.asString())
|
return if (jsonData.isNull) null else BigInteger(jsonData.asString())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// ZipCodedStr
|
// ZipCodedStr
|
||||||
@@ -186,8 +186,8 @@ object Common {
|
|||||||
json.writeValue(obj.toString())
|
json.writeValue(obj.toString())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun read(json: Json, jsonData: JsonValue, type: Class<*>?): UUID {
|
override fun read(json: Json, jsonData: JsonValue, type: Class<*>?): UUID? {
|
||||||
return UUID.fromString(jsonData.asString())
|
return if (jsonData.isNull) null else UUID.fromString(jsonData.asString())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// HQRNG
|
// HQRNG
|
||||||
@@ -209,8 +209,8 @@ object Common {
|
|||||||
json.writeValue(bytesToZipdStr(obj.iterator()))
|
json.writeValue(bytesToZipdStr(obj.iterator()))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun read(json: Json, jsonData: JsonValue, type: Class<*>?): ByteArray {
|
override fun read(json: Json, jsonData: JsonValue, type: Class<*>?): ByteArray? {
|
||||||
return strToBytes(StringReader(jsonData.asString())).toByteArray()
|
return if (jsonData.isNull) return null else strToBytes(StringReader(jsonData.asString())).toByteArray()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
work_files/graphics/sprites/fixtures/typewriter.kra
LFS
Normal file
BIN
work_files/graphics/sprites/fixtures/typewriter.kra
LFS
Normal file
Binary file not shown.
Reference in New Issue
Block a user