Comment on internal functions

This commit is contained in:
DBotThePony 2022-11-13 00:48:19 +07:00
parent 6d97731614
commit e2e7ce4f7a
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -149,6 +149,9 @@ object MatterManager {
val computeKeys = HashMap<ResourceLocation, ComputeAction>() val computeKeys = HashMap<ResourceLocation, ComputeAction>()
val computeTags = HashMap<TagKey<Item>, ComputeAction>() val computeTags = HashMap<TagKey<Item>, ComputeAction>()
/**
* Get matter value for item defined by `insert` or `update` registry actions
*/
fun direct(value: Item): IMatterValue { fun direct(value: Item): IMatterValue {
val key = value.registryName ?: throw NullPointerException("$value has no registry name!") val key = value.registryName ?: throw NullPointerException("$value has no registry name!")
@ -172,6 +175,9 @@ object MatterManager {
return Entry.Companion return Entry.Companion
} }
/**
* Get matter value for item defined by `compute` registry action
*/
fun indirect(value: Item): Result { fun indirect(value: Item): Result {
var compute = computeKeys[value.registryName!!] var compute = computeKeys[value.registryName!!]
@ -667,30 +673,23 @@ object MatterManager {
return getResult return getResult
} }
val value = Registry.direct(item) val direct = Registry.direct(item)
if (direct.hasMatterValue)
return Result(direct)
if (value.hasMatterValue) { val determined = determinedValues[item]
return Result(value) if (determined?.hasMatterValue == true)
} return Result(determined)
val value2 = determinedValues[item] if (item in seenItems)
if (value2?.hasMatterValue == true) {
return Result(value2)
}
if (item in seenItems) {
return Result.SKIPPED return Result.SKIPPED
}
seenItems.addLast(item) seenItems.addLast(item)
try { try {
val value3 = Registry.indirect(item) val indirect = Registry.indirect(item)
if (indirect.value != null)
if (value3.value != null) { return indirect
return value3
}
val result = doDetermineValue(item) val result = doDetermineValue(item)
cachedIterationResults[item] = result cachedIterationResults[item] = result