fluids separated from blocks

This commit is contained in:
minjaesong
2023-10-09 17:35:26 +09:00
parent dd1e53f761
commit d9218a2dd6
15 changed files with 89 additions and 79 deletions

View File

@@ -4,8 +4,6 @@ import net.torvald.gdx.graphics.Cvec
import net.torvald.terrarum.App.printdbg
import net.torvald.terrarum.ReferencingRanges.PREFIX_VIRTUALTILE
import net.torvald.terrarum.gameitems.ItemID
import net.torvald.terrarum.gameworld.FluidType
import net.torvald.terrarum.gameworld.GameWorld
import net.torvald.terrarum.utils.CSVFetcher
import net.torvald.util.SortedArrayList
import org.apache.commons.csv.CSVRecord
@@ -156,10 +154,10 @@ class BlockCodex {
}
}
operator fun get(fluidType: FluidType?): BlockProp {
/*operator fun get(fluidType: FluidType?): BlockProp {
// TODO fluid from other mods
if (fluidType == null || fluidType.value == 0) {
if (fluidType == null || fluidType == Fluid.NULL) {
return blockProps[Block.AIR]!!
}
@@ -169,7 +167,7 @@ class BlockCodex {
catch (e: NullPointerException) {
throw NullPointerException("Blockprop with id $fluidType does not exist.")
}
}
}*/
fun getOrNull(blockID: ItemID?): BlockProp? {//<O>
return blockProps[blockID]

View File

@@ -1,20 +1,14 @@
package net.torvald.terrarum.blockproperties
import net.torvald.terrarum.gameworld.FluidType
/**
* Created by minjaesong on 2016-08-06.
*/
object Fluid {
val NULL = FluidType(0)
val WATER = FluidType(1)
val STATIC_WATER = FluidType(-1)
val LAVA = FluidType(2)
val STATIC_LAVA = FluidType(-2)
val NULL = "fluid@basegame:0"
val WATER = "fluid@basegame:1"
val LAVA = "fluid@basegame:2"
val fluidRange = 1..2 // TODO MANUAL UPDATE
}

View File

@@ -0,0 +1,31 @@
package net.torvald.terrarum.blockproperties
import net.torvald.terrarum.gameitems.ItemID
/**
* Created by minjaesong on 2023-10-09.
*/
class FluidCodex {
@Transient val blockProps = HashMap<ItemID, FluidProp>()
@Transient private val nullProp = FluidProp()
operator fun get(fluidID: ItemID?): FluidProp {
if (fluidID == null || fluidID == Fluid.NULL) {
return nullProp
}
try {
return if (fluidID.startsWith("fluid@"))
blockProps[fluidID.substring(6)]!!
else
blockProps[fluidID]!!
}
catch (e: NullPointerException) {
throw NullPointerException("Fluidprop with id $fluidID does not exist.")
}
}
}

View File

@@ -0,0 +1,17 @@
package net.torvald.terrarum.blockproperties
import net.torvald.gdx.graphics.Cvec
import net.torvald.terrarum.gameitems.ItemID
/**
* Created by minjaesong on 2023-10-09.
*/
class FluidProp {
val opacity: Cvec = Cvec()
val lumCol: Cvec = Cvec()
var id: ItemID = ""
var nameKey: String = ""
}