diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..63df75f --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,41 @@ +name: Gradle Package + +on: + release: + types: [created] + pull_request: + workflow_dispatch: + push: + +jobs: + build: + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + server-id: github + settings-path: ${{ github.workspace }} + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0 + + - name: Build with Gradle + run: ./gradlew build --no-daemon + + - name: Upload Build Artifacts + uses: actions/upload-artifact@v4 + with: + name: artifacts + path: versions/**/build/libs/ + + - name: Clean Gradle + run: ./gradlew clean --no-daemon \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index ea2cc6d..eb9834e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_name=Freelook mod_id=freelook -mod_version=2.0.0 +mod_version=2.0.1 mod_archives_name=Freelook # Gradle Configuration -- DO NOT TOUCH THESE VALUES. diff --git a/src/main/java/me/syz/freelook/mixins/ModListMixin.java b/src/main/java/me/syz/freelook/mixins/ModListMixin.java index 79194fb..4b8daa7 100644 --- a/src/main/java/me/syz/freelook/mixins/ModListMixin.java +++ b/src/main/java/me/syz/freelook/mixins/ModListMixin.java @@ -1,6 +1,7 @@ package me.syz.freelook.mixins; import me.syz.freelook.FreelookMod; +import net.minecraft.client.Minecraft; import net.minecraftforge.fml.common.ModContainer; import net.minecraftforge.fml.common.network.handshake.FMLHandshakeMessage; import org.spongepowered.asm.mixin.Mixin; @@ -12,12 +13,13 @@ import java.util.List; import java.util.Map; -@Mixin(FMLHandshakeMessage.ModList.class) +@Mixin(value = FMLHandshakeMessage.ModList.class, remap = false) public class ModListMixin { - @Shadow(remap = false) private Map modTags; + @Shadow private Map modTags; - @Inject(method = "(Ljava/util/List;)V", at = @At("RETURN"), remap = false) + @Inject(method = "(Ljava/util/List;)V", at = @At("RETURN")) private void removeMod(List modList, CallbackInfo ci) { - this.modTags.keySet().removeIf(key -> key.equals(FreelookMod.MODID)); + if (!Minecraft.getMinecraft().isIntegratedServerRunning()) + this.modTags.remove(FreelookMod.MODID); } }