mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-11 11:04:05 +09:00
smelting sand to make glass
This commit is contained in:
@@ -10,7 +10,7 @@ import net.torvald.terrarum.gameitems.ItemID
|
||||
/**
|
||||
* Created by minjaesong on 2023-10-11.
|
||||
*/
|
||||
open class OreItemBase(originalID: ItemID) : GameItem(originalID) {
|
||||
open class OreItemBase(originalID: ItemID, private val registerToOreDict: Boolean = false) : GameItem(originalID) {
|
||||
override var baseMass = 10.0
|
||||
override var baseToolSize: Double? = null
|
||||
override var inventoryCategory = Category.GENERIC
|
||||
@@ -19,12 +19,15 @@ open class OreItemBase(originalID: ItemID) : GameItem(originalID) {
|
||||
override var equipPosition = EquipPosition.HAND_GRIP
|
||||
|
||||
override fun effectOnPickup(actor: ActorWithBody) {
|
||||
val playerCodex = (actor.actorValue.getAsString(AVKey.ORE_DICT) ?: "").split(',').filter { it.isNotBlank() }.toMutableList()
|
||||
if (registerToOreDict) {
|
||||
val playerCodex = (actor.actorValue.getAsString(AVKey.ORE_DICT) ?: "").split(',').filter { it.isNotBlank() }
|
||||
.toMutableList()
|
||||
|
||||
if (playerCodex.binarySearch(originalID) < 0) {
|
||||
playerCodex.add(originalID)
|
||||
playerCodex.sort()
|
||||
actor.actorValue[AVKey.ORE_DICT] = playerCodex.joinToString(",")
|
||||
if (playerCodex.binarySearch(originalID) < 0) {
|
||||
playerCodex.add(originalID)
|
||||
playerCodex.sort()
|
||||
actor.actorValue[AVKey.ORE_DICT] = playerCodex.joinToString(",")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -86,9 +89,6 @@ class ItemLogsRosewood(originalID: ItemID) : OreItemBase(originalID) {
|
||||
return BlockBase.blockStartPrimaryUse(actor, this, "basegame:75", delta)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
class OreStick(originalID: ItemID) : OreItemBase(originalID) {
|
||||
override var originalName = "ITEM_WOOD_STICK"
|
||||
override val materialId = "WOOD"
|
||||
@@ -97,19 +97,22 @@ class OreStick(originalID: ItemID) : OreItemBase(originalID) {
|
||||
override val itemImage: TextureRegion
|
||||
get() = CommonResourcePool.getAsItemSheet("basegame.items").get(0,6)
|
||||
}
|
||||
class OreCopper(originalID: ItemID) : OreItemBase(originalID) {
|
||||
|
||||
|
||||
|
||||
class OreCopper(originalID: ItemID) : OreItemBase(originalID, true) {
|
||||
override var originalName = "ITEM_ORE_MALACHITE"
|
||||
override var smeltingProduct: ItemID? = "item@basegame:112"
|
||||
override val itemImage: TextureRegion
|
||||
get() = CommonResourcePool.getAsItemSheet("basegame.items").get(1,6)
|
||||
}
|
||||
class OreIron(originalID: ItemID) : OreItemBase(originalID) {
|
||||
class OreIron(originalID: ItemID) : OreItemBase(originalID, true) {
|
||||
override var originalName = "ITEM_ORE_HAEMATITE"
|
||||
override var smeltingProduct: ItemID? = "item@basegame:113"
|
||||
override val itemImage: TextureRegion
|
||||
get() = CommonResourcePool.getAsItemSheet("basegame.items").get(2,6)
|
||||
}
|
||||
class OreCoal(originalID: ItemID) : OreItemBase(originalID) {
|
||||
class OreCoal(originalID: ItemID) : OreItemBase(originalID, true) {
|
||||
override var originalName = "ITEM_ORE_COAL"
|
||||
override var smeltingProduct: ItemID? = "item@basegame:114"
|
||||
override var calories = 4800.0
|
||||
@@ -117,39 +120,40 @@ class OreCoal(originalID: ItemID) : OreItemBase(originalID) {
|
||||
override val itemImage: TextureRegion
|
||||
get() = CommonResourcePool.getAsItemSheet("basegame.items").get(3,6)
|
||||
}
|
||||
class OreZinc(originalID: ItemID) : OreItemBase(originalID) {
|
||||
class OreZinc(originalID: ItemID) : OreItemBase(originalID, true) {
|
||||
override var originalName = "ITEM_ORE_SPHALERITE"
|
||||
override var smeltingProduct: ItemID? = "item@basegame:115"
|
||||
override val itemImage: TextureRegion
|
||||
get() = CommonResourcePool.getAsItemSheet("basegame.items").get(4,6)
|
||||
}
|
||||
class OreTin(originalID: ItemID) : OreItemBase(originalID) {
|
||||
class OreTin(originalID: ItemID) : OreItemBase(originalID, true) {
|
||||
override var originalName = "ITEM_ORE_CASSITERITE"
|
||||
override var smeltingProduct: ItemID? = "item@basegame:116"
|
||||
override val itemImage: TextureRegion
|
||||
get() = CommonResourcePool.getAsItemSheet("basegame.items").get(5,6)
|
||||
}
|
||||
class OreGold(originalID: ItemID) : OreItemBase(originalID) {
|
||||
class OreGold(originalID: ItemID) : OreItemBase(originalID, true) {
|
||||
override var originalName = "ITEM_ORE_NATURAL_GOLD"
|
||||
override var smeltingProduct: ItemID? = "item@basegame:117"
|
||||
override val materialId: String = "AURM"
|
||||
override val itemImage: TextureRegion
|
||||
get() = CommonResourcePool.getAsItemSheet("basegame.items").get(6, 6)
|
||||
}
|
||||
class OreSilver(originalID: ItemID) : OreItemBase(originalID) {
|
||||
class OreSilver(originalID: ItemID) : OreItemBase(originalID, true) {
|
||||
override var originalName = "ITEM_ORE_NATURAL_SILVER"
|
||||
override var smeltingProduct: ItemID? = "item@basegame:118"
|
||||
override val materialId: String = "ARGN"
|
||||
override val itemImage: TextureRegion
|
||||
get() = CommonResourcePool.getAsItemSheet("basegame.items").get(7,6)
|
||||
}
|
||||
class OreLead(originalID: ItemID) : OreItemBase(originalID) {
|
||||
class OreLead(originalID: ItemID) : OreItemBase(originalID, true) {
|
||||
override var originalName = "ITEM_ORE_GALENA"
|
||||
override var smeltingProduct: ItemID? = "item@basegame:119"
|
||||
override val itemImage: TextureRegion
|
||||
get() = CommonResourcePool.getAsItemSheet("basegame.items").get(8,6)
|
||||
}
|
||||
|
||||
|
||||
class ItemCoalCoke(originalID: ItemID) : OreItemBase(originalID) {
|
||||
override var originalName = "ITEM_COAL_COKE"
|
||||
override var calories = 4800.0
|
||||
|
||||
Reference in New Issue
Block a user