mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-13 20:14:05 +09:00
fluids separated from blocks
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -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
|
||||
}
|
||||
31
src/net/torvald/terrarum/blockproperties/FluidCodex.kt
Normal file
31
src/net/torvald/terrarum/blockproperties/FluidCodex.kt
Normal 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.")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
17
src/net/torvald/terrarum/blockproperties/FluidProp.kt
Normal file
17
src/net/torvald/terrarum/blockproperties/FluidProp.kt
Normal 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 = ""
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user