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 @@
+
+
+
+
+
+