diff --git a/build.gradle.kts b/build.gradle.kts index e67eeb6..bbfb48e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,6 +5,7 @@ import org.gradle.api.publish.maven.MavenPublication plugins { java + alias(libs.plugins.loom) apply false id("site.siredvin.root") version "0.9.0" id("site.siredvin.release") version "0.9.0" id("com.github.ben-manes.versions") version "0.51.0" @@ -24,6 +25,10 @@ subprojects { setupSubproject(this) val module = this + if (name.endsWith("-core")) { + pluginManager.apply("net.fabricmc.fabric-loom-companion") + } + pluginManager.withPlugin("maven-publish") { extensions.configure { publications.withType().configureEach { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 08d8094..1af1bb3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,12 +6,12 @@ kotlin-atomicfu = "0.20.2" # Gradle plugins sponge = "0.2.1-SNAPSHOT" -loom = "1.5.+" +loom = "1.17.11" forgegradle = "6.+" spotless = "6.19.0" # Core mod dependencies -cc-tweaked = "1.113.0" +cc-tweaked = "1.120.0" mixin = "0.8.5" # Only core mod dependenceis diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5c82cb0..efb903f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/projects/tweakium-forge/src/main/kotlin/site/siredvin/tweakium/modules/platform/ForgeComputerPlatformToolkit.kt b/projects/tweakium-forge/src/main/kotlin/site/siredvin/tweakium/modules/platform/ForgeComputerPlatformToolkit.kt index 91237ea..69af621 100644 --- a/projects/tweakium-forge/src/main/kotlin/site/siredvin/tweakium/modules/platform/ForgeComputerPlatformToolkit.kt +++ b/projects/tweakium-forge/src/main/kotlin/site/siredvin/tweakium/modules/platform/ForgeComputerPlatformToolkit.kt @@ -2,10 +2,12 @@ package site.siredvin.tweakium.modules.platform import com.mojang.authlib.GameProfile import dan200.computercraft.api.peripheral.IPeripheral +import dan200.computercraft.api.peripheral.PeripheralCapability import dan200.computercraft.api.pocket.IPocketUpgrade import dan200.computercraft.api.turtle.ITurtleAccess import dan200.computercraft.api.turtle.ITurtleUpgrade import dan200.computercraft.api.upgrades.UpgradeData +import dan200.computercraft.impl.Peripherals import dan200.computercraft.impl.PocketUpgrades import dan200.computercraft.impl.TurtleUpgrades import dan200.computercraft.shared.ModRegistry @@ -19,12 +21,10 @@ import net.minecraft.core.component.DataComponentPatch import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.nbt.NbtOps import net.minecraft.nbt.Tag -import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerLevel import net.minecraft.server.level.ServerPlayer import net.minecraft.world.item.ItemStack import net.minecraft.world.level.block.entity.BlockEntity -import net.neoforged.neoforge.capabilities.BlockCapability import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent import site.siredvin.tweakium.modules.peripheral.api.IPeripheralProvider import site.siredvin.tweakium.modules.platform.api.InnerComputerPlatformToolkit @@ -33,13 +33,6 @@ import thedarkcolour.kotlinforforge.neoforge.forge.MOD_CONTEXT @Suppress("UnstableApiUsage") object ForgeComputerPlatformToolkit : InnerComputerPlatformToolkit { - - private val PERIPHERAL_CAPABILITY: BlockCapability = - BlockCapability.createSided( - ResourceLocation.fromNamespaceAndPath("computercraft", "peripheral"), - IPeripheral::class.java, - ) - private var genericRegistered: Boolean = false override fun createFakePlayer(level: ServerLevel, profile: GameProfile): ServerPlayer = ForgeFakePlayer(level, profile) @@ -51,7 +44,8 @@ object ForgeComputerPlatformToolkit : InnerComputerPlatformToolkit { return null } - override fun getPeripheral(level: ServerLevel, pos: BlockPos, side: Direction): IPeripheral? = level.getCapability(PERIPHERAL_CAPABILITY, pos, side) + override fun getPeripheral(level: ServerLevel, pos: BlockPos, side: Direction): IPeripheral? = level.getCapability(PeripheralCapability.get(), pos, side) + ?: Peripherals.getGenericPeripheral(level, pos, side, level.getBlockEntity(pos)) override fun nbtHash(tag: Tag?): String? = NBTUtil.getNBTHash(tag) @@ -85,7 +79,7 @@ object ForgeComputerPlatformToolkit : InnerComputerPlatformToolkit { if (!genericRegistered) { MOD_CONTEXT.getKEventBus().addListener { event: RegisterCapabilitiesEvent -> for (type in BuiltInRegistries.BLOCK_ENTITY_TYPE) { - event.registerBlockEntity(PERIPHERAL_CAPABILITY, type) { be, side -> + event.registerBlockEntity(PeripheralCapability.get(), type) { be, side -> if (be is IPeripheralProvider<*> && side != null) { be.getPeripheral(side) } else { diff --git a/settings.gradle.kts b/settings.gradle.kts index 5edadb7..0e48879 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -2,6 +2,7 @@ pluginManagement { repositories { mavenCentral() gradlePluginPortal() + maven("https://maven.fabricmc.net/") maven("https://mvn.siredvin.site/minecraft") { name = "SirEdvin's Minecraft repository" content {