itemised the torch

This commit is contained in:
minjaesong
2024-02-16 00:26:13 +09:00
parent 76586baba5
commit 26bdd2253a
14 changed files with 57 additions and 31 deletions

View File

@@ -10,6 +10,7 @@ import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZE
import net.torvald.terrarum.TerrarumAppConfiguration.TILE_SIZED
import net.torvald.terrarum.gameactors.*
import net.torvald.terrarum.gameitems.*
import net.torvald.terrarum.weather.WeatherMixer.max
import org.dyn4j.geometry.Vector2
/**
@@ -130,12 +131,14 @@ open class DroppedItem : ActorWithBody {
else if (itemID.isWall())
BlockCodex[itemID.substringAfter('@')].getLumCol(randKey1, randKey2)
else {
Cvec(
ItemCodex[itemID]?.itemProperties?.getAsFloat(AVKey.LUMR) ?: 0f,
ItemCodex[itemID]?.itemProperties?.getAsFloat(AVKey.LUMG) ?: 0f,
ItemCodex[itemID]?.itemProperties?.getAsFloat(AVKey.LUMB) ?: 0f,
ItemCodex[itemID]?.itemProperties?.getAsFloat(AVKey.LUMA) ?: 0f,
)
val itemprop = ItemCodex[itemID]
(itemprop?.getLumCol() ?: Cvec(0)).max(
Cvec(
itemprop?.itemProperties?.getAsFloat(AVKey.LUMR) ?: 0f,
itemprop?.itemProperties?.getAsFloat(AVKey.LUMG) ?: 0f,
itemprop?.itemProperties?.getAsFloat(AVKey.LUMB) ?: 0f,
itemprop?.itemProperties?.getAsFloat(AVKey.LUMA) ?: 0f,
))
}
}

View File

@@ -1,7 +1,10 @@
package net.torvald.terrarum.modulebasegame.gameitems
import com.badlogic.gdx.graphics.g2d.TextureRegion
import net.torvald.gdx.graphics.Cvec
import net.torvald.terrarum.BlockCodex
import net.torvald.terrarum.CommonResourcePool
import net.torvald.terrarum.blockproperties.Block
import net.torvald.terrarum.gameitems.GameItem
import net.torvald.terrarum.gameitems.ItemID
@@ -47,4 +50,20 @@ class ItemGunpowder(originalID: ItemID) : LightIngredientBase(originalID) {
override var originalName = "ITEM_GUNPOWDER"
override val itemImage: TextureRegion
get() = CommonResourcePool.getAsItemSheet("basegame.items").get(0,12)
}
/**
* Created by minjaesong on 2024-02-15.
*/
class ItemTorch(originalID: ItemID) : LightIngredientBase(originalID) {
override var baseMass = 0.8 // from blocks.csv
override var inventoryCategory = Category.FIXTURE
override var originalName = "BLOCK_TORCH"
override val itemImage: TextureRegion
get() = FixtureItemBase.getItemImageFromSingleImage("basegame", "items/torch.tga")
override val itemImageEmissive: TextureRegion
get() = FixtureItemBase.getItemImageFromSingleImage("basegame", "items/torch_emsv.tga")
override fun getLumCol() = BlockCodex[Block.TORCH].getLumCol(0, 0)
}

View File

@@ -506,7 +506,7 @@ class UICrafting(val full: UIInventoryFull?) : UICanvas(
return if (ingredient.keyMode == CraftingCodex.CraftingItemKeyMode.TAG) {
candidate.maxByOrNull { it.qty }?.itm ?: (
(ItemCodex.itemCodex.firstNotNullOfOrNull { if (it.value.hasTag(ingredient.key)) it.key else null }) ?:
throw NullPointerException("Item with tag '${ingredient.key}' not found. Possible cause: game or a module not updated or installed")
throw NullPointerException("Item with tag '${ingredient.key}' not found. Possible cause: game or a module not updated or installed (ingredient: $ingredient)")
)
}
else {