diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index d0114c50..740010ae 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -25,7 +25,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v5 with: - java-version: 17 + java-version: 25 distribution: temurin cache: gradle @@ -36,11 +36,16 @@ jobs: uses: gradle/actions/setup-gradle@v6 - name: Build - run: ./gradlew build + run: ./gradlew reobfShadowJar - - name: Publish + - name: Publishing Curseforge if: github.event_name == 'push' && github.ref_protected && github.ref_type == 'branch' - run: ./gradlew publishMods + run: ./gradlew publishCurseforge env: CURSETOKEN: ${{ secrets.CURSETOKEN }} + + - name: Publishing Modrinth + if: github.event_name == 'push' && github.ref_protected && github.ref_type == 'branch' + run: ./gradlew publishModrinth + env: MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} \ No newline at end of file diff --git a/README.md b/README.md index f59d2ee5..c692462a 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,8 @@ ### Build -- ``./gradlew build`` +- ``./gradlew build`` or +- ``./gradlew reobfShadowJar`` ### License diff --git a/build.gradle b/build.gradle index e6bb6712..2cc5ebf6 100644 --- a/build.gradle +++ b/build.gradle @@ -1,22 +1,11 @@ -buildscript { - repositories { - maven { url = 'https://maven.minecraftforge.net/' } - maven { url = 'https://plugins.gradle.org/m2/' } - mavenCentral() - } - dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:6.0.+' - classpath "gradle.plugin.com.matthewprenger:CurseGradle:1.4.0" - classpath "com.modrinth.minotaur:Minotaur:2.+" - } +plugins { + id 'net.minecraftforge.gradle' version '6.0.+' + id 'com.gradleup.shadow' version '9.2.0+' + id 'eclipse' + id 'net.darkhax.curseforgegradle' version '1.3.+' + id "com.modrinth.minotaur" version "2.+" } -apply plugin: 'net.minecraftforge.gradle' -apply plugin: 'eclipse' -apply plugin: 'maven-publish' -apply plugin: 'com.matthewprenger.cursegradle' -apply plugin: 'com.modrinth.minotaur' - group = project.mod_group version = project.mod_version @@ -56,6 +45,14 @@ dependencies { } jar { + enabled = false +} + +shadowJar { + archiveClassifier.set('') + configurations = [] + relocate 'com.troblecodings.linkableapi', "${project.group}.tcredstone.shadow.linkableapi" + manifest { attributes([ "Specification-Title": project.mod_name, @@ -67,27 +64,31 @@ jar { "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) } -} - -jar.finalizedBy('reobfJar') -def key = System.getenv("CURSETOKEN") -if (key == null) - key = 'dev' - -curseforge { - apiKey = key - - project { - id = project.curseforge_project_id + from("changelog.md") + from("LICENSE") +} - changelog = file("changelog.md") - changelogType = "markdown" +reobf { + shadowJar {} +} - releaseType = "release" +tasks.named("build") { + dependsOn("reobfShadowJar") +} - addGameVersion project.minecraft_version - } +tasks.register("publishCurseforge", net.darkhax.curseforgegradle.TaskPublishCurseForge) { + def key = System.getenv("CURSETOKEN") + if (key == null) + key = 'dev' + apiToken = key + def mainFile = upload(project.curseforge_project_id, reobfShadowJar) + mainFile.changelog = file("changelog.md").text + mainFile.changelogType = 'markdown' + mainFile.releaseType = 'release' + mainFile.addModLoader("${project.loader}") + mainFile.addEnvironment("Client", "Server") + mainFile.addGameVersion("${project.minecraft_version}") } modrinth { @@ -98,7 +99,7 @@ modrinth { versionNumber = project.version versionName = "${project.mod_name} ${project.version}" - uploadFile = jar + uploadFile = reobfShadowJar gameVersions = [project.minecraft_version] loaders = [project.loader] @@ -106,6 +107,6 @@ modrinth { changelog = file("changelog.md").text } -tasks.register("publishMods") { - dependsOn("curseforge", "modrinth") -} \ No newline at end of file +tasks.register("publishModrinth") { + dependsOn("modrinth") +} diff --git a/changelog.md b/changelog.md index 9b75efd4..64863d96 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,10 @@ # Changelog +## [1.20.4 - 3.2.5] + +* chore: update buildscript +* chore: relocate linkableapi + ## [1.20.4 - 3.2.4] * fix: correct redstone update diff --git a/checkstyle.xml b/checkstyle.xml index ae39936f..5a5f95c5 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -56,4 +56,8 @@ + + + + diff --git a/gradle.properties b/gradle.properties index 898d4290..dc8408f3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,14 +5,14 @@ org.gradle.daemon=false # Mod Meta mod_name=TC-Redstone mod_group=com.troblecodings -mod_version=3.2.4 +mod_version=3.2.5 # Minecraft minecraft_version=1.20.4 # Forge forge_version=49.1.0 -loader=forge +loader=Forge # Java java_version=17 diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..894bacb3 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +pluginManagement { + repositories { + gradlePluginPortal() + maven { url = 'https://maven.minecraftforge.net/' } + } +} + +plugins { + id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0' +} diff --git a/src/main/java/com/troblecodings/tcredstone/GIRCRedstoneMain.java b/src/main/java/com/troblecodings/tcredstone/TCRedstoneMain.java similarity index 63% rename from src/main/java/com/troblecodings/tcredstone/GIRCRedstoneMain.java rename to src/main/java/com/troblecodings/tcredstone/TCRedstoneMain.java index 17cd0f4d..0f2eb011 100644 --- a/src/main/java/com/troblecodings/tcredstone/GIRCRedstoneMain.java +++ b/src/main/java/com/troblecodings/tcredstone/TCRedstoneMain.java @@ -3,15 +3,15 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import com.troblecodings.tcredstone.init.GIRCInit; +import com.troblecodings.tcredstone.init.TCInit; import net.minecraftforge.fml.common.Mod; -@Mod(GIRCRedstoneMain.MODID) -public class GIRCRedstoneMain { +@Mod(TCRedstoneMain.MODID) +public class TCRedstoneMain { - public GIRCRedstoneMain() { - GIRCInit.init(); + public TCRedstoneMain() { + TCInit.init(); } public static final Logger LOGGER = LogManager.getLogger(); diff --git a/src/main/java/com/troblecodings/tcredstone/block/BlockRedstoneEmitter.java b/src/main/java/com/troblecodings/tcredstone/block/BlockRedstoneEmitter.java index 4d69a916..02471918 100644 --- a/src/main/java/com/troblecodings/tcredstone/block/BlockRedstoneEmitter.java +++ b/src/main/java/com/troblecodings/tcredstone/block/BlockRedstoneEmitter.java @@ -1,7 +1,7 @@ package com.troblecodings.tcredstone.block; import com.troblecodings.linkableapi.Message; -import com.troblecodings.tcredstone.init.GIRCInit; +import com.troblecodings.tcredstone.init.TCInit; import com.troblecodings.tcredstone.tile.TileRedstoneEmitter; import net.minecraft.core.BlockPos; @@ -26,7 +26,7 @@ public InteractionResult use(final BlockState state, final Level world, final Bl final Player player, final InteractionHand hand, final BlockHitResult hit) { if (world.isClientSide) return InteractionResult.PASS; - if (player.getItemInHand(hand).getItem().equals(GIRCInit.RS_LINKER.get())) + if (player.getItemInHand(hand).getItem().equals(TCInit.RS_LINKER.get())) return InteractionResult.PASS; final BlockEntity entity = world.getBlockEntity(pos); if (entity instanceof TileRedstoneEmitter) { diff --git a/src/main/java/com/troblecodings/tcredstone/block/BlockRedstoneMultiEmitter.java b/src/main/java/com/troblecodings/tcredstone/block/BlockRedstoneMultiEmitter.java index 88a19232..5830b583 100644 --- a/src/main/java/com/troblecodings/tcredstone/block/BlockRedstoneMultiEmitter.java +++ b/src/main/java/com/troblecodings/tcredstone/block/BlockRedstoneMultiEmitter.java @@ -3,7 +3,7 @@ import java.util.List; import com.troblecodings.linkableapi.Message; -import com.troblecodings.tcredstone.init.GIRCInit; +import com.troblecodings.tcredstone.init.TCInit; import com.troblecodings.tcredstone.tile.TileRedstoneMultiEmitter; import net.minecraft.core.BlockPos; @@ -32,7 +32,7 @@ public InteractionResult use(final BlockState state, final Level world, final Bl final Player player, final InteractionHand hand, final BlockHitResult hit) { if (world.isClientSide) return InteractionResult.PASS; - if (player.getItemInHand(hand).getItem().equals(GIRCInit.RS_LINKER.get())) + if (player.getItemInHand(hand).getItem().equals(TCInit.RS_LINKER.get())) return InteractionResult.PASS; final BlockEntity entity = world.getBlockEntity(pos); if (entity instanceof TileRedstoneMultiEmitter) { diff --git a/src/main/java/com/troblecodings/tcredstone/init/GIRCInit.java b/src/main/java/com/troblecodings/tcredstone/init/TCInit.java similarity index 89% rename from src/main/java/com/troblecodings/tcredstone/init/GIRCInit.java rename to src/main/java/com/troblecodings/tcredstone/init/TCInit.java index 6cc8a4f8..338c4bbf 100644 --- a/src/main/java/com/troblecodings/tcredstone/init/GIRCInit.java +++ b/src/main/java/com/troblecodings/tcredstone/init/TCInit.java @@ -4,7 +4,7 @@ import com.troblecodings.linkableapi.Linkingtool; import com.troblecodings.linkableapi.MultiLinkingTool; -import com.troblecodings.tcredstone.GIRCRedstoneMain; +import com.troblecodings.tcredstone.TCRedstoneMain; import com.troblecodings.tcredstone.block.BlockRedstoneAcceptor; import com.troblecodings.tcredstone.block.BlockRedstoneEmitter; import com.troblecodings.tcredstone.block.BlockRedstoneMultiEmitter; @@ -29,14 +29,14 @@ import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; -public class GIRCInit { +public final class TCInit { public static final DeferredRegister ITEM_REGISTRY = - DeferredRegister.create(ForgeRegistries.ITEMS, GIRCRedstoneMain.MODID); + DeferredRegister.create(ForgeRegistries.ITEMS, TCRedstoneMain.MODID); public static final DeferredRegister BLOCK_REGISTRY = - DeferredRegister.create(ForgeRegistries.BLOCKS, GIRCRedstoneMain.MODID); + DeferredRegister.create(ForgeRegistries.BLOCKS, TCRedstoneMain.MODID); public static final DeferredRegister> TILEENTITY_REGISTRY = - DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, GIRCRedstoneMain.MODID); + DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, TCRedstoneMain.MODID); public static final RegistryObject RS_ACCEPTOR = internalRegisterBlock("acceptor", () -> new BlockRedstoneAcceptor(BlockBehaviour.Properties.of() // TODO Material.METAL @@ -53,11 +53,11 @@ public static boolean acceptAcceptor(final Level level, final BlockPos pos) { } public static final RegistryObject RS_LINKER = - ITEM_REGISTRY.register("linker", () -> new Linkingtool(null, GIRCInit::acceptAcceptor)); + ITEM_REGISTRY.register("linker", () -> new Linkingtool(null, TCInit::acceptAcceptor)); public static final RegistryObject RS_MULTILINKER = ITEM_REGISTRY.register("multilinker", - () -> new MultiLinkingTool(null, GIRCInit::acceptAcceptor)); + () -> new MultiLinkingTool(null, TCInit::acceptAcceptor)); public static final RegistryObject REMOTE_ACTIVATOR = ITEM_REGISTRY.register("activator", - () -> new RemoteActivator(null, GIRCInit::acceptAcceptor)); + () -> new RemoteActivator(null, TCInit::acceptAcceptor)); public static final RegistryObject> EMITER_TILE = TILEENTITY_REGISTRY.register("emitter", () -> BlockEntityType.Builder @@ -67,6 +67,9 @@ public static boolean acceptAcceptor(final Level level, final BlockPos pos) { TILEENTITY_REGISTRY.register("multiemitter", () -> BlockEntityType.Builder .of(TileRedstoneMultiEmitter::new, RS_MULTI_EMITTER.get()).build(null)); + private TCInit() { + } + private static final RegistryObject internalRegisterBlock(final String name, final Supplier sup) { final RegistryObject registerObject = BLOCK_REGISTRY.register(name, sup); @@ -76,7 +79,7 @@ private static final RegistryObject internalRegisterBlock(final String na public static void init() { final IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); - bus.register(GIRCInit.class); + bus.register(TCInit.class); ITEM_REGISTRY.register(bus); BLOCK_REGISTRY.register(bus); TILEENTITY_REGISTRY.register(bus); diff --git a/src/main/java/com/troblecodings/tcredstone/tile/TileRedstoneEmitter.java b/src/main/java/com/troblecodings/tcredstone/tile/TileRedstoneEmitter.java index 1748716a..5a57a5d1 100644 --- a/src/main/java/com/troblecodings/tcredstone/tile/TileRedstoneEmitter.java +++ b/src/main/java/com/troblecodings/tcredstone/tile/TileRedstoneEmitter.java @@ -2,7 +2,7 @@ import com.troblecodings.linkableapi.ILinkableTile; import com.troblecodings.tcredstone.block.BlockRedstoneAcceptor; -import com.troblecodings.tcredstone.init.GIRCInit; +import com.troblecodings.tcredstone.init.TCInit; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; @@ -13,7 +13,7 @@ public class TileRedstoneEmitter extends BlockEntity implements ILinkableTile { public TileRedstoneEmitter(final BlockPos pos, final BlockState state) { - super(GIRCInit.EMITER_TILE.get(), pos, state); + super(TCInit.EMITER_TILE.get(), pos, state); } private BlockPos linkedpos = null; diff --git a/src/main/java/com/troblecodings/tcredstone/tile/TileRedstoneMultiEmitter.java b/src/main/java/com/troblecodings/tcredstone/tile/TileRedstoneMultiEmitter.java index 503960b0..b5c60bdd 100644 --- a/src/main/java/com/troblecodings/tcredstone/tile/TileRedstoneMultiEmitter.java +++ b/src/main/java/com/troblecodings/tcredstone/tile/TileRedstoneMultiEmitter.java @@ -5,7 +5,7 @@ import com.troblecodings.linkableapi.ILinkableTile; import com.troblecodings.tcredstone.block.BlockRedstoneAcceptor; -import com.troblecodings.tcredstone.init.GIRCInit; +import com.troblecodings.tcredstone.init.TCInit; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; @@ -22,7 +22,7 @@ public class TileRedstoneMultiEmitter extends BlockEntity implements ILinkableTi private static final String LINKED_POS_LIST = "linkedPos"; public TileRedstoneMultiEmitter(final BlockPos pos, final BlockState state) { - super(GIRCInit.MULTI_EMITER_TILE.get(), pos, state); + super(TCInit.MULTI_EMITER_TILE.get(), pos, state); } public CompoundTag writeBlockPosToNBT(final List pos, final CompoundTag compound) { diff --git a/suppressions.xml b/suppressions.xml new file mode 100644 index 00000000..ff8eaa72 --- /dev/null +++ b/suppressions.xml @@ -0,0 +1,9 @@ + + + + + +