User: joe Date: 10 Oct 26 13:56 Revision: f2e889b13bcbc9cd0956d9493c1df7734fff7a06 Summary: Merge branch '2025.3' into 2026.1 TeamCity URL: http://ci.mcdev.io:80/viewModification.html?tab=vcsModificationFiles&modId=10651&personal=false Index: gradle/libs.versions.toml =================================================================== --- gradle/libs.versions.toml (revision 0021017b05d9fe304bcfdde27903cd28e43001f2) +++ gradle/libs.versions.toml (revision f2e889b13bcbc9cd0956d9493c1df7734fff7a06) @@ -68,7 +68,7 @@ sentry = "io.sentry:sentry:8.37.1" # Testing -test-mixin = "org.spongepowered:mixin:0.8.5" +test-mixin = "net.fabricmc:sponge-mixin:0.17.4+mixin.0.8.7" test-spigotapi = "org.spigotmc:spigot-api:1.21.11-R0.2-SNAPSHOT" test-bungeecord = "net.md-5:bungeecord-api:1.21-R0.4" test-spongeapi = "org.spongepowered:spongeapi:7.4.0" Index: src/main/kotlin/util/utils.kt =================================================================== --- src/main/kotlin/util/utils.kt (revision 0021017b05d9fe304bcfdde27903cd28e43001f2) +++ src/main/kotlin/util/utils.kt (revision f2e889b13bcbc9cd0956d9493c1df7734fff7a06) @@ -47,9 +47,10 @@ import com.intellij.psi.util.PsiUtil import java.lang.invoke.MethodHandles import java.util.Locale -import java.util.Locale.getDefault import java.util.concurrent.CancellationException import java.util.regex.PatternSyntaxException +import kotlin.contracts.InvocationKind +import kotlin.contracts.contract import kotlin.math.min import kotlin.reflect.KClass import org.intellij.lang.annotations.Language @@ -153,9 +154,12 @@ return this } -inline fun ?> T.ifNullOrEmpty(func: () -> Unit): T { +inline fun > T?.ifNullOrEmpty(func: () -> R): R where T : R { + contract { + callsInPlace(func, InvocationKind.AT_MOST_ONCE) + } if (isNullOrEmpty()) { - func() + return func() } return this }