воцыа9гыаоу2п
ппи8ва729уц2улв цыпцуле94пыва ашпцувлцйа аша94аца в9н3р3 ццццццццццццццццццццццццццццвааупъма аа пм м мравркр ук ц йке пцу рпыв пр варп
This commit is contained in:
parent
fdf8e47e5e
commit
a06fd6a31a
@ -4,6 +4,7 @@ import net.minecraft.core.HolderLookup
|
||||
import net.minecraft.nbt.CompoundTag
|
||||
import net.minecraft.nbt.ListTag
|
||||
import net.neoforged.neoforge.common.util.INBTSerializable
|
||||
import org.apache.logging.log4j.LogManager
|
||||
import ru.dbotthepony.mc.otm.core.nbt.contains
|
||||
import java.util.UUID
|
||||
|
||||
@ -33,15 +34,14 @@ class UUIDIntModifiersMap(private val observer: (Int) -> Unit, private val backi
|
||||
}
|
||||
|
||||
operator fun set(key: UUID, value: Int): Boolean {
|
||||
val old = backingMap.put(key, value)
|
||||
|
||||
if (old == value) {
|
||||
return false
|
||||
}
|
||||
|
||||
ignoreRecompute = true
|
||||
|
||||
try {
|
||||
val old = backingMap.put(key, value)
|
||||
|
||||
if (old == value)
|
||||
return false
|
||||
|
||||
this.value += value - (old ?: 0)
|
||||
observer.invoke(this.value)
|
||||
return true
|
||||
@ -113,7 +113,13 @@ class UUIDIntModifiersMap(private val observer: (Int) -> Unit, private val backi
|
||||
|
||||
if (value.contains("key", "value")) {
|
||||
val int = value.getInt("value")
|
||||
backingMap.put(value.getUUID("key"), int)
|
||||
val previous = backingMap.put(value.getUUID("key"), int)
|
||||
|
||||
if (previous != null) {
|
||||
LOGGER.warn("Duplicate modifier in UUID Int Modifier Map with UUID ${value.getUUID("key")}")
|
||||
this.value -= previous
|
||||
}
|
||||
|
||||
this.value += int
|
||||
}
|
||||
}
|
||||
@ -125,4 +131,8 @@ class UUIDIntModifiersMap(private val observer: (Int) -> Unit, private val backi
|
||||
ignoreRecompute = false
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val LOGGER = LogManager.getLogger()
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user